Xian55 / WowClassicGrindBot

Highly configurable and responsive World of Warcraft Classic pixel Grind Bot - No DLL injection or memory tampering, just screen capture and input simulation.
190 stars 127 forks source link

last death time variable or last respawn time variable. #529

Closed Mulliganisoup closed 1 year ago

Mulliganisoup commented 1 year ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] I am looking for a variable to add to the class config .JSON files that I can use to base logic off of the last time you respawned/died. Describe the solution you'd like A clear and concise description of what you want to happen. I found ( Core.CombatLog.DeadGuid
Core.AddonBits.Dead ) In the raw values page but I was unable to find the index values for them to create a variable. Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. I tried using death count but that just creates an infinite loop. Additional context Add any other context or screenshots about the feature request here. Basically this is for when the bot respawn's near mobs and starts instantly attacking them. It could also be used for scrolls and buffs that you want to use before reentering combat.

Xian55 commented 1 year ago

Hey, thanks for reaching out.

Basically this is for when the bot respawn's near mobs and starts instantly attacking them. It could also be used for scrolls and buffs that you want to use before reentering combat.

Sometimes you can't prevent entering combat right after you respawn! Just after respawn, you are already at 50% health and mana, buffing right away might not be always the best idea, using 1 or 2 GCD can cost your life.

Let me enlighten you about another way to solve your issue without adding any extra code.

You can adjust the KeyAction.Cost(default is 18) value for AdhocGoals(buffs) to have higher priority.

Lower the value means higher priority.

By default the AdhocGoal / buff actions relies on the KeyAction.Cost. You can put it below CombatGoal which has Cost of 4.

This GoapGoal.Cost or KeyAction.Cost values are visible on the BlazorServer. Just before the name image

Here's an example of Warlock Life Tap ability or the Warrior Battle Shout or Death Knight Horn of Winter

By default AdhocGoal based KeyAction(s) wont get executed during combat, you can bypass that with "InCombat": "i don't care" which means no matter if the player is in combat or not.