Commit Graph

655 Commits

Author SHA1 Message Date
Gabriel Comeau
183bf7ae8e Allow bots to trade conjured items (#781)
Since they didn't have any sell value you couldn't get a bot to give you a healthstone or conjured food/water.  This change allows them to be traded to you without altering any of the other logic for bot trades.
2024-12-15 20:03:46 +01:00
avirar
d77dbb65e5 Enhanced dual wield logic in EquipItem
Implemented logic to ensure the strongest weapon is always placed in the main hand for dual-wielding or Titan Grip-capable bots.
When equipping a new weapon, the code now compares the new weapon’s score with the currently equipped main-hand and off-hand weapons.
If the new weapon is the strongest, it goes into the main hand. The previous main-hand weapon may be moved to the off-hand if it is allowed (e.g., not a main-hand-only weapon) and provides a performance improvement.
Titan Grip conditions are accounted for, allowing valid two-handed weapons (2H axes, maces, swords) to be placed in the off-hand as well.
2024-12-14 18:52:57 +11:00
avirar
0c16f308db Update EquipAction.cpp 2024-12-14 18:41:32 +11:00
avirar
34c0759c90 Update EquipAction.cpp 2024-12-14 18:28:28 +11:00
avirar
f8da773ce1 Update EquipAction.cpp 2024-12-14 18:21:28 +11:00
avirar
a9eb41600d Update EquipAction.cpp 2024-12-14 18:07:02 +11:00
avirar
ea9bd18102 Enhanced dual-wield logic
Description of Changes:

    Implemented logic to ensure the strongest weapon is always placed in the main hand for dual-wielding or Titan Grip-capable bots.
    When equipping a new weapon, the code now compares the new weapon’s score with the currently equipped main-hand and off-hand weapons.
    If the new weapon is the strongest, it goes into the main hand. The previous main-hand weapon may be moved to the off-hand if it is allowed (e.g., not a main-hand-only weapon) and provides a performance improvement.
    Titan Grip conditions are accounted for, allowing valid two-handed weapons (2H axes, maces, swords) to be placed in the off-hand as well.
2024-12-14 17:57:16 +11:00
Yunfan Li
e7416db7dc Modify file structure 2024-12-13 20:14:25 +08:00
Yunfan Li
f26cebb518 Update rpg status probability 2024-12-11 23:00:03 +08:00
Yunfan Li
69fe9a2d81 Reduce near npc range distance 2024-12-10 20:20:19 +08:00
Yunfan Li
98701a6f66 Modify starter position (add flightmaster) 2024-12-08 15:47:34 +08:00
Yunfan Li
6d82b134d1 Merge branch 'master' into new_rpg_strats 2024-12-06 20:39:51 +08:00
Revision
f096c2089f Add a config option for dropping obsolete quests (#745) 2024-12-06 08:45:41 +01:00
kadeshar
8c84026116 - added spec configuration for world buffs (#761)
- added world buffs to configuration file
- fixed NeedWorldBuffTrigger
2024-12-05 19:29:52 +01:00
Yunfan Li
e7f0ee16f7 Merge pull request #757 from noisiver/support-newer-master
Support newer master
2024-12-05 22:13:54 +08:00
Yunfan Li
0fa548593f Improve performance by ZoneHasRealPlayers and MoveFarTo 2024-12-04 23:26:58 +08:00
Yunfan Li
618358aa13 Improve near npc move 2024-12-03 23:30:09 +08:00
Yunfan Li
87e8c05b20 Innkeeper position and windows compile error 2024-12-03 22:57:39 +08:00
kadeshar
437f816b15 - fixed attack rti target action (#758) 2024-12-03 10:59:11 +01:00
Yunfan
bb3328670b Remove redundant logs (set to debug level) 2024-12-02 11:42:31 +08:00
Revision
fe896c1d3d Use another helper and revert one instance HasPlayerFlag 2024-12-02 00:28:08 +01:00
Revision
f0ccb0a371 Fix compiler errors and switch to using available helpers 2024-12-02 00:16:06 +01:00
kadeshar
9e20eb452d - fixed mark rti bug (#755) 2024-12-01 23:11:01 +01:00
Yunfan Li
dba84da6f3 [New Rpg] Implement GO_INNKEEPER and NEAR_NPC status 2024-12-02 00:35:23 +08:00
Yunfan Li
0fd894176b [New Rpg] New rpg start up (add GO_GRIND and NEAR_RANDOM status) 2024-11-30 23:48:29 +08:00
avirar
37e5e3942d Update InventoryChangeFailureAction.cpp
Corrected bot output for EQUIP_ERR_NOT_IN_COMBAT which is returned when the bot is in combat and cannot perform the equip action. Bot would previously say "I am not in combat", it will now say "I am in combat"
2024-11-26 08:54:39 +11:00
Revision
f925db1ca4 Fix print about invalid format (#739) 2024-11-24 22:09:04 +01:00
Revision
16470e2232 Fix bots dropping quests that are green (#723) 2024-11-16 23:14:46 +01:00
EricksOliveira
ff5ad54f91 Fix LfgAction (#690)
* Fix LfgAction

* Fix LfgAction
2024-11-14 15:21:30 +01:00
EricksOliveira
c1247d23f8 Questdetails popup for bots without quest attached. (#705) 2024-11-13 22:49:12 +01:00
Bobblybook
2ce826a8dc Merge branch 'master' into master 2024-11-08 20:53:29 +11:00
Bobblybook
71b7844fef Offhand equip bugfix
Prevent caster bots and others who cannot dual-wield from attempting to equip weapons in their offhand
2024-11-08 20:35:31 +11:00
Bobblybook
2d13373a8d Handle bot gear upgrades for multi-slot items (#695)
* Handle bot gear upgrades for multi-slot items

Switch to using opcode "CMSG_AUTOEQUIP_ITEM_SLOT" to equip items to specific slots, rather than "right clicking" item upgrades.
Fixes an issue with rings, trinkets and offhand weapons where the bot would only ever upgrade their first slot.
Also evaluate the above item types for equipping in both slots rather than just comparing to the first item.

* Update EquipAction.cpp
2024-11-07 17:18:59 +01:00
Bobblybook
33f4ef63b6 Update EquipAction.cpp 2024-11-07 23:10:13 +11:00
Bobblybook
2ec5628d95 Handle bot gear upgrades for multi-slot items
Switch to using opcode "CMSG_AUTOEQUIP_ITEM_SLOT" to equip items to specific slots, rather than "right clicking" item upgrades.
Fixes an issue with rings, trinkets and offhand weapons where the bot would only ever upgrade their first slot.
Also evaluate the above item types for equipping in both slots rather than just comparing to the first item.
2024-11-07 22:59:35 +11:00
EricksOliveira
7fa1ab36a3 Update LfgAccept (#681)
Fixed issue with Bots refusing to join DungeonFinder.
2024-11-05 16:15:09 +01:00
EricksOliveira
7e74fbe181 Fix Crash QuestAction (#665)
Added checks to ensure bot and botAI are valid at function start.

Added extra pointer checks when accessing unit and gameobj in loops that iterate over nearest NPCs and game objects.

This adjustment ensures that objects are initialized correctly before being used in the ProcessQuests function.
2024-11-03 13:15:16 +01:00
Yunfan Li
2cedf3f05b [Sync] Core sync 20241030 2024-10-30 21:10:43 +08:00
bash
3cd68c6dec [performance] new baseline (#644) 2024-10-29 01:15:26 +01:00
Revision
a2f78542a4 Fix the level when a quest becomes trivial (grey/gray) 2024-10-23 00:18:44 +02:00
avirar
a3101cccb3 Merge branch 'liyunfan1223:master' into armor_token_usage 2024-10-21 10:22:55 +11:00
Bobblybook
f912c5df22 Merge pull request #622 from Bobblybook/master
Preferred mount selection for bots
2024-10-20 15:59:18 +11:00
avirar
30c36ccbf2 Update LootRollAction.cpp
Removed spaces
2024-10-20 09:38:05 +11:00
Bobblybook
a430786133 Reapply "Preferred mount selection for bots"
This reverts commit eb5dd450cd.
2024-10-19 22:44:11 +11:00
Bobblybook
b97b6775da Merge pull request #621 from Bobblybook/master
Winged Steed of the Ebon Blade northrend fix
2024-10-19 22:43:12 +11:00
Bobblybook
eb5dd450cd Revert "Preferred mount selection for bots"
This reverts commit 312c661311.
2024-10-19 22:42:21 +11:00
Bobblybook
312c661311 Preferred mount selection for bots
Added a new table to store user-specified mount ids.
Can specify flying and ground mounts for a character which will prioritise that mount. If multiple entries, a random entry will be selected from that list.

Currently no way to add entries other than manual DB editing, but can be developed into a whisper command pretty easily.

This should gracefully fail (if no entries exist for the character, or the db table does not exist) and fallback to the default random selection as usual.
2024-10-19 22:40:26 +11:00
Bobblybook
1165442505 Winged Steed of the Ebon Blade northrend fix
Winged Steed of the Ebon Blade gets incorrectly categorised as a ground mount, causes issues and bots will not be able to ground mount if they have this mount in the account spellbook.

There may by other scaling mounts that have the same issue, either we blacklist them all or figure out a way to correctly read them as flyers.
2024-10-19 18:16:44 +11:00
avirar
472050abd9 Update LootRollAction.cpp
Added logic for bots to roll need/greed on armor tokens based on class.
2024-10-19 11:43:51 +11:00
avirar
4981f46aee Update LootRollAction.cpp
Added logic so bots will only roll need on usable class armor tokens. The tokens/items are classed as MISC > JUNK oddly, code simply checks if the bots class is part of the bitmask of classes for the item, and the item is EPIC. This catches all the tokens I've tested so far.
2024-10-18 12:24:23 +11:00