Commit Graph

2142 Commits

Author SHA1 Message Date
kadeshar
78116fe37e Merge pull request #1510 from brighton-chi/bot-chat-filters
increase flexibility of multiple bot chatfiltering
2025-08-21 21:58:17 +02:00
bash
c9b4cfa184 [Revert] Threading leftover which belonged to other related PRs's (once green needs be merged) (#1583)
* Revert "Correct side effects of  merge f5ef5bd1c2 (#1512)"

This reverts commit 966bf1d6af.

* Revert "Fix ACCESS_VIOLATION in mod-playerbots: purge stale AIs, add thread-safety, and harden HasRealPlayerMaster (#1507)"

This reverts commit f5ef5bd1c2.
2025-08-20 20:13:45 +02:00
HennyWilly
957a60cd1d Ignore GameObject IDs from vanilla dungeons (#1518)
* DisallowedGameObjects for vanilla dungeons

* Bots ignore trap crates in Stratholme -> Remove

* Updated AiPlayerbot.DisallowedGameObjects default value in source code

* Removed duplicate

* Added 123329

* Added 123329 and removed duplicated

* Update playerbots.conf.dist

153464 - no reason to ignore it

* 153464 - no reason to ignore it

---------

Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
2025-08-20 18:24:00 +02:00
mtm84
b661264c53 Update HunterActions.cpp (#1576)
Removes compiler warning
2025-08-18 12:05:53 +02:00
kadeshar
77c2354c3f Yogg-Saron strategy (#1565)
* - wip

* - Added Yogg-Saron strategy

* - Added Yogg-Saron sanity strategy

* - WIP

* - WIP

* - WIP

* - WIP

* - Added Yogg-Saron strategy

* - code refactoring

* - Code fix after pr
2025-08-18 12:02:19 +02:00
bash
b369b1f9ae MoveToTravelTargetAction prevent delay when in combat (#1558) 2025-08-18 02:38:06 +02:00
Vigerus
fa7b863035 NamedObjectContext improvement, remove unneccessary pass by copy, allow lambda ObjectCreators (#1561)
Co-authored-by: Viger <viger28@gmail.com>
2025-08-17 15:42:26 +02:00
bash
4f5f7d286e nullptr fix (#1555) 2025-08-16 15:29:44 +02:00
bash
6cb9f56c4e nullptr fix (#1557)
* nullptr fix

* Update PlayerbotFactory.cpp
2025-08-16 15:29:09 +02:00
Crow
3e0f23536d Update README.md (#1567) 2025-08-16 12:04:00 +02:00
kadeshar
12065a6ad5 Merge pull request #1486 from ThePenguinMan96/Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands)
Tame Chat Action / Pet Chat Action (stances/commands)
2025-08-16 10:27:17 +02:00
bash
8d51092d42 As requested revert for threadfixes last few days (#1552)
* Revert "[Large server fix] #1537 Serialize playerBots/botLoading with a mutex and use snapshot-based loops to fix concurrency crashes (#1540)"

This reverts commit 3fff58df1a.

* Revert "[Fix] teleport to invalid map or invalid coordinates (x , y , z  200000, o ) given when teleporting player (g UI d full type player low , name , map , x , y , z , o )  (#1538)"

This reverts commit ca2e2ef0db.

* Revert "Fix: prevent MoveSplineInitArgs::Validate velocity asserts (velocity > 0.01f) for bots, pets, and charmed units (#1534)"

This reverts commit 4e3ac609bd.

* Revert "[Fix issue #1527] : startup crash in tank target selection — add TOCTOU & null-safety guards (#1532)"

This reverts commit c6b0424c29.

* Revert "[Fix issue #1528] Close small window where the “in a BG/arena” state can change between the check (InBattleground() / InArena()) and grabbing the pointer (GetBattleground()), which leads to a null dereference. (#1530)"

This reverts commit 2e0a161623.

* Revert "Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks (#1529)"

This reverts commit e4ea8e2694.

* Revert "Dont wait to travel when in combat. (#1524)"

This reverts commit ddfa919154.

* Revert "nullptr fix (#1523)"

This reverts commit 380312ffd2.

* Revert "Playerbots/LFG: fix false not eligible & dungeon 0/type 0, add clear diagnostics (#1521)"

This reverts commit 872e417613.

* Revert "nullptr exception (#1520)"

This reverts commit 3d28a81508.

* Revert "Removed bot freezing at startup and system message, not relevant anymore (#1519)"

This reverts commit bcd6f5bc06.
2025-08-12 22:10:47 +02:00
Alex Dcnh
3fff58df1a [Large server fix] #1537 Serialize playerBots/botLoading with a mutex and use snapshot-based loops to fix concurrency crashes (#1540)
* MoveSplineInitArgs::Validate: expression 'velocity > 0.01f' failed for GUID Full

* Update BotMovementUtils.h

* Playerbots: guard against invalid-Z teleports

* Update PlayerbotMgr.cpp
2025-08-12 08:15:22 +02:00
Alex Dcnh
ca2e2ef0db [Fix] teleport to invalid map or invalid coordinates (x , y , z 200000, o ) given when teleporting player (g UI d full type player low , name , map , x , y , z , o ) (#1538)
* MoveSplineInitArgs::Validate: expression 'velocity > 0.01f' failed for GUID Full

* Update BotMovementUtils.h

* Playerbots: guard against invalid-Z teleports
2025-08-12 01:54:17 +02:00
Alex Dcnh
4e3ac609bd Fix: prevent MoveSplineInitArgs::Validate velocity asserts (velocity > 0.01f) for bots, pets, and charmed units (#1534)
* MoveSplineInitArgs::Validate: expression 'velocity > 0.01f' failed for GUID Full

* Update BotMovementUtils.h
2025-08-12 01:53:48 +02:00
Alex Dcnh
c6b0424c29 [Fix issue #1527] : startup crash in tank target selection — add TOCTOU & null-safety guards (#1532)
* Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks

* Fix Issue 1528

* Fix Issue #1527
2025-08-11 17:00:31 +02:00
Alex Dcnh
2e0a161623 [Fix issue #1528] Close small window where the “in a BG/arena” state can change between the check (InBattleground() / InArena()) and grabbing the pointer (GetBattleground()), which leads to a null dereference. (#1530)
* Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks

* Fix Issue 1528
2025-08-11 16:27:38 +02:00
Alex Dcnh
e4ea8e2694 Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks (#1529) 2025-08-11 16:27:25 +02:00
bash
ddfa919154 Dont wait to travel when in combat. (#1524)
Prevents bot adding a travel delay when in combat
2025-08-11 01:11:54 +02:00
bash
380312ffd2 nullptr fix (#1523) 2025-08-10 22:59:34 +02:00
Alex Dcnh
872e417613 Playerbots/LFG: fix false not eligible & dungeon 0/type 0, add clear diagnostics (#1521)
Tested
2025-08-10 21:23:02 +02:00
bash
3d28a81508 nullptr exception (#1520) 2025-08-10 19:31:10 +02:00
bash
bcd6f5bc06 Removed bot freezing at startup and system message, not relevant anymore (#1519) 2025-08-10 19:11:39 +02:00
ThePenguinMan96
c5010b3809 Merge branch 'liyunfan1223:master' into Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands) 2025-08-10 09:59:34 -07:00
bash
15f138aab0 Don't apply XPRate multiplier when bot is in group with real player (#1495)
* dont apply XPRate if bot is in group with real player

https://github.com/liyunfan1223/mod-playerbots/issues/1490

* Optimize code

* Oops minor correction

* Defense check on the player itself

* Safer way to check the leader is real player.

* Added abit more defense programming, should be needed still ..why not
2025-08-10 18:28:39 +02:00
ThePenguinMan96
5759a98d5a Warlock Soul Shard Cap Increase / Firestone and Spellstone Modes (#1514)
Hello everyone,

This is a small change to warlocks that accomplishes 2 things:

1. Changes the firestone and spellstone weapon enchants so only one of them can be active - players reported to me that both strategies could be present before, resulting in a bug where the bot repeatedly applied the enchant.
2. Changes the soul shard deletion cap from 6 or more to 26 or more - players will now be able to stockpile soul shards up to 25 in a bot's inventory before the bot starts deleting them one at a time back down 25. I chose 25 because if it was higher, drain soul would get multiple shards above the 32 unique cap, and spam the player "I can't carry any more of those". It was super annoying, and with testing, I have not seen this error at 25. This aims to address issue #1502 .
2025-08-10 11:13:01 +02:00
brighton-chi
13fca4398d Remove EPL from pvp prohibited zones (#1511)
* Remove EPL from pvp prohibited zones

* fixed unrelated error in comments

* Update default value
2025-08-09 20:59:55 +02:00
ThePenguinMan96
86dbf54584 Merge branch 'liyunfan1223:master' into Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands) 2025-08-09 09:51:27 -07:00
Yunfan Li
a307eb2f08 VisitAllObjects to VisitObjects (sync with acore) (#1513) 2025-08-09 19:17:33 +08:00
Alex Dcnh
966bf1d6af Correct side effects of merge f5ef5bd1c2 (#1512)
* Update PlayerbotMgr.h

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.h

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.h

* Update PlayerbotMgr.cpp

* Update PlayerbotMgr.h

* Update PlayerbotMgr.h
2025-08-08 20:36:03 +02:00
crow
2144c95311 increase flexibility of multiple bot chatfiltering 2025-08-07 16:25:47 -05:00
Alex Dcnh
f5ef5bd1c2 Fix ACCESS_VIOLATION in mod-playerbots: purge stale AIs, add thread-safety, and harden HasRealPlayerMaster (#1507) 2025-08-07 00:31:00 +02:00
ThePenguinMan96
28de238422 Merge branch 'liyunfan1223:master' into Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands) 2025-08-05 20:49:00 -07:00
ThePenguinMan96
0afcf29490 Warlock Dismount Pet Fix (#1501)
Hello everyone,

This PR is to address #1489, where the warlock summons a pet when they dismount.

A tester found that the cause was the "wrong pet" triggering "summon (pet)". I looked into the "wrong pet" trigger, and noticed that there was not a clause if there was no active pet. It was inadvertently casting "summon (pet)" because for a brief second after dismounting, the warlock didn't technically have a pet.

I was able to recreate the issue based on tester feedback (dismounting with a warlock bot that has a pet). I tested this fix locally - it seems to work as intended. The warlock no longer attempts to summon a pet when dismounting. I tested it with nc +debug, and noticed that the "wrong pet" trigger was no longer firing. I also checked the logs - nothing.

Thank y'all for the testing and feedback!
2025-08-05 09:10:06 +02:00
ThePenguinMan96
ab345b8847 Changes requested
I fixed what was requested of me. Built it, tested it - all functions are working.
2025-08-04 17:55:29 -07:00
ThePenguinMan96
683c6e39e4 Merge branch 'liyunfan1223:master' into Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands) 2025-08-04 17:06:47 -07:00
brighton-chi
a6c07ca16d Improve attackaction failure message system (#1498) 2025-08-03 23:12:33 +02:00
Yunfan Li
ee99b66d04 Sync with azerothcore (#1492) 2025-08-02 16:10:49 +08:00
ThePenguinMan96
548746c25f Revert "Update ChatActionContext.h"
This reverts commit f7e64589e8.
2025-08-01 23:55:25 -07:00
ThePenguinMan96
f7e64589e8 Update ChatActionContext.h 2025-08-01 23:54:12 -07:00
ThePenguinMan96
8545225923 Merge branch 'master' into Tame-Chat-Action-/-Pet-Chat-Action-(stances/commands) 2025-08-01 23:30:23 -07:00
Revision
ede7697784 Changed OnPlayerBeforeAchievementComplete to allow random bots to unlock achievements (#1487) 2025-08-01 21:48:01 +02:00
Alex Dcnh
ba9cb5a256 Add optional gender parameter to .playerbot bot addclass command (#1491) 2025-08-01 21:45:29 +02:00
Keleborn
a1dd6f6fc5 New roll for item action (#1482)
* New roll for item action

* Add general roll command as well.

* Update ChatCommandHandlerStrategy.cpp

Add accidental removal of glyph equip

---------

Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
2025-08-01 21:44:52 +02:00
brighton-chi
e950f65a83 Add config to disable hunters from generating specified pet families (#1485)
* Add config to disable hunters from generating specified pet families

* Fixed unrelated typo in config
2025-08-01 19:29:51 +02:00
brighton-chi
938872564a Revise bot logic for initializing and using consumables (#1483)
Bots will now add level- and spec-appropriate oils and stones when maintaining and, with respect to randombots, leveling. All bots (other than those with class-specific temporary weapon enchants) will apply oils and stones to their weapons. General clean-ups to associated code were made.
2025-08-01 19:28:13 +02:00
Yunfan Li
baa1aa9e9d Fix initself crash (#1488) 2025-08-01 19:15:59 +02:00
kadeshar
65a3bf481c - Added generic boss shadow aura trigger and action (#1480)
- Added automatic aura for General Vezax and Yogg-Saron
- Added support for all rank for boss aura triggers
2025-08-01 21:31:44 +08:00
ThePenguinMan96
ffc96b664e Turning off Spirit Wolf Leap
I had to add an exception to turn off autocasting for the Spirit Wolf Leap - they were still leaping into battle despite their stance.
2025-08-01 01:35:11 -07:00
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