I think in regards to the status changes "Bleeding", "'Chilled", "Blinded" and "Burning" it would often be better to offer a globally available condition instead of asking for specific buffs/debuffs. This way we would open the door for multi-pet tactics where a pet might use a skill based on buffs/debuffs placed by other pets in the team.
PetTacticsBase.cs:
Code:
// checking for general conditions caused by multiple effects
public static bool enemyIsBleeding() { return MyPets.enemyIsBleeding(); }
public static bool enemyIsBlinded() { return MyPets.enemyIsBlinded(); }
public static bool enemyIsBurning() { return MyPets.enemyIsBurning(); }
public static bool enemyIsChilled() { return MyPets.enemyIsChilled(); }
public static bool myPetIsBurning() { return MyPets.myPetIsBurning(); }
public static bool myPetIsBlinded() { return MyPets.myPetIsBlinded(); }
public static bool myPetIsBleeding() { return MyPets.myPetIsBleeding(); }
public static bool myPetIsChilled() { return MyPets.myPetIsChilled(); }
I would love for these changes to be added to an upcoming build. It would really help me improve my tactics.
I seem to remember there's only a handful of status effects, but it needs a concise list of the auras (also the numbers for later) which are not common.
if i wanted to suggest better terms in petTacticsBase.cs, i'd add in:
RawHP, RawHPEnemy as integers for the actual pet health values;
TeamAlive, EnemyTeamAlive as integer for pets still alive on the enemy team.
In terms of a list of buffs, it's not that long. and the possible beneficial advantages is short. But, it also requires testing because not all abilities are singular. Some have or "cause" secondary effects, or only work when auras are missing or applied, i.e. Food Coma, causes Asleep if there's no damage in the next round... in this case, that can be worked into the logic as is, as long as you know the buff is called "Asleep" and to heal when either buff is active instead of choosing to attack.
i.e. the possible states are bleed, blind, burn, chilled, poisoned, injured/lower health value, sleep, stun, webbed.
Pet Abilities - World of Warcraft
weather is arcane winds, blizzard, moonlight, darkness, raining, sunny
Pet Abilities - World of Warcraft
The abilities are also named/numbered on
Pet Abilities - World of Warcraft so you can check your spelling against other languages on wowhead (or use the numbers... which is arguably, more work) If you want the specific ability list, there's only 541 abilities, some that have a buff/debuff effect (only 541, and some are listed 3x) However, there's not a general list for meta-abilities, those require a short list compiled by hand, (or using some wowhead search i couldn't really work out how to filter for). Not all of the stuns use the same aura/debuff or team debuff effect, they often have different names and icons, and numbers. I don't have a shortlist to the "passive" or disconnected abilities on wowhead unfortunately, but warcraftpets, petsear.ch, wowhead, and a few others have compiled a few "brackets" for the states, weather and auras.
i.e. here's the old stun list on pokehbuddy i compiled a long, long, long time ago from ingame experience.
822 "Polymorphed"
Polymorphed - Battle Pet Ability - World of Warcraft
498 "Asleep"
Asleep - Battle Pet Ability - World of Warcraft also 926, 1348
174 "Stunned"
http://www.wowhead.com/petability=174/stunned also uses 927 and 1030
734 "Crystal Prison"
http://www.wowhead.com/petability=734/crystal-prison
there's no common meta-status for these abilities, but they all do roughly the same thing, prevent you from hitting an ability when the buff is active. And, some let you swap out, some do not. The reason i bring these 4 up, is that they aren't universal for a definition like "IsStunned", because a meta-ability list would be better off with a safety feature like testing for "cannotSwap" with LUA, rather than having a predefined value for IsStunned to check for those 7 values/4 strings.
It is more work, but if 10 people each upload 5 unique pets a week, the job's done in ~3 months.
Would it be possible that the bot would attack only one sort of Pets? Like unborn valkyere?
This is a whitelist feature. it's currently not set up. Just wait longer
I also had a start with undead, because it seemed smaller (and only just saw Studio60's list), which there's a few alterations, i've just changed a few over and added the other ~9 undead pets, as there's only 33 undead pets.
Once i've manually run each pet to ensure the labels are all correct and levelled them > 20 to test all 6 abilities are set up correctly with the aura numbers as well, will upload it here. At the moment, i'm trying to replace Dark Simulacrum with Rot (Spirit Crab, and a few others), is this a valid way to group these checks ? or should they be separate function calls ?
PHP:
new AandC( "Rot", () => famEnemy ("critter" || "aquatic") && ! debuff("Undead") ), // Slot 3, Rot = 476 Debuff Undead = ???
it's based on rot's "undead" effect, which improves damage for elemental (kirin tor familiar) is critter/aquatic , magic (willy) is mechanical/dragonkin