Commit Graph

60 Commits

Author SHA1 Message Date
ThePenguinMan96
aa6f8153a1 Tame Chat Action / Pet Chat Action (stances/commands)
Hello everyone,

I am on a quest to make bot's pets completely functional, focuses on solving issues #1351 , #1230 , and #1137 . This PR achieves the following:

1. Changes the current "pet" chat command to "tame", which is more intuitive that only hunters can use it. The modes are "tame name (name)", "tame id (id)", "tame family (family)", "tame rename (new name)", and "tame abandon". Tame abandon is new - it simply abandons the current pet. Also, now, if you type in "tame family" by itself, it will list the available families. See pictures below for examples.
2. Added new "pet" chat command, with the following modes: "pet passive", "pet aggressive", "pet defensive", "pet stance" (shows current pet stance), "pet attack", "pet follow", and "pet stay". Previously, the pet's stance was not changeable, and there were some less than desired effects from summonable pets - see the issues above.
3. New config option: AiPlayerbot.DefaultPetStance, which changes the stance that all bot's pets are summoned as. This makes sure when feral spirits or treants are summoned by shamans and druids, they are immediately set to this configured stance. Set as 1 as default, which is defensive. (0 = Passive, 1 = Defensive, 2 = Aggressive)
4. New config option: AiPlayerbot.PetChatCommandDebug, which enables debug messages for the "pet" chat command. By default it is set to 0, which is disabled, but if you would like to see when pet's stances are changed, or when you tell the pet to attack/follow/stay, and when pet spells are auto-toggled, this is an option. I made this for myself mainly to test the command - if anyone notices any wierd pet behavior, this will be an option to help them report it as well.
5. Modified FollowActions to not constantly execute the petfollow action, overriding any stay or attack commands issued.
6. Modified GenericActions to have TogglePetSpellAutoCastAction optionally log when spells are toggled based on AiPlayerbot.PetChatCommandDebug.
7. Modified PetAttackAction to not attack if the pet is set to passive, and not override the pet's stance to passive every time it was executed.
8. Modified CombatStrategy.cpp to not constantly issue the petattack command, respecting the "pet stay" and "pet follow" commands. Pets will still automatically attack the enemy if set to aggressive or defensive.
9. Warlocks, Priests, Hunters, Shamans, Mages, Druids, and DKs (all classes that have summons): Added a "new pet" trigger that executes the "set pet stance" action. The "new pet" trigger happens only once, upon summoning a pet. It sets the pet's stance from AiPlayerbot.DefaultPetStance's value.
2025-08-01 01:18:16 -07:00
ThePenguinMan96
e40c2b21f2 Channel Cancel checks for Channeled AOE DPS Spells
Hello everyone,

I liked the channel cancel I did on mage recently, where they cancel blizzard if there is only 1 enemy left. I decided to do the same for the following classes:

Druid: Hurricane
Hunter: Volley
Priest: Mind Sear
Warlock: Rain of Fire

I moved the "ChannelCancel" action to it's own file, so other classes could benefit from it. I removed it from the mageactions.
2025-07-28 01:35:56 -07:00
ThePenguinMan96
a632fa2194 Migrate important cooldowns over to BoostStrategy
This commit focuses on the changes requested - Migrate important cooldowns over to BoostStrategy.

Just tested it, and it is working fine - The player has more control over when they can boost. Also, added Mirror Image to the Boost Strategy, after other cooldowns are used - this way the mirror images get the buffs.
2025-07-26 13:06:41 -07:00
ThePenguinMan96
ee245f73b5 Mage Overhaul
Hello everyone,

Back again with another class overhaul. Here is a list of what changes have been made:
1. Consolidated the AoE strategies into "aoe". For light aoe (2+ enemies) the mage will use Cone of Cold (frost)/Arcane Explosion (Arcane)/Multi-Dot with Living Bomb (Fire/Frostfire). For medium aoe (3+ enemies) they will use Flamestrike -> Blizzard. Also, the mage will automatically cancel channeling their blizzard if there is less than 2 enemies around. This is huge, since the mage would often stand there and finish their entire channel during a boss fight after the adds died.
2. Organized actions, triggers, and the aiobjectcontext
3. Enabled Deep Freeze to be casted on bosses regardless of their immune status. Big benefit for frost dps on boss fights.
4. Slight tweaks in the conf so Arcane gets Arcane Barrage and Frostfire gets 2/2 Firestarter
5. Streamlined Arcane DPS to use Missile Barrage proc when at 4 stacks of Arcane Blast
5. Streamlined Fire/Frostfire DPS to keep Improved Scorch active (5% spell crit) unless there is a debuff of equal type
6. Added "firestarter" strategy, that utilizes the Fire talent Firestarter better. The mage will multi-dot Living Bomb while running towards melee, and cast Dragon's Breath -> instant cast Flamestrike -> Blast Wave -> instant cast Flamestrike -> Blizzard for bonkers damage. Disabled by default - not everyone wants their mages running into melee. Enable by typing "co +firestarter" on fire and frostfire mages.
7. Streamlined Frost DPS by finally adding support for Cold Snap for mages. It will proc when both Icy Veins and Deep Freeze are on cooldown. There is an exception to this - if the mage is level 30-59, it will not check for Deep Freeze - only Icy Veins.
8. Added Conjure Mana Gem support in the generic non-combat strategy and Use Mana Gem support in the generic combat strategy. This might be the biggest benefit of the overhaul - the gem has a 90 second cooldown, not shared with mana potions. It really prevents the mage from gassing out in longer fights. And the mana gem has 3 charges!
9. Added Mana Shield ability, which triggers on low health.
10. Changed Mirror Image from a boost ability to an anti-threat tool. Not many people know this, but it's best use in PvE is it's anti-threat modifier: "Mod Total Threat - Temporary Value: -90000000". It also doesn't do good damage, and is essentially used best as a pre-pull spell. But until the mages know how to react to a pull-timer, it's going to be used to reduce threat.

Let me know what y'all think!
2025-07-26 01:49:49 -07:00
Yunfan Li
feda619066 Engine optimization for better performance and mem usage (#1462)
* Optimize loot

* World channel talk

* General improvement

* Engine rebuild for performance and memory usage

* Fix crash with AutoDoQuest = 0
2025-07-25 12:11:03 +02:00
Yunfan Li
f0c6aaff0b Random bots gear related enhancements 2025-07-05 20:29:34 +08:00
Yunfan Li
19447c3914 Enable new rpg strategy by default (#1192)
* Add RandomBotMinLevelChance

* Save mana only for healer

* Disable addclass dk for low level player

* Target selection and debuff cast with less players in group

* Change default rpg strategy and bots count in config

* Logs clean up

* Improve init=auto

* Remove login logs after initialization

* Rndbots stats for quest

* Prediction chase in reach combat

* Poor & Normal items ensurence for init=auto
2025-04-11 20:31:38 +08:00
Yunfan Li
e319334b03 Fix frost nova crash (#1106) 2025-03-22 13:59:32 +08:00
Yunfan Li
e33c61e90a Fixes on naxxramas heigan and thaddius (#994)
* Fix naxx thaddius

* Fix naxx heigan strats
2025-02-21 17:53:07 +01:00
Yunfan Li
bb729e35b9 Fix stuck on knockback, enhance movement & flee and trap weave strats (#980)
* Hunter trap weave strats

* Do not allow actions to stack

* Remove trap weave by default

* Refactor on Engine

Co-authored-by: SaW <swerkhoven@outlook.com>

* Remove unused funcs in Queue

* Remove ExpireActionTime config

---------

Co-authored-by: SaW <swerkhoven@outlook.com>
2025-02-18 22:55:44 +08:00
achyles222
1c2ec60e6b Added Frostfire spec for fire mage (#936) 2025-02-03 19:48:41 +08:00
Yunfan Li
7eabe47a62 Frost mage ice barrier health trigger 2025-01-19 23:07:48 +08:00
Yunfan Li
89941ada48 Magic focus magic on party 2025-01-19 22:39:34 +08:00
Yunfan Li
bc33851189 Mage improvement (fire mage aoe) 2025-01-19 20:06:10 +08:00
Yunfan Li
b0b3fef222 Revert "Paladins use Greater Blessings" 2025-01-04 21:24:12 +08:00
avirar
7392c5551a BuffTrigger instead of OnParty 2025-01-04 18:51:23 +11:00
avirar
39a1fd25d2 Arcane Brilliance 2025-01-04 18:45:38 +11:00
avirar
bc4842d9b2 Arcane Brilliance 2025-01-04 18:45:23 +11:00
avirar
3899ebd4a9 Arcane Brilliance 2025-01-04 18:45:12 +11:00
Yunfan Li
df5b10c9ad Revert classes folder 2024-12-14 16:23:13 +08:00
Yunfan Li
e7416db7dc Modify file structure 2024-12-13 20:14:25 +08:00
Yunfan Li
4644fd8459 Minor spell enhancement 2024-12-07 12:57:18 +08:00
Bobblybook
d0f5bb7cc7 Correct fingers of frost mage AI 2024-10-05 19:02:17 +10:00
Yunfan Li
53611c9040 Run clang-format 2024-08-04 10:23:36 +08:00
Yunfan Li
48ac024430 Merge pull request #367 from liyunfan1223/self-command
Fix .playerbot bot self
2024-07-24 12:27:56 +08:00
Bobblybook
b1ffbf2d99 Frost mage freeze procs complete 2024-07-23 21:38:40 +10:00
Bobblybook
79c7dcf4a1 Frost mage test triggers 2024-07-23 20:35:09 +10:00
Bobblybook
4043edfba3 Freeze snare testing 2024-07-23 20:00:05 +10:00
Bobblybook
71bb45ec7c Cone of Cold isUseful check 2024-07-23 18:09:55 +10:00
Bobblybook
9fd5005030 Proper FoF stack handling 2024-07-23 01:58:09 +10:00
Bobblybook
5635b90bbe Proper FoF combo, non-arbitrary weightings 2024-07-22 21:53:02 +10:00
Yunfan Li
400f982101 [Class spell] Mirror image 2024-07-21 22:20:59 +08:00
Bobblybook
adf1411a01 Water ele waterbolt 2024-07-21 06:59:57 +10:00
Bobblybook
af4ea8de2f Water ele typo 2024-07-21 06:43:00 +10:00
Bobblybook
e29cf4f195 Ice barrier typo 2024-07-21 05:45:38 +10:00
Bobblybook
ba4751fb01 Frost mage AI 2024-07-21 05:14:27 +10:00
Bobblybook
b36521a353 Frost mage AI 2024-07-21 05:12:53 +10:00
Bobblybook
e30d823f03 Frost mage AI 2024-07-21 05:10:56 +10:00
Yunfan Li
7325ba7dcb [Class spell] Aoe threat check 2024-07-07 21:51:19 +08:00
Yunfan Li
27569f431f Naxx thaddius strategy 2024-02-09 15:42:36 +08:00
Yunfan Li
111109b112 Raise flee action relevance 2023-12-22 00:05:09 +08:00
Yunfan Li
45d0ae00ab default actions 2023-10-22 12:50:17 +08:00
Yunfan Li
099dcb70c0 init pet talents 2023-10-06 00:12:36 +08:00
Yunfan Li
0343ac5714 mage fireball 2023-09-08 12:47:44 +08:00
Yunfan Li
243a4df967 optimize class spell 2023-09-08 12:44:38 +08:00
Yunfan Li
7e1de0b9cf life time check for debuff spell & cast time spell 2023-09-04 17:04:59 +08:00
Yunfan Li
bb1ea0c395 naxxramas gluth 2023-09-03 17:52:44 +08:00
Yunfan Li
14b94e20fb major class spells 2023-09-02 22:37:11 +08:00
Yunfan Li
1136b7bfdc debuff on melee attackers 2023-08-28 17:28:36 +08:00
Yunfan Li
810676485b firebolt for low-level arcane mage 2023-08-05 19:11:10 +08:00