72 Commits

Author SHA1 Message Date
trickerer
4ea6f3f90f Merge branch '3.3.5' into npcbots_3.3.5
# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
2026-05-02 08:35:30 +07:00
trickerer
7e53755b9f NPCBots: Fix CI build 2 2026-03-28 11:53:51 +07:00
trickerer
ab1d0f10f1 Fix CI build1 2026-03-28 10:37:09 +07:00
trickerer
960e8f69c0 NPCBots: Fix bots of opposite faction spawning in starting zones
(cherry picked from commit 6487eb3e1497321a217bd3bb6e0d596c1e9e1118)

# Conflicts:
#	data/sql/custom/db_world/2026_03_12_creature_template_wander_nodes.sql
2026-03-12 12:52:09 +07:00
trickerer
17bcf7fa8f NPCBots: Implement Shared Bot Ownership. Supports LFG and BG queues. New config setting: NpcBot.SharedOwnership.Options, NpcBot.SharedOwnership.MaxOwners
(cherry picked from TC commit 098b1b64ef60ee3fcefbd1b42a9e39194c86c0b2)

# Conflicts:
#	data/sql/custom/db_characters/2026_01_15_00_characters_npcbot.sql
#	data/sql/custom/db_world/2026_01_15_00_npc_text.sql
#	src/server/game/Entities/Player/Player.cpp
#	src/server/worldserver/worldserver.conf.dist
2026-01-16 13:45:22 +07:00
Conan1996-2
5207d732f2 Movement to a proximity to node and Random wait times per node (#26)
* Update botwanderful.h

Added _minLevel, _maxLevel, _proximity

* Update botwanderful.h

* Update botwanderful.h

* Update botdatamgr.cpp

Read added database columns minwaittime, maxwaittime, proximity and assign to class variables.

* Create 2026_01_08_creature_template_wander_nodes.sql

Entry to add Three columns in the database: minwaittime, maxwaittime, proximity

* Update bot_ai.cpp

Set evadeTimer via node info from database: Default is 3000, 7000

* Update 2026_01_08_creature_template_wander_nodes.sql

Update the 4000 to 7000 for default max as was in original code.

* Update bot_ai.cpp

* Update 2026_01_08_creature_template_wander_nodes.sql

* Delete data/sql/custom/db_world/2026_01_08_creature_template_wander_nodes.sql

* Create 2026_01_08_00.sql

Add 3 columns if they do not exist:
minwaittime, maxwaittime, proximity

* Update bot_ai.cpp

Correct Node usage from New to Current when waiting

* Create 2026_01_07_creature_template_wander_nodes.sql

Moved file to Custom after learning order of SQL file loading

* Delete data/sql/updates/db_world/2026_01_08_00.sql

Moved file to custom once i learned the order of SQL files being loaded

* Update bot_ai.cpp

Incorporate Proximity

* Update bot_ai.cpp

* Update 2026_01_07_creature_template_wander_nodes.sql
2026-01-15 11:46:07 +07:00
trickerer
3356317c86 NPCBots: Fix creature_template table population 2026-01-03 14:02:01 +07:00
trickerer
3fbdf3b781 NPCBots: Implement saving per-bot settings: Rogue poisons, Shaman enchants, Paladin aura, Hunter pet type, Warlock pet type. Fix weapon enchants set by player disappearing on Rogues / Shamans after server restart
(cherry picked from commit 8dc82c25e2203d2272ff7aa6e57564ee1686732f)

# Conflicts:
#	data/sql/custom/db_characters/2024_11_21_00_characters_npcbot.sql
2024-11-21 18:38:22 +07:00
trickerer
6985a72228 NPCBots: Implement bot item sets similar to player equiment manager feature item sets. New config: NpcBot.GearBank.EquipmentSets to set maximum item sets for bot owners to save
(cherry picked from commit 5bc8bd1cd84f37b9bc115950a8cafb44de441eaf)

# Conflicts:
#	data/sql/custom/db_characters/2024_11_13_00_characters_npcbot_gear_set.sql
#	data/sql/custom/db_characters/2024_11_13_01_characters_npcbot_gear_set_item.sql
#	data/sql/custom/db_world/2024_11_13_00_npc_text.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/worldserver/worldserver.conf.dist
2024-11-13 12:38:35 +07:00
trickerer
04e6477fc1 NPCBots: Add an option to unequip bot item / all items into bot gear bank. Add enumerated equipment action results
(cherry picked from commit 13d6d72750a672b4788a0d73f2debd409eaae21e)

# Conflicts:
#	data/sql/custom/db_world/2024_11_11_01_npc_text.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/AI/NpcBots/botcommon.h
2024-11-13 12:21:49 +07:00
trickerer
5dfa7d567a NPCBots: Gear Bank: Add config parameter NpcBot.GearBank.Capacity to limit the number of items player can store. Default capacity is 40 (Traveler's Backpack * 5 / 2). Make Gear Bank enabled by default since it's no longer exploity
(cherry picked from commit 72982f051a55f9b00ae6b90cb39849ed11633b6a)

# Conflicts:
#	data/sql/custom/db_world/2024_11_11_00_npc_text.sql
#	src/server/game/AI/NpcBots/bottext.h
#	src/server/worldserver/worldserver.conf.dist
2024-11-13 12:19:57 +07:00
trickerer
1e89bc274e NPCBots: Implement Eye of the Storm BG. Improve CureGroup() for BG bots
(cherry picked from commit 225d79baa2ea7c49cda01f85b079dae0a09dfe26)

# Conflicts:
#	data/sql/custom/db_world/2024_11_07_creature_template_wander_nodes.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
#	src/server/game/Battlegrounds/Zones/BattlegroundEY.h
2024-11-07 12:17:23 +07:00
trickerer
a77d4cc920 NPCBots: Fix level range for one AV WP 2024-11-05 17:38:59 +07:00
trickerer
0786729f9c NPCBots: Fix small mistakes from merge 2024-11-05 08:22:57 +07:00
trickerer
f1c9391acc NPCBots: Alterac Valley: rewrite wp selection logic
(cherry picked from commit 307ea48d9900fcaa63af508c00b3ed828593ee31)

# Conflicts:
#	data/sql/custom/db_world/2024_11_04_creature_template_wander_nodes.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/Battlegrounds/Zones/BattlegroundAV.h
2024-11-04 22:35:08 +07:00
trickerer
f67bcd4057 NPCBots: Arathi Basin: re-make wander nodes, improve wander node selection logic, implement power-up pickups, implement cliff jump movement
(cherry picked from commit 6b599f5f82916cf195526f26b6e1a6b06de6e21d)

# Conflicts:
#	data/sql/custom/db_world/2024_11_01_creature_template_wander_nodes.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
2024-11-01 22:15:26 +07:00
trickerer
e2abc58811 NPCBots: Warsong Gulch: re-make wander nodes, improve wander node selection logic, add dropped flag re-pick / return logic, implement power-up pickups, assign attackers / defenders. Re-map wander nodes starting with Outland (2372+) in order: 1) world maps, 2) battlegrounds
(cherry picked from commit a1b6c1817bdc2a1ae8c5db1c1726e80708d992f8)

# Conflicts:
#	data/sql/custom/db_world/2024_10_31_creature_template_wander_nodes.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Battlegrounds/Battleground.h
#	src/server/game/Entities/GameObject/GameObject.cpp
2024-10-31 15:31:27 +07:00
trickerer
53196fd029 NPCBots: Implement WP link weights part 1
(cherry picked from commit 47701ac08d14d147a8e52c60b1dac2dd9a26d369)

# Conflicts:
#	data/sql/custom/db_world/2024_10_27_00_command.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/AI/NpcBots/botcommands.cpp
#	src/server/game/AI/NpcBots/botdatamgr.cpp
#	src/server/game/AI/NpcBots/botwanderful.cpp
2024-10-31 15:16:39 +07:00
trickerer
eb66e77900 NPCBots: Add a little submenu for heal target health threshold to allow to quickly set the same value for all other healers
(cherry picked from commit 8a28f4f8830ff87362e3514571f9cae09e32c2ec)

# Conflicts:
#	data/sql/custom/db_world/2024_10_21_00_npc_text.sql
#	src/server/game/AI/NpcBots/bottext.h
2024-10-21 18:36:29 +07:00
trickerer
c3392f3791 NPCBots: Implement saving per-player bot settings to DB
(cherry picked from commit 509097f52d09568d78935f7e49361cd1e80e194d)

# Conflicts:
#	src/server/game/AI/NpcBots/botdatamgr.cpp
#	src/server/game/AI/NpcBots/botmgr.cpp
#	src/server/game/Entities/Player/Player.cpp
2024-10-17 18:30:15 +07:00
trickerer
ee76ff6128 NPCBots: New command .npcbot order pull for target pulling. Make orders expire eventually
(cherry picked from commit 6beb53fbc40b175a45b326a59b2589428f56c101)

# Conflicts:
#	data/sql/custom/db_world/2024_08_31_00_command.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
2024-08-31 15:20:56 +07:00
trickerer
f019bf9d4c NPCBots: Add .npcbot free command to forcefully cancel player's ownership over the bot (all gear is returned to the player), can be used on inactive bot
(cherry picked from commit 9c3bf9aa71ea3afa180f87967c88f12ef1afaedc)

# Conflicts:
#	data/sql/custom/db_world/2024_08_15_00_command.sql
#	src/server/game/AI/NpcBots/botcommands.cpp
2024-08-14 14:27:06 +07:00
trickerer
e730b6f17f NPCBots: Convert bot npc_text table strings used by ChatHandler to fmt 2024-08-14 12:00:44 +07:00
trickerer
c48cad436e NPCBots: Implement account level bots limit. New config param: NpcBot.MaxBotsPerAccount
(cherry picked from commit c2e3a588756e4cdb2365a51f571509a0d5e9eda7)

# Conflicts:
#	data/sql/custom/db_world/2024_08_14_00_npc_text.sql
#	src/server/worldserver/worldserver.conf.dist
2024-08-14 11:59:38 +07:00
trickerer
617eea929c NPCBots: Fix SQLs 2 2024-06-22 09:48:11 +07:00
trickerer
aeb7fa57ab NPCBots: Fix SQLs 2024-06-22 09:43:13 +07:00
trickerer
31de56c5d3 NPCBots: Implement npcbot events DB logging system
(cherry picked from commit 6148e797cf149e5a894578970fb214977570cfb3)

# Conflicts:
#	data/sql/custom/db_characters/2024_05_29_00_characters_npcbot_logs.sql
#	data/sql/custom/db_world/2024_05_29_00_command.sql
#	src/server/game/AI/NpcBots/botdatamgr.cpp
2024-05-29 11:22:05 +07:00
trickerer
6de48a9595 NPCBots: Restore npcbot entries in command table if they don't exist or empty 2024-05-21 10:04:22 +07:00
trickerer
9fb99c7f25 NPCBots: Fix a typo in 2024_03_19_00_npc_text.sql (thanks jasongdove) 2024-05-20 18:11:47 +07:00
trickerer
d1a2509748 NPCBots: Mage: implement portals
(cherry picked from commit 4cf6abb32a23ecc0b887f7ad7023e9d76353f798)

# Conflicts:
#	data/sql/custom/db_world/2024_03_19_00_npc_text.sql
2024-03-19 11:01:32 +07:00
trickerer
70533058f5 NPCBots: Change NpcBot.MaxBots config parameter to array of values (per level bracket) allowing to adjust the numbers per each 10 levels (0-9, 10-19, etc.)
(cherry picked from commit f7bf68228c07aaa3406b8091de197615da64a271)

# Conflicts:
#	data/sql/custom/db_world/2024_03_18_00_npc_text.sql
#	src/server/game/AI/NpcBots/botmgr.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/worldserver/worldserver.conf.dist
2024-03-18 22:17:26 +07:00
trickerer
e8e597984c NPCBots: Fix hire_time default value 2 2024-03-13 11:55:32 +07:00
trickerer
2bc3a6f21a NPCBots: Fix hire_time default value 2024-03-12 14:53:20 +07:00
trickerer
0dc5f4edbb NPCBots: Re-implement NPCBot ownership expiration timer. Fix a bug where last login timestamp would be checked instead of last logout one.
(cherry picked from commit 4a865fbb6a3b7c3cff83c413cfc1bbab9b268bd3)

# Conflicts:
#	data/sql/custom/db_characters/2024_03_12_00_characters_npcbot.sql
#	src/server/game/AI/NpcBots/bot_ai.cpp
#	src/server/game/AI/NpcBots/botdatamgr.cpp
#	src/server/worldserver/worldserver.conf.dist
2024-03-12 13:49:05 +07:00
trickerer
2bfdad05cc NPCBots: Implement heal target %hp threshold
(cherry picked from commit dadcd2178ddd33ebe7b856cfa6c985e89016b03f)

# Conflicts:
#	data/sql/custom/db_world/2024_03_12_00_npc_text.sql
2024-03-12 09:09:26 +07:00
trickerer
1cbb55ec1a NPCBots: Adjust name column length in creature_template_npcbot_appearance table to match creature_template one 2023-08-13 15:57:20 +07:00
trickerer
b208694425 NPCBots: Disable test items 'LK ARENA ...', 'LK Arena ...', 'LK Honor ...' 2023-07-01 08:15:40 +07:00
trickerer
000056a5f0 NPCBots: Update positions of Arathi Basin staring WPs. 2023-06-26 16:19:32 +07:00
trickerer
3a931ae0b6 NPCBots: Import AV wander nodes and conifg 2023-06-24 18:20:05 +07:00
trickerer
7795412531 NPCBots: Implement dynamic movement speed and dynamic walk mode. Normalize all bot speeds. Stop bot pets from moving to bot's destination regardless of distance. 2023-06-19 13:53:21 +07:00
trickerer
67f1a21a3d NPCBots: Populate the creature_template_npcbot_disabled_items table 2023-06-19 08:40:55 +07:00
trickerer
aed311898b NPCBots: Add missing SQL 2023-06-18 20:05:29 +07:00
trickerer
e736d8e9b9 NPCBots: Fix missing neutral wandering bot spawn points in maps 0 and 1 which could cause problems if either of them was disabled. 2023-06-16 11:20:44 +07:00
trickerer
d6ff6f3359 NPCBots: Import (with adjustments&fixes) Outland and Northrend Wander Nodes by @Russianranger 2023-06-09 12:14:55 +07:00
trickerer
84dddc813f NPCBots: Fix flags_extra intersection 2023-06-03 18:44:52 +07:00
trickerer
f7fd8bbda7 NPCBots: Fix a crash when wandering bots percentage couldn't have been spread without remainder. Fix a crash caused by missing spawn location for neutral wandering bots levels 1-7. 2023-06-02 21:19:43 +07:00
trickerer
765b907b16 NPCBots: Adjust transmog menu to allow hiding equipped gear in slot.
(cherry picked from commit 32ef070f06152268450302f4e06a93cd7abf94d9)
2023-05-26 09:17:54 +07:00
trickerer
3bb7f9eddf NPCBots: add Crypt Loard SQL files, fix gossip 2023-05-20 16:56:27 +07:00
trickerer
7e02f1f920 NPCBots: New feature: unlimited bot gear storage. New config NpcBot.GearBank.Enable. New table characters.characters_npcbot_gear_storage. New texts: 70661-70666 2023-05-16 19:57:25 +07:00
trickerer
cec9aa159f NPCBots: Add missing spawn point for Neutral faction levels 26-30 (modify WP 753 'AddlesSteadW') 2023-05-14 09:12:52 +07:00