511 Commits

Author SHA1 Message Date
bashermens
ccc17be7e1 Legacy/dead code 2026-01-09 01:13:14 +01:00
bashermens
54914d0854 Merge pull request #141 from hermensbas/fix/hotfix_till_core_merge
[HOTFIX] Wrong class/race learning throw skill
2026-01-09 00:51:39 +01:00
bash
dbfc8001a2 wrong class/race learning throw skill 2026-01-09 00:19:31 +01:00
bashermens
9dd35e78fe Merge pull request #140 from azerothcore/master
Small core update which includes some reverts from the core guys
2026-01-08 21:32:38 +01:00
bashermens
cdd6e84508 Merge pull request #138 from hermensbas/fix/core_delta_corrections
[FIX] Removed legacy implementation, merge mistakes keeping the delta lower with us and stock
2026-01-08 18:54:41 +01:00
github-actions[bot]
15855e9080 chore(DB): import pending files
Referenced commit(s): 2ff095bc8f
2026-01-08 16:25:55 +00:00
Gultask
2ff095bc8f fix(Scripts/Icecrown): Don't despawn Tirion's Gambit NPCs prematurely (#24337) 2026-01-08 13:24:50 -03:00
sudlud
ddb9c515b6 Revert "fix(Core/Player): Make sure OnEquip spells from items are added after revive" (#24352) 2026-01-08 06:49:19 -03:00
Gultask
a1f5d39370 fix(Core/Movement): Improve Pet LoS cancellations by using path calculation instead of raycasting (#24330) 2026-01-07 23:47:41 -03:00
blinkysc
01c4b10b6d fix(Core/Pets): Remove xinef hack that caused hunter pet deletion (#24350)
Co-authored-by: sogladev <sogladev@users.noreply.github.com>
2026-01-07 21:50:08 -03:00
bash
0a0ba0a53f minimize delta, legacy and merge mistakes over the years 2026-01-08 00:50:49 +01:00
github-actions[bot]
cd0c736385 chore(DB): import pending files
Referenced commit(s): 7d8580a3c6
2026-01-07 21:13:30 +00:00
sogladev
7d8580a3c6 fix(DB/Conditions): Bone Gryphon vehicle target Onslaught Gryphon riders (#24349) 2026-01-07 18:12:23 -03:00
github-actions[bot]
7ad9d10c63 chore(DB): import pending files
Referenced commit(s): 2e919afbe0
2026-01-07 19:17:40 +00:00
Gultask
2e919afbe0 fix(DB/Quest): Make Sealed Vial of Poison Repeatable (#24345) 2026-01-07 16:06:30 -03:00
blinkysc
fc36f1b68c fix(Core/Events): set Brewfest to static date Sept 20 (#24342)
Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
2026-01-07 17:25:28 +01:00
Gultask
3fd0fa1e64 fix(Scripts/HallsOfLightning): Remove early handling for General Bjarngrim causing event cancellation (#24335) 2026-01-07 12:08:04 -03:00
bash
ae2af138e2 script zones 2026-01-07 13:53:49 +01:00
github-actions[bot]
d8b4f93bc6 chore(DB): import pending files
Referenced commit(s): cc5a8dd42e
2026-01-07 12:43:10 +00:00
Gultask
cc5a8dd42e fix(DB/SAI): The Brothers Bronzebeard (#24339) 2026-01-07 09:42:00 -03:00
github-actions[bot]
69e861b708 chore(DB): import pending files
Referenced commit(s): c78d71ab6d
2026-01-06 22:31:56 +00:00
Ryan Turner
c78d71ab6d fix(DB/SAI): Bonestripper Vulture only casts Gut rip when the aura is missing from the target (#24177)
Co-authored-by: FlyingArowana <TheSCREWEDSoftware@users.noreply.github.com>
2026-01-06 19:30:50 -03:00
bash
5a1445a0dc added missing db-scripts 2026-01-06 19:41:55 +01:00
sudlud
dbee971ab9 fix(CI): adjust concurrency to cancel pending CIs on merge (#24258) 2026-01-06 17:31:58 +01:00
bashermens
8f55eb0ca9 Merge pull request #136 from azerothcore/master
Minor/update
2026-01-06 16:25:13 +01:00
bashermens
eb9913b808 Merge pull request #134 from azerothcore/master
Minor update
2026-01-05 16:43:20 +01:00
bashermens
782bc2a74a Merge pull request #132 from noisiver/merge-master
Merge master and remove Naxxramas headers
2026-01-05 15:05:12 +01:00
bashermens
1dadda2c04 Update MotionMaster.cpp
Set the correct _reverseOrientation
2026-01-05 14:13:09 +01:00
Revision
00f4193bbf Updated PointMovementGenerator for MovePointBackwards 2026-01-03 17:38:54 +01:00
Revision
4cff291e7d Reverted Naxxramas to stock 2026-01-03 17:38:28 +01:00
Revision
382896c857 Merge branch 'master' into merge-master 2026-01-03 17:37:33 +01:00
bashermens
6056978687 quickfix: crashlog - item::CheckSoulboundTradeExpired
quickfix: crashlog - item::CheckSoulboundTradeExpired
2025-12-24 23:48:23 +01:00
bashermens
7a1fa7b081 quickfix: crashlog player::RestoreSpellMods
quickfix: crashlog player::RestoreSpellMods
2025-12-24 23:48:06 +01:00
bashermens
7aaefb76d9 Update Item.cpp 2025-12-24 22:36:45 +01:00
bashermens
896e1d3f38 Update Unit.cpp 2025-12-24 22:02:38 +01:00
bashermens
a3b2c7ad0e Update Unit.cpp 2025-12-24 22:01:20 +01:00
bashermens
c91ce7f7c2 fix: crashlog player::RestoreSpellMods 2025-12-24 21:44:21 +01:00
bashermens
befa0158e2 Update Item.cpp 2025-12-24 21:24:17 +01:00
bashermens
58e3316c45 fix crashlog 2025-12-24 21:22:31 +01:00
bashermens
b9345774f9 Merge pull request #126 from mod-playerbots/hermensbas-patch-1
Oopsie hotfix
2025-12-18 23:55:51 +01:00
bashermens
97ee5f7459 Oopsie 2025-12-18 23:45:50 +01:00
bashermens
f262dc7835 Merge pull request #125 from mod-playerbots/core-update-correction
Core-update-correction-fix
2025-12-18 11:33:39 +01:00
bashermens
fc7c7055ba fix 2025-12-16 23:04:46 +01:00
bashermens
3ba00be179 Fix MotionMaster.cpp
https://github.com/mod-playerbots/azerothcore-wotlk/issues/122
2025-12-16 19:08:47 +01:00
bashermens
8f84271af8 Merge pull request #119 from mod-playerbots/core_update_2025_12_7
Core update: 2025-12-7
2025-12-07 15:22:03 +01:00
bash
7b41eb5c90 core_merge_fix_due_header_split 2025-12-07 12:09:42 +01:00
bash
58c1c49610 Merge remote-tracking branch 'upstream/master' into Playerbot
# Conflicts:
#	src/server/game/Spells/SpellInfoCorrections.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
2025-12-07 12:04:32 +01:00
kadeshar
08323af7a5 Merge pull request #115 from mod-playerbots/license_syncing
License update
2025-12-04 19:14:11 +01:00
bash
bc9ca38d78 changed into the current license model 2025-11-24 15:42:51 +01:00
bashermens
7be3d24c1e merge_conflict_fix 2025-11-24 14:51:47 +01:00
bash
87d3f3ba3a fix 2025-11-24 14:03:13 +01:00
bashermens
6b5da02e78 Merge pull request #110 from hermensbas/core_update_no_squash
2. Core update at 2025_11_23 (without squash)
2025-11-24 12:20:58 +01:00
bashermens
821f854318 Merge branch 'Playerbot' into core_update_no_squash 2025-11-24 12:18:01 +01:00
SaW
7228e76355 Merge pull request #109 from mod-playerbots/revert-104-core-merge-17112025
1. Revert "Core merge 17112025"
2025-11-24 12:15:10 +01:00
bashermens
528e590f10 Merge branch 'Playerbot' into core_update_no_squash 2025-11-23 23:11:12 +01:00
bash
eef1980923 fix 2025-11-23 23:09:26 +01:00
bash
1ed9aee631 Merge remote-tracking branch 'upstream/master' into core_update_no_squash 2025-11-23 23:08:23 +01:00
bashermens
454a4f34f0 Revert "Core merge 17112025 (#104)"
This reverts commit 236c842934.
2025-11-23 23:02:15 +01:00
kadeshar
236c842934 Core merge 17112025 (#104)
* fix(DB/SmartAI): improve Harry surrendering during quest 'Gambling Debt' (#23598)

* fix(DB/Quest): The Kalu'ak dailies reward 500 rep (#23600)

* chore(DB): import pending files

Referenced commit(s): fb03f41b2a

* fix(DB/GameEvent): Remove midsummer pole in K3 (#23614)

* chore(DB): import pending files

Referenced commit(s): 7b0000d6ee

* fix(DB/SmartAI): increase reliability of quest event Foolish Endeavors (#23612)

* chore(DB): import pending files

Referenced commit(s): 86f219abbc

* fix(Scripts/AreaTrigger): players become stuck after Last Rites (#23613)

* chore(DB): import pending files

Referenced commit(s): c1a8047cf1

* fix(Core/Vmaps): Fix inconsistency of hitInstance and hitModel to cause wrong area ids (#23233)

Co-authored-by: ModoX <moardox@gmail.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: Grimdhex <237474256+Grimdhex@users.noreply.github.com>
Co-authored-by: sudlud <sudlud@users.noreply.github.com>

* fix(DB/Gameobject): Sniffed Values for 'Wild Mustard' spawns (#23608)

* fix(DB/SmartAI): remove large combat distance of Frostbrood Sentry (#23607)

* chore(DB): import pending files

Referenced commit(s): 41d40b236f

* fix(DB/ReputationRewardRate): Patch 3.0.0 gain for Northrend factions (#23597)

* chore(DB): import pending files

Referenced commit(s): 067a898caa

* fix(Core/Map): It should be ensured that the instance is unloaded only after the Creature Respawn. (#23103)

* fix(Scripts/Northrend): Sniffing Out The Perpetrator horde (#23620)

* fix(Scripts/Northrend): ensure Drakuru stays in place during Betrayal (#23619)

* chore(DB): import pending files

Referenced commit(s): 928e145694

* fix(DB/SmartAI): quest 'Reconnaissance Flight' (#23628)

Co-authored-by: dr-j <dr-j@users.noreply.github.com>
Co-authored-by: Killyana <morphone1@gmail.com>

* fix(DB/QuestOfferReward): remove mention of a beta recipe in text (#23629)

* fix(DB/Conditions): update quest conditions to drop chokers (#23610)

* chore(DB): import pending files

Referenced commit(s): bca8f7ce07

* refactor(Core/PlayerScript): Delete OnPlayerChat, use OnPlayerCanUseChat (#23617)

* fix(Core/SmartAI): startup warnings unused params (#23551)

* fix(Core/Unit): Druid Talent Survival of the Fittest lacking immunity to creature daze (#23471)

* fix(DB/SAI): Fix Fizzcrank Paradrop teleporters (#23633)

* chore(DB): import pending files

Referenced commit(s): 94ba1c210d

* fix(Core): Fix waterwalking after dying in instance (#23593)

* fix(DB/SAI): don't remove all auras when mounting flamebringer (#23640)

* chore(DB): import pending files

Referenced commit(s): 22f91f3802

* fix(DB/SAI): Emerald Lasher goes out of the terrain when aggroed. (#23642)

* chore(DB): import pending files

Referenced commit(s): f9d6fe41de

* fix(DB/SAI): Burning Depths Necromancer no longer stays in place. (#23641)

* chore(DB): import pending files

Referenced commit(s): 1037471c8d

* fix(DB/SAI): Remove SmartAI from Valkyrion Harpoon Gun. (#23646)

* chore(DB): import pending files

Referenced commit(s): 8e3a7e6dcf

* fix(DB/Creature): Fix Weakened Reanimated Frost Wyrm inhabit type (#23645)

* chore(DB): import pending files

Referenced commit(s): 3baa18ef5b

* fix(DB/Spell): Infectious Bites should stack from different casters (#23647)

* chore(DB): import pending files

Referenced commit(s): 5aede412ab

* fix(DB/SAI): Solve various issues with It Goes to 11... quest. (#23651)

* fix(DB/Loot): Fireproof Satchel will now always drop the Ritual of Torch  (#23585)

* chore(DB): import pending files

Referenced commit(s): 1090c209b3

* fix(Scripts/Northrend): Betrayal quest (#23650)

* fix(Script/BlackTemple): Reliquary of Souls will use 45 degree in front to set incombat (#22938)

* fix(Scripts/Spell): Fix Animal Blood spawning when it shouldn't (#23656)

* fix(Scripts/BoreanTundra): Script Bloodspore Haze/Psychosis (#23657)

* chore(DB): import pending files

Referenced commit(s): baf7957e36

* fix(DB/SAI): Sibling Rivalry quest credit if mounted (#23659)

* chore(DB): import pending files

Referenced commit(s): 6919cc679d

* fix(docs/license): use GPLv2 as MaNGOS-based project (#23655)

* fix(Core/Achievements): a character can only have 1 race realm first (#23626)

* chore: fix leftover license header (#23678)

* fix(Scripts/HoL): Update Loken script (#23587)

* fix(Scripts/DTK): Update King Dred script (#23572)

* fix(DB/SAI): Bitter Departure quest credit (#23658)

* chore(DB): import pending files

Referenced commit(s): e595425578

* fix(DB/Conditions): Ice Shard require Icy Imprisonment (#23661)

* chore(DB): import pending files

Referenced commit(s): 8294652e77

* fix(DB/Loot): add Scourge Curio drop to Lost Shandaral Spirit (#23686)

* chore(DB): import pending files

Referenced commit(s): b6ed4347fe

* fix(DB/Gameobject): fix spell focus location for 'Will of the Titans' (#23683)

* chore(DB): import pending files

Referenced commit(s): 388f18895d

* fix(DB/Creature): update IOC Demolisher spells (#23685)

* chore(DB): import pending files

Referenced commit(s): cdfa50c990

* fix(Scripts/Northrend): IOC boss cast ability Mortal Strike (#23684)

* fix(Scripts/BoreanTundra): Fix Beryl Sorcerer engaging mobs (#23690)

* fix(Core/Entities): Improve interactions between taxis and players regarding PvP flag. (#23681)

* fix(DB/Creature): Peon Gakra should be an innkeeper (#23699)

* chore(DB): import pending files

Referenced commit(s): 6abff4ac2b

* fix(Scripts/SholazarBasin): Fix Song of Wind and Water double credit (#23707)

* fix(DB/SAI): Reanimated Frost Wyrm engage after being hit by quest spell (#23697)

* fix(DB/SAI): Timely respawn Nesingwary Trappers (#23703)

* fix(DB/Creature): Fix Fjord Hawk Matriarch unit flags (#23696)

* fix(DB/Conditions): Fix Fordragon Resolve target conditions (#23701)

* chore(DB): import pending files

Referenced commit(s): 2942d63125

* fix(DB/Script): Move Tailhorn Stag and Amberpine Woodsman behavior into SmartAI. (#23708)

* fix(DB/Creature): Set Trigger flag on Steam Vent. (#23710)

* chore(DB): import pending files

Referenced commit(s): 435ca302ef

* fix(DB/SAI): To Stars' Rest! taxi flight (#23712)

* chore(DB): import pending files

Referenced commit(s): ab4d59ac9d

* fix (DB/Creature): Set Surveyor Orlond flags. (#23714)

* chore(DB): import pending files

Referenced commit(s): e8ec77dca7

* fix(DB/Loot): Fix Master Summoner Staff drop chance (#23717)

* chore(DB): import pending files

Referenced commit(s): 182c055e6e

* fix(Scripts/DTK): Fix Oh Novos! achievement (#23539) (#23718)

* fix(Core/Spells): Remove King Mrgl-Mrgl costume on spell casting (#23713)

* chore(DB): import pending files

Referenced commit(s): 8c963a11ce

* fix(DB/Reputation): Utigarde Pinnacle normal reputation (#23719)

* chore(DB): import pending files

Referenced commit(s): 88ed7d66d5

* fix(Scripts/HoS): Clean up faction update hacks (#23720)

* fix(DB/Reputation): Lower reputation according to rates handling (#23722)

* fix(DB/Reputation): Oculus normal & UP correction (#23723)

* chore(DB): import pending files

Referenced commit(s): abc2cf3028

* fix(Scripts/Oculus): Implement crossfaction support for drakes (#23704)

* fix(DB/Quest): Correct prerequisite for Reclaimed Ration (#23736)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>

* fix(DB/Quest): Correct prerequisite for Salvaging Life's Strength (#23734)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>

* chore(DB): import pending files

Referenced commit(s): afd8197588

* fix(Core/Movement): Fix SummonMovementInform for summons (#23725)

* refactor(Core/Movement): Fix Build (#23739)

* fix(DB/SAI): Update Iron Rune Construct SAI to use DO_ACTION instead … (#23716)

* chore(DB): import pending files

Referenced commit(s): 7cc39f78e2

* fix(DB/SAI): Fix Flamebringer gossip interaction (#23740)

* chore(DB): import pending files

Referenced commit(s): 9cb683cfcd

* fix(DB/SAI): Nerub'ar member packs now attack together. (#23727)

* chore(DB): import pending files

Referenced commit(s): 6f5a1b7ccc

* fix(DB/SAI): Remove Harrison Johnes quest flag on escort accept (#23700)

* chore(DB): import pending files

Referenced commit(s): bacf15d356

* Update crash issue template with log submission guidelines (#23754)

* Merge

* Updated OnPlayerChat method name to OnPlayerCanUseChat

---------

Co-authored-by: sogladev <sogladev@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 天鹭 <18535853+PkllonG@users.noreply.github.com>
Co-authored-by: ModoX <moardox@gmail.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: Grimdhex <237474256+Grimdhex@users.noreply.github.com>
Co-authored-by: sudlud <sudlud@users.noreply.github.com>
Co-authored-by: dr-j <dr-j@users.noreply.github.com>
Co-authored-by: Killyana <morphone1@gmail.com>
Co-authored-by: Undo <50205200+UndoUreche@users.noreply.github.com>
Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com>
Co-authored-by: killerwife <killerwife@gmail.com>
Co-authored-by: Tereneckla <Tereneckla@pm.me>
Co-authored-by: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com>
Co-authored-by: Ryan Turner <16946913+TheSCREWEDSoftware@users.noreply.github.com>
Co-authored-by: blinkysc <37940565+blinkysc@users.noreply.github.com>
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
Co-authored-by: Traesh <Traesh@users.noreply.github.com>
Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
2025-11-23 20:45:22 +01:00
SaW
3732047b9e Fix https://github.com/mod-playerbots/azerothcore-wotlk/issues/96
Fix https://github.com/mod-playerbots/azerothcore-wotlk/issues/96
2025-11-17 21:02:36 +01:00
SaW
3d29de2844 Fix codestyle nag 2025-11-17 20:54:25 +01:00
bashermens
a2a4a4f7cf Fix
https://github.com/mod-playerbots/azerothcore-wotlk/issues/96
2025-11-17 12:17:39 +01:00
bashermens
923cccdc25 Merge branch 'azerothcore:master' into Playerbot 2025-11-10 13:52:10 +01:00
bashermens
cd799aa1c6 Merge branch 'azerothcore:master' into Playerbot 2025-11-09 21:14:51 +01:00
bashermens
0bb40fddc4 Merge branch 'azerothcore:master' into Playerbot 2025-11-08 23:31:01 +01:00
bashermens
e68fa57fd6 Merge branch 'azerothcore:master' into Playerbot 2025-11-08 10:01:09 +01:00
bashermens
838628a25d Merge branch 'azerothcore:master' into Playerbot 2025-11-07 13:00:19 +01:00
bashermens
7c5b199489 Merge branch 'azerothcore:master' into Playerbot 2025-11-07 06:44:08 +01:00
bash
b5cdb0e63e Merge branch 'azerothcore:master' into Playerbot 2025-11-05 23:18:17 +01:00
bash
12909c1958 Merge branch 'azerothcore:master' into Playerbot 2025-11-05 15:00:25 +01:00
bash
b7c92a52aa Merge branch 'azerothcore:master' into Playerbot 2025-11-05 10:53:28 +01:00
bash
6bee45a1c8 Merge pull request #92 from mod-playerbots/update/core_4_11_2025
update/core 4 11 2025
2025-11-05 10:53:09 +01:00
bash
8c2409ff06 naxx merge fixes 2025-11-04 21:21:59 +01:00
bash
52a09fbf54 Merge remote-tracking branch 'upstream/master' into update/core_4_11_2025
# Conflicts:
#	src/server/game/Guilds/Guild.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
2025-11-04 20:07:10 +01:00
kadeshar
c96314a9b3 Merge pull request #91 from mod-playerbots/Playerbot_merge29102025
Playerbot merge
2025-10-31 06:45:52 +01:00
kadeshar
1b0eef2e6c Merge branch 'azerothcore:master' into Playerbot_merge29102025 2025-10-29 06:37:33 +01:00
bash
c6c90e0034 Merge branch 'azerothcore:master' into Playerbot 2025-10-25 20:37:41 +02:00
bash
39187083b0 Merge remote-tracking branch 'upstream/master' into Playerbot
# Conflicts:
#	modules/CMakeLists.txt
2025-10-25 00:48:25 +02:00
bash
2607df754b Merge branch 'azerothcore:master' into Playerbot 2025-10-23 01:57:59 +02:00
bash
880529a5b4 Merge pull request #87 from hermensbas/hermensbas-patch-1
fix: MotionMaster.cpp
2025-10-21 19:36:44 +02:00
bash
e846fdc8b9 Update MotionMaster.cpp 2025-10-21 18:42:31 +02:00
bash
6d42ab1797 fix: MotionMaster.cpp
knockback movement fix
2025-10-21 18:06:39 +02:00
bash
fc1d8e2a64 Merge branch 'azerothcore:master' into Playerbot 2025-10-21 10:38:27 +02:00
bash
4f9b4d5470 Merge branch 'azerothcore:master' into Playerbot 2025-10-20 14:13:31 +02:00
bash
f96e7c577b Merge pull request #85 from hermensbas/feature/core_merge_10_2025
CORE_UPDATE_10_2025
2025-10-20 14:12:45 +02:00
bash
be3d55f770 added comments for future merge conflicts 2025-10-20 00:53:13 +02:00
bash
fac127718d core merge fixes for playerbots 2025-10-19 23:55:38 +02:00
bash
1aac4fbef6 Merge remote-tracking branch 'upstream/master' into feature/core_merge_10_2025
# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
2025-10-19 22:34:18 +02:00
bash
dae1f55536 Update core-build-playerbots.yml 2025-10-19 17:12:13 +02:00
bash
ec7bb81473 Update core-build-playerbots.yml 2025-10-19 03:24:29 +02:00
bash
d9c7330434 Update core-build-playerbots.yml 2025-10-18 15:45:13 +02:00
bash
2eda59a0dc Update core-build-playerbots.yml 2025-10-18 12:34:54 +02:00
bash
21e313a7f1 Update core-build-playerbots.yml 2025-10-18 09:09:01 +02:00
bash
96f1fe67d9 Update core-build-playerbots.yml 2025-10-17 20:22:20 +02:00
Yunfan Li
798589fb5d Merge pull request #75 from mod-playerbots/project_transfer
Preparation for project transfer
2025-10-14 00:08:36 +08:00
bash
6aef3aae5f Merge branch 'azerothcore:master' into Playerbot 2025-10-03 19:43:33 +02:00
bash
945fdff66c Merge branch 'azerothcore:master' into Playerbot 2025-10-03 02:36:11 +02:00
bash
245fe501f1 Merge pull request #72 from kadeshar/relic-usage-fix
Fix to make bots roll and equip for correct relic
2025-10-01 21:07:58 +02:00
kadeshar
19a834fa55 - Added method BotCanUseItem 2025-10-01 20:39:57 +02:00
bash
152b1cc455 Merge branch 'azerothcore:master' into Playerbot 2025-10-01 12:16:44 +02:00
bash
5fbcb45727 Merge branch 'azerothcore:master' into Playerbot 2025-09-30 15:27:48 +02:00
kadeshar
0145bebb10 - Fix to make bots roll and equip for correct relic 2025-09-29 20:41:21 +02:00
bash
59c1233d98 Merge branch 'azerothcore:master' into Playerbot 2025-09-29 20:09:38 +02:00
bash
f67b86df8b Merge branch 'azerothcore:master' into Playerbot 2025-09-28 00:12:50 +02:00
bash
1125d84fb2 Merge branch 'azerothcore:master' into Playerbot 2025-09-25 16:35:37 +02:00
bash
1665fefb1a Merge branch 'azerothcore:master' into Playerbot 2025-09-24 01:59:18 +02:00
bash
9d82a35671 Merge branch 'azerothcore:master' into Playerbot 2025-09-23 14:43:56 +02:00
bash
861058f657 Merge branch 'azerothcore:master' into Playerbot 2025-09-22 21:59:40 +02:00
bash
c092fb1581 Merge branch 'azerothcore:master' into Playerbot 2025-09-20 22:17:46 +02:00
bash
fd567ddcfa Merge pull request #70 from kadeshar/guild-crash-fix
Possible crash fix while adding member to guild
2025-09-19 20:01:08 +02:00
kadeshar
dc6be0655f Merge pull request #69 from hermensbas/core/update_2025_09_18
update 2025 09 18
2025-09-19 10:59:42 +02:00
kadeshar
c0aec97676 - Possible crash fix while adding member to guild 2025-09-18 20:39:39 +02:00
bash
ced3cf9b22 Merge remote-tracking branch 'upstream/master' into core/update_2025_09_18 2025-09-18 20:09:00 +02:00
bash
93c0ab5b6b Merge pull request #67 from kadeshar/guild-cross-faction-fix
Fixed cross faction guilds not allowed by config
2025-09-14 10:51:02 +02:00
kadeshar
9bc46a7b77 - Fixed cross faction guilds not allowed by config 2025-09-13 16:33:09 +02:00
Yunfan Li
18a5a2be5c Merge pull request #65 from liyunfan1223/Playerbot-250911
Playerbot 250911
2025-09-11 13:42:52 +08:00
Yunfan Li
fdb71c521e Merge branch 'master' into Playerbot-updated 2025-09-11 12:20:54 +08:00
kadeshar
830e1fc5c2 Merge pull request #8 from azerothcore/master
Merge
2025-08-30 21:23:42 +02:00
kadeshar
234268e3bf Merge pull request #7 from azerothcore/master
Merge
2025-08-27 21:04:10 +02:00
Yunfan Li
4514980791 Merge pull request #56 from liyunfan1223/Playerbot_sync_0809
Playerbot sync 0809
2025-08-09 19:17:18 +08:00
Yunfan Li
025aaacf20 Merge branch 'master' into Playerbot 2025-08-09 15:02:41 +08:00
Yunfan Li
32b3e6331d Merge pull request #54 from liyunfan1223/Playerbot_sync
Playerbot sync
2025-08-02 16:10:42 +08:00
Yunfan Li
8ff1d2ccc1 Merge pull request #52 from Rochet2/patch-1
Fix scriptmgr hook double call on whisper
2025-08-02 15:32:26 +08:00
Yunfan Li
55bc26f505 Merge branch 'master' into Playerbot 2025-08-02 11:35:47 +08:00
Yunfan Li
21c2c3e0ee Merge branch 'master' into Playerbot 2025-07-25 21:18:51 +08:00
Rochet2
1620d6d64b Fix scriptmgr hook double call on whisper 2025-07-22 18:34:00 +03:00
Yunfan Li
c167fef89c Merge branch 'master' into Playerbot 2025-07-15 20:34:44 +08:00
Yunfan Li
475e5a42c4 Merge branch 'master' into Playerbot 2025-07-04 22:41:14 +08:00
Yunfan Li
24fa79040f Merge branch 'master' into Playerbot 2025-06-29 10:55:43 +08:00
Yunfan Li
c3fbb2da20 Merge branch 'master' into Playerbot 2025-06-28 10:46:23 +08:00
Yunfan Li
1e88fccd3c Merge branch 'master' into Playerbot 2025-06-14 21:33:35 +08:00
Yunfan Li
13edac562c Merge branch 'master' into Playerbot 2025-06-01 14:55:09 +08:00
Yunfan Li
4ace49c95a Merge branch 'master' into Playerbot 2025-05-23 19:55:02 +08:00
Yunfan Li
c6222b9aa3 Merge branch 'master' into Playerbot 2025-05-16 19:42:56 +08:00
Yunfan Li
58fd50651d Merge branch 'master' into Playerbot 2025-05-09 22:07:43 +08:00
Yunfan Li
ce9343d916 Merge branch 'master' into Playerbot 2025-05-02 16:50:45 +08:00
Yunfan Li
c304ccee57 Merge branch 'master' into Playerbot 2025-04-18 22:57:30 +08:00
Yunfan Li
97342b05e7 Merge branch 'master' into Playerbot 2025-04-09 23:35:21 +08:00
Yunfan Li
95fc3f0932 Merge branch 'master' into Playerbot 2025-03-29 17:25:52 +08:00
Yunfan Li
4deb6ec311 Merge branch 'master' into Playerbot 2025-03-22 11:15:08 +08:00
Yunfan Li
565019ed27 Merge branch 'master' into Playerbot 2025-03-14 21:37:02 +08:00
Yunfan Li
34811a047a Merge branch 'master' into Playerbot 2025-03-04 21:57:19 +08:00
Yunfan Li
f332b07140 Merge pull request #40 from liyunfan1223/Playerbot_20250219
Merge branch 'master' into Playerbot
2025-02-22 12:08:24 +08:00
Yunfan Li
bd0302605a Merge branch 'master' into Playerbot_20250219 2025-02-22 10:36:10 +08:00
Yunfan Li
990c85c2cd Remove MOD_PLAYERBOTS macro to compile without mod-playerbots 2025-02-19 23:01:53 +08:00
Yunfan Li
7d431dc796 Merge branch 'master' into Playerbot 2025-02-19 22:29:36 +08:00
kadeshar
d1032678ff - Added support for playerbots message hyperlink (#37) 2025-02-16 22:27:55 +08:00
Yunfan Li
41415bb3c3 Merge branch 'master' into Playerbot 2025-02-11 22:35:57 +08:00
Yunfan Li
de3c2b553e Merge branch 'master' into Playerbot 2025-02-04 23:40:06 +08:00
Yunfan Li
e5c67bd47d Merge branch 'master' into Playerbot 2025-01-31 18:29:34 +08:00
Yunfan Li
cf035b5e5e Merge branch 'master' into Playerbot 2025-01-23 23:23:53 +08:00
Yunfan Li
91edb92f7a Merge branch 'master' into Playerbot 2025-01-15 20:49:11 +08:00
Yunfan Li
36987b8a96 Merge branch 'master' into Playerbot 2025-01-09 19:56:11 +08:00
Yunfan Li
8e5802da4e Merge branch 'master' into Playerbot 2025-01-06 23:04:02 +08:00
Yunfan Li
36ac083814 Merge branch 'master' into Playerbot 2024-12-31 17:18:40 +08:00
Yunfan Li
5035e880f4 Merge pull request #33 from liyunfan1223/move_backwards
Add MovePointBackwards in MotionMaster.h
2024-12-29 21:24:02 +08:00
Yunfan Li
b603c8c1e8 Add MovePointBackwards in MotionMaster.h 2024-12-29 21:16:33 +08:00
Yunfan Li
2bab8ee807 Merge pull request #32 from liyunfan1223/modify_char_sel
Add class and race to CHAR_SEL_CHARS_BY_ACCOUNT_ID
2024-12-25 22:41:10 +08:00
Yunfan Li
4e8524bd13 Add class and race to CHAR_SEL_CHARS_BY_ACCOUNT_ID 2024-12-25 21:39:39 +08:00
Yunfan Li
c76e70a364 Merge branch 'master' into Playerbot 2024-12-22 13:24:03 +08:00
Yunfan Li
7347f64938 Merge branch 'master' into Playerbot 2024-12-13 18:51:37 +08:00
Yunfan Li
889b509313 Merge branch 'master' into Playerbot 2024-12-05 00:08:25 +08:00
Yunfan Li
ba56317506 Merge pull request #30 from noisiver/update-character-online
Add a new statement to update character online by guid
2024-12-01 11:46:32 +08:00
Yunfan Li
e8679bc13b Merge pull request #29 from Raz0r1337/Playerbot
Update worldserver.conf.dist
2024-12-01 11:45:38 +08:00
Revision
3d3fff1a2e Add a new statement to update character online by guid 2024-11-30 17:18:01 +01:00
Sascha
9e5f551b58 Update worldserver.conf.dist
logging stuff inserted into the correct area of ​​the config file
2024-11-29 13:13:01 +01:00
Yunfan Li
1294d79764 Merge branch 'master' into Playerbot 2024-11-25 23:22:31 +08:00
Yunfan Li
4cd23792db Merge pull request #27 from hermensbas/feature/alignment_core_data_folder
placed playerbot sql folder into data folder as core/module describes
2024-11-18 15:36:20 +08:00
bash
4183a34608 placed sql into the data folder as core/module describes 2024-11-16 21:37:24 +00:00
Yunfan Li
fce06946e1 Merge branch 'master' into Playerbot 2024-11-16 13:15:00 +08:00
Yunfan Li
545bb18af4 Merge branch 'master' into Playerbot 2024-11-08 20:58:52 +08:00
Yunfan Li
abd9b4ebb8 Merge branch 'master' into Playerbot 2024-10-30 21:43:42 +08:00
Yunfan Li
2e37c1ff1d Merge branch 'master' into Playerbot 2024-10-21 11:43:19 +08:00
Yunfan Li
418afce6d7 Merge branch 'master' into Playerbot 2024-10-10 23:13:20 +08:00
Yunfan Li
0e1fb788c1 Merge pull request #24 from liyunfan1223/fix_header_include
Fix header include for playerbots
2024-10-05 00:12:41 +08:00
Yunfan Li
b4ca46c3af Fix header include for playerbots 2024-10-04 23:07:08 +08:00
Yunfan Li
6eb5070cbc Merge branch 'master' into Playerbot 2024-10-04 21:57:35 +08:00
Yunfan Li
9ebdbd8459 Merge branch 'master' into Playerbot 2024-09-29 23:22:47 +08:00
Yunfan Li
66c55bc450 Merge branch 'master' into Playerbot 2024-09-22 21:56:15 +08:00
Yunfan Li
9780dbab7e Merge branch 'master' into Playerbot 2024-09-17 23:15:28 +08:00
Yunfan Li
910848c51b Revert "Revert "Merge branch 'master' into Playerbot""
This reverts commit 2358b256f2.
2024-09-17 23:14:42 +08:00
Yunfan Li
57b7a6a4eb Merge pull request #22 from manstfu/Playerbot
Fixed spells not granted by quest
2024-09-15 10:57:28 +08:00
manstfu
ddd7c1fb6c Updated with master branch 2024-09-14 18:25:46 +02:00
manstfu
c85e9772a8 Update PlayerQuest.cpp
Fixed spells not granted by quests
2024-09-14 09:12:52 +02:00
Yunfan Li
af776520db Merge pull request #21 from liyunfan1223/revert_spell_crash
Revert "Merge branch 'master' into Playerbot"
2024-09-13 17:45:21 +08:00
Yunfan Li
2358b256f2 Revert "Merge branch 'master' into Playerbot"
This reverts commit 9973151927, reversing
changes made to 6f5b504e4c.
2024-09-13 17:13:32 +08:00
Yunfan Li
7e8c2d2887 Fix continuous integration workflow 2024-09-12 22:52:49 +08:00
Yunfan Li
9973151927 Merge branch 'master' into Playerbot 2024-09-12 22:49:08 +08:00
Yunfan Li
6f5b504e4c Merge branch 'master' into Playerbot 2024-09-07 14:27:11 +08:00
Yunfan Li
414805e692 Merge branch 'master' into Playerbot 2024-09-04 23:46:34 +08:00
Yunfan Li
f8a28b6883 Merge branch 'master' into Playerbot 2024-08-30 22:38:08 +08:00
Yunfan Li
fdb6fedc00 Naxx scripts header 2024-08-26 23:05:53 +08:00
Yunfan Li
a642358a43 Merge branch 'master' into Playerbot 2024-08-26 22:29:54 +08:00
Yunfan Li
1bf88ad3a3 Merge branch 'master' into Playerbot 2024-08-19 18:59:50 +08:00
Yunfan Li
27b243e7b2 Merge branch 'master' into Playerbot 2024-08-18 23:02:22 +08:00
Yunfan Li
33e4bc8390 Merge branch 'master' into Playerbot 2024-08-12 01:07:20 +08:00
Yunfan Li
c3be0fa2a8 Merge branch 'master' into Playerbot 2024-08-05 01:22:16 +08:00
Yunfan Li
3e2509e20c Merge pull request #20 from atidot3/Playerbot
Fix last modification warning chat.h
2024-08-03 21:44:04 +08:00
Atidote
2cde786785 Merge branch 'liyunfan1223:Playerbot' into Playerbot 2024-08-03 15:13:32 +02:00
Atidot3
0406652bae fix chat warning 2024-08-03 15:11:13 +02:00
Yunfan Li
f5e44cd8a6 Merge branch 'master' into Playerbot 2024-08-01 15:41:23 +08:00
Yunfan Li
7227e78f54 Merge pull request #19 from liyunfan1223/movement-rewrite
Add MoveKnockbackFromForPlayer
2024-08-01 11:40:40 +08:00
Yunfan Li
0ba424a853 Merge pull request #18 from atidot3/Playerbot
Playerbot helper
2024-08-01 11:40:24 +08:00
Yunfan Li
7a1986da61 Merge pull request #17 from noisiver/playerbots
Fix compiler warnings
2024-08-01 11:39:42 +08:00
Yunfan Li
f6a9b1f97d Add MoveKnockbackFromForPlayer 2024-07-31 23:47:24 +08:00
antony
bba6c86364 Playerbot helper 2024-07-31 17:24:20 +02:00
Revision
84c12b0402 Fix warnings 2024-07-30 15:42:07 +02:00
Yunfan Li
e6fa5732dc Fix macos build 2024-07-29 23:08:30 +08:00
Yunfan Li
172f54b49a Merge branch 'master' into Playerbot 2024-07-29 15:40:17 +08:00
Yunfan Li
f7ad415b3f Merge pull request #15 from atidot3/Playerbot
Playerbot fixes and functionnality to talk in channels
2024-07-27 23:56:51 +08:00
antony
4a48e18d5b Playerbot fixes and functionnality to talk in channels 2024-07-26 11:34:32 +02:00
Yunfan Li
5276676a11 Merge branch 'master' into Playerbot 2024-07-24 20:57:52 +08:00
Yunfan Li
c72188467a Merge branch 'master' into Playerbot 2024-07-23 18:23:10 +08:00
Yunfan Li
22132addce Merge branch 'master' into Playerbot 2024-07-19 17:25:43 +08:00
Yunfan Li
05c9a96ba9 Merge branch 'master' into Playerbot 2024-07-11 12:32:13 +08:00
Yunfan Li
1f54cb14fa Merge branch 'master' into Playerbot 2024-07-07 13:33:14 +08:00
Yunfan Li
223ec63ba5 Merge branch 'master' into Playerbot 2024-07-03 22:54:06 +08:00
Yunfan Li
2a2e2ec445 Rollback name check 2024-07-03 20:01:14 +08:00
Yunfan Li
cc5adebbe4 Merge branch 'master' into Playerbot 2024-07-03 16:04:51 +08:00
Yunfan Li
d7a07b2397 Merge branch 'master' into Playerbot 2024-06-29 21:57:41 +08:00
Yunfan Li
9a11d9dd5b Merge branch 'master' into Playerbot 2024-06-28 18:36:45 +08:00
Yunfan Li
fb4dbdd604 Merge branch 'master' into Playerbot 2024-06-24 18:51:01 +08:00
Yunfan Li
20f917c48f Merge branch 'master' into Playerbot 2024-06-22 16:09:16 +08:00
Yunfan Li
72725635ba Merge branch 'master' into Playerbot 2024-06-19 14:32:16 +08:00
Yunfan Li
7ca3db8bd0 Merge branch 'master' into Playerbot 2024-06-10 00:03:20 +08:00
Yunfan Li
72634b2829 Merge branch 'master' into Playerbot 2024-06-07 22:28:03 +08:00
Yunfan Li
971b2f8316 Merge branch 'master' into Playerbot 2024-06-03 23:16:28 +08:00
Yunfan Li
12ea82a57f [Scripts] Naxxramas scripts refactor with namespace 2024-05-26 23:41:04 +08:00
Yunfan Li
1e22c4dc94 Merge branch 'master' into Playerbot 2024-05-26 23:00:39 +08:00
Yunfan Li
5079750396 Merge branch 'master' into Playerbot 2024-05-07 22:22:40 +08:00
Yunfan Li
9bbe90d388 Merge branch 'master' into Playerbot 2024-05-04 23:35:53 +08:00
Yunfan Li
0a1570ec52 Merge branch 'master' into Playerbot 2024-04-29 20:00:32 +08:00
Yunfan Li
99bc841ff6 Merge branch 'master' into Playerbot 2024-04-26 18:56:32 +08:00
Yunfan Li
c010742289 Merge branch 'master' into Playerbot 2024-04-22 21:50:43 +08:00
Yunfan Li
10bd872f2d Merge branch 'master' into Playerbot 2024-04-15 21:02:03 +08:00
Yunfan Li
ab9fe20600 Merge branch 'master' into Playerbot 2024-04-14 21:08:07 +08:00
Yunfan Li
65cb23b56a Merge branch 'master' into Playerbot 2024-04-10 23:50:39 +08:00
Yunfan Li
f0be01a5d7 Merge branch 'master' into Playerbot 2024-04-07 21:49:34 +08:00
Yunfan Li
d74a6dd960 Merge branch 'master' into Playerbot 2024-03-31 12:44:21 +08:00
Yunfan Li
6338010e09 Merge branch 'master' into Playerbot 2024-03-28 19:15:09 +08:00
Yunfan Li
97604fab77 Merge branch 'master' into Playerbot 2024-03-22 20:41:43 +08:00
Yunfan Li
91870c9ccd Merge branch 'azerothcore:master' into Playerbot 2024-03-19 20:12:59 +08:00
Yunfan Li
4387de8b82 Fix macos CI 2024-03-18 22:17:56 +08:00
Yunfan Li
e0ddd7f610 Disable test build for macos CI 2024-03-18 19:55:39 +08:00
Yunfan Li
0024602d42 CI ignore warnings 2024-03-18 17:35:29 +08:00
Yunfan Li
b1ee6cfe06 Fix macos compilation 2024-03-18 14:25:49 +08:00
Yunfan Li
af717c592f Fix macos CI 2024-03-18 09:07:56 +08:00
Yunfan Li
ce59a892c7 Fix macos CI 2024-03-17 19:48:03 +08:00
Yunfan Li
68219e6f55 Merge branch 'azerothcore:master' into Playerbot 2024-03-17 12:05:57 +08:00
Yunfan Li
a42219e17d Merge branch 'azerothcore:master' into Playerbot 2024-03-12 16:54:14 +08:00
Yunfan Li
b3f96a2bc1 Update core-build.yml 2024-03-12 14:52:37 +08:00
Yunfan Li
23cf1a3aab Update workflows 2024-03-12 14:50:04 +08:00
Yunfan Li
f0cb94cb3f Fix variable unused warning 2024-03-12 13:56:48 +08:00
Yunfan Li
6d5b402c2c Fix workflows 2024-03-12 13:15:19 +08:00
Yunfan Li
60b624a3ac Fix workflows 2024-03-12 13:10:51 +08:00
Yunfan Li
19cd29ff6d Merge pull request #6 from liyunfan1223/revert-5-Playerbot
Revert "Split Ulduar's script files"
2024-03-12 12:46:05 +08:00
Yunfan Li
c36a7a25a0 Revert "Split Ulduar's script files" 2024-03-12 12:41:20 +08:00
Yunfan Li
187db6f688 Merge pull request #5 from Garashan/Playerbot
Split Ulduar's script files
2024-03-12 11:38:04 +08:00
Garashan
984e03db18 Split Ulduar's script files
Split Ulduar script .cpp files into .h and .cpp files.
2024-03-11 19:25:24 +01:00
Yunfan Li
01a6bd65bf Merge branch 'master' into Playerbot 2024-03-09 10:30:25 +08:00
Yunfan Li
5ef572eaf9 Merge pull request #4 from MrSlntGhost/Playerbot
Fix docker load metadata error
2024-03-06 19:02:55 +08:00
MrSlntGhost
8a1635bc6e Fix docker load metadata error 2024-03-05 21:46:31 +01:00
Yunfan Li
0b0eeb05c9 Merge branch 'master' into Playerbot 2024-03-04 17:13:57 +08:00
Yunfan Li
8e5731ff60 Fix ServerScript.h 2024-03-03 12:37:43 +08:00
Yunfan Li
51219291a3 Merge branch 'master' into Playerbot 2024-03-03 11:58:01 +08:00
Yunfan Li
7c856eaf63 Merge branch 'master' of github.com:azerothcore/azerothcore-wotlk into Playerbot 2024-02-24 22:48:16 +08:00
Yunfan Li
b4046d48d7 Merge branch 'master' into Playerbot 2024-02-22 23:34:59 +08:00
Yunfan Li
ccff9469fc Merge branch 'master' into Playerbot 2024-02-19 23:10:00 +08:00
Yunfan Li
cd5826f283 Merge branch 'master' into Playerbot 2024-02-14 01:02:12 +08:00
Yunfan Li
5699c97d8c Merge branch 'master' into Playerbot 2024-02-11 23:45:22 +08:00
Yunfan Li
9784f932e9 Merge branch 'master' into Playerbot 2024-02-06 17:51:47 +08:00
Yunfan Li
1ef5b9a6b4 Merge branch 'master' into Playerbot 2024-01-29 11:46:32 +08:00
Yunfan Li
b314b04001 Merge branch 'master' into Playerbot 2024-01-23 12:31:39 +08:00
Yunfan Li
9e172c9113 Merge branch 'master' into Playerbot 2024-01-15 21:00:38 +08:00
Yunfan Li
b70e64dbcf Merge branch 'master' into Playerbot 2024-01-14 15:23:52 +08:00
Yunfan Li
600b0873e7 Merge branch 'master' into Playerbot 2024-01-08 23:30:50 +08:00
Yunfan Li
cb795ae5d4 Merge branch 'master' into Playerbot 2024-01-07 22:41:44 +08:00
Yunfan Li
213300bf66 Merge branch 'master' into Playerbot 2024-01-06 17:54:45 +08:00
Yunfan Li
ccf92f481d Merge branch 'master' into Playerbot 2024-01-04 19:22:20 +08:00
Yunfan Li
19f7e753ba Merge pull request #2 from oiuv/Playerbot
Playerbot
2023-12-28 22:08:00 +08:00
Yunfan Li
68c8fad239 Merge pull request #1 from AlvinZhu/Playerbot
Force playerbots locale enUS and Fix multi-language DBC loading
2023-12-28 22:07:05 +08:00
Oiuv
f68f398e59 Merge branch 'master' into Playerbot 2023-12-28 17:33:26 +08:00
Alvin Zhu
608ff291cb Force playerbots locale enUS 2023-12-27 17:00:20 +08:00
Alvin Zhu
7c91ec9bf9 Fix multi-language DBC loading 2023-12-27 16:59:26 +08:00
Yunfan Li
452584a155 Merge branch 'master' into Playerbot 2023-12-17 22:42:51 +08:00
Yunfan Li
80a8896dfe playerbot logout 2023-12-17 22:41:43 +08:00
Yunfan Li
60cf17d70a fix scripts issue 2023-12-12 20:52:59 +08:00
Yunfan Li
7915f79d04 Merge branch 'master' into Playerbot 2023-12-12 20:52:42 +08:00
Yunfan Li
d879fc9258 Merge branch 'master' into Playerbot 2023-10-27 20:12:09 +08:00
Yunfan Li
57e0c7a09f Merge branch 'master' of github.com:azerothcore/azerothcore-wotlk into Playerbot 2023-10-22 19:52:23 +08:00
Yunfan Li
a5e27362d8 Merge commit '26c583c24ab7dbbf1fecf3dcd737c1ad543c8b33' into Playerbot_1017 2023-10-17 22:18:39 +08:00
Yunfan Li
2dd1490c18 Merge branch 'master' of github.com:azerothcore/azerothcore-wotlk into Playerbot 2023-09-23 22:44:15 +08:00
Yunfan Li
e7ac00b586 Merge branch 'master' into Playerbot 2023-09-05 19:24:48 +08:00
Yunfan Li
28fcb40b88 Merge branch 'master' into Playerbot 2023-09-05 00:13:44 +08:00
Yunfan Li
cc4ac0ab57 Merge branch 'master' into Playerbot 2023-09-03 14:38:52 +08:00
Yunfan Li
92c6ef23ff Merge branch 'master' into Playerbot 2023-09-01 21:17:04 +08:00
Yunfan Li
c6bcda8b9d Merge branch 'master' into Playerbot 2023-08-29 20:50:49 +08:00
Yunfan Li
e2019033c1 Merge branch 'master' into Playerbot 2023-08-27 00:42:24 +08:00
Yunfan Li
58a7625be7 Merge branch 'master' into Playerbot 2023-08-25 02:29:53 +08:00
Yunfan Li
4b1f585fab Merge branch 'master' into Playerbot 2023-08-24 22:07:53 +08:00
Yunfan Li
33eb24f543 MOD_PLAYERBOTS macro 2023-08-24 21:08:59 +08:00
Yunfan Li
36e18dd5e1 change gitmodules 2023-08-10 15:22:06 +08:00
Yunfan Li
6a954d7560 Merge branch 'master' into Playerbot 2023-08-10 13:45:03 +08:00
Yunfan Li
b8567b3f66 conf for playerbots log 2023-08-10 10:30:12 +08:00
Yunfan Li
df11f5a0e7 Merge branch 'master' into Playerbot 2023-08-07 23:58:57 +08:00
Yunfan Li
db889ed3c9 Merge branch 'master' into Playerbot 2023-08-05 19:11:41 +08:00
Yunfan Li
a4e5ff3779 Merge branch 'master' into Playerbot 2023-08-01 23:21:36 +08:00
Yunfan Li
058526b612 Merge branch 'master' into Playerbot 2023-07-30 14:37:00 +08:00
Yunfan Li
78e21a0539 Merge branch 'master' into Playerbot 2023-07-26 13:25:50 +08:00
Yunfan Li
06b2f25a00 Fix(scripts): bot receive CMSG packet 2023-07-26 13:10:55 +08:00
Yunfan Li
2ca14cd5eb Merge branch 'master' into Playerbot 2023-07-24 14:43:27 +08:00
Yunfan Li
95add2b815 Merge branch 'master' into Playerbot 2023-07-18 17:59:18 +08:00
Yunfan Li
2afc3a46d0 refactor naxxramas 2023-07-18 17:58:03 +08:00
Yunfan Li
4d3abb0538 logout bots in kickall 2023-07-15 16:42:10 +08:00
Yunfan Li
95843d5835 Merge branch 'master' into Playerbot 2023-07-14 13:16:02 +08:00
Yunfan Li
44046ee5df Merge branch 'master' into Playerbot 2023-07-08 00:47:19 +08:00
Yunfan Li
0713446e1e Merge branch 'master' into Playerbot 2023-07-04 10:05:31 +08:00
Yunfan Li
55821a893c Merge branch 'master' into Playerbot 2023-06-22 09:53:06 +08:00
Yunfan Li
433467b8c0 split anubrekhan, grobbulus scripts 2023-06-18 21:52:39 +08:00
Yunfan Li
abaf4655e2 Merge branch 'master' into Playerbot 2023-06-18 20:48:30 +08:00
Yunfan Li
b417973361 Merge branch 'master' into Playerbot 2023-06-13 01:04:01 +08:00
Yunfan Li
e766845cb4 Spell(item check): turn ItemLevel to RequiredLevel 2023-06-11 18:19:28 +08:00
Yunfan Li
69740eb29b Merge branch 'master' into Playerbot 2023-06-09 23:40:54 +08:00
Yunfan Li
23306a3d10 split heigan 2023-06-09 23:16:44 +08:00
Yunfan Li
f05b5e678c split grobbulus 2023-06-08 10:58:37 +08:00
Yunfan Li
dc4c50923c Merge branch 'master' into Playerbot 2023-06-07 23:39:37 +08:00
Yunfan Li
46f277f2f6 spilit boss_heigan to .cpp and .h 2023-06-06 00:10:41 +08:00
Yunfan Li
a7519279f7 Merge branch 'master' into Playerbot 2023-06-06 00:07:04 +08:00
Yunfan Li
05103aeacf Merge branch 'master' into Playerbot 2023-06-02 15:38:15 +08:00
Yunfan Li
a1a3263727 Merge branch 'master' into Playerbot 2023-05-29 19:05:17 +08:00
Yunfan Li
0e7289304d command setskill range allow 0 2023-05-29 19:00:11 +08:00
Yunfan Li
9d3d2c84fe HandlePlayerLoginFromDB 2023-05-26 20:52:01 +08:00
Yunfan Li
f677900061 Prevent GUID from exhausting 2023-05-26 01:02:22 +08:00
Yunfan Li
ec45b40cb9 feat: fix warning and configuration 2023-05-24 19:43:56 +08:00
Yunfan Li
72660b1ed8 Merge branch 'master' into Playerbot 2023-05-24 17:57:30 +08:00
ZhengPeiRu21
aa1214a6ba Merge branch 'azerothcore:master' into Playerbot 2023-05-01 10:31:02 -06:00
ZhengPeiRu21
2e294eae2b Merge pull request #6 from kjack9/Playerbot
fix(Docker): add libboost-thread-dev dependency to Dockerfile
2023-05-01 10:30:47 -06:00
KJack
42e8c3f172 fix(Docker): add libboost-thread-dev dependency to Dockerfile 2023-05-01 11:51:21 -04:00
ZhengPeiRu21
25d2c3ebe7 Merge branch 'azerothcore:master' into Playerbot 2023-04-26 13:57:57 -06:00
ZhengPeiRu21
d6a099e98c Merge branch 'azerothcore:master' into Playerbot 2023-04-24 09:38:43 -06:00
ZhengPeiRu21
1773a505c0 Merge branch 'azerothcore:master' into Playerbot 2023-04-23 13:53:58 -06:00
ZhengPeiRu21
e355e79482 Merge branch 'azerothcore:master' into Playerbot 2023-04-21 22:17:38 -06:00
ZhengPeiRu21
bb0f212b87 Merge branch 'azerothcore:master' into Playerbot 2023-04-20 16:01:49 -06:00
ZhengPeiRu21
780c8ede85 Merge branch 'azerothcore:master' into Playerbot 2023-04-19 09:48:45 -06:00
ZhengPeiRu21
e622ba991f Merge branch 'azerothcore:master' into Playerbot 2023-04-18 09:28:55 -06:00
ZhengPeiRu21
affbfa1e30 Merge branch 'azerothcore:master' into Playerbot 2023-04-16 20:27:56 -06:00
ZhengPeiRu21
d02099db9a Merge branch 'azerothcore:master' into Playerbot 2023-04-13 10:42:03 -06:00
ZhengPeiRu21
ae175496dd Merge branch 'azerothcore:master' into Playerbot 2023-04-10 08:27:49 -06:00
ZhengPeiRu21
0248ed8778 Merge branch 'azerothcore:master' into Playerbot 2023-04-06 10:12:34 -06:00
ZhengPeiRu21
43778acb9a Merge branch 'azerothcore:master' into Playerbot 2023-04-05 11:49:27 -06:00
ZhengPeiRu21
ed4e0ffbda Merge branch 'azerothcore:master' into Playerbot 2023-04-04 13:23:00 -06:00
ZhengPeiRu21
c9186547dd Merge branch 'azerothcore:master' into Playerbot 2023-04-04 08:16:34 -06:00
ZhengPeiRu21
a27f752dcc Merge branch 'azerothcore:master' into Playerbot 2023-04-03 22:10:19 -06:00
郑佩茹
00f9f8e0d0 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2023-04-03 07:53:39 -06:00
郑佩茹
1b3fd82f5c Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Guilds/Guild.cpp
2023-04-03 07:52:56 -06:00
ZhengPeiRu21
4004dcb23b Merge branch 'azerothcore:master' into Playerbot 2023-04-02 09:42:34 -06:00
ZhengPeiRu21
6cb1778c6d Merge branch 'azerothcore:master' into Playerbot 2023-04-01 08:07:59 -06:00
ZhengPeiRu21
0aca3f7b72 Merge branch 'azerothcore:master' into Playerbot 2023-03-30 07:34:21 -06:00
ZhengPeiRu21
2bf872e446 Merge branch 'azerothcore:master' into Playerbot 2023-03-29 06:29:03 -06:00
ZhengPeiRu21
939291c9c2 Merge branch 'azerothcore:master' into Playerbot 2023-03-28 09:26:50 -06:00
ZhengPeiRu21
4c18f3b3e5 Merge branch 'azerothcore:master' into Playerbot 2023-03-25 13:06:10 -06:00
ZhengPeiRu21
38268a187e Merge branch 'azerothcore:master' into Playerbot 2023-03-23 09:07:11 -06:00
ZhengPeiRu21
317afd051b Merge branch 'azerothcore:master' into Playerbot 2023-03-22 10:16:52 -06:00
ZhengPeiRu21
71e8baf929 Merge branch 'azerothcore:master' into Playerbot 2023-03-22 09:35:01 -06:00
ZhengPeiRu21
e9143a2c0b Merge branch 'azerothcore:master' into Playerbot 2023-03-21 08:46:26 -06:00
郑佩茹
0a192af532 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2023-03-16 11:08:57 -06:00
郑佩茹
be7c57507f Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Player/Player.h
2023-03-16 10:00:13 -06:00
ZhengPeiRu21
e898462333 Merge branch 'azerothcore:master' into Playerbot 2023-03-10 08:18:50 -07:00
ZhengPeiRu21
ca84c22cf2 Merge branch 'azerothcore:master' into Playerbot 2023-03-06 23:19:41 -07:00
ZhengPeiRu21
fce7ba32a3 Merge branch 'azerothcore:master' into Playerbot 2023-03-02 08:52:37 -07:00
郑佩茹
328d991305 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2023-03-01 11:52:48 -07:00
郑佩茹
826bac08ec Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/World/IWorld.h
#	src/server/game/World/World.h
2023-03-01 11:52:02 -07:00
ZhengPeiRu21
d40a859de6 Merge branch 'azerothcore:master' into Playerbot 2023-02-21 11:29:39 -07:00
ZhengPeiRu21
62d3317c93 Merge branch 'azerothcore:master' into Playerbot 2023-02-17 16:12:43 -07:00
郑佩茹
6a1589c989 Update to be compatible with latest AC 2023-02-17 12:41:37 -07:00
郑佩茹
8ffdf088d4 Merge branch 'master' into Playerbot 2023-02-17 11:37:31 -07:00
郑佩茹
d5e1ec851a Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2023-02-14 12:03:09 -07:00
郑佩茹
4bc9901f16 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.h
2023-02-13 13:07:03 -07:00
ZhengPeiRu21
ba4e49f5b2 Merge branch 'azerothcore:master' into Playerbot 2023-02-10 15:48:50 -07:00
郑佩茹
ccee04c908 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2023-02-09 12:42:09 -07:00
郑佩茹
03b3f9d051 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/World/World.h
2023-02-09 12:40:25 -07:00
ZhengPeiRu21
465d19b7f6 Merge branch 'azerothcore:master' into Playerbot 2023-01-19 11:57:25 -07:00
ZhengPeiRu21
f51115a054 Merge branch 'azerothcore:master' into Playerbot 2023-01-12 09:20:22 -07:00
ZhengPeiRu21
16eecd908e Merge branch 'azerothcore:master' into Playerbot 2023-01-04 11:21:02 -07:00
ZhengPeiRu21
b86914fd37 Merge branch 'azerothcore:master' into Playerbot 2022-12-29 12:20:26 -07:00
ZhengPeiRu21
2bb78d1451 Merge branch 'azerothcore:master' into Playerbot 2022-12-27 09:50:12 -07:00
ZhengPeiRu21
cd6e0d7e0b Merge branch 'azerothcore:master' into Playerbot 2022-12-12 10:18:34 -07:00
ZhengPeiRu21
5a8fe17184 Merge branch 'azerothcore:master' into Playerbot 2022-12-09 11:56:19 -07:00
郑佩茹
2ec6f2d92f Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-12-07 14:46:45 -07:00
郑佩茹
c1c97ad425 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
2022-12-07 14:46:21 -07:00
ZhengPeiRu21
fad161a76b Merge branch 'azerothcore:master' into Playerbot 2022-12-01 09:43:29 -07:00
ZhengPeiRu21
87f185bb85 Merge branch 'azerothcore:master' into Playerbot 2022-11-23 09:13:39 -07:00
郑佩茹
ec7288bc17 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-11-18 12:15:17 -07:00
郑佩茹
cab0d6f027 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Guilds/Guild.cpp
2022-11-18 10:21:36 -07:00
ZhengPeiRu21
8ec316da13 Merge branch 'azerothcore:master' into Playerbot 2022-11-07 13:20:52 -07:00
ZhengPeiRu21
4d068b0e74 Merge branch 'azerothcore:master' into Playerbot 2022-11-04 09:12:25 -06:00
ZhengPeiRu21
18ae6a473f Merge branch 'azerothcore:master' into Playerbot 2022-10-31 16:12:42 -06:00
ZhengPeiRu21
99dbd3d4c5 Merge branch 'azerothcore:master' into Playerbot 2022-10-26 09:07:05 -06:00
ZhengPeiRu21
780b947f51 Merge branch 'azerothcore:master' into Playerbot 2022-10-24 16:21:51 -06:00
ZhengPeiRu21
b68c3a733a Merge branch 'azerothcore:master' into Playerbot 2022-10-24 08:50:01 -06:00
ZhengPeiRu21
e0b905aef7 Merge branch 'azerothcore:master' into Playerbot 2022-10-22 17:44:53 -06:00
ZhengPeiRu21
4b8fb01016 Merge branch 'azerothcore:master' into Playerbot 2022-10-19 19:25:35 -06:00
ZhengPeiRu21
ce8592b29b Merge branch 'azerothcore:master' into Playerbot 2022-10-17 10:41:21 -06:00
ZhengPeiRu21
46438255bf Merge branch 'azerothcore:master' into Playerbot 2022-10-15 09:59:28 -06:00
郑佩茹
5996f1f1af Remove outdated Git submodule 2022-10-07 09:17:43 -06:00
ZhengPeiRu21
906748cd16 Merge branch 'azerothcore:master' into Playerbot 2022-10-07 09:14:47 -06:00
ZhengPeiRu21
80c608df4f Merge branch 'azerothcore:master' into Playerbot 2022-10-02 10:46:28 -06:00
ZhengPeiRu21
a300a4be12 Merge branch 'azerothcore:master' into Playerbot 2022-09-28 17:09:45 -06:00
郑佩茹
203f2ec7eb Update PLAYERBOTS_SEL_TEXT query 2022-09-27 08:40:27 -06:00
ZhengPeiRu21
8c05b69e4e Merge branch 'azerothcore:master' into Playerbot 2022-09-26 10:01:10 -06:00
ZhengPeiRu21
7b5a03ac8f Merge branch 'azerothcore:master' into Playerbot 2022-09-23 10:03:15 -06:00
ZhengPeiRu21
4c6c80d880 Merge branch 'azerothcore:master' into Playerbot 2022-09-22 15:18:27 -06:00
ZhengPeiRu21
8da3ae8a91 Merge branch 'azerothcore:master' into Playerbot 2022-09-21 09:42:10 -06:00
ZhengPeiRu21
e67849a858 Merge branch 'azerothcore:master' into Playerbot 2022-09-19 09:23:59 -06:00
ZhengPeiRu21
d38899321c Merge branch 'azerothcore:master' into Playerbot 2022-09-18 17:01:24 -06:00
ZhengPeiRu21
6dfc04c2bf Merge branch 'azerothcore:master' into Playerbot 2022-09-15 18:12:58 -06:00
ZhengPeiRu21
46fa7b484d Merge branch 'azerothcore:master' into Playerbot 2022-09-15 09:10:16 -06:00
ZhengPeiRu21
76f4f741d8 Merge branch 'azerothcore:master' into Playerbot 2022-09-13 18:48:47 -06:00
ZhengPeiRu21
8791645166 Merge branch 'azerothcore:master' into Playerbot 2022-09-13 10:44:15 -06:00
ZhengPeiRu21
77571adf1f Merge branch 'azerothcore:master' into Playerbot 2022-09-08 15:10:29 -06:00
ZhengPeiRu21
aa1705d6c5 Merge branch 'azerothcore:master' into Playerbot 2022-09-07 09:35:58 -06:00
郑佩茹
c9fa699837 Attempt to fix Evade issue 2022-09-06 13:35:06 -06:00
ZhengPeiRu21
819532426b Merge branch 'azerothcore:master' into Playerbot 2022-09-06 12:11:39 -06:00
ZhengPeiRu21
31f36b25f2 Merge branch 'azerothcore:master' into Playerbot 2022-09-03 10:17:45 -06:00
ZhengPeiRu21
ac5bcfae12 Merge branch 'azerothcore:master' into Playerbot 2022-09-02 10:49:43 -06:00
ZhengPeiRu21
399b8803b8 Merge branch 'azerothcore:master' into Playerbot 2022-09-01 12:56:06 -06:00
ZhengPeiRu21
cd7a22a4de Merge branch 'azerothcore:master' into Playerbot 2022-08-30 20:52:05 -06:00
ZhengPeiRu21
2759a5ee1d Merge branch 'azerothcore:master' into Playerbot 2022-08-29 09:30:33 -06:00
郑佩茹
0752208c43 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
2022-08-25 10:07:17 -06:00
郑佩茹
3d8f540110 ResetChatTimer no longer needed with upstream chat flood handling changes 2022-08-19 12:16:34 -06:00
ZhengPeiRu21
774225e669 Merge branch 'azerothcore:master' into Playerbot 2022-08-18 13:48:09 -06:00
郑佩茹
bbd283598d Fix Evading issue 2022-08-18 13:46:22 -06:00
郑佩茹
32c6babdb7 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Entities/Unit/Unit.h
2022-08-16 16:13:26 -06:00
郑佩茹
29e14042e7 Update to work with latest AzerothCore master 2022-07-27 10:15:08 -06:00
郑佩茹
a5f1fc38a8 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot
 Conflicts:
	src/server/game/Entities/Creature/Creature.cpp
2022-07-27 09:57:48 -06:00
郑佩茹
6ad65508af Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Creature/Creature.h
#	src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
2022-07-27 09:11:50 -06:00
ZhengPeiRu21
2a45fdff1f Merge pull request #5 from KobaltBlu/Playerbot
fix: illegal instruction error in Creature.cpp:3470
2022-07-21 09:07:48 -06:00
ZhengPeiRu21
d960ccd4e4 Merge branch 'azerothcore:master' into Playerbot 2022-07-21 09:06:44 -06:00
KobaltBlu
55510b18e6 fix: illegal instruction error in Creature.cpp:3470 2022-07-20 00:50:00 -04:00
ZhengPeiRu21
0fd3d185b9 Merge pull request #4 from KobaltBlu/Playerbot
fix: remove WorldFloatConfigs[CONFIG_WATER_BREATH_TIMER]
2022-07-19 08:53:24 -06:00
KobaltBlu
efd245daf5 fix: remove WorldFloatConfigs[CONFIG_WATER_BREATH_TIMER]
fixes compile error: "fatal error: redefinition of enumerator"
2022-07-16 11:09:52 -04:00
郑佩茹
27300e9fdf Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-07-13 10:32:18 -06:00
郑佩茹
a44c241430 Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/apps/worldserver/worldserver.conf.dist
#	src/server/game/Battlegrounds/Battleground.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/World/World.cpp
2022-07-13 10:31:30 -06:00
ZhengPeiRu21
f1043be632 Merge branch 'azerothcore:master' into Playerbot 2022-07-06 10:08:55 -06:00
ZhengPeiRu21
0d3a10cc26 Merge branch 'azerothcore:master' into Playerbot 2022-07-05 10:24:47 -06:00
ZhengPeiRu21
e8781b0fc1 Merge branch 'azerothcore:master' into Playerbot 2022-07-01 10:11:40 -06:00
ZhengPeiRu21
c687d40741 Merge branch 'azerothcore:master' into Playerbot 2022-06-30 09:34:51 -06:00
ZhengPeiRu21
65f6fbb496 Merge branch 'azerothcore:master' into Playerbot 2022-06-27 09:06:46 -06:00
ZhengPeiRu21
98f0f093e5 Merge branch 'azerothcore:master' into Playerbot 2022-06-24 15:25:18 -06:00
郑佩茹
67e9f2fd35 Fix merge conflicts 2022-06-21 13:24:33 -06:00
郑佩茹
98c22aa96d Merge branch 'master' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-06-21 13:23:18 -06:00
郑佩茹
87fc81d0cc Merge branch 'master' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-06-21 09:19:50 -06:00
郑佩茹
743479e817 Merge branch 'Playerbot' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-06-16 10:06:30 -06:00
郑佩茹
7cc44a4ab1 Merge branch 'breathTimerConfig' into Playerbot 2022-06-16 10:06:05 -06:00
ZhengPeiRu21
3ab6d3cb37 Merge branch 'azerothcore:master' into Playerbot 2022-06-16 10:04:30 -06:00
ZhengPeiRu21
4f8564ea5b Merge branch 'azerothcore:master' into Playerbot 2022-06-13 15:00:30 -06:00
ZhengPeiRu21
2d7cba14db Merge branch 'azerothcore:master' into Playerbot 2022-06-10 08:51:40 -06:00
ZhengPeiRu21
d8a2665867 Merge branch 'azerothcore:master' into Playerbot 2022-06-08 11:10:38 -06:00
郑佩茹
46e9e82118 feat(Core/Config): Configurable Water Breath Timer 2022-06-03 12:34:31 -06:00
ZhengPeiRu21
427f0afaaf Merge branch 'azerothcore:master' into Playerbot 2022-06-03 10:02:54 -06:00
郑佩茹
b314b3a711 Merge branch 'master' into Playerbot 2022-05-31 09:11:39 -06:00
ZhengPeiRu21
2442fc6ad7 Merge branch 'azerothcore:master' into Playerbot 2022-05-29 21:07:57 -06:00
郑佩茹
650e71728a Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
2022-05-25 08:51:01 -06:00
ZhengPeiRu21
882359297d Merge branch 'azerothcore:master' into Playerbot 2022-05-23 09:04:16 -06:00
ZhengPeiRu21
0d42597ba3 Merge branch 'azerothcore:master' into Playerbot 2022-05-22 12:08:05 -06:00
ZhengPeiRu21
34b332b51b Merge branch 'azerothcore:master' into Playerbot 2022-05-19 12:55:28 -06:00
ZhengPeiRu21
cc94955bb2 Merge branch 'azerothcore:master' into Playerbot 2022-05-17 11:00:13 -06:00
郑佩茹
9a6c789f1a Add missing override annotation to GetPlayerbotsDBRevision 2022-05-16 13:16:03 -06:00
ZhengPeiRu21
26595bd2d9 Merge branch 'azerothcore:master' into Playerbot 2022-05-16 13:11:42 -06:00
ZhengPeiRu21
6b57ea8223 Merge branch 'azerothcore:master' into Playerbot 2022-05-12 09:41:56 -06:00
ZhengPeiRu21
e05bc38461 Merge pull request #3 from qudzy/upstream/refactor-instance-suggestions
Refactor instance suggestions
2022-05-10 08:48:32 -06:00
ZhengPeiRu21
0053ac67d9 Merge branch 'azerothcore:master' into Playerbot 2022-05-10 08:46:47 -06:00
ZhengPeiRu21
c2efd301b5 Merge branch 'azerothcore:master' into Playerbot 2022-05-06 16:13:01 -06:00
qudzy
44e4cd8cda Add prepared dungeon suggestion statement 2022-05-06 16:55:21 +02:00
qudzy
0e6a5bddbb Declare strToLower method in utilities 2022-05-06 16:55:21 +02:00
qudzy
1e3d488784 Ignore Visual Studio folders 2022-05-06 16:55:21 +02:00
ZhengPeiRu21
c6df5eae3a Merge branch 'azerothcore:master' into Playerbot 2022-05-04 10:47:16 -06:00
郑佩茹
0326d8576d Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/World/IWorld.h
#	src/server/game/World/World.cpp
#	src/server/game/World/World.h
#	src/server/scripts/Commands/cs_server.cpp
2022-05-02 16:39:21 -06:00
ZhengPeiRu21
92841a35e1 Merge branch 'azerothcore:master' into Playerbot 2022-04-26 08:42:57 -06:00
ZhengPeiRu21
84b794ab38 Merge branch 'azerothcore:master' into Playerbot 2022-04-25 08:58:13 -06:00
ZhengPeiRu21
8b0ef0b5a0 Merge branch 'azerothcore:master' into Playerbot 2022-04-22 09:13:49 -06:00
ZhengPeiRu21
0efe2a01fe Merge branch 'azerothcore:master' into Playerbot 2022-04-20 09:18:17 -06:00
ZhengPeiRu21
f5f3d78ed6 Merge branch 'azerothcore:master' into Playerbot 2022-04-19 09:07:56 -06:00
ZhengPeiRu21
534df7c448 Merge branch 'azerothcore:master' into Playerbot 2022-04-17 17:59:20 -06:00
ZhengPeiRu21
ec96415fda Merge branch 'azerothcore:master' into Playerbot 2022-04-16 21:41:45 -06:00
ZhengPeiRu21
19b2c35180 Merge branch 'azerothcore:master' into Playerbot 2022-04-14 09:06:05 -06:00
ZhengPeiRu21
a1985ddbeb Merge branch 'azerothcore:master' into Playerbot 2022-04-11 08:40:56 -06:00
ZhengPeiRu21
2cb590a48b Merge branch 'azerothcore:master' into Playerbot 2022-04-07 08:55:50 -06:00
ZhengPeiRu21
68d3ec7d77 Merge branch 'azerothcore:master' into Playerbot 2022-04-04 07:53:51 -06:00
ZhengPeiRu21
a25c289a5a Merge branch 'azerothcore:master' into Playerbot 2022-04-01 08:30:15 -06:00
ZhengPeiRu21
32dc06900c Merge branch 'azerothcore:master' into Playerbot 2022-03-30 09:53:52 -06:00
ZhengPeiRu21
1c11bde14f Merge branch 'azerothcore:master' into Playerbot 2022-03-28 17:33:20 -06:00
ZhengPeiRu21
f5f6478688 Merge branch 'azerothcore:master' into Playerbot 2022-03-27 11:23:15 -06:00
ZhengPeiRu21
7d7e66cbe4 Merge branch 'azerothcore:master' into Playerbot 2022-03-25 10:48:58 -06:00
ZhengPeiRu21
fb52816a11 Merge branch 'azerothcore:master' into Playerbot 2022-03-24 12:58:22 -06:00
ZhengPeiRu21
246e2cad2e Merge branch 'azerothcore:master' into Playerbot 2022-03-24 08:28:09 -06:00
郑佩茹
36ed431c7f Merge branch 'master' of https://github.com/ZhengPeiRu21/azerothcore-wotlk into Playerbot 2022-03-23 08:47:32 -06:00
郑佩茹
5cec9facf8 Add missing ifdef for PLAYERBOTS 2022-03-23 08:46:03 -06:00
郑佩茹
d4062269c8 Merge branch 'master' into Playerbot 2022-03-22 10:53:26 -06:00
郑佩茹
db71f4739c Fix corrupt item cache crashes, bot whispers, trade crashes 2022-03-22 10:51:50 -06:00
郑佩茹
ff0e5d5e3b Merge branch 'questXPHook' into Playerbot 2022-03-21 14:47:43 -06:00
郑佩茹
60f11b3671 Merge branch 'master' into Playerbot
# Conflicts:
#	apps/ci/ci-install-modules.sh
#	src/common/Collision/Management/MMapMgr.cpp
#	src/common/Debugging/Errors.h
#	src/server/game/AI/SmartScripts/SmartScript.cpp
#	src/server/game/Battlegrounds/Arena.cpp
#	src/server/game/Battlegrounds/ArenaScore.h
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.h
#	src/server/game/Battlegrounds/BattlegroundQueue.cpp
#	src/server/game/Battlegrounds/BattlegroundQueue.h
#	src/server/game/Battlegrounds/Zones/BattlegroundAB.h
#	src/server/game/Battlegrounds/Zones/BattlegroundEY.h
#	src/server/game/Battlegrounds/Zones/BattlegroundIC.h
#	src/server/game/Conditions/ConditionMgr.cpp
#	src/server/game/DataStores/M2Stores.cpp
#	src/server/game/DungeonFinding/LFGMgr.cpp
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Creature/CreatureData.h
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Entities/Player/PlayerStorage.cpp
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Groups/Group.cpp
#	src/server/game/Groups/Group.h
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/Guild.h
#	src/server/game/Handlers/BattleGroundHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Scripting/ScriptDefines/BGScript.cpp
#	src/server/game/Scripting/ScriptDefines/DatabaseScript.cpp
#	src/server/game/Scripting/ScriptDefines/PlayerScript.cpp
#	src/server/game/Scripting/ScriptDefines/ServerScript.cpp
#	src/server/game/Scripting/ScriptMgr.cpp
#	src/server/game/Scripting/ScriptMgrMacros.h
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/game/World/IWorld.h
#	src/server/game/World/World.cpp
#	src/server/game/World/World.h
#	src/server/scripts/Commands/cs_npc.cpp
#	src/server/scripts/Commands/cs_server.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
#	src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
2022-03-21 13:57:37 -06:00
郑佩茹
e42a572c35 Merge branch 'master' into questXPHook 2022-03-16 15:22:22 -06:00
郑佩茹
921bfbde86 Merge branch 'master' into questXPHook 2022-03-13 16:37:06 -06:00
郑佩茹
b88c5d8b89 Added changelog 2022-03-12 20:13:55 -07:00
UltraNix
12d41d1314 Big update. 2022-03-12 22:28:00 +01:00
郑佩茹
c2a6eff91d Merge branch 'master' into questXPHook 2022-03-10 12:08:00 -07:00
郑佩茹
7b3b37b1b3 Merge branch 'master' into questXPHook 2022-03-08 10:23:32 -07:00
郑佩茹
d60bb4fc90 feat(Scripting/Hooks): Implement OnQuestComputeXP() hook 2022-03-07 19:17:29 -07:00
UltraNix
6006eeeb01 asd 2021-12-07 15:57:39 +01:00
UltraNix
2cab3258bb 1st commit 2021-12-06 11:16:04 +01:00
146 changed files with 2074 additions and 2009 deletions

View File

@@ -31,7 +31,7 @@ body:
description: |
Do you have any logs or screenshots that can be useful?
Crash logs in text are preffered over screenshots.
If you have logs in text form please upload them to [Gist](https://gist.github.com/) or PasteBin and upload the link.
DO NOT POST THE FULL CRASH LOG IN THE ISSUE BODY. DO NOT UPLOAD TEXT FILES. USE [GITHUB GIST](https://gist.github.com/), PASTEBIN, OR ANY SIMILAR SERVICE INSTEAD.
validations:
required: false
- type: input

View File

@@ -10,7 +10,14 @@ on:
- synchronize
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:

View File

@@ -10,7 +10,14 @@ on:
- synchronize
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:

View File

@@ -24,7 +24,14 @@ permissions:
contents: read
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:

View File

@@ -16,7 +16,14 @@ on:
workflow_dispatch:
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:

View File

@@ -9,7 +9,14 @@ on:
- synchronize
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:

View File

@@ -9,7 +9,14 @@ on:
- synchronize
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:

View File

@@ -6,7 +6,14 @@ on:
branches: [ "Playerbot" ]
concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref_name }}, ${{ github.workflow }})
# One concurrency group per workflow + ref.
#
# - PRs use `refs/pull/<PR_NUMBER>/merge`, so new commits cancel older
# in-progress runs for the same PR.
# - When a PR is merged, a push to the target branch starts a new group,
# canceling any still-running PR CI.
# - Branch pushes are isolated by ref.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:

View File

@@ -1,10 +1,5 @@
# List of AUTHORS who contributed over time to the AzerothCore project
## Warning
The code of AzerothCore is shipped as it is without any form of warranty,
and - except for third party libraries licensed under the AGPL 3,
which you can read from the file "LICENSE".
## Point of current development
The project is currently hosted at https://www.azerothcore.org/ and developed under https://github.com/azerothcore

View File

@@ -258,4 +258,4 @@ COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build \
/azerothcore/env/dist/bin/vmap4_assembler /azerothcore/env/dist/bin/vmap4_assembler
COPY --chown=$DOCKER_USER:$DOCKER_USER --from=build \
/azerothcore/env/dist/bin/vmap4_extractor /azerothcore/env/dist/bin/vmap4_extractor
/azerothcore/env/dist/bin/vmap4_extractor /azerothcore/env/dist/bin/vmap4_extractor

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>
# Copyright (C) 2021+ WarheadCore <https://github.com/WarheadCore>
#
# This file is free software; as a special exception the author gives

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_09_05 -> 2025_11_10_00
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24539) AND (`source_type` = 0) AND (`id` IN (5));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24539, 0, 5, 0, 2, 1, 100, 513, 0, 50, 0, 0, 0, 0, 80, 2453900, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '"Silvermoon" Harry - Between 0-50% Health - Run Script (Phase 1) (No Repeat)');

View File

@@ -0,0 +1,4 @@
-- DB update 2025_11_10_00 -> 2025_11_10_01
--
UPDATE `quest_template` SET `RewardFactionValue1` = 5 WHERE (`ID` = 11472);
UPDATE `quest_template` SET `RewardFactionValue1` = 5, `RewardFactionOverride1` = 0 WHERE (`ID` = 11945);

View File

@@ -0,0 +1,4 @@
-- DB update 2025_11_10_01 -> 2025_11_10_02
--
DELETE FROM `game_event_gameobject` WHERE `eventEntry`=1 AND `guid`=5;
INSERT INTO `game_event_gameobject` (`eventEntry`, `guid`) VALUES(1, 5);

View File

@@ -0,0 +1,15 @@
-- DB update 2025_11_10_02 -> 2025_11_10_03
--
-- Increase grid searches to 60 from 40
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2572900) AND (`source_type` = 9) AND (`id` IN (2, 5));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(2572900, 9, 2, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, 25749, 60, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 7'),
(2572900, 9, 5, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25749, 60, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25618) AND (`source_type` = 0) AND (`id` IN (3, 4));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(25618, 0, 3, 4, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 15, 11705, 0, 0, 0, 0, 0, 18, 60, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Just Died - Quest Credit \'Foolish Endeavors\''),
(25618, 0, 4, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 25729, 60, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Just Died - Set Data 1 1');
-- Increase despawn time from 3 to 4 minutes
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2561800) AND (`source_type` = 9) AND (`id` IN (25));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(2561800, 9, 25, 0, 0, 0, 100, 0, 240000, 240000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25729, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant');

View File

@@ -0,0 +1,4 @@
-- DB update 2025_11_10_03 -> 2025_11_11_00
--
DELETE FROM `areatrigger_scripts` WHERE `entry`=5338;
INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES(5338, 'at_last_rites');

View File

@@ -0,0 +1,10 @@
-- DB update 2025_11_11_00 -> 2025_11_11_01
--
-- Update comments, remove action On Init AI set combat distance to 100
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 32767) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(32767, 0, 0, 0, 1, 0, 100, 0, 5000, 10000, 3000, 6000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 31406, 80, 0, 0, 0, 0, 0, 0, 'Frostbrood Sentry - Out of Combat - Start Attacking'),
(32767, 0, 1, 0, 1, 0, 100, 0, 5000, 10000, 3000, 6000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 32512, 80, 0, 0, 0, 0, 0, 0, 'Frostbrood Sentry - Out of Combat - Start Attacking'),
(32767, 0, 2, 0, 1, 0, 100, 0, 5000, 10000, 3000, 6000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 31838, 80, 0, 0, 0, 0, 0, 0, 'Frostbrood Sentry - Out of Combat - Start Attacking'),
(32767, 0, 3, 0, 1, 0, 100, 0, 5000, 10000, 3000, 6000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 32513, 80, 0, 0, 0, 0, 0, 0, 'Frostbrood Sentry - Out of Combat - Start Attacking'),
(32767, 0, 4, 0, 9, 0, 100, 0, 0, 0, 2000, 3000, 0, 40, 11, 60542, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Frostbrood Sentry - Within 0-40 Range - Cast \'Bitter Blast\'');

View File

@@ -0,0 +1,45 @@
-- DB update 2025_11_11_01 -> 2025_11_11_02
-- Update gameobject 'Wild Mustard' with sniffed values
-- updated spawns
DELETE FROM `gameobject` WHERE (`id` IN (192827)) AND (`guid` IN (100121, 100244, 100245, 100246, 100247, 100248, 100249, 100411, 100412, 57471, 57472, 57473, 57475, 57476, 57477, 57478, 57479, 57480, 57481, 57482, 57483));
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(100121, 192827, 571, 0, 0, 1, 1, 5985.08349609375, 664.72296142578125, 642.370849609375, 4.799657344818115234, 0, 0, -0.67558956146240234, 0.737277925014495849, 120, 255, 1, "", 45942, NULL),
(100244, 192827, 571, 0, 0, 1, 1, 5934.06103515625, 660.3663330078125, 642.92462158203125, 5.6897735595703125, 0, 0, -0.29237174987792968, 0.956304728984832763, 120, 255, 1, "", 46158, NULL),
(100245, 192827, 571, 0, 0, 1, 1, 5846.48681640625, 490.76507568359375, 657.25555419921875, 5.515241622924804687, 0, 0, -0.37460613250732421, 0.927184045314788818, 120, 255, 1, "", 46158, NULL),
(100246, 192827, 571, 0, 0, 1, 1, 5831.59619140625, 763.8204345703125, 640.30194091796875, 1.762782454490661621, 0, 0, 0.771624565124511718, 0.636078238487243652, 120, 255, 1, "", 46248, NULL),
(100247, 192827, 571, 0, 0, 1, 1, 5767.6494140625, 770.37530517578125, 640.4595947265625, 4.537858963012695312, 0, 0, -0.76604366302490234, 0.642788589000701904, 120, 255, 1, "", 46248, NULL),
(100248, 192827, 571, 0, 0, 1, 1, 5675.63232421875, 737.062744140625, 641.646484375, 6.265733242034912109, 0, 0, -0.00872611999511718, 0.999961912631988525, 120, 255, 1, "", 46158, NULL),
(100249, 192827, 571, 0, 0, 1, 1, 5666.18994140625, 708.8232421875, 641.72613525390625, 4.136432647705078125, 0, 0, -0.87881660461425781, 0.477159708738327026, 120, 255, 1, "", 46248, NULL),
(100411, 192827, 571, 0, 0, 1, 1, 5781.63525390625, 755.59454345703125, 640.60955810546875, 2.478367090225219726, 0, 0, 0.94551849365234375, 0.325568377971649169, 120, 255, 1, "", 45327, NULL),
(100412, 192827, 571, 0, 0, 1, 1, 5852.45068359375, 453.083984375, 657.54180908203125, 4.956737518310546875, 0, 0, -0.61566066741943359, 0.788011372089385986, 120, 255, 1, "", 46158, NULL),
(57471, 192827, 571, 0, 0, 1, 1, 5647.09130859375, 735.65777587890625, 641.70587158203125, 0.349065244197845458, 0, 0, 0.173647880554199218, 0.984807789325714111, 120, 255, 1, "", 46368, NULL),
(57472, 192827, 571, 0, 0, 1, 1, 5638.42333984375, 752.54632568359375, 641.62371826171875, 4.188792228698730468, 0, 0, -0.86602497100830078, 0.50000077486038208, 120, 255, 1, "", 46158, NULL),
(57473, 192827, 571, 0, 0, 1, 1, 5752.2802734375, 780.19390869140625, 640.46044921875, 4.852017402648925781, 0, 0, -0.65605831146240234, 0.754710197448730468, 120, 255, 1, "", 46248, NULL),
(57475, 192827, 571, 0, 0, 1, 1, 5989.67138671875, 648.40582275390625, 642.70916748046875, 5.235987663269042968, 0, 0, -0.5, 0.866025388240814208, 120, 255, 1, "", 46158, NULL),
(57476, 192827, 571, 0, 0, 1, 1, 5756.24072265625, 758.174072265625, 642.0474853515625, 1.884953022003173828, 0, 0, 0.809016227722167968, 0.587786316871643066, 120, 255, 1, "", 46248, NULL),
(57477, 192827, 571, 0, 0, 1, 1, 5865.57666015625, 774.6185302734375, 640.53057861328125, 3.194002151489257812, 0, 0, -0.99965667724609375, 0.026201646775007247, 120, 255, 1, "", 45327, NULL),
(57478, 192827, 571, 0, 0, 1, 1, 5824.08251953125, 493.727813720703125, 656.93402099609375, 4.729844093322753906, 0, 0, -0.70090866088867187, 0.713251054286956787, 120, 255, 1, "", 46158, NULL),
(57479, 192827, 571, 0, 0, 1, 1, 5797.42138671875, 480.68121337890625, 657.57318115234375, 0.453785061836242675, 0, 0, 0.224950790405273437, 0.974370121955871582, 120, 255, 1, "", 46158, NULL),
(57480, 192827, 571, 0, 0, 1, 1, 5826.56494140625, 738.85418701171875, 640.9478759765625, 4.363324165344238281, 0, 0, -0.81915187835693359, 0.573576688766479492, 120, 255, 1, "", 46158, NULL),
(57481, 192827, 571, 0, 0, 1, 1, 5950.203125, 696.5841064453125, 641.10589599609375, 5.166176319122314453, 0, 0, -0.52991867065429687, 0.84804844856262207, 120, 255, 1, "", 45327, NULL),
(57482, 192827, 571, 0, 0, 1, 1, 5810.0791015625, 620.439208984375, 647.71026611328125, 0.034906249493360519, 0, 0, 0.017452239990234375, 0.999847710132598876, 120, 255, 1, "", 45327, NULL),
(57483, 192827, 571, 0, 0, 1, 1, 5804.63623046875, 661.78125, 647.7073974609375, 4.014260292053222656, 0, 0, -0.90630722045898437, 0.422619491815567016, 120, 255, 1, "", 45327, NULL);
-- new spawns
DELETE FROM `gameobject` WHERE (`id` IN (192827)) AND (`guid` BETWEEN 1747 AND 1761);
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(1747, 192827, 571, 0, 0, 1, 1, 5629.560546875, 725.41082763671875, 641.70721435546875, 2.356194972991943359, 0, 0, 0.923879623413085937, 0.382683247327804565, 120, 255, 1, "", 46158, NULL),
(1748, 192827, 571, 0, 0, 1, 1, 5657.634765625, 742.97552490234375, 641.5999755859375, 4.9218292236328125, 0, 0, -0.62932014465332031, 0.77714616060256958, 120, 255, 1, "", 46158, NULL),
(1749, 192827, 571, 0, 0, 1, 1, 5731.98681640625, 780.482666015625, 641.66925048828125, 3.926995515823364257, 0, 0, -0.92387866973876953, 0.38268551230430603, 120, 255, 1, "", 46158, NULL),
(1750, 192827, 571, 0, 0, 1, 1, 5742.24658203125, 770.8905029296875, 641.83380126953125, 5.567600727081298828, 0, 0, -0.35020732879638671, 0.936672210693359375, 120, 255, 1, "", 46158, NULL),
(1751, 192827, 571, 0, 0, 1, 1, 5778.017578125, 463.560821533203125, 657.8570556640625, 4.677483558654785156, 0, 0, -0.71933937072753906, 0.694658815860748291, 120, 255, 1, "", 46158, NULL),
(1752, 192827, 571, 0, 0, 1, 1, 5784.9462890625, 631.62530517578125, 647.66748046875, 5.131268978118896484, 0, 0, -0.54463863372802734, 0.838670849800109863, 120, 255, 1, "", 46158, NULL),
(1753, 192827, 571, 0, 0, 1, 1, 5787.90966796875, 646.6329345703125, 647.23504638671875, 4.59021615982055664, 0, 0, -0.74895572662353515, 0.662620067596435546, 120, 255, 1, "", 46158, NULL),
(1754, 192827, 571, 0, 0, 1, 1, 5803.4375, 745.01226806640625, 640.465087890625, 6.248279094696044921, 0, 0, -0.01745223999023437, 0.999847710132598876, 120, 255, 1, "", 45327, NULL),
(1755, 192827, 571, 0, 0, 1, 1, 5822.33203125, 652.23858642578125, 647.3056640625, 4.537858963012695312, 0, 0, -0.76604366302490234, 0.642788589000701904, 120, 255, 1, "", 45327, NULL),
(1756, 192827, 571, 0, 0, 1, 1, 5823.8359375, 637.7987060546875, 647.76348876953125, 3.001946926116943359, 0, 0, 0.997563362121582031, 0.069766148924827575, 120, 255, 1, "", 45327, NULL),
(1757, 192827, 571, 0, 0, 1, 1, 5842.37451171875, 750.66656494140625, 640.692626953125, 1.727874636650085449, 0, 0, 0.760405540466308593, 0.649448513984680175, 120, 255, 1, "", 46158, NULL),
(1758, 192827, 571, 0, 0, 1, 1, 5845.6962890625, 463.094573974609375, 657.62591552734375, 1.623155713081359863, 0, 0, 0.725374221801757812, 0.688354730606079101, 120, 255, 1, "", 46158, NULL),
(1759, 192827, 571, 0, 0, 1, 1, 5847.68603515625, 772.54559326171875, 640.36090087890625, 1.256635904312133789, 0, 0, 0.587784767150878906, 0.809017360210418701, 120, 255, 1, "", 46158, NULL),
(1760, 192827, 571, 0, 0, 1, 1, 5934.53369140625, 682.52099609375, 642.21148681640625, 3.682650327682495117, 0, 0, -0.96362972259521484, 0.26724100112915039, 120, 255, 1, "", 45327, NULL),
(1761, 192827, 571, 0, 0, 1, 1, 5972.26416015625, 648.7425537109375, 642.43182373046875, 1.919861555099487304, 0, 0, 0.819151878356933593, 0.573576688766479492, 120, 255, 1, "", 46158, NULL);

View File

@@ -0,0 +1,21 @@
-- DB update 2025_11_11_02 -> 2025_11_11_03
--
SET @ARGENT_CRUSADE := 1106;
SET @KIRIN_TOR := 1090;
SET @KNIGHTS_OF_THE_EBON_BLADE := 1098;
SET @WYRMREST_ACCORD := 1091;
SET @ALLIANCE_VANGUARD := 1037;
SET @HORDE_EXPEDITION := 1052;
SET @SONS_OF_HODIR := 1119;
UPDATE `quest_template` SET `RewardFactionOverride1`=2200000 WHERE `ID` IN (12915, 12956);
UPDATE `quest_template` SET `RewardFactionOverride1`=0 WHERE `ID` IN (12924, 12975, 12976, 12977, 12981, 12985, 12987, 12994, 13001, 13003, 13010, 13011, 13046, 13108, 13420, 13421, 13559);
UPDATE `quest_template` SET `RewardFactionID1` = 0, `RewardFactionValue1` = 0, `RewardFactionOverride1` = 0 WHERE `ID` IN (12966, 12967);
UPDATE `reputation_reward_rate` SET `quest_rate`=1.3,`quest_daily_rate`=1.3,`quest_weekly_rate`=1.3,`quest_monthly_rate`=1.3,`quest_repeatable_rate`=1.3 WHERE `faction` IN (@ARGENT_CRUSADE, @KNIGHTS_OF_THE_EBON_BLADE, @KIRIN_TOR, @WYRMREST_ACCORD);
DELETE FROM `reputation_reward_rate` WHERE `faction` IN (@SONS_OF_HODIR, @ALLIANCE_VANGUARD, @HORDE_EXPEDITION);
INSERT INTO `reputation_reward_rate` (`faction`, `quest_rate`, `quest_daily_rate`, `quest_weekly_rate`, `quest_monthly_rate`, `quest_repeatable_rate`, `creature_rate`, `spell_rate`) VALUES
(@SONS_OF_HODIR, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3),
(@ALLIANCE_VANGUARD, 1.0, 1.0, 1.0, 1.0, 1.0, 1.3, 1.3),
(@HORDE_EXPEDITION, 1.0, 1.0, 1.0, 1.0, 1.0, 1.3, 1.3);

View File

@@ -0,0 +1,4 @@
-- DB update 2025_11_11_03 -> 2025_11_12_00
--
-- remove `DISABLE_MOVE`
UPDATE `creature_template` SET `unit_flags` = `unit_flags` & ~4 WHERE (`entry` = 28998);

View File

@@ -0,0 +1,10 @@
-- DB update 2025_11_12_00 -> 2025_11_12_01
--
-- Unliving Chocker
UPDATE `conditions` SET `ConditionTypeOrReference` = 8, `NegativeCondition` = 1, `Comment` = 'must not have completed quest \'Cleansing Drak\'Tharon\'' WHERE (`SourceTypeOrReferenceId` = 1) AND (`SourceGroup` = 28519) AND (`SourceEntry` = 38660) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 14) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 12238) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
-- Writhing Choker
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 1) AND (`SourceGroup` = 28519) AND (`SourceEntry` = 38673) AND (`SourceId` = 0) AND (`ElseGroup` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(1, 28519, 38673, 0, 0, 8, 0, 12238, 0, 0, 0, 0, 0, '', 'must have completed quest \'Cleansing Drak\'Tharon\''),
(1, 28519, 38673, 0, 0, 2, 0, 38660, 1, 1, 1, 0, 0, '', 'must not have item \'Unliving Chocker\''),
(1, 28519, 38673, 0, 0, 8, 0, 12631, 0, 0, 1, 0, 0, '', 'must not have completed quest \'An Invitation, of Sorts...\'');

View File

@@ -0,0 +1,64 @@
-- DB update 2025_11_12_01 -> 2025_11_12_02
--
SET @PLANE := 28710;
SET @PILOT := 28646;
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='', `speed_walk`=10, `speed_run`=1 WHERE `entry`=@PLANE;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28710);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(28710, 0, 1, 0, 60, 0, 100, 513, 1000, 1000, 0, 0, 0, 0, 53, 1, 28710, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Update - Start Waypoint Path 28710 (No Repeat)'),
(28710, 0, 2, 0, 40, 0, 100, 512, 5, 28710, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 5 of Path 28710 Reached - Say Line 0'),
(28710, 0, 3, 0, 40, 0, 100, 512, 11, 28710, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 11 of Path 28710 Reached - Say Line 1'),
(28710, 0, 4, 0, 40, 0, 100, 512, 12, 28710, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 12 of Path 28710 Reached - Say Line 2'),
(28710, 0, 5, 0, 40, 0, 100, 512, 14, 28710, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 14 of Path 28710 Reached - Say Line 3'),
(28710, 0, 6, 0, 40, 0, 100, 512, 15, 28710, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 15 of Path 28710 Reached - Say Line 4'),
(28710, 0, 7, 0, 40, 0, 100, 512, 17, 28710, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 17 of Path 28710 Reached - Say Line 5'),
(28710, 0, 8, 0, 40, 0, 100, 512, 21, 28710, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, 28646, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 21 of Path 28710 Reached - Say Line 6'),
(28710, 0, 9, 10, 40, 0, 100, 512, 25, 28710, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 25 of Path 28710 Reached - Say Line 0'),
(28710, 0, 10, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 52255, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 25 of Path 28710 Reached - Cast \'Engine on Fire\''),
(28710, 0, 11, 0, 28, 0, 100, 512, 0, 0, 0, 0, 0, 0, 134, 44795, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Passenger Removed - Invoker Cast \'Parachute\''),
(28710, 0, 12, 13, 8, 0, 100, 512, 52226, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Spellhit \'Land Flying Machine\' - Set Event Phase 2'),
(28710, 0, 13, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Spellhit \'Land Flying Machine\' - Cast \'Eject All Passengers\''),
(28710, 0, 14, 0, 40, 0, 100, 512, 26, 28710, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Point 26 of Path 28710 Reached - Set Run On'),
(28710, 0, 15, 0, 28, 2, 100, 512, 0, 0, 0, 0, 0, 0, 134, 53328, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Passenger Removed - Invoker Cast \'Land Flying Machine Credit\' (Phase 2)'),
(28710, 0, 16, 0, 11, 0, 100, 512, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Respawn - Set Event Phase 1'),
(28710, 0, 17, 0, 28, 1, 100, 512, 0, 0, 0, 0, 0, 0, 6, 12671, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Vic\'s Flying Machine - On Passenger Removed - Fail Quest \'Reconnaissance Flight\' (Phase 1)');
DELETE FROM `waypoint_data` WHERE `id`=@PLANE;
DELETE FROM `waypoints` WHERE `entry`=@PLANE;
INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
(@PLANE,1,5494.87,4747.031,-187.8783, 'Vic''s Flying Machine'),
(@PLANE,2,5485.906,4740.681,-184.5172, 'Vic''s Flying Machine'),
(@PLANE,3,5472.882,4732.441,-172.1562, 'Vic''s Flying Machine'),
(@PLANE,4,5460.913,4712.542,-157.8784, 'Vic''s Flying Machine'),
(@PLANE,5,5452.147,4673.518,-137.8906, 'Vic''s Flying Machine'),
(@PLANE,6,5449.777,4630.711,-126.6684, 'Vic''s Flying Machine'),
(@PLANE,7,5507.432,4506.089,-126.6684, 'Vic''s Flying Machine'),
(@PLANE,8,5586.811,4465.319,-126.6684, 'Vic''s Flying Machine'),
(@PLANE,9,5676.111,4437.874,-126.6684, 'Vic''s Flying Machine'),
(@PLANE,10,5756.449,4391.051,-91.25155, 'Vic''s Flying Machine'),
(@PLANE,11,5817.163,4269.269,-91.25155, 'Vic''s Flying Machine'),
(@PLANE,12,5856.145,4202.824,-68.29334, 'Vic''s Flying Machine'),
(@PLANE,13,5921.523,4105.534,-68.29334, 'Vic''s Flying Machine'),
(@PLANE,14,5995.021,4029.883,-13.97897, 'Vic''s Flying Machine'),
(@PLANE,15,6118.298,3883.733,94.11866, 'Vic''s Flying Machine'),
(@PLANE,16,6132.932,3750.75,176.5123, 'Vic''s Flying Machine'),
(@PLANE,17,6165.863,3748.196,198.9567, 'Vic''s Flying Machine'),
(@PLANE,18,6208.277,3782.189,196.8455, 'Vic''s Flying Machine'),
(@PLANE,19,6227.615,3836.871,191.6234, 'Vic''s Flying Machine'),
(@PLANE,20,6218.483,3885.17,191.6234, 'Vic''s Flying Machine'),
(@PLANE,21,6197.045,3890.053,191.6234, 'Vic''s Flying Machine'),
(@PLANE,22,6168.752,3864.161,191.6234, 'Vic''s Flying Machine'),
(@PLANE,23,6204.037,3807.239,191.6234, 'Vic''s Flying Machine'),
(@PLANE,24,6232.975,3820.852,191.6234, 'Vic''s Flying Machine'),
(@PLANE,25,6219.879,3854.341,166.6234, 'Vic''s Flying Machine'),
(@PLANE,26,6210.428,3855.185,154.4848, 'Vic''s Flying Machine');
UPDATE `creature_template_movement` SET `Swim`=1,`Ground`=1,`Flight`=2 WHERE `CreatureId`=@PLANE;
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` =14 AND `SourceGroup`=9750;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(14, 9750, 13376, 0, 0, 8, 0, 12671, 0, 0, 0, 0, 0, '', 'Pilot Vic Show different gossip if player has rewarded quest 12671 '),
(14, 9750, 13375, 0, 0, 8, 0, 12671, 0, 0, 1, 0, 0, '', 'Pilot Vic Show different gossip if player is not rewarded quest 12671');
DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (@PLANE);
INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`, `seat_id`, `minion`, `description`) VALUES
(@PLANE, @PILOT, 0, 1, 'Vics Flying Machine');

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_12_02 -> 2025_11_12_03
--
UPDATE `quest_offer_reward` SET `RewardText` = 'Aw yes, these will do nicely.$b$bJust plop them down anywhere. You can have some of my leftover stew from last night.' WHERE (`ID` = 11564);

View File

@@ -0,0 +1,36 @@
-- DB update 2025_11_12_03 -> 2025_11_12_04
--
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 1) AND (`SourceEntry` = 5440) AND (`SourceId` = 2) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 1) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 47219) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(22, 1, 5440, 2, 0, 1, 0, 47219, 0, 0, 0, 0, 0, '', 'Areatrigger 5440 require Cleared for Teleport (47219) ');
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 26619;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 26619);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26619, 0, 0, 1, 62, 0, 100, 0, 9415, 0, 0, 0, 0, 0, 11, 47219, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzcrank Paratrooper - On Gossip Option 0 Selected - Cast \'Cleared for Teleport\''),
(26619, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzcrank Paratrooper - On Gossip Option 0 Selected - Close Gossip'),
(26619, 0, 2, 0, 64, 0, 100, 0, 0, 0, 0, 0, 0, 0, 98, 9429, 12687, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzcrank Paratrooper - On Gossip Hello - Send Gossip'),
(26619, 0, 3, 4, 62, 0, 100, 0, 9429, 1, 0, 0, 0, 0, 11, 47326, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzcrank Paratrooper - On Gossip Option 1 Selected - Cast \'Create Item - Fizzcrank Practice Parachute\''),
(26619, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fizzcrank Paratrooper - On Gossip Option 1 Selected - Close Gossip');
DELETE FROM `areatrigger_scripts` WHERE `entry` = 5440;
INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES (5440, 'SmartTrigger');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 5440) AND (`source_type` = 2) AND (`id` IN (0));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(5440, 2, 0, 0, 46, 0, 100, 0, 5440, 0, 0, 0, 0, 0, 62, 571, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 4240.04, 5259.05, 72.3396, 2.274780035018921, 'Areatrigger - On Trigger - Teleport');
DELETE FROM `gossip_menu` WHERE `MenuID` = 9429;
INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES
(9429, 12687);
DELETE FROM `gossip_menu_option` WHERE (`OptionID`=1 AND `MenuID`=9429);
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
(9429, 1, 0, 'I\'ll show you! Give me that practice parachute!', 25923, 1, 1, 0, 0, 0, 0, NULL, 0, 64270);
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 3) AND (`SourceEntry` = 26619) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 30) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 188420) AND (`ConditionValue2` = 20) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(22, 3, 26619, 0, 0, 30, 0, 188420, 20, 0, 0, 0, 0, '', 'Requires Fizzcrank Parachute spell focus');
UPDATE `gameobject` SET `position_x` = 4227.6616, `position_y` = 5270.674, `position_z` = 71.928215 WHERE `guid` = 99767 AND `id` = 188420;

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_12_04 -> 2025_11_12_05
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 27292) AND (`source_type` = 0) AND (`id` IN (0, 1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27292, 0, 1, 2, 62, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 48606, 3, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Flamebringer - On Gossip Option 0 Selected - Cast \'Flamebringer Summon Cue\'');

View File

@@ -0,0 +1,11 @@
-- DB update 2025_11_12_05 -> 2025_11_12_06
-- Update AI
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27254;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27254);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27254, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 90, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Emerald Lasher - On Reset - Set Flag Standstate Submerged'),
(27254, 0, 1, 2, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 91, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Emerald Lasher - On Aggro - Remove FlagStandstate Submerged'),
(27254, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 37752, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Emerald Lasher - On Aggro - Cast \'Stand\''),
(27254, 0, 3, 0, 0, 0, 100, 0, 4000, 7000, 9000, 13000, 0, 0, 11, 51901, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Emerald Lasher - In Combat - Cast \'Dream Lash\'');

View File

@@ -0,0 +1,8 @@
-- DB update 2025_11_12_06 -> 2025_11_13_00
-- Update SmartAI
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27358;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27358);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27358, 0, 0, 0, 0, 0, 100, 0, 0, 0, 7000, 10000, 0, 0, 11, 51431, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Burning Depths Necromancer - In Combat - Cast \'Power Release\'');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_13_00 -> 2025_11_13_01
-- Delete SmartAI
UPDATE `creature_template` SET `AIName` = '' WHERE `entry` = 30066;
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 30066) AND (`source_type` = 0);

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_13_01 -> 2025_11_13_02
--
DELETE FROM `creature_template_movement` WHERE `CreatureId` = 27821;
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Flight`) VALUES
(27821, 1, 1);

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_13_02 -> 2025_11_13_03
--
DELETE FROM `spell_custom_attr` WHERE `spell_id` = 53094;
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
(53094, 0x00400000);

View File

@@ -0,0 +1,53 @@
-- DB update 2025_11_13_03 -> 2025_11_13_04
-- Set Sniffed Unit_flag (Vrykul Harpoon Gun)
UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ 4 WHERE (`entry` = 27992);
UPDATE `creature_template` SET `unit_flags` = `unit_flags` |33554432 WHERE (`entry` = 27992);
-- Set Sniffed Movement Flags (Vrykul Harpoon Gun & Dragonflayer Defender)
DELETE FROM `creature_template_movement` WHERE (`CreatureId` IN (24533, 27992));
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES
(24533, 0, 0, 1, 0, 0, 0, 0),
(27992, 0, 0, 0, 1, 0, 0, 0);
-- Update SmartAI (Vrykul Harpoon Gun)
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27992;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27992);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27992, 0, 0, 0, 27, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Passenger Boarded - Remove Flags Not Selectable'),
(27992, 0, 1, 0, 28, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Passenger Removed - Set Flags Not Selectable'),
(27992, 0, 2, 3, 38, 0, 100, 512, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 1 - Say Line 0'),
(27992, 0, 3, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2799200, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 1 - Run Script'),
(27992, 0, 4, 5, 38, 0, 100, 512, 1, 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 2 - Say Line 1'),
(27992, 0, 5, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2799201, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 2 - Run Script'),
(27992, 0, 6, 7, 38, 0, 100, 512, 1, 3, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 3 - Say Line 2'),
(27992, 0, 7, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2799202, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Data Set 1 3 - Run Script'),
(27992, 0, 8, 0, 31, 0, 100, 512, 43997, 0, 0, 0, 0, 0, 11, 43998, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Vrykul Harpoon Gun - On Target Spellhit \'Fiery Lance\' - Cast \'Fiery Lance\'');
-- Update Action Lists (sniffed Spawn Points)
DELETE FROM `smart_scripts` WHERE (`source_type` = 9) AND (`entryorguid` IN (2799200, 2799201, 2799202));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(2799200, 9, 0, 0, 0, 0, 100, 512, 3000, 3000, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1055.92, -5139.29, 177.646, 4.2569, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799200, 9, 1, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1011.96, -5124.65, 185.217, 4.2505, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799200, 9, 2, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1073.53, -5130.63, 209.704, 4.0369, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799200, 9, 3, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1127.55, -5177.06, 212.394, 4.1176, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799201, 9, 0, 0, 0, 0, 100, 512, 3000, 3000, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1091.66, -5150.43, 121.44, 4.0841, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799201, 9, 1, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1024.17, -5117.84, 141.756, 4.1904, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799201, 9, 2, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 964.811, -5123.2, 111.064, 3.997, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799202, 9, 0, 0, 0, 0, 100, 512, 3000, 3000, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1132.96, -5170, 261.992, 3.9751, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799202, 9, 1, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1115.01, -5161.58, 207.852, 4.3169, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\''),
(2799202, 9, 2, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 12, 24533, 4, 60000, 0, 1, 0, 8, 0, 0, 0, 0, 1168.37, -5220.4, 243.869, 3.7683, 'Vrykul Harpoon Gun - Actionlist - Summon Creature \'Dragonflayer Defender\'');
-- Set SmartAI (Dragonflayer Defender)
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24533;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24533);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24533, 0, 0, 0, 0, 0, 100, 0, 500, 1000, 2000, 2000, 0, 0, 11, 44188, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - In Combat - Cast \'Harpoon Toss\''),
(24533, 0, 1, 0, 8, 0, 100, 0, 43997, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Spellhit \'Fiery Lance\' - Kill Self'),
(24533, 0, 2, 3, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Just Summoned - Disable Evade'),
(24533, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 25, 0, 1, 0, 1, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Just Summoned - Move To Owner Or Summoner'),
(24533, 0, 4, 5, 34, 0, 100, 0, 0, 25, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Reached Point 25 - Set Home Position'),
(24533, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Reached Point 25 - Enable Evade'),
(24533, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonflayer Defender - On Reached Point 25 - Start Attacking');

View File

@@ -0,0 +1,4 @@
-- DB update 2025_11_13_04 -> 2025_11_13_05
-- Makes sure the Shaman player gets the required ritual toch item and that requires the quest to drop
UPDATE `item_loot_template` SET `Chance` = 0, `QuestRequired` = 1, `GroupId` = 1 WHERE `Entry` = 24336 AND `Item` = 23682;
UPDATE `item_loot_template` SET `Chance` = 0, `GroupId` = 2 WHERE `Entry` = 24336 AND `Item` = 24335;

View File

@@ -0,0 +1,9 @@
-- DB update 2025_11_13_05 -> 2025_11_14_00
--
DELETE FROM `spell_script_names` WHERE `spell_id` = 50380;
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(50380, 'spell_bloodspore_haze');
DELETE FROM `spell_custom_attr` WHERE `spell_id` = 50380;
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
(50380, 0x00400000);

View File

@@ -0,0 +1,6 @@
-- DB update 2025_11_14_00 -> 2025_11_14_01
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29445) AND (`source_type` = 0) AND (`id` IN (0, 1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(29445, 0, 0, 0, 62, 0, 100, 0, 9926, 0, 0, 0, 0, 0, 134, 56940, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Thorim - On Gossip Option 0 Selected - Invoker Cast \'Thorim Story Kill Credit\''),
(29445, 0, 1, 0, 19, 0, 100, 0, 12924, 0, 0, 0, 0, 0, 134, 56518, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Thorim - On Quest \'Forging an Alliance\' Taken - Invoker Cast \'Clearquests\'');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_14_01 -> 2025_11_14_02
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2943400) AND (`source_type` = 9) AND (`id` IN (2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(2943400, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 26, 12832, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 'Injured Goblin Miner - On Script - Quest Credit \'Bitter Departure\' (Stored Target)');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_14_02 -> 2025_11_14_03
--
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 17) AND (`SourceGroup` = 0) AND (`SourceEntry` = 55046) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 1) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 54894) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(17, 0, 55046, 0, 0, 1, 1, 54894, 0, 0, 0, 0, 0, '', 'Ice Shard require Icy Imprisionment');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_14_03 -> 2025_11_15_00
--
DELETE FROM `creature_loot_template` WHERE (`Entry` = 31231) AND (`Item` IN (42108));
INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(31231, 42108, 0, 33, 1, 1, 0, 1, 1, 'Lost Shandaral Spirit - Scourge Curio');

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_00 -> 2025_11_15_01
-- fix spell focus location for quest 'Will of the Titans'
UPDATE `gameobject` SET `position_x` = 5110.11, `position_y` = 5471.22, `position_z` = -91.84 WHERE `id` = 190781 AND `guid` = 99745;

View File

@@ -0,0 +1,6 @@
-- DB update 2025_11_15_01 -> 2025_11_15_02
--
DELETE FROM `creature_template_spell` WHERE (`CreatureID` = 35415);
INSERT INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
(35415, 0, 68068, 0),
(35415, 1, 67442, 0);

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_02 -> 2025_11_15_03
--
UPDATE `creature_template` SET `npcflag` = `npcflag` |65536 WHERE `entry` = 29944;

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_03 -> 2025_11_15_04
--
UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ 256 WHERE `entry` = 24787;

View File

@@ -0,0 +1,6 @@
-- DB update 2025_11_15_04 -> 2025_11_15_05
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 26841) AND (`source_type` = 0) AND (`id` IN (0, 1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26841, 0, 0, 0, 0, 0, 100, 0, 0, 0, 5000, 7000, 0, 0, 11, 47425, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Reanimated Frost Wyrm - In Combat - Cast \'Frost Breath\''),
(26841, 0, 1, 0, 8, 0, 100, 0, 49587, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Reanimated Frost Wyrm - On Spellhit \'Seeds of Nature`s Wrath\' - Start Attacking');

View File

@@ -0,0 +1,9 @@
-- DB update 2025_11_15_05 -> 2025_11_15_06
--
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceEntry` = 49765);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 7, 49765, 0, 0, 31, 0, 3, 27713, 0, 0, 0, 0, '', 'Fordragon Resolve target 7th Legion Elite'),
(13, 7, 49765, 0, 1, 31, 0, 3, 26780, 0, 0, 0, 0, '', 'Fordragon Resolve target 7th Legion Cleric'),
(13, 7, 49765, 0, 2, 31, 0, 3, 27587, 0, 0, 0, 0, '', 'Fordragon Resolve target Legion Commander Yorik'),
(13, 7, 49765, 0, 3, 31, 0, 3, 27858, 0, 0, 0, 0, '', 'Fordragon Resolve target Highlord Bolvar Fordragon'),
(13, 7, 49765, 0, 4, 32, 0, 16, 0, 0, 0, 0, 0, '', 'Fordragon Resolve target players');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_15_06 -> 2025_11_15_07
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2583500) AND (`source_type` = 9) AND (`id` IN (19));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(2583500, 9, 19, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 5000, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Nesingwary Trapper - Actionlist - Despawn In 5000 ms');

View File

@@ -0,0 +1,69 @@
-- DB update 2025_11_15_07 -> 2025_11_15_08
-- Set Creature Template Addon (Amberpine Woodsman)
DELETE FROM `creature_template_addon` WHERE (`entry` = 27293);
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(27293, 0, 0, 0, 1, 0, 0, '');
-- Update Spawn Points (Amberpine Woodsman)
UPDATE `creature` SET `position_x` = 3499.0676, `position_y` = -2838.0798, `position_z` = 202.27922, `orientation` = 2.89724, `Comment` = 'Has Guid SAI' WHERE (`id1` = 27293) AND (`guid` = 110578);
UPDATE `creature` SET `position_x` = 3497.1128, `position_y` = -2836.0088, `position_z` = 202.26859, `orientation` = 4.55530 WHERE (`id1` = 27293) AND (`guid` = 110579);
UPDATE `creature` SET `position_x` = 3474.6736, `position_y` = -2776.7188, `position_z` = 201.02751, `orientation` = 2.56563, `Comment` = 'Has Guid SAI' WHERE (`id1` = 27293) AND (`guid` = 110580);
UPDATE `creature` SET `position_x` = 3475.1519, `position_y` = -2774.3525, `position_z` = 200.75826, `orientation` = 3.59537 WHERE (`id1` = 27293) AND (`guid` = 110581);
UPDATE `creature` SET `position_x` = 3374.5999, `position_y` = -2805.997, `position_z` = 199.0484, `orientation` = 1.34390, `Comment` = 'Has Guid SAI' WHERE (`id1` = 27293) AND (`guid` = 110582);
UPDATE `creature` SET `position_x` = 3375.972, `position_y` = -2803.756, `position_z` = 199.01216, `orientation` = 3.99680 WHERE (`id1` = 27293) AND (`guid` = 110583);
UPDATE `creature` SET `position_x` = 3460.5964, `position_y` = -2902.6494, `position_z` = 201.07785, `orientation` = 5.89921, `Comment` = 'Has Guid SAI' WHERE (`id1` = 27293) AND (`guid` = 110602);
UPDATE `creature` SET `position_x` = 3460.07, `position_y` = -2904.9836, `position_z` = 201.10063, `orientation` = 0.52359 WHERE (`id1` = 27293) AND (`guid` = 110603);
UPDATE `creature` SET `position_x` = 3390.5305, `position_y` = -2862.014, `position_z` = 199.62068, `orientation` = 3.24631 WHERE (`id1` = 27293) AND (`guid` = 110604);
UPDATE `creature` SET `position_x` = 3390.0286, `position_y` = -2864.7012, `position_z` = 200.0756, `orientation` = 2.56563, `Comment` = 'Has Guid SAI' WHERE (`id1` = 27293) AND (`guid` = 110605);
-- Set Creature Addon (Amberpine Woodsman)
DELETE FROM `creature_addon` WHERE (`guid` IN (110578, 110579, 110580, 110581, 110582, 110583, 110602, 110603, 110604, 110605));
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(110578, 0, 0, 8, 0, 0, 0, NULL),
(110579, 0, 0, 0, 0, 133, 0, NULL),
(110580, 0, 0, 8, 0, 0, 0, NULL),
(110581, 0, 0, 0, 0, 133, 0, NULL),
(110582, 0, 0, 8, 0, 0, 0, NULL),
(110583, 0, 0, 0, 0, 133, 0, NULL),
(110602, 0, 0, 8, 0, 0, 0, NULL),
(110603, 0, 0, 0, 0, 133, 0, NULL),
(110604, 0, 0, 0, 0, 133, 0, NULL),
(110605, 0, 0, 8, 0, 0, 0, NULL);
-- Remove Script Name and set SmartAI (Amberpine Woodsman)
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE (`entry` = 27293);
-- Set Guid SmartAI
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-110578, -110580, -110582, -110602, -110605));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(-110578, 0, 0, 0, 1, 0, 100, 0, 1000, 3000, 500, 3000, 0, 0, 5, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amberpine Woodsman - Out of Combat - Play Emote 36'),
(-110580, 0, 0, 0, 1, 0, 100, 0, 1000, 3000, 500, 3000, 0, 0, 5, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amberpine Woodsman - Out of Combat - Play Emote 36'),
(-110582, 0, 0, 0, 1, 0, 100, 0, 1000, 3000, 500, 3000, 0, 0, 5, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amberpine Woodsman - Out of Combat - Play Emote 36'),
(-110602, 0, 0, 0, 1, 0, 100, 0, 1000, 3000, 500, 3000, 0, 0, 5, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amberpine Woodsman - Out of Combat - Play Emote 36'),
(-110605, 0, 0, 0, 1, 0, 100, 0, 1000, 3000, 500, 3000, 0, 0, 5, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amberpine Woodsman - Out of Combat - Play Emote 36');
-- Remove Script Name and set SmartAI (Tallhorn Stag)
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE (`entry` = 26363);
-- Set Comments (Tallhorn Stag)
UPDATE `creature` SET `Comment` = 'Has Personal SAI' WHERE (`id1` = 26363) AND (`guid` IN (119621, 119622, 119642, 119643, 119656));
-- Set Guid Sai (Tallhorn Stag)
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-119621, -119622, -119642, -119643, -119656));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(-119621, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 537166592, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Immune To Players & Immune To NPC\'s & Stunned & Prevent Emotes From Chat Text'),
(-119621, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Feign Death'),
(-119621, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 29266, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Cast \'Permanent Feign Death\''),
(-119622, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 537166592, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Immune To Players & Immune To NPC\'s & Stunned & Prevent Emotes From Chat Text'),
(-119622, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Feign Death'),
(-119622, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 29266, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Cast \'Permanent Feign Death\''),
(-119642, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 537166592, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Immune To Players & Immune To NPC\'s & Stunned & Prevent Emotes From Chat Text'),
(-119642, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Feign Death'),
(-119642, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 29266, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Cast \'Permanent Feign Death\''),
(-119643, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 537166592, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Immune To Players & Immune To NPC\'s & Stunned & Prevent Emotes From Chat Text'),
(-119643, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Feign Death'),
(-119643, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 29266, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Cast \'Permanent Feign Death\''),
(-119656, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 537166592, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Immune To Players & Immune To NPC\'s & Stunned & Prevent Emotes From Chat Text'),
(-119656, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Set Flags Feign Death'),
(-119656, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 29266, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Tallhorn Stag - On Respawn - Cast \'Permanent Feign Death\'');

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_08 -> 2025_11_15_09
UPDATE `creature_template` SET `flags_extra` = `flags_extra` |128 WHERE (`entry` = 25739);

View File

@@ -0,0 +1,9 @@
-- DB update 2025_11_15_09 -> 2025_11_15_10
--
DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 54076;
INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
(54076, 49511, 0, 'Taxi validate - Gryphon to Star Rest');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 26878) AND (`source_type` = 0) AND (`id` IN (3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26878, 0, 3, 0, 19, 0, 100, 0, 12440, 0, 0, 0, 0, 0, 11, 54076, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Rodney Wells - On Quest \'To Stars\' Rest!\' Taken - Cast \'Taxi to Stars` Rest Validate\'');

View File

@@ -0,0 +1,14 @@
-- DB update 2025_11_15_10 -> 2025_11_15_11
-- Add Immune To PC, Immune To Npc, Stunned, Prevent Emotes, Feign Death and remove All Dynamic Flags (Sniffed)
UPDATE `creature_template` SET `unit_flags` = `unit_flags` |256|512|262144|536870912, `unit_flags2` = `unit_flags2` |1, `dynamicflags` = 0 WHERE (`entry` = 26514);
-- Add Aura (Sniffed)
DELETE FROM `creature_template_addon` WHERE (`entry` = 26514);
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(26514, 0, 0, 0, 0, 0, 0, '29266');
-- Add Disable Gravity and Rooted (Sniffed)
DELETE FROM `creature_template_movement` WHERE (`CreatureId` = 26514);
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES
(26514, 0, 0, 1, 1, 0, 0, 0);

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_11 -> 2025_11_15_12
--
UPDATE `creature_loot_template` SET `Chance` = 100 WHERE `item` = 43159 AND `entry` = 30746;

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_15_12 -> 2025_11_15_13
--
DELETE FROM `spell_proc_event` WHERE `entry`= 45278;
INSERT INTO `spell_proc_event` (`entry`, `procFlags`) VALUES
(45278, 0x00004400|0x00010000);

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_15_13 -> 2025_11_15_14
DELETE FROM `smart_scripts` WHERE `entryorguid` = 27598 AND `source_type` = 0;
UPDATE `creature_template` SET `AIName` = '' WHERE `entry` = 27598;

View File

@@ -0,0 +1,31 @@
-- DB update 2025_11_15_14 -> 2025_11_15_15
--
SET @MAXSTANDING := 7;
SET @REPSUMMONS := 1;
SET @REPREGULAR := 4;
SET @REPHULK := 10;
SET @REPBOSS := 50;
DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (26553, 26554, 26550, 26555, 26668, 26669, 26670, 26672, 26685, 26683, 26684,
26686, 26687, 26692, 26690, 26691, 26693, 28368, 26696, 26694, 26861);
INSERT INTO `creature_onkill_reputation` (`creature_id`, `RewOnKillRepFaction1`, `RewOnKillRepFaction2`, `MaxStanding1`, `RewOnKillRepValue1`, `MaxStanding2`, `RewOnKillRepValue2`, `TeamDependent`) VALUES
(26550, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Dragonflayer Deathseeker
(26553, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Dragonflayer Fanatic
(26554, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Dragonflayer Seer
(26555, 1037, 1052, @MAXSTANDING, @REPHULK, @MAXSTANDING, @REPHULK, 1), -- Scourge Hulk
(26668, 1037, 1052, @MAXSTANDING, @REPBOSS, @MAXSTANDING, @REPBOSS, 1), -- Svala
(26669, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ymirjar Savage
(26670, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ymirjar Flesh Hunter
(26672, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Bloodthirsty Tundra Wolf
(26685, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Massive Jormungar
(26683, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Frenzied Worgen
(26684, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ravenous Furbog
(26686, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ferocious Rhino
(26687, 1037, 1052, @MAXSTANDING, @REPBOSS, @MAXSTANDING, @REPBOSS, 1), -- Gortok
(26692, 1037, 1052, @MAXSTANDING, @REPSUMMONS, @MAXSTANDING, @REPSUMMONS, 1), -- Ymirjar Harpooner (Skadi)
(26690, 1037, 1052, @MAXSTANDING, @REPSUMMONS, @MAXSTANDING, @REPSUMMONS, 1), -- Ymirjar Warrior (Skadi)
(26691, 1037, 1052, @MAXSTANDING, @REPSUMMONS, @MAXSTANDING, @REPSUMMONS, 1), -- Ymirjar Shaman (Skadi)
(26693, 1037, 1052, @MAXSTANDING, @REPBOSS, @MAXSTANDING, @REPBOSS, 1), -- Skadi
(28368, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ymirjar Necromancer
(26696, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ymirjar Berserker
(26694, 1037, 1052, @MAXSTANDING, @REPREGULAR, @MAXSTANDING, @REPREGULAR, 1), -- Ymirjar Dark Shaman
(26861, 1037, 1052, @MAXSTANDING, @REPBOSS, @MAXSTANDING, @REPBOSS, 1); -- Ymiron

View File

@@ -0,0 +1,10 @@
-- DB update 2025_11_15_15 -> 2025_11_16_00
--
SET @REPTRASH := 1;
SET @REPREGULAR := 5;
SET @REPHULK := 10;
SET @REPBOSS := 50;
UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = @REPTRASH, `RewOnKillRepValue2` = @REPTRASH WHERE `creature_id` IN (27636, 27638);
UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = @REPREGULAR, `RewOnKillRepValue2` = @REPREGULAR WHERE `creature_id` IN (26550, 26553, 26554, 26669, 26670, 26672, 26685, 26683, 26684, 26686, 28368, 26696, 26694); -- UP
UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = @REPREGULAR, `RewOnKillRepValue2` = @REPREGULAR WHERE `creature_id` IN (27635, 27633, 27641, 27639, 27640, 27653, 27651, 27650, 27648, 27647, 27649, 27645, 27644, 27642); -- Oculus
UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = @REPBOSS, `RewOnKillRepValue2` = @REPBOSS WHERE `creature_id` IN (27654, 27447, 27655, 27656);

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_16_00 -> 2025_11_16_01
--
UPDATE `quest_template_addon` SET `PrevQuestID` = 12611 WHERE (`ID` = 12805);

View File

@@ -0,0 +1,3 @@
-- DB update 2025_11_16_01 -> 2025_11_16_02
--
UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE (`ID` = 12827);

View File

@@ -0,0 +1,19 @@
-- DB update 2025_11_16_02 -> 2025_11_17_00
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24825) AND (`source_type` = 0) AND (`id` IN (2, 3, 4, 5, 6, 7));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24825, 0, 2, 0, 72, 0, 100, 512, 1, 0, 0, 0, 0, 0, 53, 2, 24826, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 1 Done - Start Waypoint Path 24826'),
(24825, 0, 3, 0, 72, 0, 100, 512, 2, 0, 0, 0, 0, 0, 53, 2, 24827, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 2 Done - Start Waypoint Path 24827'),
(24825, 0, 4, 0, 72, 0, 100, 512, 3, 0, 0, 0, 0, 0, 53, 2, 24828, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 3 Done - Start Waypoint Path 24828'),
(24825, 0, 5, 0, 72, 0, 100, 512, 4, 0, 0, 0, 0, 0, 53, 2, 24831, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 4 Done - Start Waypoint Path 24831'),
(24825, 0, 6, 0, 72, 0, 100, 512, 5, 0, 0, 0, 0, 0, 53, 2, 24829, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 5 Done - Start Waypoint Path 24829'),
(24825, 0, 7, 0, 72, 0, 100, 512, 6, 0, 0, 0, 0, 0, 53, 2, 24832, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Rune Construct - On Action 6 Done - Start Waypoint Path 24832');
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` IN (24826, 24827, 24828, 24829, 24831, 24832));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24826, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 1'),
(24827, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 2'),
(24828, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 3, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 3'),
(24831, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 4, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 4'),
(24829, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 5, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 5'),
(24832, 0, 0, 0, 8, 0, 100, 0, 44608, 0, 0, 0, 0, 0, 223, 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'On Spellhit \'Rocket Jump\' - Do Action 6');

View File

@@ -0,0 +1,5 @@
-- DB update 2025_11_17_00 -> 2025_11_17_01
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 27292) AND (`source_type` = 0) AND (`id` IN (1));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27292, 0, 1, 2, 62, 0, 100, 512, 9512, 0, 0, 0, 0, 0, 11, 48606, 3, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Flamebringer - On Gossip Option 0 Selected - Cast \'Flamebringer Summon Cue\'');

View File

@@ -0,0 +1,22 @@
-- DB update 2025_11_17_01 -> 2025_11_17_02
-- Set Spelldifficulty
DELETE FROM `spelldifficulty_dbc` WHERE (`ID` IN (52534, 52535));
INSERT INTO `spelldifficulty_dbc` (`ID`,`DifficultySpellID_1`,`DifficultySpellID_2`,`DifficultySpellID_3`,`DifficultySpellID_4`) VALUES
(52534, 52534, 59357, 0, 0),
(52535, 52535, 59358, 0, 0);
-- Update SmartAIs (call for help and comments).
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE (`entry` IN (28732, 28733, 28734));
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (28732, 28733, 28734));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(28732, 0, 0, 0, 0, 0, 100, 0, 2000, 5000, 6000, 8000, 0, 0, 11, 52532, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Warrior - In Combat - Cast \'Strike\''),
(28732, 0, 1, 0, 0, 0, 100, 0, 2000, 10000, 15000, 15000, 0, 0, 11, 49806, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Warrior - In Combat - Cast \'Cleave\''),
(28732, 0, 2, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 39, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Warrior - On Aggro - Call For Help'),
(28733, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2000, 2500, 0, 0, 11, 52534, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Shadowcaster - In Combat - Cast \'Shadow Bolt\''),
(28733, 0, 1, 0, 0, 0, 100, 0, 6000, 12000, 12000, 20000, 0, 0, 11, 52535, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Shadowcaster - In Combat - Cast \'Shadow Nova\''),
(28733, 0, 2, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 39, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Shadowcaster - On Aggro - Call For Help'),
(28734, 0, 0, 0, 67, 0, 100, 0, 7000, 7000, 7000, 7000, 0, 5, 11, 52540, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Skirmisher - On Behind Target - Cast \'Backstab\''),
(28734, 0, 1, 0, 0, 0, 100, 0, 5000, 10000, 15000, 15000, 0, 0, 11, 52536, 0, 0, 0, 0, 0, 5, 40, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Skirmisher - In Combat - Cast \'Fixate Trigger\''),
(28734, 0, 2, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 39, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Skirmisher - On Aggro - Call For Help');

View File

@@ -0,0 +1,8 @@
-- DB update 2025_11_17_02 -> 2025_11_17_03
--
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 26814) AND (`source_type` = 0) AND (`id` IN (2, 4, 21, 32));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26814, 0, 2, 32, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 71, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Harrison Jones - On Respawn - Change Equipment'),
(26814, 0, 4, 21, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 'Harrison Jones - On Quest \'Dun-da-Dun-tah!\' Taken - Store Targetlist'),
(26814, 0, 21, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Harrison Jones - On Quest \'Dun-da-Dun-tah!\' Taken - Remove Npc Flags Questgiver'),
(26814, 0, 32, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 82, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Harrison Jones - On Respawn - Add Npc Flags Questgiver');

View File

@@ -0,0 +1,3 @@
-- DB update 2026_01_06_00 -> 2026_01_06_01
-- Bonestripper Vulture, Castflag 0 to 32 "Only casts the spell if the target does not have an aura from the spell"
UPDATE `smart_scripts` SET `action_param2` = `action_param2` | 32 WHERE `entryorguid` = 16973 AND `source_type` = 0 AND `id` = 0;

View File

@@ -0,0 +1,37 @@
-- DB update 2026_01_06_01 -> 2026_01_07_00
--
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 30134);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(30134, 0, 0, 13, 27, 0, 100, 512, 0, 0, 0, 0, 0, 0, 53, 2, 30134, 0, 0, 500, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Passenger Boarded - Start Waypoint Path 30134'),
(30134, 0, 1, 0, 28, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Passenger Removed - Despawn Instant'),
(30134, 0, 2, 0, 40, 0, 100, 512, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 2 of Path Any Reached - Say Line 0'),
(30134, 0, 3, 0, 40, 0, 100, 512, 8, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 8 of Path Any Reached - Say Line 1'),
(30134, 0, 4, 0, 40, 0, 100, 512, 16, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 16 of Path Any Reached - Say Line 2'),
(30134, 0, 5, 0, 40, 0, 100, 512, 22, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 22 of Path Any Reached - Say Line 3'),
(30134, 0, 6, 0, 40, 0, 100, 512, 37, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 37 of Path Any Reached - Say Line 4'),
(30134, 0, 7, 0, 40, 0, 100, 512, 47, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 47 of Path Any Reached - Say Line 5'),
(30134, 0, 8, 0, 40, 0, 100, 512, 53, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 53 of Path Any Reached - Say Line 6'),
(30134, 0, 9, 0, 40, 0, 100, 512, 57, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 57 of Path Any Reached - Say Line 7'),
(30134, 0, 10, 0, 40, 0, 100, 512, 65, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 19, 30107, 5, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 65 of Path Any Reached - Say Line 8'),
(30134, 0, 11, 12, 40, 0, 100, 512, 72, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 72 of Path Any Reached - Remove Auras'),
(30134, 0, 12, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 56675, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Point 72 of Path Any Reached - Cast \'Summon Brann Bronzebeard\''),
(30134, 0, 13, 14, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 18, 16777216, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Passenger Boarded - Set Flags Player Controlled'),
(30134, 0, 14, 15, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Passenger Boarded - Stop Attacking'),
(30134, 0, 15, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 44, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Passenger Boarded - Set PhaseMask 7'),
(30134, 0, 16, 0, 60, 0, 100, 0, 3600, 3600, 3600, 3600, 0, 0, 86, 55089, 1, 19, 30136, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Brann\'s Flying Machine - On Update, Condition: Not Currently Boarded - Cross Cast \'Mount Brann`s Flying Machine\'');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 17) AND (`SourceEntry` = 30134) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 29) AND (`ConditionTarget` = 1) AND (`ConditionValue1` = 30136) AND (`ConditionValue2` = 5) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(22, 17, 30134, 0, 0, 29, 1, 30136, 5, 0, 1, 0, 0, '', 'Only allow boarding if there are no current boarders for quest Bronzebeard Brothers');
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 30136);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(30136, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormforged Soldier - On Just Died - Exit Vehicle'),
(30136, 0, 1, 0, 10, 0, 100, 0, 0, 100, 10000, 10000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormforged Soldier - Within 0-100 Range Out of Combat LoS - Start Attacking'),
(30136, 0, 2, 0, 0, 0, 25, 1, 0, 500, 0, 0, 0, 0, 11, 56621, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormforged Soldier - In Combat - Cast \'Thunder Orb\' Hit (No Repeat)'),
(30136, 0, 3, 0, 0, 0, 100, 0, 3000, 5000, 4000, 6000, 0, 0, 11, 56622, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormforged Soldier - In Combat - Cast \'Thunder Orb\' Miss');
-- DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` = 30134 AND `spell_id` IN (52391, 55089); -- Breaking Brann, I think
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 55089) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 30134) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 55089, 0, 0, 31, 0, 3, 30134, 0, 0, 0, 0, '', '55089 \'Mount Brann\'s Flying Machine\' Targets Brann\'s Flying Machine (30134)');

View File

@@ -0,0 +1,3 @@
-- DB update 2026_01_07_00 -> 2026_01_07_01
--
UPDATE `quest_template_addon` SET `SpecialFlags` = `SpecialFlags`|1 WHERE (`ID` = 13845);

View File

@@ -0,0 +1,9 @@
-- DB update 2026_01_07_01 -> 2026_01_07_02
--
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 7) AND (`SourceEntry` = 54469) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 29333) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 7, 54469, 0, 0, 31, 0, 3, 29333, 0, 0, 0, 0, '', 'Only useful versus Onslaught Gryphon Rider.');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 74541) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 29333) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 74541, 0, 0, 31, 0, 3, 29333, 0, 0, 0, 0, '', 'Only useful versus Onslaught Gryphon Rider.');

View File

@@ -0,0 +1,9 @@
-- DB update 2026_01_07_02 -> 2026_01_08_00
--
UPDATE `creature_summon_groups` SET `summonType` = 6, `summonTime` = 60000 WHERE `summonerId` = 32239 AND `summonerType` = 0 AND `groupId` = 1;
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 32312);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(32312, 0, 0, 0, 0, 0, 100, 0, 3000, 4000, 10000, 10000, 0, 0, 11, 58843, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Highlord Darion Mograine - In Combat - Cast \'Plague Strike\''),
(32312, 0, 1, 0, 0, 0, 100, 0, 7000, 8000, 10000, 10000, 0, 0, 11, 59011, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Highlord Darion Mograine - In Combat - Cast \'Icy Touch\''),
(32312, 0, 2, 0, 1, 0, 100, 512, 3600, 3600, 3600, 3600, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 32239, 20, 0, 0, 0, 0, 0, 0, 'Highlord Darion Mograine - Out of Combat - Set Data 1 1');

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without

View File

@@ -1,7 +0,0 @@
### Added
- New hook for OnQuestComputeXP(). The intended use is to change the XP values for certain quests programmatically. The hook is triggered after XP calculation and before rewarding XP or gold to the player.
### How to upgrade
- No special changes needed. The new hook is available for use and should not interfere with any existing hooks or logic.

View File

@@ -70,6 +70,7 @@ private:
{
tree.clear();
objects.clear();
bounds = G3D::AABox::empty();
// create space for the first node
tree.push_back(3u << 30u); // dummy leaf
tree.insert(tree.end(), 2, 0);
@@ -116,6 +117,7 @@ public:
delete[] dat.indices;
}
[[nodiscard]] uint32 primCount() const { return objects.size(); }
G3D::AABox const& bound() const { return bounds; }
template<typename RayCallback>
void intersectRay(const G3D::Ray& r, RayCallback& intersectCallback, float& maxDist, bool stopAtFirstHit) const

View File

@@ -170,25 +170,6 @@ private:
VMAP::ModelIgnoreFlags _ignoreFlags;
};
struct DynamicTreeAreaInfoCallback
{
DynamicTreeAreaInfoCallback(uint32 phaseMask) : _phaseMask(phaseMask) { }
void operator()(G3D::Vector3 const& p, GameObjectModel const& obj)
{
obj.IntersectPoint(p, _areaInfo, _phaseMask);
}
VMAP::AreaInfo const& GetAreaInfo() const
{
return _areaInfo;
}
private:
uint32 _phaseMask;
VMAP::AreaInfo _areaInfo;
};
struct DynamicTreeLocationInfoCallback
{
DynamicTreeLocationInfoCallback(uint32 phaseMask)
@@ -308,24 +289,7 @@ float DynamicMapTree::getHeight(float x, float y, float z, float maxSearchDist,
}
}
bool DynamicMapTree::GetAreaInfo(float x, float y, float& z, uint32 phasemask, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
{
G3D::Vector3 v(x, y, z + 0.5f);
DynamicTreeAreaInfoCallback intersectionCallBack(phasemask);
impl->intersectPoint(v, intersectionCallBack);
if (intersectionCallBack.GetAreaInfo().result)
{
flags = intersectionCallBack.GetAreaInfo().flags;
adtId = intersectionCallBack.GetAreaInfo().adtId;
rootId = intersectionCallBack.GetAreaInfo().rootId;
groupId = intersectionCallBack.GetAreaInfo().groupId;
z = intersectionCallBack.GetAreaInfo().ground_Z;
return true;
}
return false;
}
void DynamicMapTree::GetAreaAndLiquidData(float x, float y, float z, uint32 phasemask, uint8 reqLiquidType, VMAP::AreaAndLiquidData& data) const
bool DynamicMapTree::GetAreaAndLiquidData(float x, float y, float z, uint32 phasemask, Optional<uint8> reqLiquidType, VMAP::AreaAndLiquidData& data) const
{
G3D::Vector3 v(x, y, z + 0.5f);
DynamicTreeLocationInfoCallback intersectionCallBack(phasemask);
@@ -335,13 +299,16 @@ void DynamicMapTree::GetAreaAndLiquidData(float x, float y, float z, uint32 phas
data.floorZ = intersectionCallBack.GetLocationInfo().ground_Z;
uint32 liquidType = intersectionCallBack.GetLocationInfo().hitModel->GetLiquidType();
float liquidLevel;
if (!reqLiquidType || (dynamic_cast<VMAP::VMapMgr2*>(VMAP::VMapFactory::createOrGetVMapMgr())->GetLiquidFlagsPtr(liquidType) & reqLiquidType))
if (!reqLiquidType || (dynamic_cast<VMAP::VMapMgr2*>(VMAP::VMapFactory::createOrGetVMapMgr())->GetLiquidFlagsPtr(liquidType) & *reqLiquidType))
if (intersectionCallBack.GetHitModel()->GetLiquidLevel(v, intersectionCallBack.GetLocationInfo(), liquidLevel))
data.liquidInfo.emplace(liquidType, liquidLevel);
data.areaInfo.emplace(0,
data.areaInfo.emplace(intersectionCallBack.GetLocationInfo().hitModel->GetWmoID(),
0,
intersectionCallBack.GetLocationInfo().rootId,
intersectionCallBack.GetLocationInfo().hitModel->GetWmoID(),
intersectionCallBack.GetLocationInfo().hitModel->GetMogpFlags());
intersectionCallBack.GetLocationInfo().hitModel->GetMogpFlags(),
0);
return true;
}
return false;
}

View File

@@ -19,6 +19,7 @@
#define _DYNTREE_H
#include "Define.h"
#include "Optional.h"
namespace G3D
{
@@ -47,8 +48,7 @@ public:
bool GetIntersectionTime(uint32 phasemask, const G3D::Ray& ray, const G3D::Vector3& endPos, float& maxDist) const;
bool GetAreaInfo(float x, float y, float& z, uint32 phasemask, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const;
void GetAreaAndLiquidData(float x, float y, float z, uint32 phasemask, uint8 reqLiquidType, VMAP::AreaAndLiquidData& data) const;
bool GetAreaAndLiquidData(float x, float y, float z, uint32 phasemask, Optional<uint8> reqLiquidType, VMAP::AreaAndLiquidData& data) const;
bool GetObjectHitPos(uint32 phasemask, const G3D::Vector3& pPos1,
const G3D::Vector3& pPos2, G3D::Vector3& pResultHitPos,

View File

@@ -52,20 +52,23 @@ namespace VMAP
{
struct AreaInfo
{
AreaInfo(int32 _adtId, int32 _rootId, int32 _groupId, uint32 _flags)
: adtId(_adtId), rootId(_rootId), groupId(_groupId), mogpFlags(_flags) { }
int32 const adtId;
int32 const rootId;
int32 const groupId;
uint32 const mogpFlags;
AreaInfo() = default;
AreaInfo(int32 _groupId, int32 _adtId, int32 _rootId, uint32 _mogpFlags, uint32 _uniqueId)
: groupId(_groupId), adtId(_adtId), rootId(_rootId), mogpFlags(_mogpFlags), uniqueId(_uniqueId) { }
int32 groupId = 0;
int32 adtId = 0;
int32 rootId = 0;
uint32 mogpFlags = 0;
uint32 uniqueId = 0;
};
struct LiquidInfo
{
LiquidInfo() = default;
LiquidInfo(uint32 _type, float _level)
: type(_type), level(_level) {}
uint32 const type;
float const level;
uint32 type = 0;
float level = 0.0f;
};
float floorZ = VMAP_INVALID_HEIGHT;
@@ -120,14 +123,12 @@ namespace VMAP
[[nodiscard]] bool isMapLoadingEnabled() const { return (iEnableLineOfSightCalc || iEnableHeightCalc ); }
[[nodiscard]] virtual std::string getDirFileName(unsigned int pMapId, int x, int y) const = 0;
/**
Query world model area info.
\param z gets adjusted to the ground height for which this are info is valid
*/
virtual bool GetAreaInfo(uint32 pMapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const = 0;
virtual bool GetLiquidLevel(uint32 pMapId, float x, float y, float z, uint8 ReqLiquidType, float& level, float& floor, uint32& type, uint32& mogpFlags) const = 0;
// get both area + liquid data in a single vmap lookup
virtual void GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, AreaAndLiquidData& data) const = 0;
virtual bool GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, Optional<uint8> reqLiquidType, AreaAndLiquidData& data) const = 0;
};
}

View File

@@ -138,8 +138,7 @@ namespace MMAP
uint32 packedGridPos = packTileID(x, y);
if (mmap->loadedTileRefs.find(packedGridPos) != mmap->loadedTileRefs.end())
{
// Peiru: Commented out for now because Playerbots system uses this method to load or check loaded maps and will spam logs
// LOG_ERROR("maps", "MMAP:loadMap: Asked to load already loaded navmesh tile. {:03}{:02}{:02}.mmtile", mapId, x, y);
LOG_ERROR("maps", "MMAP:loadMap: Asked to load already loaded navmesh tile. {:03}{:02}{:02}.mmtile", mapId, x, y);
return false;
}

View File

@@ -253,70 +253,8 @@ namespace VMAP
return VMAP_INVALID_HEIGHT_VALUE;
}
bool VMapMgr2::GetAreaInfo(uint32 mapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
bool VMapMgr2::GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, Optional<uint8> reqLiquidType, AreaAndLiquidData& data) const
{
#if defined(ENABLE_VMAP_CHECKS)
if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_AREAFLAG))
#endif
{
InstanceTreeMap::const_iterator instanceTree = GetMapTree(mapId);
if (instanceTree != iInstanceMapTrees.end())
{
Vector3 pos = convertPositionToInternalRep(x, y, z);
bool result = instanceTree->second->GetAreaInfo(pos, flags, adtId, rootId, groupId);
// z is not touched by convertPositionToInternalRep(), so just copy
z = pos.z;
return result;
}
}
return false;
}
bool VMapMgr2::GetLiquidLevel(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, float& level, float& floor, uint32& type, uint32& mogpFlags) const
{
#if defined(ENABLE_VMAP_CHECKS)
if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_LIQUIDSTATUS))
#endif
{
InstanceTreeMap::const_iterator instanceTree = GetMapTree(mapId);
if (instanceTree != iInstanceMapTrees.end())
{
LocationInfo info;
Vector3 pos = convertPositionToInternalRep(x, y, z);
if (instanceTree->second->GetLocationInfo(pos, info))
{
floor = info.ground_Z;
ASSERT(floor < std::numeric_limits<float>::max());
type = info.hitModel->GetLiquidType(); // entry from LiquidType.dbc
mogpFlags = info.hitModel->GetMogpFlags();
if (reqLiquidType && !(GetLiquidFlagsPtr(type) & reqLiquidType))
{
return false;
}
if (info.hitInstance->GetLiquidLevel(pos, info, level))
{
return true;
}
}
}
}
return false;
}
void VMapMgr2::GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, AreaAndLiquidData& data) const
{
if (IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_LIQUIDSTATUS))
{
data.floorZ = z;
int32 adtId, rootId, groupId;
uint32 flags;
if (GetAreaInfo(mapId, x, y, data.floorZ, flags, adtId, rootId, groupId))
data.areaInfo.emplace(adtId, rootId, groupId, flags);
return;
}
InstanceTreeMap::const_iterator instanceTree = GetMapTree(mapId);
if (instanceTree != iInstanceMapTrees.end())
{
@@ -325,16 +263,22 @@ namespace VMAP
if (instanceTree->second->GetLocationInfo(pos, info))
{
data.floorZ = info.ground_Z;
uint32 liquidType = info.hitModel->GetLiquidType();
float liquidLevel;
if (!reqLiquidType || (GetLiquidFlagsPtr(liquidType) & reqLiquidType))
if (info.hitInstance->GetLiquidLevel(pos, info, liquidLevel))
data.liquidInfo.emplace(liquidType, liquidLevel);
if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_LIQUIDSTATUS))
{
uint32 liquidType = info.hitModel->GetLiquidType(); // entry from LiquidType.dbc
float liquidLevel;
if (!reqLiquidType || (GetLiquidFlagsPtr(liquidType) & *reqLiquidType))
if (info.hitInstance->GetLiquidLevel(pos, info, liquidLevel))
data.liquidInfo.emplace(liquidType, liquidLevel);
}
if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_AREAFLAG))
data.areaInfo.emplace(info.hitInstance->adtId, info.rootId, info.hitModel->GetWmoID(), info.hitModel->GetMogpFlags());
data.areaInfo.emplace(info.hitModel->GetWmoID(), info.hitInstance->adtId, info.rootId, info.hitModel->GetMogpFlags(), info.hitInstance->ID);
return true;
}
}
return false;
}
WorldModel* VMapMgr2::acquireModelInstance(const std::string& basepath, const std::string& filename, uint32 flags/* Only used when creating the model */)

View File

@@ -115,9 +115,7 @@ namespace VMAP
bool processCommand(char* /*command*/) override { return false; } // for debug and extensions
bool GetAreaInfo(uint32 pMapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const override;
bool GetLiquidLevel(uint32 pMapId, float x, float y, float z, uint8 reqLiquidType, float& level, float& floor, uint32& type, uint32& mogpFlags) const override;
void GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, AreaAndLiquidData& data) const override;
bool GetAreaAndLiquidData(uint32 mapId, float x, float y, float z, Optional<uint8> reqLiquidType, AreaAndLiquidData& data) const override;
WorldModel* acquireModelInstance(const std::string& basepath, const std::string& filename, uint32 flags);
void releaseModelInstance(const std::string& filename);

View File

@@ -51,22 +51,6 @@ namespace VMAP
bool hit;
};
class AreaInfoCallback
{
public:
AreaInfoCallback(ModelInstance* val): prims(val) {}
void operator()(const Vector3& point, uint32 entry)
{
#if defined(VMAP_DEBUG)
LOG_DEBUG("maps", "AreaInfoCallback: trying to intersect '{}'", prims[entry].name);
#endif
prims[entry].intersectPoint(point, aInfo);
}
ModelInstance* prims;
AreaInfo aInfo;
};
class LocationInfoCallback
{
public:
@@ -99,22 +83,6 @@ namespace VMAP
return tilefilename.str();
}
bool StaticMapTree::GetAreaInfo(Vector3& pos, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
{
AreaInfoCallback intersectionCallBack(iTreeValues);
iTree.intersectPoint(pos, intersectionCallBack);
if (intersectionCallBack.aInfo.result)
{
flags = intersectionCallBack.aInfo.flags;
adtId = intersectionCallBack.aInfo.adtId;
rootId = intersectionCallBack.aInfo.rootId;
groupId = intersectionCallBack.aInfo.groupId;
pos.z = intersectionCallBack.aInfo.ground_Z;
return true;
}
return false;
}
bool StaticMapTree::GetLocationInfo(const Vector3& pos, LocationInfo& info) const
{
LocationInfoCallback intersectionCallBack(iTreeValues, info);

View File

@@ -30,6 +30,12 @@ namespace VMAP
enum class ModelIgnoreFlags : uint32;
enum class LoadResult : uint8;
struct GroupLocationInfo
{
const GroupModel* hitModel = nullptr;
int32 rootId = -1;
};
struct LocationInfo
{
LocationInfo(): ground_Z(-G3D::inf()) { }
@@ -73,7 +79,6 @@ namespace VMAP
[[nodiscard]] bool isInLineOfSight(const G3D::Vector3& pos1, const G3D::Vector3& pos2, ModelIgnoreFlags ignoreFlags) const;
bool GetObjectHitPos(const G3D::Vector3& pos1, const G3D::Vector3& pos2, G3D::Vector3& pResultHitPos, float pModifyDist) const;
[[nodiscard]] float getHeight(const G3D::Vector3& pPos, float maxSearchDist) const;
bool GetAreaInfo(G3D::Vector3& pos, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const;
bool GetLocationInfo(const G3D::Vector3& pos, LocationInfo& info) const;
bool InitMap(const std::string& fname, VMapMgr2* vm);

View File

@@ -203,27 +203,6 @@ bool GameObjectModel::intersectRay(const G3D::Ray& ray, float& MaxDist, bool Sto
return hit;
}
void GameObjectModel::IntersectPoint(G3D::Vector3 const& point, VMAP::AreaInfo& info, uint32 ph_mask) const
{
if (!(phasemask & ph_mask) || !owner->IsSpawned() || !IsMapObject())
return;
if (!iBound.contains(point))
return;
// child bounds are defined in object space:
Vector3 pModel = iInvRot * (point - iPos) * iInvScale;
Vector3 zDirModel = iInvRot * Vector3(0.f, 0.f, -1.f);
float zDist;
if (iModel->IntersectPoint(pModel, zDirModel, zDist, info))
{
Vector3 modelGround = pModel + zDist * zDirModel;
float world_Z = ((modelGround * iInvRot) * iScale + iPos).z;
if (info.ground_Z < world_Z)
info.ground_Z = world_Z;
}
}
bool GameObjectModel::GetLocationInfo(G3D::Vector3 const& point, VMAP::LocationInfo& info, uint32 ph_mask) const
{
if (!(phasemask & ph_mask) || !owner->IsSpawned() || !IsMapObject())
@@ -236,7 +215,9 @@ bool GameObjectModel::GetLocationInfo(G3D::Vector3 const& point, VMAP::LocationI
Vector3 pModel = iInvRot * (point - iPos) * iInvScale;
Vector3 zDirModel = iInvRot * Vector3(0.f, 0.f, -1.f);
float zDist;
if (iModel->GetLocationInfo(pModel, zDirModel, zDist, info))
VMAP::GroupLocationInfo groupInfo;
if (iModel->GetLocationInfo(pModel, zDirModel, zDist, groupInfo))
{
Vector3 modelGround = pModel + zDist * zDirModel;
float world_Z = ((modelGround * iInvRot) * iScale + iPos).z;

View File

@@ -70,7 +70,6 @@ public:
[[nodiscard]] bool IsMapObject() const { return isWmo; }
bool intersectRay(const G3D::Ray& Ray, float& MaxDist, bool StopAtFirstHit, uint32 ph_mask, VMAP::ModelIgnoreFlags ignoreFlags) const;
void IntersectPoint(G3D::Vector3 const& point, VMAP::AreaInfo& info, uint32 ph_mask) const;
bool GetLocationInfo(G3D::Vector3 const& point, VMAP::LocationInfo& info, uint32 ph_mask) const;
bool GetLiquidLevel(G3D::Vector3 const& point, VMAP::LocationInfo& info, float& liqHeight) const;

View File

@@ -63,44 +63,6 @@ namespace VMAP
return hit;
}
void ModelInstance::intersectPoint(const G3D::Vector3& p, AreaInfo& info) const
{
if (!iModel)
{
#ifdef VMAP_DEBUG
std::cout << "<object not loaded>\n";
#endif
return;
}
// M2 files don't contain area info, only WMO files
if (flags & MOD_M2)
{
return;
}
if (!iBound.contains(p))
{
return;
}
// child bounds are defined in object space:
Vector3 pModel = iInvRot * (p - iPos) * iInvScale;
Vector3 zDirModel = iInvRot * Vector3(0.f, 0.f, -1.f);
float zDist;
if (iModel->IntersectPoint(pModel, zDirModel, zDist, info))
{
Vector3 modelGround = pModel + zDist * zDirModel;
// Transform back to world space. Note that:
// Mat * vec == vec * Mat.transpose()
// and for rotation matrices: Mat.inverse() == Mat.transpose()
float world_Z = ((modelGround * iInvRot) * iScale + iPos).z;
if (info.ground_Z < world_Z)
{
info.ground_Z = world_Z;
info.adtId = adtId;
}
}
}
bool ModelInstance::GetLocationInfo(const G3D::Vector3& p, LocationInfo& info) const
{
if (!iModel)
@@ -124,7 +86,9 @@ namespace VMAP
Vector3 pModel = iInvRot * (p - iPos) * iInvScale;
Vector3 zDirModel = iInvRot * Vector3(0.f, 0.f, -1.f);
float zDist;
if (iModel->GetLocationInfo(pModel, zDirModel, zDist, info))
GroupLocationInfo groupInfo;
if (iModel->GetLocationInfo(pModel, zDirModel, zDist, groupInfo))
{
Vector3 modelGround = pModel + zDist * zDirModel;
// Transform back to world space. Note that:
@@ -133,6 +97,8 @@ namespace VMAP
float world_Z = ((modelGround * iInvRot) * iScale + iPos).z;
if (info.ground_Z < world_Z) // hm...could it be handled automatically with zDist at intersection?
{
info.rootId = groupInfo.rootId;
info.hitModel = groupInfo.hitModel;
info.ground_Z = world_Z;
info.hitInstance = this;
return true;

View File

@@ -66,7 +66,6 @@ namespace VMAP
ModelInstance(const ModelSpawn& spawn, WorldModel* model);
void setUnloaded() { iModel = nullptr; }
bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool StopAtFirstHit, ModelIgnoreFlags ignoreFlags) const;
void intersectPoint(const G3D::Vector3& p, AreaInfo& info) const;
bool GetLocationInfo(const G3D::Vector3& p, LocationInfo& info) const;
bool GetLiquidLevel(const G3D::Vector3& p, LocationInfo& info, float& liqHeight) const;
WorldModel* getWorldModel() { return iModel; }

View File

@@ -20,9 +20,9 @@
#include "ModelIgnoreFlags.h"
#include "ModelInstance.h"
#include "VMapDefinitions.h"
#include <array>
using G3D::Vector3;
using G3D::Ray;
template<> struct BoundsTrait<VMAP::GroupModel>
{
@@ -451,21 +451,46 @@ namespace VMAP
return callback.hit;
}
bool GroupModel::IsInsideObject(const Vector3& pos, const Vector3& down, float& z_dist) const
inline bool IsInsideOrAboveBound(G3D::AABox const& bounds, const G3D::Point3& point)
{
if (triangles.empty() || !iBound.contains(pos))
return point.x >= bounds.low().x
&& point.y >= bounds.low().y
&& point.z >= bounds.low().z
&& point.x <= bounds.high().x
&& point.y <= bounds.high().y;
}
GroupModel::InsideResult GroupModel::IsInsideObject(G3D::Ray const& ray, float& z_dist) const
{
if (triangles.empty() || !IsInsideOrAboveBound(iBound, ray.origin()))
return OUT_OF_BOUNDS;
if (meshTree.bound().high().z >= ray.origin().z)
{
return false;
float dist = G3D::finf();
if (IntersectRay(ray, dist, false))
{
z_dist = dist - 0.1f;
return INSIDE;
}
if (meshTree.bound().contains(ray.origin()))
return MAYBE_INSIDE;
}
Vector3 rPos = pos - 0.1f * down;
float dist = G3D::inf();
G3D::Ray ray(rPos, down);
bool hit = IntersectRay(ray, dist, false);
if (hit)
else
{
z_dist = dist - 0.1f;
// some group models don't have any floor to intersect with
// so we should attempt to intersect with a model part below this group
// then find back where we originated from (in WorldModel::GetLocationInfo)
float dist = G3D::finf();
float delta = ray.origin().z - meshTree.bound().high().z;
if (IntersectRay(ray.bumpedRay(delta), dist, false))
{
z_dist = dist - 0.1f + delta;
return ABOVE;
}
}
return hit;
return OUT_OF_BOUNDS;
}
bool GroupModel::GetLiquidLevel(const Vector3& pos, float& liqHeight) const
@@ -541,76 +566,58 @@ namespace VMAP
class WModelAreaCallback
{
public:
WModelAreaCallback(const std::vector<GroupModel>& vals, const Vector3& down):
prims(vals.begin()), hit(vals.end()), minVol(G3D::inf()), zDist(G3D::inf()), zVec(down) { }
std::vector<GroupModel>::const_iterator prims;
std::vector<GroupModel>::const_iterator hit;
float minVol;
float zDist;
Vector3 zVec;
void operator()(const Vector3& point, uint32 entry)
WModelAreaCallback(std::vector<GroupModel> const& vals) :
prims(vals), hit() { }
std::vector<GroupModel> const& prims;
std::array<GroupModel const*, 3> hit;
bool operator()(G3D::Ray const& ray, uint32 entry, float& distance, bool /*stopAtFirstHit*/)
{
float group_Z;
//float pVol = prims[entry].GetBound().volume();
//if (pVol < minVol)
//{
/* if (prims[entry].iBound.contains(point)) */
if (prims[entry].IsInsideObject(point, zVec, group_Z))
if (GroupModel::InsideResult result = prims[entry].IsInsideObject(ray, group_Z); result != GroupModel::OUT_OF_BOUNDS)
{
//minVol = pVol;
//hit = prims + entry;
if (group_Z < zDist)
if (result != GroupModel::MAYBE_INSIDE)
{
zDist = group_Z;
hit = prims + entry;
if (group_Z < distance)
{
distance = group_Z;
hit[result] = &prims[entry];
return true;
}
}
#ifdef VMAP_DEBUG
const GroupModel& gm = prims[entry];
printf("%10u %8X %7.3f, %7.3f, %7.3f | %7.3f, %7.3f, %7.3f | z=%f, p_z=%f\n", gm.GetWmoID(), gm.GetMogpFlags(),
gm.GetBound().low().x, gm.GetBound().low().y, gm.GetBound().low().z,
gm.GetBound().high().x, gm.GetBound().high().y, gm.GetBound().high().z, group_Z, point.z);
#endif
else
hit[result] = &prims[entry];
}
//}
//std::cout << "trying to intersect '" << prims[entry].name << "'\n";
return false;
}
};
bool WorldModel::IntersectPoint(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, AreaInfo& info) const
bool WorldModel::GetLocationInfo(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, GroupLocationInfo& info) const
{
if (groupModels.empty())
{
return false;
}
WModelAreaCallback callback(groupModels, down);
groupTree.intersectPoint(p, callback);
if (callback.hit != groupModels.end())
WModelAreaCallback callback(groupModels);
G3D::Ray r(p - down * 0.1f, down);
float zDist = groupTree.bound().extent().length();
groupTree.intersectRay(r, callback, zDist, false);
if (callback.hit[GroupModel::INSIDE])
{
info.rootId = RootWMOID;
info.groupId = callback.hit->GetWmoID();
info.flags = callback.hit->GetMogpFlags();
info.result = true;
dist = callback.zDist;
info.hitModel = callback.hit[GroupModel::INSIDE];
dist = zDist;
return true;
}
return false;
}
bool WorldModel::GetLocationInfo(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, LocationInfo& info) const
{
if (groupModels.empty())
{
return false;
}
WModelAreaCallback callback(groupModels, down);
groupTree.intersectPoint(p, callback);
if (callback.hit != groupModels.end())
// some group models don't have any floor to intersect with
// so we should attempt to intersect with a model part below the group `p` is in (stored in GroupModel::ABOVE)
// then find back where we originated from (GroupModel::MAYBE_INSIDE)
if (callback.hit[GroupModel::MAYBE_INSIDE] && callback.hit[GroupModel::ABOVE])
{
info.rootId = RootWMOID;
info.hitModel = &(*callback.hit);
dist = callback.zDist;
info.hitModel = callback.hit[GroupModel::MAYBE_INSIDE];
dist = zDist;
return true;
}
return false;

View File

@@ -29,6 +29,7 @@ namespace VMAP
class TreeNode;
struct AreaInfo;
struct LocationInfo;
struct GroupLocationInfo;
enum class ModelIgnoreFlags : uint32;
class MeshTriangle
@@ -81,12 +82,14 @@ namespace VMAP
void setMeshData(std::vector<G3D::Vector3>& vert, std::vector<MeshTriangle>& tri);
void setLiquidData(WmoLiquid*& liquid) { iLiquid = liquid; liquid = nullptr; }
bool IntersectRay(const G3D::Ray& ray, float& distance, bool stopAtFirstHit) const;
bool IsInsideObject(const G3D::Vector3& pos, const G3D::Vector3& down, float& z_dist) const;
enum InsideResult { INSIDE = 0, MAYBE_INSIDE = 1, ABOVE = 2, OUT_OF_BOUNDS = -1 };
InsideResult IsInsideObject(G3D::Ray const& ray, float& z_dist) const;
bool GetLiquidLevel(const G3D::Vector3& pos, float& liqHeight) const;
[[nodiscard]] uint32 GetLiquidType() const;
bool writeToFile(FILE* wf);
bool readFromFile(FILE* rf);
[[nodiscard]] const G3D::AABox& GetBound() const { return iBound; }
[[nodiscard]] G3D::AABox const& GetBound() const { return iBound; }
[[nodiscard]] G3D::AABox const& GetMeshTreeBound() const { return meshTree.bound(); }
[[nodiscard]] uint32 GetMogpFlags() const { return iMogpFlags; }
[[nodiscard]] uint32 GetWmoID() const { return iGroupWMOID; }
void GetMeshData(std::vector<G3D::Vector3>& outVertices, std::vector<MeshTriangle>& outTriangles, WmoLiquid*& liquid);
@@ -109,8 +112,7 @@ namespace VMAP
void setGroupModels(std::vector<GroupModel>& models);
void setRootWmoID(uint32 id) { RootWMOID = id; }
bool IntersectRay(const G3D::Ray& ray, float& distance, bool stopAtFirstHit, ModelIgnoreFlags ignoreFlags) const;
bool IntersectPoint(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, AreaInfo& info) const;
bool GetLocationInfo(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, LocationInfo& info) const;
bool GetLocationInfo(const G3D::Vector3& p, const G3D::Vector3& down, float& dist, GroupLocationInfo& info) const;
bool writeFile(const std::string& filename);
bool readFile(const std::string& filename);
void GetGroupModels(std::vector<GroupModel>& outGroupModels);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>
*
* This file was based on
* https://embeddedartistry.com/blog/2017/05/17/creating-a-circular-buffer-in-c-and-c/

View File

@@ -1,5 +1,5 @@
/*
* Originally written by Rochet2 - Copyright (C) 2018+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: http://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE
* Originally written by Rochet2 - Copyright (C) 2018+ AzerothCore <www.azerothcore.org>
*/
#ifndef _DATA_MAP_H_

View File

@@ -97,32 +97,6 @@ public:
return _eventMap.empty();
}
/**
* @return Current internal time as uint32 milliseconds
*
* was removed in core https://github.com/azerothcore/azerothcore-wotlk/pull/23121,
* but still required atm for mod-playerbot.
*/
uint32 GetTimer() const
{
return static_cast<uint32>(duration_cast<Milliseconds>(_time.time_since_epoch()).count());
}
/**
* @return Time of found even
*
* was removed in core https://github.com/azerothcore/azerothcore-wotlk/pull/23121,
* but still required atm for mod-playerbot.
*/
uint32 GetNextEventTime(uint16 eventId) const
{
auto timeUntil = GetTimeUntilEvent(eventId);
if (timeUntil == Milliseconds::max())
return 0;
return GetTimer() + static_cast<uint32>(timeUntil.count());
}
/**
* @name SetPhase
* @brief Sets the phase of the map (absolute).

View File

@@ -120,7 +120,7 @@ class EventProcessor
[[nodiscard]] uint64 CalculateQueueTime(uint64 delay) const;
void CancelEventGroup(uint8 group);
bool HaveEventList() const { return !m_events.empty(); }
bool HasEvents() const { return !m_events.empty(); }
protected:
uint64 m_time{0};

View File

@@ -347,7 +347,6 @@ inline wchar_t wcharToLower(wchar_t wchar)
void wstrToUpper(std::wstring& str);
void wstrToLower(std::wstring& str);
void strToLower(std::string& str);
std::wstring GetMainPartOfName(std::wstring const& wname, uint32 declension);

View File

@@ -162,7 +162,7 @@ UpdateFetcher::DirectoryStorage UpdateFetcher::ReceiveIncludedDirectories() cons
// data/sql
for (auto const& itr : moduleList)
{
std::string path = _sourceDirectory->generic_string() + "/modules/" + itr + "/data/sql/" + _dbModuleName; // modules/mod-name/sql/world
std::string path = _sourceDirectory->generic_string() + "/modules/" + itr + "/data/sql/" + _dbModuleName; // modules/mod-name/data/sql/db-world
Path const p(path);
if (!is_directory(p))

View File

@@ -83,29 +83,19 @@ WorldObject* CreatureAI::GetSummoner() const
inline bool IsValidCombatTarget(Creature* source, Player* target)
{
if (target->IsGameMaster())
{
return false;
}
if (!source->IsInWorld() || !target->IsInWorld())
{
return false;
}
if (!source->IsAlive() || !target->IsAlive())
{
return false;
}
if (!source->InSamePhase(target))
{
return false;
}
if (source->HasUnitState(UNIT_STATE_IN_FLIGHT) || target->HasUnitState(UNIT_STATE_IN_FLIGHT))
{
if (source->IsInFlight() || target->IsInFlight())
return false;
}
return true;
}

View File

@@ -950,6 +950,9 @@ bool SmartAIMgr::CheckUnusedTargetParams(SmartScriptHolder const& e)
case SMART_TARGET_VEHICLE_PASSENGER: return sizeof(SmartTarget::vehicle);
// case SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT: return sizeof(SmartTarget::goClosest);
case SMART_TARGET_PLAYER_WITH_AURA: return sizeof(SmartTarget::playerWithAura);
case SMART_TARGET_RANDOM_POINT: return sizeof(SmartTarget::randomPoint);
case SMART_TARGET_SUMMONED_CREATURES: return sizeof(SmartTarget::summonedCreatures);
case SMART_TARGET_INSTANCE_STORAGE: return sizeof(SmartTarget::instanceStorage);
default:
LOG_WARN("sql.sql", "SmartAIMgr: entryorguid {} source_type {} id {} action_type {} is using a target {} with no unused params specified in SmartAIMgr::CheckUnusedTargetParams(), please report this.",
e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.GetTargetType());

View File

@@ -1826,6 +1826,15 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve
// someone on this realm has already completed that achievement
if (sAchievementMgr->IsRealmCompleted(achievement))
return false;
// A character may only have 1 race-specific 'Realm First!' achievement
// prevent clever use of the race/faction change service to obtain multiple 'Realm First!' achievements
constexpr std::array<uint32, 9> raceSpecificRealmFirstAchievements { 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413 };
bool isRaceSpecific = std::ranges::find(raceSpecificRealmFirstAchievements, achievement->ID) != std::ranges::end(raceSpecificRealmFirstAchievements);
if (isRaceSpecific)
for (uint32 raceAchievementId : raceSpecificRealmFirstAchievements)
if (raceAchievementId != achievement->ID && HasAchieved(raceAchievementId))
return false;
}
// pussywizard: progress will be deleted after getting the achievement (optimization)

View File

@@ -33,17 +33,6 @@ class WorldObject;
struct GameTele;
enum PlayerChatTag
{
CHAT_TAG_NONE = 0x00,
CHAT_TAG_AFK = 0x01,
CHAT_TAG_DND = 0x02,
CHAT_TAG_GM = 0x04,
CHAT_TAG_COM = 0x08, // Commentator
CHAT_TAG_DEV = 0x10, // Developer
};
typedef uint32 ChatTagFlags;
class AC_GAME_API ChatHandler
{
public:

View File

@@ -92,27 +92,13 @@ private:
};
ThreatMgr* iThreatMgr;
public:
ThreatRefStatusChangeEvent(uint32 pType) : UnitBaseEvent(pType), iFValue(0.f), iThreatMgr(nullptr)
{
iHostileReference = nullptr;
}
ThreatRefStatusChangeEvent(uint32 pType) : UnitBaseEvent(pType), iThreatMgr(nullptr) { iHostileReference = nullptr; }
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference) : UnitBaseEvent(pType), iFValue(0.f), iThreatMgr(nullptr)
{
iHostileReference = pHostileReference;
}
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference) : UnitBaseEvent(pType), iThreatMgr(nullptr) { iHostileReference = pHostileReference; }
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference, float pValue) : UnitBaseEvent(pType), iThreatMgr(nullptr)
{
iHostileReference = pHostileReference;
iFValue = pValue;
}
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference, float pValue) : UnitBaseEvent(pType), iThreatMgr(nullptr) { iHostileReference = pHostileReference; iFValue = pValue; }
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference, bool pValue) : UnitBaseEvent(pType), iThreatMgr(nullptr)
{
iHostileReference = pHostileReference;
iBValue = pValue;
}
ThreatRefStatusChangeEvent(uint32 pType, HostileReference* pHostileReference, bool pValue) : UnitBaseEvent(pType), iThreatMgr(nullptr) { iHostileReference = pHostileReference; iBValue = pValue; }
[[nodiscard]] int32 getIValue() const { return iIValue; }

View File

@@ -1373,8 +1373,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
m_spawnId = sObjectMgr->GenerateCreatureSpawnId();
CreatureData& data = sObjectMgr->NewOrExistCreatureData(m_spawnId);
data.spawnId = m_spawnId;
data.spawnId = m_spawnId; // mod_playerbots
uint32 displayId = GetNativeDisplayId();
uint32 npcflag = GetNpcFlags();
uint32 unit_flags = GetUnitFlags();
@@ -3498,7 +3497,7 @@ bool Creature::IsMovementPreventedByCasting() const
void Creature::SetCannotReachTarget(ObjectGuid const& cannotReach)
{
if (cannotReach == m_cannotReachTarget)
{
{
return;
}

View File

@@ -365,7 +365,7 @@ typedef std::unordered_map<uint32, EquipmentInfoContainerInternal> EquipmentInfo
struct CreatureData
{
CreatureData() = default;
ObjectGuid::LowType spawnId{0};
ObjectGuid::LowType spawnId{ 0 }; // mod_playerbots
uint32 id1{0}; // entry in creature_template
uint32 id2{0}; // entry in creature_template
uint32 id3{0}; // entry in creature_template

View File

@@ -272,13 +272,6 @@ public:
[[nodiscard]] uint32 GetCount() const { return GetUInt32Value(ITEM_FIELD_STACK_COUNT); }
void SetCount(uint32 value) { SetUInt32Value(ITEM_FIELD_STACK_COUNT, value); }
[[nodiscard]] uint32 GetMaxStackCount() const { return GetTemplate()->GetMaxStackSize(); }
void GetOnEquipSpellIDs(std::vector<uint32>& spellEquipID) const
{
if (ItemTemplate const* proto = GetTemplate())
proto->GetOnEquipSpellIDs(spellEquipID);
else
spellEquipID.clear();
};
// Checks if this item has sockets, whether built-in or added by an upgrade.
[[nodiscard]] bool HasSocket() const;
[[nodiscard]] uint8 GetGemCountWithID(uint32 GemID) const;

View File

@@ -729,14 +729,6 @@ struct ItemTemplate
return (Stackable == 2147483647 || Stackable <= 0) ? uint32(0x7FFFFFFF - 1) : uint32(Stackable);
}
void GetOnEquipSpellIDs(std::vector<uint32>& spellEquipID) const
{
spellEquipID.clear();
for (auto const& spell : Spells)
if (spell.SpellId && spell.SpellTrigger == ITEM_SPELLTRIGGER_ON_EQUIP)
spellEquipID.push_back(spell.SpellId);
}
[[nodiscard]] float getDPS() const
{
if (Delay == 0)

View File

@@ -3294,9 +3294,7 @@ void Player::learnSpell(uint32 spellId, bool temporary /*= false*/, bool learnFr
// Xinef: don't allow to learn active spell once more
if (HasActiveSpell(spellId))
{
#ifndef MOD_PLAYERBOTS
LOG_DEBUG("entities.player", "Player ({}) tries to learn already active spell: {}", GetGUID().ToString(), spellId);
#endif
return;
}
@@ -4332,28 +4330,6 @@ void Player::DeleteOldRecoveryItems(uint32 keepDays)
}
}
void Player::SetMovement(PlayerMovementType pType)
{
WorldPacket data;
const PackedGuid& guid = GetPackGUID();
switch (pType)
{
case MOVE_WATER_WALK:
data.Initialize(SMSG_MOVE_WATER_WALK, guid.size() + 4);
break;
case MOVE_LAND_WALK:
data.Initialize(SMSG_MOVE_LAND_WALK, guid.size() + 4);
break;
default:
LOG_ERROR("entities.player", "Player::SetMovement: Unsupported move type ({}), data not sent to client.", pType);
return;
}
data << guid;
data << GetSession()->GetOrderCounter(); // movement counter
SendDirectMessage(&data);
GetSession()->IncrementOrderCounter();
}
/* Preconditions:
- a resurrectable corpse must not be loaded for the player (only bones)
- the player must be in world
@@ -4389,7 +4365,6 @@ void Player::BuildPlayerRepop()
}
GetMap()->AddToMap(corpse);
SetHealth(1); // convert player body to ghost
SetMovement(MOVE_WATER_WALK);
SetWaterWalking(true);
if (!IsImmobilizedState())
@@ -4430,7 +4405,6 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
SetDynamicFlag(UNIT_DYNFLAG_REFER_A_FRIEND);
setDeathState(DeathState::Alive);
SetMovement(MOVE_LAND_WALK);
SendMoveRoot(false);
SetWaterWalking(false);
m_deathTimer = 0;
@@ -9112,13 +9086,6 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
if (pet)
{
// xinef: dont save dead pet as current, save him not in slot
if (!pet->IsAlive() && mode == PET_SAVE_AS_CURRENT && pet->getPetType() == HUNTER_PET)
{
mode = PET_SAVE_NOT_IN_SLOT;
m_temporaryUnsummonedPetNumber = 0;
}
LOG_DEBUG("entities.pet", "RemovePet {}, {}, {}", pet->GetEntry(), mode, returnreagent);
if (pet->m_removed)
return;
@@ -9390,11 +9357,7 @@ void Player::Say(std::string_view text, Language language, WorldObject const* /*
{
std::string _text(text);
if (!sScriptMgr->OnPlayerCanUseChat(this, CHAT_MSG_SAY, language, _text))
{
return;
}
sScriptMgr->OnPlayerChat(this, CHAT_MSG_SAY, language, _text);
WorldPacket data;
ChatHandler::BuildChatPacket(data, CHAT_MSG_SAY, language, this, this, _text);
@@ -9416,11 +9379,7 @@ void Player::Yell(std::string_view text, Language language, WorldObject const* /
std::string _text(text);
if (!sScriptMgr->OnPlayerCanUseChat(this, CHAT_MSG_YELL, language, _text))
{
return;
}
sScriptMgr->OnPlayerChat(this, CHAT_MSG_YELL, language, _text);
WorldPacket data;
ChatHandler::BuildChatPacket(data, CHAT_MSG_YELL, language, this, this, _text);
@@ -9442,11 +9401,7 @@ void Player::TextEmote(std::string_view text, WorldObject const* /*= nullptr*/,
std::string _text(text);
if (!sScriptMgr->OnPlayerCanUseChat(this, CHAT_MSG_EMOTE, LANG_UNIVERSAL, _text))
{
return;
}
sScriptMgr->OnPlayerChat(this, CHAT_MSG_EMOTE, LANG_UNIVERSAL, _text);
WorldPacket data;
ChatHandler::BuildChatPacket(data, CHAT_MSG_EMOTE, LANG_UNIVERSAL, this, this, _text);
@@ -9475,11 +9430,7 @@ void Player::Whisper(std::string_view text, Language language, Player* target, b
std::string _text(text);
if (!sScriptMgr->OnPlayerCanUseChat(this, CHAT_MSG_WHISPER, language, _text, target))
{
return;
}
sScriptMgr->OnPlayerChat(this, CHAT_MSG_WHISPER, language, _text, target);
WorldPacket data;
ChatHandler::BuildChatPacket(data, CHAT_MSG_WHISPER, language, this, this, _text);
@@ -11686,7 +11637,7 @@ void Player::SendInitialPacketsAfterAddToMap()
GetSession()->IncrementOrderCounter();
}
if (HasAuraType(SPELL_AURA_WATER_WALK))
if (HasAuraType(SPELL_AURA_WATER_WALK) || HasAura(8326))
{
uint32 const counter = GetSession()->GetOrderCounter();
setCompoundState << uint8(2 + GetPackGUID().size() + 4);
@@ -12096,18 +12047,6 @@ void Player::GetAurasForTarget(Unit* target, bool force /*= false*/)
if (!target || (!force && target->GetVisibleAuras()->empty())) // speedup things
return;
/*! Blizz sends certain movement packets sometimes even before CreateObject
These movement packets are usually found in SMSG_COMPRESSED_MOVES
*/
if (target->HasFeatherFallAura())
target->SendMovementFeatherFall(this);
if (target->HasWaterWalkAura())
target->SendMovementWaterWalking(this);
if (target->HasHoverAura())
target->SendMovementHover(this);
WorldPacket data(SMSG_AURA_UPDATE_ALL);
data<< target->GetPackGUID();
@@ -12407,6 +12346,10 @@ bool Player::IsSpellFitByClassAndRace(uint32 spell_id) const
if (_spell_idx->second->ClassMask && (_spell_idx->second->ClassMask & classmask) == 0)
continue;
// skip wrong class and race skill saved in SkillRaceClassInfo.dbc
if (!GetSkillRaceClassInfo(_spell_idx->second->SkillLine, getRace(), getClass()))
continue;
return true;
}

View File

@@ -656,7 +656,7 @@ enum PlayerSlots
#define INVENTORY_SLOT_BAG_0 255
enum EquipmentSlots : uint32 // 19 slots
enum EquipmentSlots : uint32 // 19 slots
{
EQUIPMENT_SLOT_START = 0,
EQUIPMENT_SLOT_HEAD = 0,
@@ -827,6 +827,16 @@ enum EnviromentalDamage
DAMAGE_FALL_TO_VOID = 6 // custom case for fall without durability loss
};
enum PlayerChatTag
{
CHAT_TAG_NONE = 0x00,
CHAT_TAG_AFK = 0x01,
CHAT_TAG_DND = 0x02,
CHAT_TAG_GM = 0x04,
CHAT_TAG_COM = 0x08, // Commentator tag. Do not exist in clean client
CHAT_TAG_DEV = 0x10,
};
enum PlayedTimeIndex
{
PLAYED_TIME_TOTAL = 0,

View File

@@ -319,23 +319,6 @@ void Player::Update(uint32 p_time)
{
m_regenTimer += p_time;
RegenerateAll();
// Apply buffs from items with Apply on Equip trigger if they are not present.
for (uint8 i = 0; i < INVENTORY_SLOT_BAG_END; ++i)
{
if (!m_items[i])
continue;
std::vector<uint32> spellIDs;
m_items[i]->GetOnEquipSpellIDs(spellIDs);
bool apply = false;
for (uint32 spellID : spellIDs)
if (!apply && !HasAura(spellID))
apply = true;
if (apply)
ApplyItemEquipSpell(m_items[i], true, false);
}
}
if (m_deathState == DeathState::JustDied)
@@ -1463,6 +1446,9 @@ void Player::UpdatePvPState()
if (pvpInfo.IsHostile) // in hostile area
{
if (IsInFlight()) // on taxi
return;
if (!IsPvP() || pvpInfo.EndTimer != 0)
UpdatePvP(true, true);
}

Some files were not shown because too many files have changed in this diff Show More