AzzyAI 1.40 Dev 20 new 3/20 - Homunculus Headquarters - WarpPortal Community Forums

Jump to content


Photo
- - - - -

AzzyAI 1.40 Dev 20 new 3/20


  • This topic is locked This topic is locked
36 replies to this topic

#1 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 20 March 2012 - 10:26 PM

Install per the 1.35 thread here: http://forums.warppo...sion-avail-423/

http://drazzy.com/ai/v140/AzzyAI%201.40%20Dev%2020.zip


Recent changes:

1.40 dev 20 - release candidate
* Fixed issue with Dieter selfbuff skills
* Added OnInit() call, for players to handle multiple homun AI configurations.
* Added protection for file conflict issue when using multiple homuns at once - will now fail gracefully.
* AoE skill count no longer counts killsteals as targets when deciding whether to cast an AoE
* Sonic claw delay is back, because the GMs added a short delay on it
* Added UseSmartBulwark option - if this is 1 (default), amistr bulwark will only be used if it would leave 120 sp for bloodlust.


1.40 dev 19
* Sonic claw will be spammed faster now
* Fixed issue with movement destination selection. This will fix issue with choosing non-optimal cells to move to, and prevent a hang possible under unusual conditions.
* Corrected issue with monster counting function.
* Corrected anti-mob skills to count the monsters within the AoE instead of the monsters currently near the homun.
* Fixed timing for Sera's Poison Mist skill
* Internal stability improvements
* Added improved tracing for issue with failure to call AI()
* Improved reporting of serious error conditions. Please delete all AAI*.log files in your RO folder.
* Improved reporting of time in AAIStartH/AAIStartM files.


1.40 dev 18
* Disabled dance attack near edges of screen to prevent an obstacle-slide effect from pushing the homun off screen

1.40 dev 17
* Corrected bloodlust support
* Improved behavior when chasing moving targets - if you're faster, you'll catch it now.
* Fixed issue with loop at edges of screen

1.40 dev 16
* Corrected issue with improper default values contributing to improperly dropped targets.
* Improved system for chasing blocked targets.
* Improved catches for rescue loops.
* Possible improvement in dance attack
* Improved logging around chasing and movement.

1.40 dev 15x1
* Unbroke dance attack

1.40 dev 15
* Independent cooldown timers for Moonlight, Caprice, Chaotic Blessing, and Healing Hands. I have not tested this with a homun with more than 1 attack skill since I don't have any yet, so try it out and see if it works.
* Added improved logging to try to nail down a freeze bug - If your homun freezes, please take a trace while it's frozen, and post the trace here.
* Added bloodlust autocast support (like flitting, its treated as a quicken skill). I think it's dumb to use a skill with a 20 minute cooldown when the homun could just be sitting there waiting for stuff to kill, but the system to use buffs more intelligently won't be ready until 1.50, and this has been a very very common request, so I've added it.


1.40 dev 14
* Fixed critical issue that lead to homun running off screen.
* Fixed issue where fix for archers introduced with dev 7 was not applied when homun HP was above AggroHP
* Minor responsiveness tweaks.
* Fixed more improper tail calls.
* Fixed a number of cases where responsiveness measures were being used improperly, forcing me to use more conservative settings for the responsiveness measures. This has been corrected. (this will be tested with more aggressive settings, and these will be included in the next version if they do not adversely effect stability).
* Fixed several issues with improperly dropped targets.
* Fixed issue with follow state in strongly adverse conditions.
* Fixed issue with spurious warnings in AAI_Warning.log - changes introduced in dev 9 had led to warnings being produced under normal circumstance.

1.40 dev 13
* Fixed issue with moving long distances.
* Improved chasing behavior, should fix the wobble.
* Improved boundary detection while chasing.
* Fixed issue with SP being counted incorrectly when using skill levels other than max level
* Fixed issue a distance function in AzzyUtil.lua (no reported issues in the field).
* Fixed issue with occasional target dropping while closing to melee range.
* Fixed critical issue with skill use while chasing.

1.40 dev 12
* Fixed issue with snipe tactic causing errors.

1.40 dev 11
* Fixed issue with provoke state.
* Fixed issue with provoke skill info.
* Fixed issue with AI mistaking sacrifice for provoke
* Three above issues combined to cause crashes on homuns with sacrifice when autoprovoke was enabled.

1.40 Dev 10
* Fixed issue where we attempted to use math.huge which isn't implemented in lua 5.0.2
* Fixed issue where chase state tried to move to a target one last time after dropping it's old target.
* Fixed line 667 error, which was caused by the combination of the two above bugs.
* Corrected error where stationary aggrodist and movebound would be used if the owner was moving only in the north-south direction.
* Improved logging for the closest cell calculations, because they're brittle and cause a lot of problems.
* Corrected issue with ranged mercenaries moving 1 cell closer than they need to when approaching targets from the west and south.

Edited by DrAzzy, 21 March 2012 - 07:37 AM.

  • 0

#2 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 20 March 2012 - 10:42 PM

Using OnInit() to handle multiple Homunss (in all cases, add this to H_Extra.lua)

Option 1: you have 1 homun per account:
Get account id(s) off ropd, and plug it in something like this:
In this example, the genetic on account 1 has a homun that used to be a filir, the one on account 2 has a homun that used to be a lif.

function OnInit()
     local owner=GetV(V_OWNER,MyID)
     if owner==account-id-1 then
          OldHomunType=FILIR
     elseif owner==account-id-2 then
          OldHomunType=LIF
     end
end

Option 2: we can identify the homuns by their types, for example, we have a lif -> Eira and an Amistr -> Bayeri

function OnInit()
     local htype=GetV(V_HOMUNTYPE,MyID)
     if htype==EIRA then
          OldHomunType=LIF
     elseif htype==BAYERI then
          OldHomunType=AMISTR
     end
end

You can even use different config or tactics files using require:

function OnInit()
     local htype=GetV(V_HOMUNTYPE,MyID)
     if htype==EIRA then
          OldHomunType=LIF
          require "./AI/USER_AI/EIRA_Tactics.lua"
     elseif htype==BAYERI then
          OldHomunType=AMISTR
          require "./AI/USER_AI/BAY_Tactics.lua"
     end
end

Edited by DrAzzy, 20 March 2012 - 10:42 PM.

  • 0

#3 Realus

Realus

    Amateur Blogger

  • Members
  • 108 posts

Posted 21 March 2012 - 01:53 AM

Multi Homunc Support....!
Instant download !!

Also, this means we can mess with the UI without it reverting our H_Tactics anymore huh?
Well, I mean it will revert them. But since we can direct it to something such as EIRA_Tactics, these files should be safe from the UI 'resets'.

Oh, quick question about updating the Azzy AI.
I normally just delete( or backup into another folder) the old AI. And extract the entire new AI into the folder, then re-adjust all of my custom options.

Do you ever update the A_Friends, H_Config, H_Extra, H_SkillList, or H_Tactics files?
Or can I just keep them and overwrite everything that aren't those 5 files? Because they keep all of the information I adjust, it would save some time whenever I download a new dev of the AI.
(And I'm assuming any new "EIRA_Config/EIRA_Tactics" we make, you won't have a preset made. So I don't have to worry about those being overwritten.)
  • 0

#4 KayT

KayT

    I made it Off Topic

  • Members
  • 67 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 21 March 2012 - 03:25 AM

Cant download it... File not found error :(

EDIT: Link in forum didnt work, but i was able to download it via azzy site. Love this AI. Good job :)

Edited by KayT, 21 March 2012 - 04:18 AM.

  • 0

#5 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 21 March 2012 - 05:50 AM

I was unaware that there was a GUI issue with H_Tactics reverting, I thought it was just H_Extra, which this doesn't fix.

Forum link fixed.
  • 0

#6 Realus

Realus

    Amateur Blogger

  • Members
  • 108 posts

Posted 21 March 2012 - 07:27 AM

I was unaware that there was a GUI issue with H_Tactics reverting, I thought it was just H_Extra, which this doesn't fix.

Forum link fixed.

The reverting I'm referring to is going into the H_Tactics.lua, and changing let's say... Orc Archer from SIZE_UNDEFINED -> CLASS_S.
Then when you use the GUI to change something (Let's say, Dance attack on -> off)
If you check back on your H_Tactics.lua file; Orc Archer will yet again be SIZE_UNDEFINED.

Extra Options tab never bothered me, because I always use the H_Extra.lua to make my changes instead.
  • 0

#7 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 21 March 2012 - 07:37 AM

Oh yeah, that. using the SIZE_LARGE / SIZE_MEDIUM / SIZE_SMALL as described in the changelog will prevent it from reverting.


Anyone tried smart bulwark? Does it work?

Edited by DrAzzy, 21 March 2012 - 07:59 AM.

  • 0

#8 Luckywhiterabbit

Luckywhiterabbit

    Too Legit To Quit

  • RO Fungineering
  • 1740 posts
  • Playing:Ragnarok Online

Posted 21 March 2012 - 05:21 PM

I know this is probably a common question, but I want my dieter to attack passive mobs only once each, and ignore aggro mobs (for optimal lava slide leveling.) How do I achieve this in the settings? For example, I want it to completely ignore Piranhas (other than rescue me) and only hit Iaras once with a regular attack.
  • 0

#9 iiNote

iiNote

    Too Legit To Quit

  • Members
  • 1148 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 21 March 2012 - 07:54 PM

Hey Azzy how is it that you can turn on the auto Blood Lust?
  • 0

#10 novalkar

novalkar

    Amateur Blogger

  • Members
  • 109 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 21 March 2012 - 08:19 PM

Hey Azzy how is it that you can turn on the auto Blood Lust?

set the UseAutoQuicken option
  • 0

#11 BrunoFerreira

BrunoFerreira

    I made it Off Topic

  • Members
  • 21 posts
  • LocationRio de Janeiro, Brazil
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 22 March 2012 - 08:50 AM

@Luckywhiterabbit: The Tank tactic is apparently the way to do that, except for the fact that it is not working (as I reported a few days ago). Azzy is probably still working on a fix.

On a different note, my homunculus has been completely ignoring the UseAutoSkill_MinSP setting, which I set to 120, and using his skills (mainly Caprice but sometimes Chaotic Blessings) even when he is below 120 SP. Any idea of what could be causing that? All my tactics follow the default AutoSkillLimit of 100, but as far as I know it should not override UseAutoSkill_MinSP.
  • 0

#12 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 22 March 2012 - 04:11 PM

Yeah, I gotta investigate why tank tactic isn't working. I don't really want to do it, but it's the only thing left to fix in 1.40.

Also - when were people going to tell me that sniping was broken with more the skill class tactic was in use and they had two potential skills to use for sniping with different ranges?! Typo will be fixed in dev 21 - which will likely be the LAST 1.40 version!


Also, this is the life. I'm sipping a latte sitting at an outdoor table, while coding on my Zenbook ultraportable, on free wifi. It's 70 degrees out in march, and there's a street musician who doesn't suck that serenading us. I can't ask for much more

Edited by DrAzzy, 22 March 2012 - 04:16 PM.

  • 0

#13 stemah

stemah

    Amateur Blogger

  • Members
  • 345 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 22 March 2012 - 11:54 PM

does this work on windows xp?:((
  • 0

#14 Tetsamaru

Tetsamaru

    Too Legit To Quit

  • Members
  • 1458 posts
  • Playing:Ragnarok Online
  • Server:Chaos

Posted 23 March 2012 - 12:54 AM

does this work on windows xp? :((


It should, i'm on windows Xp.
  • 0

#15 stemah

stemah

    Amateur Blogger

  • Members
  • 345 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 23 March 2012 - 01:14 AM

but when i extract it it doesnt read the azzy ai config, do i need to download something??
  • 0

#16 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 23 March 2012 - 05:50 AM

but when i extract it it doesnt read the azzy ai config, do i need to download something??


GUI requires the .net framework http://www.microsoft...t/download.aspx
  • 0

#17 meoryou2

meoryou2

    Too Legit To Quit

  • Members
  • 1176 posts
  • LocationAFK in Ymir pront
  • Playing:Ragnarok Online
  • Server:Ymir

Posted 23 March 2012 - 07:23 AM

Azzy can we get a skill fail check on Sonic claw? I'm sure a lot of the cat people are like me and set her to use sonic claw once ( and lower levels sometimes even ) and it's annoying when it misses due to the 99% hit cap and she has to kill it with melee attacks.

Should be relatively easy to implement, just do an SP check before casting ( pretty sure it does this already ) then a SP check after casting.... if the SP is the same or higher Sonic Claw failed and should be recast again. The reasoning behind this is Sonic Claw only consumes SP on HIT, missing does NOT consume SP even though the skill was cast.
  • 0

#18 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 23 March 2012 - 08:51 AM

Azzy can we get a skill fail check on Sonic claw? I'm sure a lot of the cat people are like me and set her to use sonic claw once ( and lower levels sometimes even ) and it's annoying when it misses due to the 99% hit cap and she has to kill it with melee attacks.

Should be relatively easy to implement, just do an SP check before casting ( pretty sure it does this already ) then a SP check after casting.... if the SP is the same or higher Sonic Claw failed and should be recast again. The reasoning behind this is Sonic Claw only consumes SP on HIT, missing does NOT consume SP even though the skill was cast.

I am encountering the same issue on my eleanor, so I am keenly aware of how important this feature is. You greatly overestimate how easy it is to implement - this will not be fixed in 1.40.

The difficulty is due to the fact that we don't have full control over how frequently AI() is called, and because SP is not reduced until after a round trip to the server. As a result, you need to intelligently determine how long to wait. Getting this right will likely require a long testing period, even beyond the algorithmic difficulty. Normal network conditions will cause problems for the simple case, and adverse network conditions would result in dramatically broken behavior. Additionally, you need to account for the possibility of SP regen (which on an eleanor could potentially be 40 or 41 or 42 if you're real lucky) and correct for that appropriately. Finally, this is an entirely different sort of routine than what is used elsewhere in the AI.

I plan to implement a system to do this in 1.50 and I'll start working on it once I get 1.40 out the door (1.50 is planned for a final release in late april - 1.40 isn't gonna be around for long - many of the new features have already been implemented, though this particular one hasn't even been started; i'm kind of dreading it).

If you're wondering why bother with new versions - 1.50 has several features that will be 100% incompatible with the current configuration utility. The response to my forgetting to include the config tool in a version of 1.40 initially made me realize that I need to always have a usable version that works with the GUI - which meant that several new features had to be scratched from 1.40. Those will be in 1.50, which will also have the new GUI from Neo Nilox.

Current schedule looks something like:
1.40 Dev 21 this weekend, maybe tonight, maybe saturday.
If no problems, it'll be declared the final version of 1.40 middle of next week, version numbers will be fixed, etc.

After that, 1.50 dev versions will be going out - with no GUI configuration tool until a beta version of that is available from Neo Nilox. Presently, about 2/3rds of the new features are in but untested (the new tactics options, smart AoE, combos, poison mist on owner as buff and more), with the nasty ones remaining - idle motion, the skill-cast failure detection, and PVP functionality, plus an attack state timeout and opportunistic target changing, plus use of Volcanic Ash, Legion and Steinbent - The latter skills I'm accepting proposals on how to use intelligently.

Edited by DrAzzy, 23 March 2012 - 09:58 AM.

  • 0

#19 stemah

stemah

    Amateur Blogger

  • Members
  • 345 posts
  • Playing:Ragnarok Online
  • Server:Valkyrie

Posted 23 March 2012 - 09:04 AM

ahhh thanks :)
  • 0

#20 Librarian

Librarian

    I made it Off Topic

  • Members
  • 16 posts

Posted 23 March 2012 - 11:14 AM

I was getting an error saying AI_main.lua:1864 attempt to compare nil with number. I ended up just deleting and remaking the entire USER_AI folder. Haven't gotten the error again. But it was working fine for several hours before that. Was it something I did that could have caused it?
  • 0

#21 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 23 March 2012 - 11:25 AM

I was getting an error saying AI_main.lua:1864 attempt to compare nil with number. I ended up just deleting and remaking the entire USER_AI folder. Haven't gotten the error again. But it was working fine for several hours before that. Was it something I did that could have caused it?

Either you mangled the skill info file, or you set the level of a quicken skill that your homun was set to use to (ex, FilerFlitLevel=0, LifEscapeLevel=0). Either way, this caused it to get a nil value when it looks up the SP use of the skill (either because it's trying to look up level 0, or is trying to look up values in a broken table), and hence crash when comparing that value to the current SP total. To disable a defensive or offensive buff, set UseAutoGuard or UseAutoQuicken to 0, per the documentation (for homun S skills, there is an individual option for each buff skill).

Edited by DrAzzy, 23 March 2012 - 11:26 AM.

  • 0

#22 Librarian

Librarian

    I made it Off Topic

  • Members
  • 16 posts

Posted 23 March 2012 - 11:55 AM

Ohhh, oops.

Though, if that causes it to fail then why is it possible to set it to 0? Wouldn't a drop down menu be better? (Using the utility)

Edit:
Oh, and you have the name and monster ID for the ants mixed up.

You have Deniro with 1095 ID when it's suppose to be 1105.
Piere as 1105 when it's 1160.
Andre as 1160 when it's 1095.

No biggy, just something I noticed. And I tried switching the IDs but made the utility crash since apparently it can't have more than one of the same ID :P

Edited by Librarian, 23 March 2012 - 12:06 PM.

  • 0

#23 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 23 March 2012 - 12:28 PM

Ohhh, oops.

Though, if that causes it to fail then why is it possible to set it to 0? Wouldn't a drop down menu be better? (Using the utility)

Edit:
Oh, and you have the name and monster ID for the ants mixed up.

You have Deniro with 1095 ID when it's suppose to be 1105.
Piere as 1105 when it's 1160.
Andre as 1160 when it's 1095.

No biggy, just something I noticed. And I tried switching the IDs but made the utility crash since apparently it can't have more than one of the same ID :P

GUI bug then, 0 has never been a valid option for that option. I didn't write that part of the GUI (I just added a few options for 1.30 -> 1.35, and tried to get H_Extra working - you can see how well that worked), and issues with the GUI keep coming up. As I've said before, we're getting a new one for 1.50.

I'll fix the ant names. I filled them in without double-checking the names (ants are ants). You can also fix them by manually editing H_Tactics.lua if it bothers you.
  • 0

#24 Librarian

Librarian

    I made it Off Topic

  • Members
  • 16 posts

Posted 23 March 2012 - 12:38 PM

It doesn't give any error when applying the change.

Honestly I'd rather not mess with the lua files. I don't have the best grammer and don't feel like looking back over the file for my inevitable mistake.
  • 0

#25 DrAzzy

DrAzzy

    Really Azzy? Already?

  • VMod Retired
  • 15606 posts
  • LocationNew England
  • Playing:Ragnarok Online
  • Server:Chaos-Clandestine Society

Posted 23 March 2012 - 12:48 PM

It doesn't give any error when applying the change.

Honestly I'd rather not mess with the lua files. I don't have the best grammer and don't feel like looking back over the file for my inevitable mistake.


The GUI should not be allowing 0 to be entered at all for the buff skill levels, and this will be verified in the new GUI. Presumably the bounds are set to 0-5 instead of 1-5.

The GUI was never spec'ed to allow changing names/ID's of monsters after creating them, since the name and ID of a monster doesn't ever change (I think I spec'ed that that not be changeable, actually). Of course, that doesn't account for someone getting the numbers/names wrong and including the incorrectly named entries in the default tactics file ;-)
Then you'll have to deal with the incorrectly named ants until the next version, or delete and recreate them, which the GUI should be able to do. Gasp and horror!
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users