43 Commits
Author SHA1 Message Date
devbox a17899e921 Exiles Reach: remove duplicate Garrick script-summon (DB spawn 730202 now provides him) 2026-08-26 13:43:21 +10:00
devbox 55da003626 DB/Exiles Reach: fix Garrick camp spawn z-height (91.001 to match ground) 2026-08-26 11:56:57 +10:00
devbox 9fe909427c DB/Exiles Reach: make quest flow SQL idempotent (delete-before-insert) 2026-08-26 11:32:53 +10:00
devbox 651845916f DB/Exiles Reach: add DB spawn for post-Torgak Captain Garrick (245394) at the camp so he's reliably visible as quest-giver 2026-08-26 11:17:02 +10:00
devbox cebef91f24 DB/Exiles Reach: remove reverted Hrun display change (keep original 92803) 2026-08-26 09:48:15 +10:00
devbox 1de4ff7967 DB/Exiles Reach: use correct post-Torgak reunion scene package (4778 Alliance / 4779 Horde) 2026-08-26 09:38:36 +10:00
devbox ca9d636424 DB/Exiles Reach: add gossip flag to ritual Meredy/Herbert so the Bloodbeak event can start 2026-08-26 09:00:47 +10:00
devbox 944bc6e8b2 Exiles Reach: give KilledMonsterCredit for Bloodbeak to complete the save-Meredy objective 2026-08-26 08:57:42 +10:00
devbox 76d463d664 DB/Exiles Reach: add questgiver flag to post-Torgak custom NPCs (245397/245667/245686) 2026-08-26 08:45:35 +10:00
devbox fb1f200652 DB/Exiles Reach: align all Dark Ritual storyline quest starters/enders with retail (68 quests, both factions) 2026-08-26 08:30:06 +10:00
devbox 975591fa5b DB/Exiles Reach: 58915 ends at Private Cole, not Hjalmar (revert incorrect ender) 2026-08-25 19:34:51 +10:00
devbox 1633cd2093 DB/Exiles Reach: correct post-Torgak quest flow (Garrick turns in 55639/85678, Hjalmar turns in 58915, remove Wrathion 55196 starter) 2026-08-25 19:30:46 +10:00
devbox 014c9cc2d0 Exiles Reach: remove GARRICK_15017 debug log 2026-08-25 19:22:02 +10:00
devbox 8ac8a3527b DB/Exiles Reach: add Hrun actor to Hrun's Barrow conversations 12120/14540 (fix missing actor) 2026-08-25 16:14:16 +10:00
devbox 36108f76f7 Exiles Reach: remove [ExilesReach] phase check debug log from ogre ruins 2026-08-25 15:50:40 +10:00
devbox b9b49adf03 DB/Exiles Reach: fix Hrun the Exiled invisible - use working Darkmaul Ogre display 2026-08-25 15:36:12 +10:00
devbox 3ce7f17005 DB: make reunion conversation SQL idempotent (clear rows before insert) 2026-08-24 22:20:36 +10:00
devbox 89aae3dfa9 Exiles Reach: play the post-ride reunion conversation (Wrathion + Jaina) and fix conversation line chaining 2026-08-24 22:01:12 +10:00
devbox 01824cf222 Exiles Reach: Captain Garrick gives Stocking Up after the ride; move her off the campfire 2026-08-24 20:35:38 +10:00
devbox 8b8aaffd70 Exiles Reach: Jaina + Garrick are separate camp NPCs after the ride
Jaina (156807) stays by Austin Huxworth at the rock edging (quest-giver);
add Captain Garrick (245394) as a separate NPC by the campfire. Both are
summoned on the ride reward.
2026-08-24 18:02:07 +10:00
devbox a0203a632e Exiles Reach: post-Torgak quest-giver is Jaina at the camp; Richter gets repair
- Revert the quest-giver from Captain Garrick (245394) back to Jaina
  (156807); she belongs at the camp next to the campfire by Quartermaster
  Richter, not in front of Wrathion. The scripted summon now places Jaina
  there on the ride reward.
- Quartermaster Richter (156800) was missing UNIT_NPC_FLAG_REPAIR (0x1000),
  so Repair Yourself (85678) couldn't be completed. Add the flag.
2026-08-24 17:57:56 +10:00
devbox 988874e403 Exiles Reach: script Captain Garrick's summon after the ride + questgiver flag
The phase-15017 regular spawn wasn't reliably showing Garrick (245394) for
the player. Summon him on the ride quest reward in front of Wrathion with
the QUESTGIVER npcflag set, so Stocking Up (55194) / Repair Yourself (85678)
are offered. Also set npcflag=2 on 245394 in the DB (it had 0, so it never
presented as a quest giver).
2026-08-24 17:25:40 +10:00
devbox a4b6ec1100 Scene debug: log scene plays on Exiles Reach (map 2175)
Logs which scene (id + package) plays for the ride/cinematic, so the
post-ride scene can be matched against the expected one.
2026-08-24 17:09:02 +10:00
devbox ad87475cd5 Exiles Reach: diagnostic logs for post-ride phase check / Garrick 15017
Log the player's area and quest state each phase-check tick, and the
GARRICK_15017 phase evaluation, to see why Captain Garrick (245394) doesn't
appear after the boar ride is rewarded.
2026-08-24 17:03:35 +10:00
devbox 60546b974f Exiles Reach: show Captain Garrick (245394) after Torgak to grant the next quests
- The post-Torgak quest-giver was 156807, which wrongly reused Jaina's model
  (88316), so it read as a duplicate Jaina. Point the phase-15017 spawn and
  the Stocking Up (55194) / Repair Yourself (85678) quest starters+enders at
  245394 (Captain Garrick, model 109008).
- GARRICK_BEFORE_DARKMAUL_CITADEL phase was only shown after MESSAGE_TO_BASE +
  WESTWARD_BOUND were rewarded, so Garrick never appeared right after the ride.
  Show it once the boar ride is rewarded, until the player heads to the citadel.
2026-08-24 16:37:24 +10:00
devbox cfe74126f5 Exiles Reach: diagnostic logs for abandon respawn
Log when the ride abandon is detected, how many undead are tracked, and the
spawnIds being forced to respawn — to pinpoint why the mobs don't come back.
2026-08-24 15:10:25 +10:00
devbox 2317f0fe7d Exiles Reach: fix ride-giver Jaina on Darkmaul Plains + respawn on abandon
- The ride-giver the player actually talks to is on the Darkmaul Plains
  (phase 13779), and its phase was removed when the ride was accepted
  (!QuestAccepted) — so Jaina vanished on accept. Show it until the ride is
  rewarded (matches the ogre-ruins GARRICK_CAMP fix).
- OnQuestStatusChange does NOT fire on quest abandon (RemoveActiveQuest
  erases the entry without the hook), so the respawn-on-abandon never ran.
  Detect the active->gone transition in OnPlayerWorldObjectUpdate and force
  the mowed-down undead to respawn (Map::Respawn), while keeping them dead
  on completion.
2026-08-24 14:27:33 +10:00
devbox c354643e47 DB/World: bind Giant Boar Trample script (305557)
Adds the spell_script_names row for spell_giant_boar_trample_305557 so a
fresh DB also has the trample's despawn behavior for the boar ride.
2026-08-24 14:01:58 +10:00
devbox 71e005e10f Exiles Reach: keep Horde ride-giver Shuja visible while the quest is active
Same fix as the Alliance GARRICK_CAMP phase: Shuja's phase was only shown
after QUEST_H_THE_REDEATHER completed, so she vanished when the ride began.
Show it while accepted or completed.
2026-08-24 13:50:29 +10:00
devbox f72d0be912 Exiles Reach: no follower on the boar ride; keep quest-giver Jaina visible
- Remove the 156807 follower summon on ride accept (it reuses Jaina's
  model 88316, so it read as a duplicate Jaina following you). Ride alone.
- GARRICK_CAMP phase was only shown after the ride was rewarded, so Jaina
  phased out the moment she gave the quest. Show it while the ride is
  accepted too.
2026-08-24 13:48:10 +10:00
devbox 0e9b9f7db8 Exiles Reach: despawn the undead by faction, not phase
The mobs' phase desync made IsValidAttackTarget fail, so the despawn loop
skipped them (they stayed alive and killed the rider when the ride ended).
Use IsHostileTo (faction-based, no phase check) in both the trample and the
Big Kill Credit despawning.
2026-08-24 13:30:24 +10:00
devbox 7670e0eb91 Exiles Reach: respawn the mowed-down undead if the ride quest is abandoned
Track the undead spawnIds despawned by the boar (1h respawn delay). On
quest abandon, force their respawn (Map::Respawn sets the pending respawn
time to now) so the ride can be retried; clear tracking on completion.
2026-08-24 13:18:22 +10:00
devbox 48f5b7e124 Exiles Reach: undead stay dead after the trample/credit (1h respawn delay)
The ogre-ruins undead are regular spawns, so DespawnOrUnsummon removed them
briefly then the spawn timer respawned them. Force a 1h respawn delay on
both the trample and the Big Kill Credit despawning so the mowed-down mobs
don't pop back during the ride.
2026-08-24 13:11:00 +10:00
devbox c797c0c576 Exiles Reach: despawn the trampled undead on Big Kill Credit + fix rider immunity
The trample's own grid search didn't reliably despawn the undead (they stayed
alive and attacked the rider). Tie the despawn to the 'Big Kill Credit' scene
event (which reliably fires as the ride progresses): despawn all hostile mobs
within 50y (excluding Torgok). Also apply the rider's UNIT_FLAG_IMMUNE_TO_NPC
on EFFECT_0 (CONTROL_VEHICLE) as well as EFFECT_1 so the mobs can't damage the
player.
2026-08-24 12:16:43 +10:00
devbox 3cfb6d2c99 Exiles Reach: trample despawns the undead outright
Kill+DespawnOrUnsummon left the corpses visible (regular spawns). Just
DespawnOrUnsummon the targets — the scene's 'Big Kill Credit' grants the
quest credit, so the mobs simply vanish when trampled.
2026-08-24 11:52:28 +10:00
devbox 1b15337809 Exiles Reach: trample mows the undead down (kill + despawn)
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
The trample only dealt 120 damage, leaving healthier zombies/ogres alive
and visible. Kill and despawn each hostile target so the trampled army
actually disappears.
2026-08-23 22:27:40 +10:00
devbox 07e78803e2 Exiles Reach: rider immune to NPC damage while on the giant boar
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
Some undead still hit the player during the boar ride (mobs that aggro on
sight, not via the trample). Set UNIT_FLAG_IMMUNE_TO_NPC on the player for
the ride's duration so mob attacks can't reach the rider (IsValidAttackTarget
checks target->IsImmuneToNPC); the boar takes the hits and the trample kills
the cadavers.
2026-08-23 22:18:44 +10:00
devbox 23dc67639f Exiles Reach: trample damage from the boar, not the rider
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
The trample script dealt damage from the player (GetCaster), so the undead
aggro'd the rider and chewed through the player's health during the boar
ride. Attribute the trample damage to the boar vehicle (GetVehicleBase) so
the mobs attack the boar instead.
2026-08-23 22:09:06 +10:00
devbox 371e06dab9 Core: dispatch scene events to PlayerScripts too
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
ScriptMgr::OnSceneTrigger/Cancel/Complete only called the bound SceneScript
(via scene_template.ScriptName). The Thordekk Exiles Reach ride (and other
scene-driven content) registers its handlers as PlayerScript hooks
(OnSceneTriggerEvent/OnSceneComplete/OnSceneCancel), so 'Trampling Time' and
'Big Kill Credit' never fired -> the Giant Boar trample never cast and the
cadaver kill credit never granted. Add the FOREACH_SCRIPT(PlayerScript)
dispatch to all three.
2026-08-23 18:53:22 +10:00
devbox c7a4bf966e Exiles Reach: revert ship sparring leash + fix trample script compile
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
- Revert the Cole/Throg sparring distance-leash (exiles_reach_north_sea.cpp):
  it fought the clone's position/LOS desync on the ship (map 2261), making
  the clone run away and clip; back to the original combat chase while we
  investigate the position/LOS root cause.
- Fix spell_giant_boar_trample_305557 compile: CalcRadius returns SpellRange
  (use .Max) and DealDamage is static (Unit::DealDamage, uint32 damage).
2026-08-23 18:41:45 +10:00
devbox ffaac9ece6 Exiles Reach: implement Giant Boar Trample (305557)
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
The trample's Effect 1 is a SPELL_EFFECT_DUMMY (radius 13, targets the
caster) that was never scripted, so it did nothing to the Monstrous
Cadavers (157091) during Ride of the Scientifically Enhanced Boar. Add a
spell script that damages all hostile creatures within the effect radius
(caster->DealDamage, effect value). Registered + spell_script_names row.
2026-08-23 18:36:53 +10:00
devbox b47740c125 Exiles Reach (ship): replace boundary-evade with a distance leash for the sparring clone
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
The SetBoundary approach made the sparring partner evade back to home with a
straight spline, clipping through the boat hull. Use a distance leash in
UpdateAI instead: stop chasing past 15y and walk back on the ship geometry.
2026-08-23 17:40:55 +10:00
devbox 5072ad8f6f Exiles Reach: keep Monstrous Cadavers in-phase during the boar ride
Build (Windows x64) / build (push) Canceled after 0s
Build (Windows x64) / linux-build (push) Canceled after 0s
The Alliance ride (Ride of the Scientifically Enhanced Boar, 55879) hides
phase 13783 (PHASE_GENERAL_DARKMAUL_PLAINS_ZOMBIES_AND_CADAVERS) while the
player rides (HasAura(SPELL_RIDING_GIANT_BOAR) or quest accepted), so the
Monstrous Cadavers (157091, phase 13783) are server-side out of phase:
visible to the client but not valid attack targets -> the boar trample
deals 0 damage and the ride can't progress to Torgok. Keep the phase
active while the ride is incomplete (hidden only after it's rewarded).
Applied to the identical condition in ogre_ruins, darkmaul_plains and
hruns_barrow.
2026-08-23 17:36:56 +10:00
164 changed files with 3042 additions and 147667 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# Introduction:
WowCommunity Project is a World of Warcraft blizzlike design based on TrinityCore, which is based on the Midnight Expansion version 12.1.0.69497.
WowCommunity Project is a World of Warcraft blizzlike design based on TrinityCore, which is based on the Midnight Expansion version 12.1.0.69404.
# CI Status:
@@ -1,23 +0,0 @@
DELETE FROM `build_info` WHERE `build` IN (69465);
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
(69465,12,1,0,NULL);
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69465 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
(69465,'Mac','A64','WoW',0xD93824734F44799FF0FE0E1CE8368DFA),
(69465,'Mac','A64','WoWC',0x2337F8DF514048173B5B1C11E1EF180B),
(69465,'Mac','x64','WoW',0xCEA58B2695F70335D7B3C107DEF5A487),
(69465,'Mac','x64','WoWC',0xE30DFA7F99958105AE363A525E502F88),
(69465,'Win','A64','WoW',0xEDBF0C17BD0C054758919085999845D2),
(69465,'Win','x64','WoW',0x9CAB38EF27A662F070FA9E0B39A3BF7E),
(69465,'Win','x64','WoWC',0x2FD2193ABEB81E97819F5AF336735FEF);
UPDATE `realmlist` SET `gamebuild`=69465 WHERE `gamebuild`=69404;
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69465';
@@ -1,23 +0,0 @@
DELETE FROM `build_info` WHERE `build` IN (69497);
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
(69497,12,1,0,NULL);
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=69497 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
(69497,'Mac','A64','WoW',0xAD2DD5E363F9182F99C06433B498D20F),
(69497,'Mac','A64','WoWC',0xB87E8FBB4BF74FD0E1A2BB2A025D9F90),
(69497,'Mac','x64','WoW',0xCA0A9C2A2421B283D181D0FE752D8919),
(69497,'Mac','x64','WoWC',0x2AC0E1C0504B076A0CAAF1214397480F),
(69497,'Win','A64','WoW',0xB40CE00FAA74C3FAAD87BD45FD5FBFB4),
(69497,'Win','x64','WoW',0x53F580479D745CBB9B8AE90A2DB752CC),
(69497,'Win','x64','WoWC',0x46436999D97A13A220693F04DE28E013);
UPDATE `realmlist` SET `gamebuild`=69497 WHERE `gamebuild`=69465;
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '69497';
@@ -1,91 +0,0 @@
DELETE FROM `item_sparse` WHERE `ID`=259099;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259099, 'Allows you to apply a Highland Birch color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Highland Birch Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Highland Birch Dye
-- generated from https://www.wowhead.com/item=259137
-- Quality 1 | Description: Allows you to apply a Sungrass Yellow color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259137;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259137, 'Allows you to apply a Sungrass Yellow color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Sungrass Yellow Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Sungrass Yellow Dye
-- generated from https://www.wowhead.com/item=259151
-- Quality 1 | Description: Allows you to apply a Deep Mageroyal Red color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259151;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259151, 'Allows you to apply a Deep Mageroyal Red color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Deep Mageroyal Red Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Deep Mageroyal Red Dye
-- generated from https://www.wowhead.com/item=259112
-- Quality 1 | Description: Allows you to apply a Dark Gold color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259112;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259112, 'Allows you to apply a Dark Gold color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Dark Gold Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Dark Gold Dye
-- generated from https://www.wowhead.com/item=259130
-- Quality 1 | Description: Allows you to apply a Nightsong Lilac color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259130;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259130, 'Allows you to apply a Nightsong Lilac color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Nightsong Lilac Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Nightsong Lilac Dye
-- generated from https://www.wowhead.com/item=259143
-- Quality 1 | Description: Allows you to apply a Gravemoss Green color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259143;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259143, 'Allows you to apply a Gravemoss Green color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Gravemoss Green Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Gravemoss Green Dye
-- generated from https://www.wowhead.com/item=259105
-- Quality 1 | Description: Allows you to apply a Copper color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259105;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259105, 'Allows you to apply a Copper color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Copper Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Copper Dye
-- generated from https://www.wowhead.com/item=259114
-- Quality 1 | Description: Allows you to apply a Lush Green color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259114;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259114, 'Allows you to apply a Lush Green color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Lush Green Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Lush Green Dye
-- generated from https://www.wowhead.com/item=259135
-- Quality 1 | Description: Allows you to apply a Midnight Blue color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259135;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259135, 'Allows you to apply a Midnight Blue color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Midnight Blue Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Midnight Blue Dye
-- generated from https://www.wowhead.com/item=259126
-- Quality 1 | Description: Allows you to apply a Void Violet color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259126;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259126, 'Allows you to apply a Void Violet color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Void Violet Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Void Violet Dye
-- generated from https://www.wowhead.com/item=259136
-- Quality 1 | Description: Allows you to apply a Vortex Teal color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259136;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259136, 'Allows you to apply a Vortex Teal color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Vortex Teal Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Vortex Teal Dye
-- generated from https://www.wowhead.com/item=259153
-- Quality 1 | Description: Allows you to apply a Dusk Lily Grey color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.
-- Stats/gems/prices/flags/allowable class+race are not on the Wowhead page; set them by hand.
DELETE FROM `item_sparse` WHERE `ID`=259153;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259153, 'Allows you to apply a Dusk Lily Grey color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Dusk Lily Grey Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Dusk Lily Grey Dye
@@ -1,4 +0,0 @@
DELETE FROM `item_sparse` WHERE `ID`=259111;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(259111, 'Allows you to apply an Ironclaw color to a dyeable decor in your house. Only usable once. Can be bought and sold on the Auction House.', NULL, NULL, NULL, 'Ironclaw Dye', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Ironclaw Dye
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,21 +0,0 @@
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x129B8233;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x24EE8F09;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x3CC17DDB;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x44237314;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x485E51AC;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x4DB743E6;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x4F9D237F;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x5373CFEB;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x65F2637D;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x6FF1C5BA;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0x96852C56;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xA16AF1A0;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xAF32E8CA;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xC9FF6C36;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xCEBF1288;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xD94B42D9;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xD99D1A0B;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xE5F16D06;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xE8152640;
DELETE FROM `hotfix_blob` WHERE `TableHash`=0xF24979A5;
@@ -1,15 +0,0 @@
-- Item Sparse
DELETE FROM `item_sparse` WHERE `ID`=276910;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(276910, 'This scroll is dripping with ichor, but the writing is still legible.', NULL, NULL, NULL, 'Lokago''s Experiment Notes', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Lokago's Experiment Notes
DELETE FROM `item_sparse` WHERE `ID`=276913;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(276913, 'used in Lokago''s experiments.', NULL, NULL, NULL, 'Lokago''s Ledger', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Lokago's Ledger
DELETE FROM `item_sparse` WHERE `ID`=276911;
INSERT INTO `item_sparse` (`ID`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `AllowableRace1`, `AllowableRace2`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemLevelOffsetCurveID`, `ItemLevelOffsetItemLevel`, `ItemSquishEraID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
(276911, 'You are not surprised to see Malacrass''s name here.', NULL, NULL, NULL, 'Missive from Malacrass', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0); -- Missive from Malacrass
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,37 +0,0 @@
DELETE FROM `creature_loot_template` WHERE `Entry` = 244669;
DELETE FROM `spell_loot_template`
WHERE `Entry` IN (
1294810,1294819,1294806,1309202,1294802,1294813,1292586,1289285,
1283931,1289284,1289287,1294808,1294809,1294812,1294816,1309200
);
-- Remove the invalid placeholder
DELETE FROM `reference_loot_template` WHERE `Entry` = 3465;
UPDATE `waypoint_path`
SET `Velocity` = 7
WHERE `PathId` IN (2218835, 2218842) AND `Velocity` = 0;
DELETE FROM `phase_area`
WHERE `PhaseId` IN (28, 1610, 4, 8, 3, 37);
UPDATE `creature_template` SET `npcflag`=0x1000000, `AIName`='', `ScriptName`='npc_arathi_rpe_worn_catapult' WHERE `entry`=249269;
DELETE FROM `smart_scripts` WHERE `entryorguid`=249269 AND `source_type`=0;
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=249269;
INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES
(249269, 1248649, 1, 1);
DELETE FROM `conditions`
WHERE `SourceTypeOrReferenceId` = 26 -- CONDITION_SOURCE_TYPE_PHASE
AND `SourceGroup` IN (3, 4, 28, 1610)
AND `SourceEntry` IN (16453, 16456, 16458);
DELETE FROM `event_scripts`
WHERE `id` = 800014;
UPDATE `creature_template` SET `faction`=16 WHERE `entry` IN (244669,244670,244671,244672); -- gnoll assault
UPDATE `creature_template` SET `faction`=2361 WHERE `entry` IN (230248,232019); -- Hammerfall / Mag'har Grunt
UPDATE `creature_template` SET `faction`=714 WHERE `entry` = 245028; -- Horde Grunt
UPDATE `creature_template` SET `faction`=10 WHERE `entry` = 245052; -- Horde Grunt
@@ -1,12 +0,0 @@
DELETE FROM `spell_script_names`
WHERE `spell_id` = 18813;
DELETE FROM `spell_script_names`
WHERE `spell_id` = 26637;
DELETE FROM `spell_script_names` WHERE `spell_id`=28764 AND `ScriptName`='spell_gen_adaptive_warding';
DELETE FROM `spell_script_names` WHERE `spell_id`=30576 AND `ScriptName`='spell_magtheridon_quake_initial';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_zangarmarsh_whisper_aura';
DELETE FROM `spell_script_names` WHERE `spell_id` = 35429;
DELETE FROM `spell_script_names` WHERE `spell_id`=45235 AND `ScriptName`='spell_eredar_twins_blaze';
@@ -1,100 +0,0 @@
-- DBErrors
DELETE FROM `lfg_dungeon_template` WHERE `dungeonId` IN (3318,3238,3358,3317,3245,3223,3325,3323,3360,3233,3191,3319,3350,3241,3348,3321,3231,3225,3311,3190,3347,3355,3250,3234,3235,3192,3193,3194,3224,3227,3228,3229,3230,3232,3237,3240,3259,3260,3261,3277,3312,3313,3316,3320,3322,3324,3345,3346,3351,3352,3353,3356,3357,3361);
INSERT INTO `lfg_dungeon_template` (`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, `requiredItemLevel`, `requiredChromieTime`, `VerifiedBuild`) VALUES
(3318, 'The Serpent Warren', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3238, 'The Ring of Glory', 10, 10, 0, 0, 0, 0, 69404), -- map 3077
(3358, 'Hook Point Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1825
(3317, 'The Essence of Venom', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3245, 'The Tidebound Grotto', 10, 10, 0, 0, 0, 0, 69404), -- map 2987
(3223, 'Temple of Sethraliss', 10, 10, 0, 0, 0, 0, 69404), -- map 1877
(3325, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3323, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3360, 'The Tidebound Grotto', 10, 10, 0, 0, 0, 0, 69404), -- map 2987
(3233, 'Murder Row', 10, 10, 0, 0, 0, 0, 69404), -- map 2813
(3191, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3319, 'The Tomb of Ula\'tek', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3350, 'Hook Point Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1825
(3241, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3348, 'Hook Point Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1825
(3321, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3231, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3225, 'Temple of Sethraliss', 10, 10, 0, 0, 0, 0, 69404), -- map 1877
(3311, 'The Venomous Abyss', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3190, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3347, 'Nagrand Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1505
(3355, 'Tol\'Viron Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 980
(3250, 'Nagrand Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1505
(3234, 'Voidscar Arena', 10, 10, 0, 0, 0, 0, 69404), -- map 2923
(3235, 'Den of Nalorakk', 10, 10, 0, 0, 0, 0, 69404), -- map 2825
(3192, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3193, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3194, 'Altar of Fangs', 10, 10, 0, 0, 0, 0, 69404), -- map 2993
(3224, 'Temple of Sethraliss', 10, 10, 0, 0, 0, 0, 69404), -- map 1877
(3227, 'Ruby Life Pools', 10, 10, 0, 0, 0, 0, 69404), -- map 2521
(3228, 'Kings\' Rest', 10, 10, 0, 0, 0, 0, 69404), -- map 1762
(3229, 'Kings\' Rest', 10, 10, 0, 0, 0, 0, 69404), -- map 1762
(3230, 'Kings\' Rest', 10, 10, 0, 0, 0, 0, 69404), -- map 1762
(3232, 'The Blinding Vale', 10, 10, 0, 0, 0, 0, 69404), -- map 2859
(3237, 'Gnarldor Isle', 10, 10, 0, 0, 0, 0, 69404), -- map 3038
(3240, 'Venomfall Deeps', 10, 10, 0, 0, 0, 0, 69404), -- map 3079
(3259, 'Hook Point Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1825
(3260, 'Ruins of Lordaeron Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 572
(3261, 'Tol\'Viron Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 980
(3277, 'The Tidebound Grotto', 10, 10, 0, 0, 0, 0, 69404), -- map 2987
(3312, 'The Venomous Abyss', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3313, 'The Venomous Abyss', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3316, 'The Soulcoilers', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3320, 'The Tomb of Ula\'tek', 10, 10, 0, 0, 0, 0, 69404), -- map 3004
(3322, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3324, 'A Cursed Keepsake', 10, 10, 0, 0, 0, 0, 69404), -- map 3081
(3345, 'Tol\'Viron Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 980
(3346, 'Ruins of Lordaeron Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 572
(3351, 'Nagrand Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1505
(3352, 'Ruins of Lordaeron Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 572
(3353, 'Tol\'Viron Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 980
(3356, 'Ruins of Lordaeron Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 572
(3357, 'Nagrand Arena Training Grounds', 10, 10, 0, 0, 0, 0, 69404), -- map 1505
(3361, 'The Tidebound Grotto', 10, 10, 0, 0, 0, 0, 69404); -- map 2987
UPDATE `version` SET `cache_id`=69404 WHERE `core_version`='TrinityCore rev. 6a16edffc89d 2026-08-23 08:26:35 -0300 (main branch) (Windows, AMD64, RelWithDebInfo, Static)';
DELETE FROM `item_loot_template` WHERE `Entry`=269258;
DELETE FROM `spell_loot_template` WHERE `Entry` IN (1294810,1294819,1294806,1309202,1294802,1294813,1292586,1289285,1283931,1289284,1289287,1294808,1294809,1294812,1294816,1309200);
INSERT INTO `spell_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(1294810, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294819, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294806, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1309202, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294802, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294813, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1292586, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1289285, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1283931, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1289284, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1289287, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294808, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294809, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294812, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1294816, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap'),
(1309200, 0, 128630, 100, 1, 1, 0, 1, 1, 'Raw Scrap');
UPDATE `item_loot_template` SET `ItemType`=2, `Comment`='Venomblight Manaflux' WHERE `Entry`=274707 AND `ItemType`=1 AND `Item`=3465;
DELETE FROM `gossip_menu` WHERE `MenuID`=39349;
INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
(39349, 244715, 69404);
DELETE FROM `spell_script_names` WHERE `spell_id`=316099;
UPDATE `creature_template` SET `ScriptName`='npc_arathi_rpe_leader' WHERE `entry` IN (244642,244643,244714,244715);
UPDATE `playerchoice` SET `ScriptName`='playerchoice_arathi_rpe_finale' WHERE `ChoiceId`=902;
DELETE FROM `spell_script_names` WHERE `spell_id`=334315 AND `ScriptName`='spell_warl_unstable_affliction';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(334315, 'spell_warl_unstable_affliction');
DELETE FROM `spell_script_names` WHERE `spell_id`=459376 AND `ScriptName`='spell_warl_perpetual_unstability';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(459376, 'spell_warl_perpetual_unstability');
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (244670,244675,244682,244709);
@@ -0,0 +1,2 @@
-- Exiles Reach: bind the Giant Boar Trample script (mows the undead down)
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (305557, 'spell_giant_boar_trample_305557');
@@ -0,0 +1,6 @@
-- Exiles Reach: post-Torgak quest-giver is Captain Garrick (245394), not 156807
-- (which wrongly reused Jaina's model 88316). Point the spawn and the
-- Stocking Up / Repair Yourself quest starters+enders at 245394.
UPDATE `creature` SET `id`=245394 WHERE `guid`=42560 AND `id`=156807;
UPDATE `creature_queststarter` SET `id`=245394 WHERE `id`=156807 AND `quest` IN (55194, 85678);
UPDATE `creature_questender` SET `id`=245394 WHERE `id`=156807 AND `quest` IN (55194, 85678);
@@ -0,0 +1,2 @@
-- Exiles Reach: Captain Garrick (245394) must be a quest-giver (npcflag bit 0x2)
UPDATE `creature_template` SET `npcflag` = `npcflag` | 2 WHERE `entry` = 245394;
@@ -0,0 +1,8 @@
-- Exiles Reach post-Torgak: revert the quest-giver to Jaina (156807) and give
-- Quartermaster Richter the repair flag.
-- (Corrects 2026_08_24_01/02 which wrongly swapped in Captain Garrick 245394.)
UPDATE `creature` SET `id`=156807 WHERE `guid`=42560 AND `id`=245394;
UPDATE `creature_queststarter` SET `id`=156807 WHERE `id`=245394 AND `quest` IN (55194, 85678);
UPDATE `creature_questender` SET `id`=156807 WHERE `id`=245394 AND `quest` IN (55194, 85678);
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=245394;
UPDATE `creature_template` SET `npcflag` = `npcflag` | 4096 WHERE `entry` = 156800;
@@ -0,0 +1,11 @@
-- Exiles Reach: after the ride, Captain Garrick (245394) is the quest-giver for
-- Stocking Up on Supplies (55194); Repair Yourself (85678) is no longer offered.
UPDATE `creature_template` SET `npcflag` = `npcflag` | 2 WHERE `entry` = 245394;
DELETE FROM `creature_queststarter` WHERE `id` = 156807 AND `quest` IN (55194, 85678);
DELETE FROM `creature_questender` WHERE `id` = 156807 AND `quest` IN (55194, 85678);
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES
(245394, 55194, 0);
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES
(245394, 55194, 0);
@@ -0,0 +1,29 @@
-- Exiles Reach: post-ride reunion dialogue (Wrathion + Jaina) as a server-driven conversation.
-- The scene (2341) references conversation lines 88006-88013; the Wrathion broadcasts
-- (302254-302258) already exist, Jaina's (302259-302261) were empty placeholders.
-- NOTE: the broadcast_text updates for 302259-302261 live in the hotfixes DB.
DELETE FROM `conversation_actors` WHERE `ConversationId` = 51000;
DELETE FROM `conversation_line_template` WHERE `Id` BETWEEN 88006 AND 88013;
DELETE FROM `conversation_template` WHERE `Id` = 51000;
INSERT INTO `conversation_template` (`Id`, `FirstLineId`, `TextureKitId`, `Flags`, `ScriptName`, `VerifiedBuild`) VALUES
(51000, 88006, 0, 0, '', 0);
INSERT INTO `conversation_line_template` (`Id`, `UiCameraID`, `ActorIdx`, `Flags`, `ChatType`, `VerifiedBuild`, `Unk`) VALUES
(88006, 0, 0, 0, 0, 0, 0),
(88007, 0, 0, 0, 0, 0, 0),
(88008, 0, 0, 0, 0, 0, 0),
(88009, 0, 0, 0, 0, 0, 0),
(88010, 0, 0, 0, 0, 0, 0),
(88011, 0, 1, 0, 0, 0, 0),
(88012, 0, 1, 0, 0, 0, 0),
(88013, 0, 1, 0, 0, 0, 0);
INSERT INTO `conversation_actors` (`ConversationId`, `ConversationActorId`, `ConversationActorGuid`, `ConversationActorNearId`, `Idx`, `CreatureId`, `CreatureDisplayInfoId`, `NoActorObject`, `ActivePlayerObject`, `VerifiedBuild`) VALUES
(51000, 80000, 0, 0, 0, 156799, 107146, 0, 0, 0),
(51000, 80001, 0, 0, 1, 156807, 88316, 0, 0, 0);
-- Hrun's Barrow conversations (Alliance 12120 / Horde 14540) were missing actors
INSERT INTO `conversation_actors` (`ConversationId`, `ConversationActorId`, `ConversationActorGuid`, `ConversationActorNearId`, `Idx`, `CreatureId`, `CreatureDisplayInfoId`, `NoActorObject`, `ActivePlayerObject`, `VerifiedBuild`) VALUES
(12120, 80002, 0, 0, 0, 156900, 92803, 0, 0, 0),
(14540, 80003, 0, 0, 0, 156900, 92803, 0, 0, 0);
@@ -0,0 +1,19 @@
-- Exiles Reach: correct post-Torgak quest flow (idempotent)
-- 1. 55196 The Harpy Problem: remove the Wrathion (156799) starter; keep Henry (156833 + 156887)
DELETE FROM `creature_queststarter` WHERE `id` = 156799 AND `quest` = 55196;
-- 4. 55639 Who Lurks in the Pit: turn in to Captain Garrick (245394), not Jaina (156807)
DELETE FROM `creature_questender` WHERE `id` = 156807 AND `quest` = 55639;
DELETE FROM `creature_questender` WHERE `id` = 245394 AND `quest` = 55639;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES
(245394, 55639, 0);
-- 4. 85678 Repair Yourself: start + turn in at Captain Garrick (245394)
DELETE FROM `creature_queststarter` WHERE `id` = 245394 AND `quest` = 85678;
DELETE FROM `creature_questender` WHERE `id` = 245394 AND `quest` = 85678;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES
(245394, 85678, 0);
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES
(245394, 85678, 0);
-- 5. 58915 Hjalmar's Final Execution: starts at Hjalmar (162943), ends at Private Cole (156801) — no change needed
@@ -0,0 +1,44 @@
DELETE FROM `creature_queststarter` WHERE `id` = 156887 AND `quest` = 55196;
DELETE FROM `creature_questender` WHERE `id` = 156807 AND `quest` = 55882;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES (245394, 55882, 0);
DELETE FROM `creature_questender` WHERE `id` = 154300 AND `quest` = 55965;
DELETE FROM `creature_queststarter` WHERE `id` = 156941 AND `quest` = 55981;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (245397, 55981, 0);
DELETE FROM `creature_questender` WHERE `id` = 156941 AND `quest` = 55981;
DELETE FROM `creature_queststarter` WHERE `id` = 156960 AND `quest` = 55989;
DELETE FROM `creature_queststarter` WHERE `id` = 156943 AND `quest` = 55989;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (245667, 55989, 0);
DELETE FROM `creature_questender` WHERE `id` = 156960 AND `quest` = 55989;
DELETE FROM `creature_questender` WHERE `id` = 156943 AND `quest` = 55989;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES (245667, 55989, 0);
DELETE FROM `creature_queststarter` WHERE `id` = 156941 AND `quest` = 55990;
DELETE FROM `creature_questender` WHERE `id` = 156965 AND `quest` = 55990;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES (156961, 55990, 0);
DELETE FROM `creature_queststarter` WHERE `id` = 156961 AND `quest` = 55991;
DELETE FROM `creature_queststarter` WHERE `id` = 156941 AND `quest` = 55991;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (245686, 55991, 0);
DELETE FROM `creature_questender` WHERE `id` = 238913 AND `quest` = 55991;
DELETE FROM `creature_questender` WHERE `id` = 154169 AND `quest` = 55991;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES (245686, 55991, 0);
DELETE FROM `creature_questender` WHERE `id` = 156941 AND `quest` = 55992;
DELETE FROM `creature_questender` WHERE `id` = 161350 AND `quest` = 55992;
DELETE FROM `creature_queststarter` WHERE `id` = 156807 AND `quest` = 56344;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (245394, 56344, 0);
DELETE FROM `creature_questender` WHERE `id` = 156941 AND `quest` = 56344;
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES (245397, 56344, 0);
DELETE FROM `creature_questender` WHERE `id` = 162972 AND `quest` = 58917;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (156801, 58923, 0);
DELETE FROM `creature_queststarter` WHERE `id` = 162972 AND `quest` = 58933;
DELETE FROM `creature_questender` WHERE `id` = 156804 AND `quest` = 59347;
DELETE FROM `creature_queststarter` WHERE `id` = 156804 AND `quest` = 59349;
DELETE FROM `creature_questender` WHERE `id` = 156932 AND `quest` = 59350;
DELETE FROM `creature_queststarter` WHERE `id` = 167128 AND `quest` = 59943;
DELETE FROM `creature_questender` WHERE `id` = 167221 AND `quest` = 59948;
DELETE FROM `creature_questender` WHERE `id` = 162998 AND `quest` = 59958;
DELETE FROM `creature_queststarter` WHERE `id` = 167631 AND `quest` = 59980;
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES (167630, 59980, 0);
DELETE FROM `creature_questender` WHERE `id` = 167631 AND `quest` = 59980;
DELETE FROM `creature_questender` WHERE `id` = 167633 AND `quest` = 59984;
DELETE FROM `creature_queststarter` WHERE `id` = 167633 AND `quest` = 59985;
DELETE FROM `creature_questender` WHERE `id` = 244496 AND `quest` = 59985;
DELETE FROM `creature_questender` WHERE `id` = 154169 AND `quest` = 59985;
@@ -0,0 +1,2 @@
-- Exiles Reach: post-Torgak quest givers (custom NPCs) need UNIT_NPC_FLAG_QUESTGIVER (0x2)
UPDATE `creature_template` SET `npcflag` = `npcflag` | 2 WHERE `entry` IN (245397, 245667, 245686);
@@ -0,0 +1,3 @@
-- Exiles Reach: the ritual Meredy/Herbert (153211/167298) need UNIT_NPC_FLAG_GOSSIP (0x1)
-- to start the Bloodbeak fight via OnGossipSelect (the event was unreachable with npcflag=0)
UPDATE `creature_template` SET `npcflag` = `npcflag` | 1 WHERE `entry` IN (153211, 167298);
@@ -0,0 +1,4 @@
-- Exiles Reach: correct the post-Torgak reunion scene packages.
-- 2341 (Alliance, cast by SPELL_REUNION_SCENE_A) -> 4778 (11.2.7 ExilesReach Alliance IGC)
-- 2497 (Horde) already correctly maps to 4779.
UPDATE `scene_template` SET `ScriptPackageID` = 4778 WHERE `SceneId` = 2341;
@@ -0,0 +1,6 @@
-- Exiles Reach: add a DB spawn for post-Torgak Captain Garrick (245394) at the camp,
-- so he's reliably present as quest-giver (55639/55194/85678) like Jaina (156807).
-- z = 91.001 matches the camp ground height (Jaina 42560 is also at 91.001).
SET @guid := 730202;
INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `phaseUseFlags`, `PhaseId`, `PhaseGroup`, `terrainSwapMap`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curHealthPct`, `MovementType`, `npcflag`, `unit_flags`, `unit_flags2`, `unit_flags3`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(@guid, 245394, 2175, 10424, 10424, 0, 0, 15017, 0, -1, 0, 0, 180.8, -2286.0, 91.001, 0.0, 180, 0, 0, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, 0);
@@ -1,83 +0,0 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dru_eclipse_aura';
-- Flight flag
UPDATE creature_template_difficulty SET StaticFlags1 = StaticFlags1 | 0x20000000 WHERE Entry IN (44767);
-- Swim flag
UPDATE creature_template_difficulty SET StaticFlags1 = StaticFlags1 | 0x10000000 WHERE Entry IN (7855,7858,14123,39020);
-- Creature Equipment
DELETE FROM `creature_equip_template` WHERE `CreatureID` IN (224049,224035) AND `ID` = 1 AND `ItemID1` = 38632;
DELETE FROM `creature_equip_template` WHERE `CreatureID` = 40583 AND `ID` = 1 AND `ItemID1` = 2147;
INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `AppearanceModID1`, `ItemVisual1`, `ItemID2`, `AppearanceModID2`, `ItemVisual2`, `ItemID3`, `AppearanceModID3`, `ItemVisual3`, `VerifiedBuild`) VALUES
(224049, 1, 38632, 0, 0, 0, 0, 0, 0, 0, 0, 67186),
(224035, 1, 38632, 0, 0, 0, 0, 0, 0, 0, 0, 67186),
(40583, 1, 2147, 0, 0, 0, 0, 0, 0, 0, 0, 67186);
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_hun_last_stand_pet';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dru_astral_smolder';
DELETE FROM `spell_script_names` WHERE `spell_id`=444324 AND `ScriptName`='spell_kyrioss_stormheart';
DELETE FROM `spell_script_names` WHERE `spell_id`=405641 AND `ScriptName`='spell_blistering_twilight_aura';
DELETE FROM `spell_script_names` WHERE `spell_id`=404897 AND `ScriptName`='spell_swirling_flame_at';
DELETE FROM `spell_script_names` WHERE `spell_id`=394063 AND `ScriptName`='spell_warr_improved_whirlwind_cleave';
DELETE FROM `spell_script_names` WHERE `spell_id`=394062 AND `ScriptName`='spell_warr_improved_whirlwind_cleave';
DELETE FROM `spell_script_names` WHERE `spell_id`=390693 AND `ScriptName`='spell_pri_train_of_thought';
DELETE FROM `spell_script_names` WHERE `spell_id`=389718 AND `ScriptName`='spell_dh_cycle_of_binding';
DELETE FROM `spell_script_names` WHERE `spell_id`=40414 AND `ScriptName`='spell_fixate';
DELETE FROM `spell_script_names` WHERE `spell_id`=42385 AND `ScriptName`='spell_dustwallow_marsh_alcaz_survey_aura';
DELETE FROM `spell_script_names` WHERE `spell_id`=45406 AND `ScriptName`='spell_midsummer_ribbon_pole_periodic_visual';
DELETE FROM `spell_script_names` WHERE `spell_id`=45996 AND `ScriptName`='spell_muru_darkness';
DELETE FROM `spell_script_names` WHERE `spell_id`=48517 AND `ScriptName`='spell_dru_natures_grace_eclipse';
DELETE FROM `spell_script_names` WHERE `spell_id`=450347 AND `ScriptName`='spell_dru_natures_grace';
DELETE FROM `spell_script_names` WHERE `spell_id`=50278 AND `ScriptName`='spell_barreled_control_aura';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rog_honor_among_thieves';
DELETE FROM `spell_script_names` WHERE `spell_id`=54149 AND `ScriptName`='spell_pal_infusion_of_light';
DELETE FROM `spell_script_names` WHERE `spell_id`=53576 AND `ScriptName`='spell_pal_infusion_of_light';
DELETE FROM `spell_script_names` WHERE `spell_id`=59910 AND `ScriptName`='spell_novos_summon_minions';
DELETE FROM `spell_script_names` WHERE `spell_id`=59915 AND `ScriptName`='spell_item_discerning_eye_beast_dummy';
DELETE FROM `spell_script_names` WHERE `spell_id`=64382 AND `ScriptName`='spell_warr_shattering_throw';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_flask_of_the_north';
DELETE FROM `spell_script_names` WHERE `spell_id`=68614 AND `ScriptName`='spell_apothecary_cologne_spill';
DELETE FROM `spell_script_names` WHERE `spell_id`=68798 AND `ScriptName`='spell_apothecary_perfume_spill';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_warl_chaotic_energies';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dk_festering_strike';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_mage_incanters_flow';
DELETE FROM `spell_script_names` WHERE `spell_id`=118089 AND `ScriptName`='spell_item_water_strider';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_righteous_protector';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_mage_flame_on';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_warr_ravager';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_monk_save_them_all';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dru_dream_of_cenarius_guardian';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_af_skyward_ascent';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_evo_permeating_chill';
-- Make it interactable and hand it a gossip-hello credit script.
UPDATE `creature_template` SET `npcflag`=1, `AIName`='SmartAI' WHERE `entry`=253460;
DELETE FROM `smart_scripts` WHERE `entryorguid`=253460 AND `source_type`=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`,
`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`action_param7`,
`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(253460, 0, 0, 0, 64, 0, 100, 0, 0,0,0,0,0, 33, 253460, 0,0,0,0,0,0, 7, 0,0,0,0, 0,0,0,0, 'Stuck Ogre - gossip-hello kill credit for quest 90886 objective 465804 (functional equivalent, retail mechanism not captured)'),
(253460, 0, 1, 0, 64, 0, 100, 0, 0,0,0,0,0, 72, 0, 0,0,0,0,0,0, 7, 0,0,0,0, 0,0,0,0, 'Stuck Ogre - close gossip after credit');
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_piccolo_of_the_flaming_fire';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rog_deepening_shadows';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dk_reaper_of_souls';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dk_soul_reaper';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rira_bladestorm_aura';
@@ -1,16 +0,0 @@
-- DBErrors
UPDATE `version` SET `cache_id`=69497 WHERE `cache_id` >0;
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_item_dire_brew','spell_pal_fist_of_justice','spell_rog_killing_spree','spell_dru_natures_grace_eclipse','spell_muru_darkness','spell_warr_improved_whirlwind_cleave');
DELETE FROM `spell_script_names` WHERE `spell_id`=228920 AND `ScriptName`='spell_warr_ravager_aurascript';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(228920, 'spell_warr_ravager_aurascript');
DELETE FROM `spell_script_names` WHERE `spell_id`=51690 AND `ScriptName`='spell_rog_killing_spree_aura';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(51690, 'spell_rog_killing_spree_aura');
DELETE FROM `spell_script_names` WHERE `spell_id`=405642 AND `ScriptName`='spell_blistering_twilight_aura';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(405642, 'spell_blistering_twilight_aura');
@@ -1,3 +0,0 @@
-- DBErrors
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_evo_call_of_ysera','spell_decay_spray','spell_warl_summon_sayaad','spell_evo_snapfire','spell_anduin_wrynn_empowered_wicked_star_selector','spell_anduin_wrynn_wicked_star_selector','spell_evo_snapfire_bonus_damage','spell_pri_mental_decay','spell_rira_bladestorm');
@@ -1,38 +0,0 @@
DELETE FROM `spell_script_names` WHERE `spell_id`=377827 AND `ScriptName`='spell_rira_bladestorm';
DELETE FROM `spell_script_names` WHERE `spell_id`=376811 AND `ScriptName`='spell_decay_spray';
DELETE FROM `spell_script_names` WHERE `spell_id`=375994 AND `ScriptName`='spell_pri_mental_decay';
DELETE FROM `spell_script_names` WHERE `spell_id`=368847 AND `ScriptName`='spell_evo_snapfire';
DELETE FROM `spell_script_names` WHERE `spell_id`=369374 AND `ScriptName`='spell_evo_snapfire_bonus_damage';
DELETE FROM `spell_script_names` WHERE `spell_id`=366222 AND `ScriptName`='spell_warl_summon_sayaad';
DELETE FROM `spell_script_names` WHERE `spell_id`=334315 AND `ScriptName`='spell_warl_unstable_affliction';
DELETE FROM `spell_script_names`
WHERE `spell_id` = 157982 AND `ScriptName` = 'spell_gen_major_healing_cooldown_modifier_aura';
DELETE FROM `spell_script_names`
WHERE `spell_id` = 190984 AND `ScriptName` = 'spell_dru_umbral_embrace';
DELETE FROM `spell_script_names` WHERE `spell_id`=194153 AND `ScriptName`='spell_dru_umbral_embrace';
DELETE FROM `spell_script_names` WHERE `spell_id`=215568 AND `ScriptName`='spell_warr_bloodthirst';
DELETE FROM `spell_script_names` WHERE `spell_id`=272893 AND `ScriptName`='spell_azerite_gen_aura_calc_from_2nd_effect_triggered_spell';
DELETE FROM `spell_script_names`
WHERE `spell_id` = 277253 AND `ScriptName` = 'spell_item_azerite_fortification';
DELETE FROM `spell_script_names`
WHERE `spell_id` = 301144 AND `ScriptName` = 'spell_rog_cheat_death';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dru_cultivation';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_wake_of_ashes';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dk_obliteration';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_priestess_alun_za_tainted_blood';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_lord_stormsong_disciple_of_the_vol_zith';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_kings_rest_suppression_slam';
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_explosive_contrivance';
DELETE FROM `spell_script_names` WHERE `spell_id`=18765 AND `ScriptName`='spell_warr_sweeping_strikes';
DELETE FROM `spell_script_names` WHERE `spell_id`=80647 AND `ScriptName`='spell_stalactite_mod_dest_height';
DELETE FROM `spell_script_names` WHERE `spell_id`=80654 AND `ScriptName`='spell_stalactite_mod_dest_height';
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,29 +0,0 @@
-- DBErrors
DELETE FROM `disables` WHERE `sourceType`=1 AND `entry`=94474;
INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
(1, 94474, 0, '', '', 'Deprecated Quest: The Great Vault');
DELETE FROM `spell_script_names` WHERE `spell_id`=334315 AND `ScriptName`='spell_warl_unstable_affliction';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(334315, 'spell_warl_unstable_affliction');
DELETE FROM `spell_script_names` WHERE `spell_id`=393763 AND `ScriptName`='spell_dru_umbral_embrace';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(393763, 'spell_dru_umbral_embrace');
DELETE FROM `spell_script_names` WHERE `spell_id`=270658 AND `ScriptName`='spell_item_azerite_fortification';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(270658, 'spell_item_azerite_fortification');
DELETE FROM `spell_script_names` WHERE `spell_id`=31230 AND `ScriptName`='spell_rog_cheat_death';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(31230, 'spell_rog_cheat_death');
DELETE FROM `spell_proc` WHERE `SpellId`=444929;
INSERT INTO `spell_proc` (`SpellId`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `SpellFamilyMask3`, `ProcFlags`, `ProcFlags2`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `DisableEffectsMask`, `ProcsPerMinute`, `Chance`, `Cooldown`, `Charges`) VALUES
(444929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
UPDATE `creature_template` SET `faction`=35 WHERE `entry` IN (259106,262079,265254,260918,260875,265558,263272,264358,271599,260833,266910,260917,265792,266830,268829,264340,266458,265795,265559,265583,266205,265923,263532,267315,270142,263970,270250,266209,264362,265777,270145,270249,265581,266034,267919,263967,265950,263971,265951,266142,263989,264033,260437,265953,265957,263988,265860,262184,264024,264028,264030,264032,265876,265877,269279,263798,266143,264315,264322,264326,263366,264301,263270,268804,265084,266923,268767,266932,266933,267862,265791,265025,262076,264342,264343,264348,265268,265304,263530,269987,263599,263605,263606,265533,265535,265536,265537,268329,265573,265580,263224);
UPDATE `creature_template` SET `npcflag`=128 WHERE `entry`=254436;
UPDATE `creature_template` SET `unit_class`=1 WHERE `entry` IN (270645,271654,271655);
File diff suppressed because one or more lines are too long
@@ -1,715 +0,0 @@
-- DBErrors
UPDATE `npc_text` SET `BroadcastTextID0`=50429 WHERE `ID` IN (263522,263523,263989,250363,264024,263479,264028,264032,264033,240404,268330,655010,263520,263524,269987,253640);
UPDATE `creature_template_model` SET `CreatureDisplayID`=10045 WHERE `CreatureDisplayID` IN (140387,140390,140952,141423,140952,140951,141319,140955,145875,144546,144872,140971,144823,144824,141319);
DELETE FROM `creature_template` WHERE `entry`=265559;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `IconName`, `TitleAlt`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265559, 0, 0, 'Kifaan', NULL, 'The Consortium', NULL, NULL, 0, 0, 35, 128, 1, 1.14286, 1, 0, 0, 0, 0, 1, 1, 4, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', NULL, 66384);
DELETE FROM `creature_template_addon` WHERE `entry`=265559;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(265559, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template_difficulty` WHERE `Entry`=265559;
INSERT INTO `creature_template_difficulty` (`Entry`, `DifficultyID`, `LevelScalingDeltaMin`, `LevelScalingDeltaMax`, `ContentTuningID`, `HealthScalingExpansion`, `HealthModifier`, `ManaModifier`, `ArmorModifier`, `DamageModifier`, `CreatureDifficultyID`, `TypeFlags`, `TypeFlags2`, `TypeFlags3`, `LootID`, `PickPocketLootID`, `SkinLootID`, `GoldMin`, `GoldMax`, `StaticFlags1`, `StaticFlags2`, `StaticFlags3`, `StaticFlags4`, `StaticFlags5`, `StaticFlags6`, `StaticFlags7`, `StaticFlags8`, `VerifiedBuild`) VALUES
(265559, 0, 0, 0, 0, 11, 1, 1, 1, 1, 323861, 0, 0, 0, 0, 0, 0, 0, 0, 524288, 0, 0, 0, 0, 0, 0, 0, NULL);
DELETE FROM `creature_template_locale` WHERE `entry`=265559;
INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `TitleAlt`, `VerifiedBuild`) VALUES
(265559, 'deDE', 'Kifaan', NULL, 'Das Konsortium', NULL, 66384),
(265559, 'esES', 'Kifaan', NULL, 'El Consorcio', NULL, 66384),
(265559, 'esMX', 'Kifaan', NULL, 'El Consorcio', NULL, 66384),
(265559, 'frFR', 'Kifaan', NULL, 'Consortium', NULL, 66384),
(265559, 'itIT', 'Kifaan', NULL, 'Il Consorzio', NULL, 66384),
(265559, 'koKR', '키판', NULL, '무역연합', NULL, 66384),
(265559, 'ptBR', 'Kifaan', NULL, 'O Consórcio', NULL, 66384),
(265559, 'ruRU', 'Кифаан', NULL, 'Консорциум', NULL, 66384),
(265559, 'zhCN', '琪法安', NULL, '星界财团', NULL, 66384),
(265559, 'zhTW', '齊凡', NULL, '聯合團', NULL, 66384);
DELETE FROM `creature_template_model` WHERE `CreatureID`=265559;
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
(265559, 0, 142456, 1, 1, 66384);
DELETE FROM `creature_template` WHERE `entry`=263970;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263970, 0, 0, 'Infected Mauler', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 15, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0);
DELETE FROM `creature_template_addon` WHERE `entry`=263970;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(263970, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template` WHERE `entry`=263971;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263971, 0, 0, 'Infected Gorger', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 15, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0);
DELETE FROM `creature_template_addon` WHERE `entry`=263971;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(263971, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template` WHERE `entry`=265535;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265535, 0, 0, 'Hal''hadar Arcanaught', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Hal'hadar Arcanaught
DELETE FROM `creature_template_addon` WHERE `entry`=265535;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(265535, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template` WHERE `entry`=265536;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265536, 0, 0, 'Hal''hadar Artificer', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0);
DELETE FROM `creature_template_addon` WHERE `entry`=265536;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(265536, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template` WHERE `entry`=265537;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265537, 0, 0, 'Hal''hadar Forge-Grunt', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0);
DELETE FROM `creature_template_addon` WHERE `entry`=265537;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(265537, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_template` WHERE `entry`=265580;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265580, 0, 0, 'Hal''hadar Tech-Cadet', '', NULL, NULL, '(NULL)', 0, 0, 14, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0);
DELETE FROM `creature_template_addon` WHERE `entry`=265580;
INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `MountCreatureID`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvPFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
(265580, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, '');
DELETE FROM `creature_quest_currency` WHERE `CurrencyId`=3252;
DELETE FROM `gameobject_template` WHERE `entry`=653484;
INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `size`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `Data6`, `Data7`, `Data8`, `Data9`, `Data10`, `Data11`, `Data12`, `Data13`, `Data14`, `Data15`, `Data16`, `Data17`, `Data18`, `Data19`, `Data20`, `Data21`, `Data22`, `Data23`, `Data24`, `Data25`, `Data26`, `Data27`, `Data28`, `Data29`, `Data30`, `Data31`, `Data32`, `Data33`, `Data34`, `ContentTuningId`, `RequiredLevel`, `AIName`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(653484, 0, 103270, 'Potent Ossified Relic', '', '', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', NULL, 0); -- Potent Ossified Relic
DELETE FROM `gameobject_template_addon` WHERE `entry`=653484;
INSERT INTO `gameobject_template_addon` (`entry`, `faction`, `flags`, `mingold`, `maxgold`, `artkit0`, `artkit1`, `artkit2`, `artkit3`, `artkit4`, `WorldEffectID`, `AIAnimKitID`) VALUES
(653484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
DELETE FROM `gameobject_template` WHERE `entry`=625556;
INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `size`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `Data6`, `Data7`, `Data8`, `Data9`, `Data10`, `Data11`, `Data12`, `Data13`, `Data14`, `Data15`, `Data16`, `Data17`, `Data18`, `Data19`, `Data20`, `Data21`, `Data22`, `Data23`, `Data24`, `Data25`, `Data26`, `Data27`, `Data28`, `Data29`, `Data30`, `Data31`, `Data32`, `Data33`, `Data34`, `ContentTuningId`, `RequiredLevel`, `AIName`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(625556, 0, 433, 'Snake Tunnel', '', '', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', NULL, 0); -- Snake Tunnel
DELETE FROM `gameobject_template_addon` WHERE `entry`=625556;
INSERT INTO `gameobject_template_addon` (`entry`, `faction`, `flags`, `mingold`, `maxgold`, `artkit0`, `artkit1`, `artkit2`, `artkit3`, `artkit4`, `WorldEffectID`, `AIAnimKitID`) VALUES
(625556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
DELETE FROM `quest_template` WHERE `ID` IN (96090);
INSERT INTO `quest_template` (`ID`, `QuestType`, `QuestPackageID`, `ContentTuningID`, `QuestSortID`, `QuestInfoID`, `SuggestedGroupNum`, `RewardNextQuest`, `RewardXPDifficulty`, `RewardXPMultiplier`, `RewardMoneyDifficulty`, `RewardMoneyMultiplier`, `RewardSpell`, `RewardHonor`, `RewardKillHonor`, `RewardFavor`, `StartItem`, `RewardArtifactXPDifficulty`, `RewardArtifactXPMultiplier`, `RewardArtifactCategoryID`, `Flags`, `FlagsEx`, `FlagsEx2`, `FlagsEx3`, `RewardSkillLineID`, `RewardNumSkillUps`, `PortraitGiver`, `PortraitGiverMount`, `PortraitGiverModelSceneID`, `PortraitTurnIn`, `RewardItem1`, `RewardItem2`, `RewardItem3`, `RewardItem4`, `RewardAmount1`, `RewardAmount2`, `RewardAmount3`, `RewardAmount4`, `ItemDrop1`, `ItemDrop2`, `ItemDrop3`, `ItemDrop4`, `ItemDropQuantity1`, `ItemDropQuantity2`, `ItemDropQuantity3`, `ItemDropQuantity4`, `RewardChoiceItemID1`, `RewardChoiceItemID2`, `RewardChoiceItemID3`, `RewardChoiceItemID4`, `RewardChoiceItemID5`, `RewardChoiceItemID6`, `RewardChoiceItemQuantity1`, `RewardChoiceItemQuantity2`, `RewardChoiceItemQuantity3`, `RewardChoiceItemQuantity4`, `RewardChoiceItemQuantity5`, `RewardChoiceItemQuantity6`, `RewardChoiceItemDisplayID1`, `RewardChoiceItemDisplayID2`, `RewardChoiceItemDisplayID3`, `RewardChoiceItemDisplayID4`, `RewardChoiceItemDisplayID5`, `RewardChoiceItemDisplayID6`, `POIContinent`, `POIx`, `POIy`, `POIPriority`, `RewardTitle`, `RewardArenaPoints`, `RewardFactionID1`, `RewardFactionID2`, `RewardFactionID3`, `RewardFactionID4`, `RewardFactionID5`, `RewardFactionValue1`, `RewardFactionValue2`, `RewardFactionValue3`, `RewardFactionValue4`, `RewardFactionValue5`, `RewardFactionCapIn1`, `RewardFactionCapIn2`, `RewardFactionCapIn3`, `RewardFactionCapIn4`, `RewardFactionCapIn5`, `RewardFactionOverride1`, `RewardFactionOverride2`, `RewardFactionOverride3`, `RewardFactionOverride4`, `RewardFactionOverride5`, `RewardFactionFlags`, `AreaGroupID`, `TimeAllowed`, `AllowableRaces`, `Expansion`, `ManagedWorldStateID`, `QuestSessionBonus`, `LogTitle`, `LogDescription`, `QuestDescription`, `AreaDescription`, `QuestCompletionLog`, `RewardCurrencyID1`, `RewardCurrencyID2`, `RewardCurrencyID3`, `RewardCurrencyID4`, `RewardCurrencyQty1`, `RewardCurrencyQty2`, `RewardCurrencyQty3`, `RewardCurrencyQty4`, `PortraitGiverText`, `PortraitGiverName`, `PortraitTurnInText`, `PortraitTurnInName`, `AcceptedSoundKitID`, `CompleteSoundKitID`, `VerifiedBuild`) VALUES
(96090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Venemetic', 'Collect 5 doses of Virulent Ula''tek Venom from the Children of Ula''tek at the Serpent''s Tail.
Requirements:
- Virulent Ula''tek Venom x 5', '//', '', '', 0, 0, 0, 0, 0, 0, 0, 0, '', '', '', '', 0, 0, 0); -- Venemetic
DELETE FROM `quest_template` WHERE `ID` IN (98343);
INSERT INTO `quest_template` (`ID`, `QuestType`, `QuestPackageID`, `ContentTuningID`, `QuestSortID`, `QuestInfoID`, `SuggestedGroupNum`, `RewardNextQuest`, `RewardXPDifficulty`, `RewardXPMultiplier`, `RewardMoneyDifficulty`, `RewardMoneyMultiplier`, `RewardSpell`, `RewardHonor`, `RewardKillHonor`, `RewardFavor`, `StartItem`, `RewardArtifactXPDifficulty`, `RewardArtifactXPMultiplier`, `RewardArtifactCategoryID`, `Flags`, `FlagsEx`, `FlagsEx2`, `FlagsEx3`, `RewardSkillLineID`, `RewardNumSkillUps`, `PortraitGiver`, `PortraitGiverMount`, `PortraitGiverModelSceneID`, `PortraitTurnIn`, `RewardItem1`, `RewardItem2`, `RewardItem3`, `RewardItem4`, `RewardAmount1`, `RewardAmount2`, `RewardAmount3`, `RewardAmount4`, `ItemDrop1`, `ItemDrop2`, `ItemDrop3`, `ItemDrop4`, `ItemDropQuantity1`, `ItemDropQuantity2`, `ItemDropQuantity3`, `ItemDropQuantity4`, `RewardChoiceItemID1`, `RewardChoiceItemID2`, `RewardChoiceItemID3`, `RewardChoiceItemID4`, `RewardChoiceItemID5`, `RewardChoiceItemID6`, `RewardChoiceItemQuantity1`, `RewardChoiceItemQuantity2`, `RewardChoiceItemQuantity3`, `RewardChoiceItemQuantity4`, `RewardChoiceItemQuantity5`, `RewardChoiceItemQuantity6`, `RewardChoiceItemDisplayID1`, `RewardChoiceItemDisplayID2`, `RewardChoiceItemDisplayID3`, `RewardChoiceItemDisplayID4`, `RewardChoiceItemDisplayID5`, `RewardChoiceItemDisplayID6`, `POIContinent`, `POIx`, `POIy`, `POIPriority`, `RewardTitle`, `RewardArenaPoints`, `RewardFactionID1`, `RewardFactionID2`, `RewardFactionID3`, `RewardFactionID4`, `RewardFactionID5`, `RewardFactionValue1`, `RewardFactionValue2`, `RewardFactionValue3`, `RewardFactionValue4`, `RewardFactionValue5`, `RewardFactionCapIn1`, `RewardFactionCapIn2`, `RewardFactionCapIn3`, `RewardFactionCapIn4`, `RewardFactionCapIn5`, `RewardFactionOverride1`, `RewardFactionOverride2`, `RewardFactionOverride3`, `RewardFactionOverride4`, `RewardFactionOverride5`, `RewardFactionFlags`, `AreaGroupID`, `TimeAllowed`, `AllowableRaces`, `Expansion`, `ManagedWorldStateID`, `QuestSessionBonus`, `LogTitle`, `LogDescription`, `QuestDescription`, `AreaDescription`, `QuestCompletionLog`, `RewardCurrencyID1`, `RewardCurrencyID2`, `RewardCurrencyID3`, `RewardCurrencyID4`, `RewardCurrencyQty1`, `RewardCurrencyQty2`, `RewardCurrencyQty3`, `RewardCurrencyQty4`, `PortraitGiverText`, `PortraitGiverName`, `PortraitTurnInText`, `PortraitTurnInName`, `AcceptedSoundKitID`, `CompleteSoundKitID`, `VerifiedBuild`) VALUES
(98343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Venom Fishing: My Second-Best', 'Meet with Second Mate Sluggs at Tokka''s Folly.
Requirements:
- Meet with Second Mate Sluggs', '//', '', '', 0, 0, 0, 0, 0, 0, 0, 0, '', '', '', '', 0, 0, 0); -- Venom Fishing: My Second-Best
DELETE FROM `quest_template` WHERE `ID` IN (97640);
INSERT INTO `quest_template` (`ID`, `QuestType`, `QuestPackageID`, `ContentTuningID`, `QuestSortID`, `QuestInfoID`, `SuggestedGroupNum`, `RewardNextQuest`, `RewardXPDifficulty`, `RewardXPMultiplier`, `RewardMoneyDifficulty`, `RewardMoneyMultiplier`, `RewardSpell`, `RewardHonor`, `RewardKillHonor`, `RewardFavor`, `StartItem`, `RewardArtifactXPDifficulty`, `RewardArtifactXPMultiplier`, `RewardArtifactCategoryID`, `Flags`, `FlagsEx`, `FlagsEx2`, `FlagsEx3`, `RewardSkillLineID`, `RewardNumSkillUps`, `PortraitGiver`, `PortraitGiverMount`, `PortraitGiverModelSceneID`, `PortraitTurnIn`, `RewardItem1`, `RewardItem2`, `RewardItem3`, `RewardItem4`, `RewardAmount1`, `RewardAmount2`, `RewardAmount3`, `RewardAmount4`, `ItemDrop1`, `ItemDrop2`, `ItemDrop3`, `ItemDrop4`, `ItemDropQuantity1`, `ItemDropQuantity2`, `ItemDropQuantity3`, `ItemDropQuantity4`, `RewardChoiceItemID1`, `RewardChoiceItemID2`, `RewardChoiceItemID3`, `RewardChoiceItemID4`, `RewardChoiceItemID5`, `RewardChoiceItemID6`, `RewardChoiceItemQuantity1`, `RewardChoiceItemQuantity2`, `RewardChoiceItemQuantity3`, `RewardChoiceItemQuantity4`, `RewardChoiceItemQuantity5`, `RewardChoiceItemQuantity6`, `RewardChoiceItemDisplayID1`, `RewardChoiceItemDisplayID2`, `RewardChoiceItemDisplayID3`, `RewardChoiceItemDisplayID4`, `RewardChoiceItemDisplayID5`, `RewardChoiceItemDisplayID6`, `POIContinent`, `POIx`, `POIy`, `POIPriority`, `RewardTitle`, `RewardArenaPoints`, `RewardFactionID1`, `RewardFactionID2`, `RewardFactionID3`, `RewardFactionID4`, `RewardFactionID5`, `RewardFactionValue1`, `RewardFactionValue2`, `RewardFactionValue3`, `RewardFactionValue4`, `RewardFactionValue5`, `RewardFactionCapIn1`, `RewardFactionCapIn2`, `RewardFactionCapIn3`, `RewardFactionCapIn4`, `RewardFactionCapIn5`, `RewardFactionOverride1`, `RewardFactionOverride2`, `RewardFactionOverride3`, `RewardFactionOverride4`, `RewardFactionOverride5`, `RewardFactionFlags`, `AreaGroupID`, `TimeAllowed`, `AllowableRaces`, `Expansion`, `ManagedWorldStateID`, `QuestSessionBonus`, `LogTitle`, `LogDescription`, `QuestDescription`, `AreaDescription`, `QuestCompletionLog`, `RewardCurrencyID1`, `RewardCurrencyID2`, `RewardCurrencyID3`, `RewardCurrencyID4`, `RewardCurrencyQty1`, `RewardCurrencyQty2`, `RewardCurrencyQty3`, `RewardCurrencyQty4`, `PortraitGiverText`, `PortraitGiverName`, `PortraitTurnInText`, `PortraitTurnInName`, `AcceptedSoundKitID`, `CompleteSoundKitID`, `VerifiedBuild`) VALUES
(97640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Vaults of Atal''Utek: One Coin Too Many', 'Find Er''inye.
Requirements:
- Find Er''inye', '//', '', '', 0, 0, 0, 0, 0, 0, 0, 0, '', '', '', '', 0, 0, 0); -- Vaults of Atal'Utek: One Coin Too Many
UPDATE `creature_template` SET `npcflag`=2 WHERE `entry` IN (264024,264028,266034);
UPDATE `creature_template` SET `npcflag`=0 WHERE `entry` IN (271654,271655);
UPDATE `gameobject_template` SET `Data1`=659300 WHERE `entry`=659300;
UPDATE `gameobject_template` SET `Data1`=655271 WHERE `entry`=655271;
UPDATE `gameobject_template` SET `Data1`=657946, `Data30`=0 WHERE `entry`=657946;
UPDATE `gameobject_template` SET `Data1`=559409 WHERE `entry`=559409;
DELETE FROM `creature_template` WHERE `entry`=253837;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(253837, 0, 0, 'Apothecary Dezi', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Apothecary Dezi
DELETE FROM `creature_template` WHERE `entry`=254635;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(254635, 0, 0, 'Maka the Trawler', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Maka the Trawler
DELETE FROM `creature_template` WHERE `entry`=256886;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(256886, 0, 0, 'Spectral Smith', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 6, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Spectral Smith
DELETE FROM `creature_template` WHERE `entry`=257299;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(257299, 0, 0, 'Captain Sal''chatah', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 6, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Captain Sal'chatah
DELETE FROM `creature_template` WHERE `entry`=257592;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(257592, 0, 0, 'Kill Credit [DNT]', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Kill Credit [DNT]
DELETE FROM `creature_template` WHERE `entry`=257768;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(257768, 0, 0, '[DNT] Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit
DELETE FROM `creature_template` WHERE `entry`=257769;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(257769, 0, 0, '[DNT] Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit
DELETE FROM `creature_template` WHERE `entry`=259403;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259403, 0, 0, 'Kill Credit [DNT]', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Kill Credit [DNT]
DELETE FROM `creature_template` WHERE `entry`=259422;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259422, 0, 0, 'Ulan Tunnels - Bunny', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Ulan Tunnels - Bunny
DELETE FROM `creature_template` WHERE `entry`=259423;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259423, 0, 0, 'Ulan Tunnels - Bunny', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Ulan Tunnels - Bunny
DELETE FROM `creature_template` WHERE `entry`=259424;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259424, 0, 0, 'Ulan Tunnels - Bunny', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Ulan Tunnels - Bunny
DELETE FROM `creature_template` WHERE `entry`=259750;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259750, 0, 0, 'Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Kill Credit
DELETE FROM `creature_template` WHERE `entry`=259752;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(259752, 0, 0, 'Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Kill Credit
DELETE FROM `creature_template` WHERE `entry`=260706;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(260706, 0, 0, 'Clue 1', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Clue 1
DELETE FROM `creature_template` WHERE `entry`=260707;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(260707, 0, 0, 'Clue 2', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Clue 2
DELETE FROM `creature_template` WHERE `entry`=260708;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(260708, 0, 0, 'Clue 3', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Clue 3
DELETE FROM `creature_template` WHERE `entry`=260710;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(260710, 0, 0, 'Jelvik', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Jelvik
DELETE FROM `creature_template` WHERE `entry`=261070;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(261070, 0, 0, '[DNT] Kill Credit - Small', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Small
DELETE FROM `creature_template` WHERE `entry`=261111;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(261111, 0, 0, '[DNT] Kill Credit: T1 Snakeoids Slain', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: T1 Snakeoids Slain
DELETE FROM `creature_template` WHERE `entry`=262075;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262075, 0, 0, '[DNT] Kill Credit: Venom Siphoned Count', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Venom Siphoned Count
DELETE FROM `creature_template` WHERE `entry`=262077;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262077, 0, 0, '[DNT] Kill Credit: Siphon venom from the totem', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Siphon venom from the totem
DELETE FROM `creature_template` WHERE `entry`=262233;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262233, 0, 0, 'Sticky-Foot Swamp Hopper', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 8, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Sticky-Foot Swamp Hopper
DELETE FROM `creature_template` WHERE `entry`=262274;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262274, 0, 0, 'Ruuk''Jar''s Egg', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Ruuk'Jar's Egg
DELETE FROM `creature_template` WHERE `entry`=262455;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262455, 0, 0, 'Azta''rec', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Azta'rec
DELETE FROM `creature_template` WHERE `entry`=262735;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262735, 0, 0, '[DNT] Kill Credit: Hidden Interact Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Hidden Interact Credit
DELETE FROM `creature_template` WHERE `entry`=262752;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262752, 0, 0, 'Oozing Murkfen', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Oozing Murkfen
DELETE FROM `creature_template` WHERE `entry`=263025;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263025, 0, 0, 'Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Kill Credit
DELETE FROM `creature_template` WHERE `entry`=263364;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263364, 0, 0, '[DNT] Ritual Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Ritual Kill Credit
DELETE FROM `creature_template` WHERE `entry`=263409;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263409, 0, 0, '[DNT] Kill Credit: 12.0.7 Showdowns - Naigtal - WQ - Simple - 002', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: 12.0.7 Showdowns - Naigtal - WQ - Simple - 002
DELETE FROM `creature_template` WHERE `entry`=263618;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263618, 0, 0, 'Scout Oma''ema', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Scout Oma'ema
DELETE FROM `creature_template` WHERE `entry`=263621;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263621, 0, 0, 'Medic La''una', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Medic La'una
DELETE FROM `creature_template` WHERE `entry`=263623;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263623, 0, 0, '[DNT] Kill Credit: 12.0.7 Showdowns - Naigtal - WQ - Simple - 002b', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: 12.0.7 Showdowns - Naigtal - WQ - Simple - 002b
DELETE FROM `creature_template` WHERE `entry`=263701;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263701, 0, 0, '[DNT] Kill Credit - Medium', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Medium
DELETE FROM `creature_template` WHERE `entry`=263702;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263702, 0, 0, '[DNT] Kill Credit - Large', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Large
DELETE FROM `creature_template` WHERE `entry`=263968;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(263968, 0, 0, '[DNT] Kill Credit: Infected Devourers Purged', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Infected Devourers Purged
DELETE FROM `creature_template` WHERE `entry`=264025;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264025, 0, 0, '[DNT] Kill Credit: Travel through the Rift', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Travel through the Rift
DELETE FROM `creature_template` WHERE `entry`=264026;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264026, 0, 0, '[DNT] Kill Credit: Rift Opened', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Rift Opened
DELETE FROM `creature_template` WHERE `entry`=264038;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264038, 0, 0, '[DNT] Kill Credit:', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit:
DELETE FROM `creature_template` WHERE `entry`=264106;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264106, 0, 0, 'Gillfish', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 8, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Gillfish
DELETE FROM `creature_template` WHERE `entry`=264161;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264161, 0, 0, '[DNT] Kill Credit: T2 slain', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: T2 slain
DELETE FROM `creature_template` WHERE `entry`=264162;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264162, 0, 0, '[DNT] Kill Credit: Supplies Destroyed', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Supplies Destroyed
DELETE FROM `creature_template` WHERE `entry`=264291;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264291, 0, 0, '[DNT] Kill Credit: Naigtal Beacon', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Naigtal Beacon
DELETE FROM `creature_template` WHERE `entry`=264323;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264323, 0, 0, '12.0.7 Showdowns - Naigtal - Event - Floating Shrooms - WQ Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- 12.0.7 Showdowns - Naigtal - Event - Floating Shrooms - WQ Credit
DELETE FROM `creature_template` WHERE `entry`=265515;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265515, 0, 0, 'Revenant Prey', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 15, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Revenant Prey
DELETE FROM `creature_template` WHERE `entry`=265566;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265566, 0, 0, 'Servant of Ral''kala', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 6, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Servant of Ral'kala
DELETE FROM `creature_template` WHERE `entry`=265718;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265718, 0, 0, '[DNT] Kill Credit: Khadgar''s Portal taken to the Valley of Four Winds', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Khadgar's Portal taken to the Valley of Four Winds
DELETE FROM `creature_template` WHERE `entry`=265901;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265901, 0, 0, '[DNT] Kill Credit: Salt Caps Gathered', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Salt Caps Gathered
DELETE FROM `creature_template` WHERE `entry`=265922;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265922, 0, 0, '[DNT] Kill Credit - Interact', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Interact
DELETE FROM `creature_template` WHERE `entry`=265926;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265926, 0, 0, '[DNT] Kill Credit - Goober', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Goober
DELETE FROM `creature_template` WHERE `entry`=265975;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265975, 0, 0, 'Malfunctioning Nullframe', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 9, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Malfunctioning Nullframe
DELETE FROM `creature_template` WHERE `entry`=266038;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266038, 0, 0, 'Encrypted Data Collator', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Encrypted Data Collator
DELETE FROM `creature_template` WHERE `entry`=266180;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266180, 0, 0, '[DNT] Kill Credit: Ignore Security Warning', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Ignore Security Warning
DELETE FROM `creature_template` WHERE `entry`=266448;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266448, 0, 0, '[DNT] Kill Credit: Translocator Applied to the Nullframe', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Translocator Applied to the Nullframe
DELETE FROM `creature_template` WHERE `entry`=266529;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266529, 0, 0, '[DNT] Kill Credit - Outpost', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Outpost
DELETE FROM `creature_template` WHERE `entry`=266531;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266531, 0, 0, '[DNT] Kill Credit - Transit Hub', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Transit Hub
DELETE FROM `creature_template` WHERE `entry`=266532;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266532, 0, 0, '[DNT] Kill Credit - Fungal Processing', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Fungal Processing
DELETE FROM `creature_template` WHERE `entry`=266533;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(266533, 0, 0, '[DNT] Kill Credit - Fungal Forest', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Fungal Forest
DELETE FROM `creature_template` WHERE `entry`=267115;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(267115, 0, 0, '[DNT] Kill Credit: Naigtal Beacon', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Naigtal Beacon
DELETE FROM `creature_template` WHERE `entry`=267116;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(267116, 0, 0, '[DNT] Kill Credit: Naigtal Beacon', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Naigtal Beacon
DELETE FROM `creature_template` WHERE `entry`=267117;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(267117, 0, 0, '[DNT] Kill Credit: Surveillance Beacon activated', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Surveillance Beacon activated
DELETE FROM `creature_template` WHERE `entry`=267821;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(267821, 0, 0, '[DNT] Kill Credit: Use the Lightveil Recall Beacon to return to Naigtal Camp', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Use the Lightveil Recall Beacon to return to Naigtal Camp
DELETE FROM `creature_template` WHERE `entry`=268148;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(268148, 0, 0, '[DNT] Kill Credit: Speak to Kehiah to begin the tale', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Speak to Kehiah to begin the tale
DELETE FROM `creature_template` WHERE `entry`=269310;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(269310, 0, 0, 'Shattrath Orphan', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Shattrath Orphan
DELETE FROM `creature_template` WHERE `entry`=271954;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(271954, 0, 0, 'Hawkeye Socho', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Hawkeye Socho
DELETE FROM `creature_template` WHERE `entry`=271957;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(271957, 0, 0, 'Commander Gazba', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Commander Gazba
DELETE FROM `creature_template` WHERE `entry`=272107;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(272107, 0, 0, '[DNT] Kill Credit: Fly on a Spirit Eagle to the Amani Outposts', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Fly on a Spirit Eagle to the Amani Outposts
DELETE FROM `creature_template` WHERE `entry`=272676;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(272676, 0, 0, '[DNT] Kill Credit: Khadgar''s Portal taken to Shattrath', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Khadgar's Portal taken to Shattrath
DELETE FROM `creature_template` WHERE `entry`=272979;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(272979, 0, 0, '[DNT] Kill Credit: Talk to Seh''ka the Sturdy to enter the story mode raid', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Talk to Seh'ka the Sturdy to enter the story mode raid
DELETE FROM `creature_template` WHERE `entry`=273215;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(273215, 0, 0, '[DNT] Kill Credit: Ask a Windcaller to hide you from sight', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Ask a Windcaller to hide you from sight
DELETE FROM `creature_template` WHERE `entry`=273216;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(273216, 0, 0, '[DNT] Kill Credit: Fly on a Spiritwing to the Northern Amani Bulwark', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Fly on a Spiritwing to the Northern Amani Bulwark
DELETE FROM `creature_template` WHERE `entry`=273263;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(273263, 0, 0, '[DNT] Kill Credit: Ride a Spiritwing Gust', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Ride a Spiritwing Gust
DELETE FROM `creature_template` WHERE `entry`=273290;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(273290, 0, 0, 'Writhing Coiler', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 1, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Writhing Coiler
DELETE FROM `creature_template` WHERE `entry`=273327;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(273327, 0, 0, '[DNT] Kill Credit: Use a Spiritwing Feather to escape', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Use a Spiritwing Feather to escape
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 659300;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(659300, 0, 276296, 100, 0, 1, 0, 1, 1, 'Soltian Wrangler''s Grip');
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 655271;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258138, 96.16123, 0, 1, 0, 2, 3, 'Potent Healing Potion');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258848, 0.86372364, 0, 1, 0, 1, 1, 'Stained Girdle');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258849, 0.65259117, 0, 1, 0, 1, 1, 'Stained Headguard');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258850, 0.7677543, 0, 1, 0, 1, 1, 'Stained Fistguards');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258851, 0.7293666, 0, 1, 0, 1, 1, 'Stained Hauberk');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258852, 0.67178506, 0, 1, 0, 1, 1, 'Stained Greaves');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258853, 0.57581574, 0, 1, 0, 1, 1, 'Stained Sabatons');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258854, 0.8253359, 0, 1, 0, 1, 1, 'Stained Pauldrons');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258855, 0.7101728, 0, 1, 0, 1, 1, 'Stained Armguards');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258856, 0.61420345, 0, 1, 0, 1, 1, 'Threadbare Mantle');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258857, 0.88291746, 0, 1, 0, 1, 1, 'Threadbare Sash');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258858, 0.90211135, 0, 1, 0, 1, 1, 'Threadbare Crown');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258859, 0.6909789, 0, 1, 0, 1, 1, 'Threadbare Mitts');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258860, 0.84452975, 0, 1, 0, 1, 1, 'Threadbare Leggings');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258861, 0.6909789, 0, 1, 0, 1, 1, 'Threadbare Slippers');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258862, 0.86372364, 0, 1, 0, 1, 1, 'Threadbare Vestments');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258863, 0.7677543, 0, 1, 0, 1, 1, 'Threadbare Armbands');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258864, 0.7677543, 0, 1, 0, 1, 1, 'Brittle Waistguard');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258865, 0.7101728, 0, 1, 0, 1, 1, 'Brittle Breastplate');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258866, 0.9596929, 0, 1, 0, 1, 1, 'Brittle Gauntlets');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258867, 0.67178506, 0, 1, 0, 1, 1, 'Brittle Faceguard');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258868, 0.7485604, 0, 1, 0, 1, 1, 'Brittle Legguards');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258869, 0.5566219, 0, 1, 0, 1, 1, 'Brittle Pauldrons');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258870, 0.9596929, 0, 1, 0, 1, 1, 'Brittle Warboots');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258871, 0.57581574, 0, 1, 0, 1, 1, 'Brittle Armplates');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258872, 0.7293666, 0, 1, 0, 1, 1, 'Frayed Wristwraps');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258873, 0.90211135, 0, 1, 0, 1, 1, 'Frayed Tunic');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258874, 0.7293666, 0, 1, 0, 1, 1, 'Frayed Shoulderpads');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258875, 0.8253359, 0, 1, 0, 1, 1, 'Frayed Britches');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258876, 0.65259117, 0, 1, 0, 1, 1, 'Frayed Guise');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258877, 0.7869482, 0, 1, 0, 1, 1, 'Frayed Handwraps');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258878, 0.8253359, 0, 1, 0, 1, 1, 'Frayed Boots');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258879, 0.7485604, 0, 1, 0, 1, 1, 'Frayed Strap');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258908, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Band');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258909, 0.4990403, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Signet');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258910, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Loop');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258911, 0.42226487, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Pendant');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258912, 0.15355086, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Robe');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258913, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Slippers');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258914, 0.3646833, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Mitts');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258915, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Crown');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258917, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Pads');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258918, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Sash');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258919, 0.28790787, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Bands');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258920, 0.15355086, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Tunic');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258922, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Gloves');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258923, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Hood');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258924, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Breeches');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258926, 0.4990403, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Belt');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258927, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Bracers');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258928, 0.134357, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Hauberk');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258929, 0.24952015, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Sabatons');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258931, 0.28790787, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Cover');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258932, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Chausses');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258933, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Epaulets');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258935, 0.28790787, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Sentinel''s Armguards');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258937, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Warboots');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258938, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Gauntlets');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258939, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Helmet');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258940, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Greaves');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258941, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Mantle');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258942, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Greatbelt');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258943, 0.28790787, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Armplates');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258944, 0.32629558, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Cleaver');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258945, 0.19193858, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Carver');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258947, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Dagger');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258949, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Mace');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258950, 0.24952015, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Warmace');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258951, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Shortsword');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258952, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Longsword');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258953, 0.15355086, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Longbow');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258954, 0.15355086, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Poleaxe');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258956, 0.134357, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Scepter');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258958, 0.30710173, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Greatsword');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258959, 0.24952015, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Blade');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258960, 0.268714, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Beacon');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258961, 0.15355086, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Defender');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 258962, 0.3646833, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Warglaive');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259188, 1.3627639, 0, 1, 0, 1, 1, 'Lightbloomed Spore Sample');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259189, 1.3435701, 0, 1, 0, 1, 1, 'Aged Cruor');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259190, 1.4203455, 0, 1, 0, 1, 1, 'Thalassian Whetstone');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259191, 1.0364684, 0, 1, 0, 1, 1, 'Infused Quenching Oil');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259192, 1.4395393, 0, 1, 0, 1, 1, 'Voidstorm Ashes');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259193, 1.5163147, 0, 1, 0, 1, 1, 'Lost Thalassian Vellum');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259194, 1.4011517, 0, 1, 0, 1, 1, 'Dance Gear');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259195, 1.2667947, 0, 1, 0, 1, 1, 'Dawn Capacitor');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259196, 0.3646833, 0, 1, 0, 1, 1, 'Brilliant Phoenix Ink');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259197, 0.268714, 0, 1, 0, 1, 1, 'Loa-Blessed Rune');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259198, 0.9788868, 0, 1, 0, 1, 1, 'Void-Touched Eversong Diamond Fragments');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259199, 0.8253359, 0, 1, 0, 1, 1, 'Harandar Stone Sample');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259200, 1.2284069, 0, 1, 0, 1, 1, 'Amani Tanning Oil');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259201, 1.1516315, 0, 1, 0, 1, 1, 'Thalassian Mana Oil');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259202, 0.9980806, 0, 1, 0, 1, 1, 'Embroidered Memento');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 259203, 1.1708254, 0, 1, 0, 1, 1, 'Finely Woven Lynx Collar');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266207, 0.28790787, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Spellbinder''s Cloak');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266208, 0.19193858, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Corsair''s Shroud');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266210, 0.21113244, 0, 1, 0, 1, 1, 'Tarnished Dawnlit Commander''s Cape');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266216, 0.57581574, 0, 1, 0, 1, 1, 'Threadbare Cloak');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266221, 0.5950096, 0, 1, 0, 1, 1, 'Frayed Shroud');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266223, 0.67178506, 0, 1, 0, 1, 1, 'Stained Drape');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 266224, 0.5566219, 0, 1, 0, 1, 1, 'Brittle Cape');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 274879, 0.2303263, 0, 1, 0, 1, 1, 'Mana-Amplified Crusher');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 274884, 0.19193858, 0, 1, 0, 1, 1, 'Arcanografter''s Beacon');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 274887, 0.17274472, 0, 1, 0, 1, 1, 'Mana-Overloaded Bulwark');
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (655271, 0, 275134, 11.09405, 0, 1, 0, 5, 5, 'Otherworldly Spark of War');
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 657946;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(657946, 0, 269934, 100, 0, 1, 0, 1, 1, 'Mana Spore');
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 559409;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(559409, 0, 251767, 100, 0, 1, 0, 1, 3, 'Fel-Touched Lumber');
DELETE FROM `quest_template_addon` WHERE `ID` IN (97072,96567);
INSERT INTO `quest_template_addon` (`ID`, `MaxLevel`, `AllowableClasses`, `SourceSpellID`, `PrevQuestID`, `NextQuestID`, `ExclusiveGroup`, `BreadcrumbForQuestId`, `RewardMailTemplateID`, `RewardMailDelay`, `RequiredSkillID`, `RequiredSkillPoints`, `RequiredMinRepFaction`, `RequiredMaxRepFaction`, `RequiredMinRepValue`, `RequiredMaxRepValue`, `ProvidedItemCount`, `SpecialFlags`, `ScriptName`) VALUES
(97072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, ''),
(96567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, '');
UPDATE `quest_objectives` SET `Type`=0, `ObjectID`=1 WHERE `ID` IN (473842,473516,473517);
DELETE FROM `creature_template_model` WHERE `CreatureID` IN (261111,254635,259752,257768,257592,260707,267115,257769,263364,260710,261070,257299,267821,260706,263701,264025,266533,271954,266180,266448,264038,264106,263618,265926,266038,264161,265922,263623,272979,273327,264323,265975,262752,265718,273215,253837,256886,259403,259422,259423,259424,259750,260708,262075,262077,262233,262274,262455,262735,263025,263409,263621,263702,263968,264026,264162,264291,265515,265566,265901,266529,266531,266532,267116,267117,268148,269310,271957,272107,272676,273216,273263,273290);
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
(261111, 0, 10045, 1, 1, 0),
(254635, 0, 10045, 1, 1, 0),
(259752, 0, 10045, 1, 1, 0),
(257768, 0, 10045, 1, 1, 0),
(257592, 0, 10045, 1, 1, 0),
(260707, 0, 10045, 1, 1, 0),
(267115, 0, 10045, 1, 1, 0),
(257769, 0, 10045, 1, 1, 0),
(263364, 0, 10045, 1, 1, 0),
(260710, 0, 10045, 1, 1, 0),
(261070, 0, 10045, 1, 1, 0),
(257299, 0, 10045, 1, 1, 0),
(267821, 0, 10045, 1, 1, 0),
(260706, 0, 10045, 1, 1, 0),
(263701, 0, 10045, 1, 1, 0),
(264025, 0, 10045, 1, 1, 0),
(266533, 0, 10045, 1, 1, 0),
(271954, 0, 10045, 1, 1, 0),
(266180, 0, 10045, 1, 1, 0),
(266448, 0, 10045, 1, 1, 0),
(264038, 0, 10045, 1, 1, 0),
(264106, 0, 10045, 1, 1, 0),
(263618, 0, 10045, 1, 1, 0),
(265926, 0, 10045, 1, 1, 0),
(266038, 0, 10045, 1, 1, 0),
(264161, 0, 10045, 1, 1, 0),
(265922, 0, 10045, 1, 1, 0),
(263623, 0, 10045, 1, 1, 0),
(272979, 0, 10045, 1, 1, 0),
(273327, 0, 10045, 1, 1, 0),
(264323, 0, 10045, 1, 1, 0),
(265975, 0, 10045, 1, 1, 0),
(262752, 0, 10045, 1, 1, 0),
(265718, 0, 10045, 1, 1, 0),
(273215, 0, 10045, 1, 1, 0),
(253837, 0, 10045, 1, 1, 0),
(256886, 0, 10045, 1, 1, 0),
(259403, 0, 10045, 1, 1, 0),
(259422, 0, 10045, 1, 1, 0),
(259423, 0, 10045, 1, 1, 0),
(259424, 0, 10045, 1, 1, 0),
(259750, 0, 10045, 1, 1, 0),
(260708, 0, 10045, 1, 1, 0),
(262075, 0, 10045, 1, 1, 0),
(262077, 0, 10045, 1, 1, 0),
(262233, 0, 10045, 1, 1, 0),
(262274, 0, 10045, 1, 1, 0),
(262455, 0, 10045, 1, 1, 0),
(262735, 0, 10045, 1, 1, 0),
(263025, 0, 10045, 1, 1, 0),
(263409, 0, 10045, 1, 1, 0),
(263621, 0, 10045, 1, 1, 0),
(263702, 0, 10045, 1, 1, 0),
(263968, 0, 10045, 1, 1, 0),
(264026, 0, 10045, 1, 1, 0),
(264162, 0, 10045, 1, 1, 0),
(264291, 0, 10045, 1, 1, 0),
(265515, 0, 10045, 1, 1, 0),
(265566, 0, 10045, 1, 1, 0),
(265901, 0, 10045, 1, 1, 0),
(266529, 0, 10045, 1, 1, 0),
(266531, 0, 10045, 1, 1, 0),
(266532, 0, 10045, 1, 1, 0),
(267116, 0, 10045, 1, 1, 0),
(267117, 0, 10045, 1, 1, 0),
(268148, 0, 10045, 1, 1, 0),
(269310, 0, 10045, 1, 1, 0),
(271957, 0, 10045, 1, 1, 0),
(272107, 0, 10045, 1, 1, 0),
(272676, 0, 10045, 1, 1, 0),
(273216, 0, 10045, 1, 1, 0),
(273263, 0, 10045, 1, 1, 0),
(273290, 0, 10045, 1, 1, 0);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,344 +0,0 @@
DELETE FROM `creature_equip_template` WHERE (`ID`=1 AND `CreatureID` IN (235753,235756,235742,235741,235731,235728,235722,235747,235727,37226,233758,235683,233808,233753,233680,233676,233677,233670,235380)) OR (`ID`=2 AND `CreatureID` IN (36955,38113,37221,27455,26497)) OR (`ID`=6 AND `CreatureID`=27359) OR (`ID`=5 AND `CreatureID`=27160) OR (`ID`=9 AND `CreatureID`=27290);
INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `AppearanceModID1`, `ItemVisual1`, `ItemID2`, `AppearanceModID2`, `ItemVisual2`, `ItemID3`, `AppearanceModID3`, `ItemVisual3`, `VerifiedBuild`) VALUES
(235753, 1, 50319, 0, 0, 50319, 0, 0, 0, 0, 0, 69497), -- Rogue
(235756, 1, 46031, 0, 0, 50794, 0, 0, 0, 0, 0, 69497), -- Shaman
(235742, 1, 49790, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Priest
(235741, 1, 40489, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Mage
(235731, 1, 0, 0, 0, 0, 0, 0, 50034, 0, 0, 69497), -- Hunter
(235728, 1, 65462, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Druid
(235722, 1, 55465, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Paladin
(235747, 1, 50273, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Warlock
(235727, 1, 117049, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Death Knight
(36955, 2, 153575, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Lady Jaina Proudmoore
(38113, 2, 50248, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Marwyn
(37226, 1, 49706, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- The Lich King
(37221, 2, 153575, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Lady Jaina Proudmoore
(233758, 1, 30445, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Memory of Muradin
(235683, 1, 49706, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- The Lich King
(27455, 2, 36942, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Prince Arthas
(27359, 6, 3351, 0, 0, 2197, 0, 0, 0, 0, 0, 69497), -- Trapped Wintergarde Villager
(27160, 5, 37120, 0, 0, 143, 0, 0, 2551, 0, 0, 69497), -- 7th Legion Infantryman
(27290, 9, 2714, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Hungering Dead
(26497, 2, 153575, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Lady Jaina Proudmoore
(233808, 1, 1895, 0, 0, 189845, 0, 0, 0, 0, 0, 69497), -- King's Guard
(233753, 1, 30445, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Muradin Bronzebeard
(233680, 1, 0, 0, 0, 0, 0, 0, 200176, 0, 0, 69497), -- Dwarven Rifleman
(233676, 1, 1895, 0, 0, 189845, 0, 0, 0, 0, 0, 69497), -- Lordaeron Knight
(233677, 1, 133699, 0, 0, 0, 0, 0, 2773, 0, 0, 69497), -- Lordaeron Militia
(233670, 1, 1895, 0, 0, 189845, 0, 0, 0, 0, 0, 69497), -- Lordaeron Footsoldier
(235380, 1, 37579, 0, 0, 0, 0, 0, 0, 0, 0, 69497); -- Arthas
UPDATE `creature_equip_template` SET `VerifiedBuild`=69497 WHERE (`ID`=1 AND `CreatureID` IN (68,69334,42421,30347,30833,30350,30344,30867,30352,30351,30394,36723,36954,37582,38175,38173,38176,38177,38112,37225,38505,38493,27284,27401,27367,27333,27330,27357,27160,27784,27162,27268,27359,27857,26780,27713,27410,27286,27290,27480,27455,27220,27229,27225,27476,27343,27342,27340,27226,27224,27351,26499,27745,27746,27747,26528)) OR (`ID`=2 AND `CreatureID` IN (38493,27359,27290)) OR (`ID`=4 AND `CreatureID` IN (27160,27359,27290)) OR (`ID`=6 AND `CreatureID`=27290) OR (`ID`=5 AND `CreatureID`=27290) OR (`ID`=7 AND `CreatureID`=27290) OR (`ID`=3 AND `CreatureID`=27290);
DELETE FROM `areatrigger_template` WHERE (`IsCustom`=0 AND `Id` IN (39922,39715));
INSERT INTO `areatrigger_template` (`Id`, `IsCustom`, `VerifiedBuild`) VALUES
(39922, 0, 69497),
(39715, 0, 69497);
DELETE FROM `areatrigger_create_properties` WHERE (`Id`=38233 AND `IsCustom`=0);
INSERT INTO `areatrigger_create_properties` (`Id`, `IsCustom`, `AreaTriggerId`, `IsAreatriggerCustom`, `Flags`, `MoveCurveId`, `ScaleCurveId`, `MorphCurveId`, `FacingCurveId`, `AnimId`, `AnimKitId`, `DecalPropertiesId`, `SpellForVisuals`, `TimeToTargetScale`, `Speed`, `Shape`, `ShapeData0`, `ShapeData1`, `ShapeData2`, `ShapeData3`, `ShapeData4`, `ShapeData5`, `ShapeData6`, `ShapeData7`, `VerifiedBuild`) VALUES
(38233, 0, 39922, 0, 0, 0, 0, 0, 0, -1, 0, 0, NULL, 60000, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 69497); -- Spell: 1240282 (Defile)
DELETE FROM `scene_template` WHERE `SceneId` IN (3621, 3929);
INSERT INTO `scene_template` (`SceneId`, `Flags`, `ScriptPackageID`, `Encrypted`) VALUES
(3621, 16, 4520, 0),
(3929, 16, 4903, 0);
DELETE FROM `quest_offer_reward` WHERE `ID` IN (85885 /*Lorewalking: No King Rules Forever*/, 85878 /*O' Thanagor*/, 85875 /*Ascent of the Lich King*/, 85884 /*Lorewalking: The Prince Who Would Be King*/, 85862 /*A Prince's Duty*/);
INSERT INTO `quest_offer_reward` (`ID`, `Emote1`, `Emote2`, `Emote3`, `Emote4`, `EmoteDelay1`, `EmoteDelay2`, `EmoteDelay3`, `EmoteDelay4`, `RewardText`, `VerifiedBuild`) VALUES
(85885, 0, 0, 0, 0, 0, 0, 0, 0, 'It is a heavy story, full of terrible deeds and unhappy endings.\n\nBut it is a story that must be told.', 69497), -- Lorewalking: No King Rules Forever
(85878, 0, 0, 0, 0, 0, 0, 0, 0, 'His reign was short, yet terrible.', 69497), -- O' Thanagor
(85875, 0, 0, 0, 0, 0, 0, 0, 0, 'Arthas... my son.\n\n<The crown weighs heavily upon your head.>\n\nYou shall learn in time...\n\n<The wind howls in your ears.>\n\n... that no king rules forever.', 69497), -- Ascent of the Lich King
(85884, 0, 0, 0, 0, 0, 0, 0, 0, '<Cho has grown silent.>', 69497), -- Lorewalking: The Prince Who Would Be King
(85862, 0, 0, 0, 0, 0, 0, 0, 0, 'Well done, my son! I heard the soldiers from all the way over here--sounds like you gave them a lesson in humility. And the way you handled Muradin! But of course...\n\nYou were born for this.', 69497); -- A Prince's Duty
UPDATE `quest_offer_reward` SET `RewardText`='Muradin lives? Could it be? I must notify King Bronzebeard at once!\n\nI need to consult the orb. There must be more information--somewhere!', `VerifiedBuild`=69497 WHERE `ID`=12478; -- Frostmourne Cavern
UPDATE `quest_offer_reward` SET `VerifiedBuild`=69497 WHERE `ID` IN (12305, 12301, 93929);
UPDATE `quest_offer_reward` SET `RewardText`='<Orik\'s eyes fill with tears.>\n\nThey don\'t know. None of them know! They think Arthas to be some great hero, when in truth it was Arthas who ordered the ships to be burned. It was Arthas who left us all for dead in this frozen wasteland!\n\n<Orik weeps.>\n\nNot all of the soldiers from the prince\'s fleet perished in the freezing winter. I was only a lad when I was given the chance to battle the Scourge... to save our home from certain destruction. I took that chance, $n.', `VerifiedBuild`=69497 WHERE `ID`=12291; -- The Forgotten Tale
UPDATE `quest_poi` SET `VerifiedBuild`=69497 WHERE (`QuestID`=85875 AND `BlobIndex`=0 AND `Idx1`=4) OR (`QuestID`=85875 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=85875 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=85875 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=85875 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=12478 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=12478 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=12478 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=12305 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=12305 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=12301 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=12301 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=12301 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=5) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=4) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=12291 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=6) OR (`QuestID`=85862 AND `BlobIndex`=1 AND `Idx1`=5) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=4) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=85862 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=93929 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=93929 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=93929 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=93929 AND `BlobIndex`=0 AND `Idx1`=0);
UPDATE `quest_poi_points` SET `VerifiedBuild`=69497 WHERE (`QuestID`=85875 AND `Idx1`=4 AND `Idx2`=0) OR (`QuestID`=85875 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=85875 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=85875 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=85875 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=12478 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=12478 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=12478 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=12305 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=12305 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=12301 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=12301 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=12301 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=5 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=7) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=6) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=5) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=4) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=3) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=2) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=1) OR (`QuestID`=12291 AND `Idx1`=4 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=6) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=5) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=4) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=3) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=2) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=1) OR (`QuestID`=12291 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=7) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=6) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=5) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=4) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=3) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=2) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=1) OR (`QuestID`=12291 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=11) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=10) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=9) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=8) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=7) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=6) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=5) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=4) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=3) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=2) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=1) OR (`QuestID`=12291 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=12291 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=6 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=5 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=4 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=6) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=5) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=4) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=3) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=2) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=1) OR (`QuestID`=85862 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=85862 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=93929 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=93929 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=93929 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=93929 AND `Idx1`=0 AND `Idx2`=0);
DELETE FROM `quest_details` WHERE `ID` IN (85878 /*O' Thanagor*/, 85875 /*Ascent of the Lich King*/, 85885 /*Lorewalking: No King Rules Forever*/, 85862 /*A Prince's Duty*/);
INSERT INTO `quest_details` (`ID`, `Emote1`, `Emote2`, `Emote3`, `Emote4`, `EmoteDelay1`, `EmoteDelay2`, `EmoteDelay3`, `EmoteDelay4`, `VerifiedBuild`) VALUES
(85878, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- O' Thanagor
(85875, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Ascent of the Lich King
(85885, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Lorewalking: No King Rules Forever
(85862, 0, 0, 0, 0, 0, 0, 0, 0, 69497); -- A Prince's Duty
UPDATE `quest_details` SET `Emote1`=1, `Emote3`=1, `VerifiedBuild`=69497 WHERE `ID`=12478; -- Frostmourne Cavern
UPDATE `quest_details` SET `Emote1`=1, `Emote3`=1, `VerifiedBuild`=69497 WHERE `ID`=12478; -- Frostmourne Cavern
UPDATE `quest_details` SET `Emote1`=2, `Emote3`=1, `Emote4`=3, `VerifiedBuild`=69497 WHERE `ID`=12305; -- Parting Thoughts
UPDATE `quest_details` SET `Emote1`=1, `Emote3`=1, `Emote4`=1, `VerifiedBuild`=69497 WHERE `ID`=12301; -- The Truth Shall Set Us Free
UPDATE `quest_details` SET `Emote1`=1, `Emote3`=1, `VerifiedBuild`=69497 WHERE `ID`=12291; -- The Forgotten Tale
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=93929; -- The War Within Recap
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=93929; -- The War Within Recap
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=93929; -- The War Within Recap
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=93929; -- The War Within Recap
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=93929; -- The War Within Recap
UPDATE `ui_map_quest_line` SET `VerifiedBuild`=69497 WHERE (`UIMapId`=115 AND `QuestLineId` IN (5955,5718,5570,5519,1399,1323,906,904,538,537,536,530,529,352));
DELETE FROM `creature_queststarter` WHERE (`id`=236114 AND `quest`=85885) OR (`id`=233752 AND `quest`=85862);
INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES
(236114, 85885, 69497), -- Lorewalking: No King Rules Forever offered by Lorewalker Cho
(233752, 85862, 69497); -- A Prince's Duty offered by Uther Lightbringer
UPDATE `creature_queststarter` SET `VerifiedBuild`=69497 WHERE (`id`=27314 AND `quest`=12478) OR (`id`=27347 AND `quest` IN (12305,12301,12291));
DELETE FROM `creature_questender` WHERE (`id`=236114 AND `quest` IN (85885,85878,85884)) OR (`id`=233811 AND `quest`=85875) OR (`id`=233804 AND `quest`=85862);
INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES
(236114, 85885, 69497), -- Lorewalking: No King Rules Forever ended by Lorewalker Cho
(236114, 85878, 69497), -- O' Thanagor ended by Lorewalker Cho
(233811, 85875, 69497), -- Ascent of the Lich King ended by Memory of Terenas
(236114, 85884, 69497), -- Lorewalking: The Prince Who Would Be King ended by Lorewalker Cho
(233804, 85862, 69497); -- A Prince's Duty ended by Terenas Menethil II
UPDATE `creature_questender` SET `VerifiedBuild`=69497 WHERE (`id`=27314 AND `quest` IN (12478,12305)) OR (`id`=27347 AND `quest` IN (12301,12291)) OR (`id`=248956 AND `quest`=93929);
DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (2681746 /*Map: 571 (Northrend) - Phase: 25614*/, 2681399 /*Map: 571 (Northrend) - Phase: 25614*/, 2681398 /*Map: 571 (Northrend) - Phase: 25614*/, 2681270 /*Map: 571 (Northrend) - Phase: 25614*/, 2681545 /*Map: 571 (Northrend) - Phase: 25614*/, 2681155 /*Map: 2818 (Lordaeron Garrison) - Phase: 25613*/, 2681157 /*Map: 2818 (Lordaeron Garrison) - Phase: 25613*/, 2681156 /*Map: 2818 (Lordaeron Garrison) - Phase: 25613*/, 2681525 /*Map: 2818 (Lordaeron Garrison) - Phase: 25613*/);
INSERT INTO `spawn_tracking_template` (`SpawnTrackingId`, `MapId`, `PhaseId`, `PhaseGroup`, `PhaseUseFlags`, `VerifiedBuild`) VALUES
(2681746, 571, 25614, 0, 0, 69497), -- Map: 571 (Northrend) - Phase: 25614
(2681399, 571, 25614, 0, 0, 69497), -- Map: 571 (Northrend) - Phase: 25614
(2681398, 571, 25614, 0, 0, 69497), -- Map: 571 (Northrend) - Phase: 25614
(2681270, 571, 25614, 0, 0, 69497), -- Map: 571 (Northrend) - Phase: 25614
(2681545, 571, 25614, 0, 0, 69497), -- Map: 571 (Northrend) - Phase: 25614
(2681155, 2818, 25613, 0, 0, 69497), -- Map: 2818 (Lordaeron Garrison) - Phase: 25613
(2681157, 2818, 25613, 0, 0, 69497), -- Map: 2818 (Lordaeron Garrison) - Phase: 25613
(2681156, 2818, 25613, 0, 0, 69497), -- Map: 2818 (Lordaeron Garrison) - Phase: 25613
(2681525, 2818, 25613, 0, 0, 69497); -- Map: 2818 (Lordaeron Garrison) - Phase: 25613
UPDATE `spawn_tracking_template` SET `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (3322732, 3229143, 3334227, 3323426, 3323288, 3334065, 2291865, 2291871, 2179955, 2225283, 1823725, 1952071, 2030151, 3095502, 264937, 264940, 246472, 2478335, 234843, 234620, 1429886);
UPDATE `spawn_tracking_template` SET `PhaseId`=28609, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=2478335; -- Map: 0 (Eastern Kingdoms) - Phase: 28609
UPDATE `spawn_tracking_template` SET `PhaseId`=0, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=2412372; -- Map: 1 (Kalimdor) - Phase: 0
UPDATE `spawn_tracking_template` SET `MapId`=2444, `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (2196338, 3162881); -- Map: 2444 (Dragon Isles) - Phase: 0
UPDATE `spawn_tracking_template` SET `PhaseId`=0, `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (2087280, 2089128, 2089127, 2089126, 2089129, 1845506, 1833320, 2007682, 2037613, 2001795, 1926809, 1923671); -- Map: 2222 (The Shadowlands) - Phase: 0
UPDATE `spawn_tracking_template` SET `PhaseId`=0, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=1744133; -- Map: 1643 (Kul Tiras) - Phase: 0
UPDATE `spawn_tracking_template` SET `PhaseId`=0, `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (2291865, 2291871); -- Map: 0 (Eastern Kingdoms) - Phase: 0
UPDATE `spawn_tracking_template` SET `MapId`=2552, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=2914859; -- Map: 2552 (Khaz Algar (Surface)) - Phase: 0
UPDATE `spawn_tracking_template` SET `MapId`=1643, `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (1480285, 1483914); -- Map: 1643 (Kul Tiras) - Phase: 0
UPDATE `spawn_tracking_template` SET `MapId`=1, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=1448534; -- Map: 1 (Kalimdor) - Phase: 0
DELETE FROM `spawn_tracking_quest_objective` WHERE (`SpawnTrackingId`=2681399 AND `QuestObjectiveId`=455793) OR (`SpawnTrackingId`=2681398 AND `QuestObjectiveId`=455792) OR (`SpawnTrackingId`=2681270 AND `QuestObjectiveId`=455791) OR (`SpawnTrackingId`=2681157 AND `QuestObjectiveId`=455754) OR (`SpawnTrackingId`=2681155 AND `QuestObjectiveId`=461912) OR (`SpawnTrackingId`=2681156 AND `QuestObjectiveId`=455753);
INSERT INTO `spawn_tracking_quest_objective` (`SpawnTrackingId`, `QuestObjectiveId`, `VerifiedBuild`) VALUES
(2681399, 455793, 69497), -- 2681399
(2681398, 455792, 69497), -- 2681398
(2681270, 455791, 69497), -- 2681270
(2681157, 455754, 69497), -- 2681157
(2681155, 461912, 69497), -- 2681155
(2681156, 455753, 69497); -- 2681156
DELETE FROM `spell_target_position` WHERE (`ID`=1215669 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1215666 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1215663 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1216062 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1215671 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1219292 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1215653 AND `EffectIndex`=1 AND `OrderIndex`=0) OR (`ID`=1215654 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=1215651 AND `EffectIndex`=0 AND `OrderIndex`=0);
INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
(1215669, 0, 0, 2819, 428.75, -2122.739990234375, 864.8800048828125, 69497), -- Spell: 1215669 (Teleport (DNT)) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(1215666, 0, 0, 668, 5239.4599609375, 1932.989990234375, 707.70001220703125, 69497), -- Spell: 1215666 (Teleport (DNT)) Effect 0: 227 (SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON)
(1215663, 0, 0, 571, 6104.0400390625, 2220.14990234375, 518.010009765625, 69497), -- Spell: 1215663 (Teleport (DNT)) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(1216062, 0, 0, 1, 2681.89990234375, -451.95001220703125, 109.2300033569335937, 69497), -- Spell: 1216062 (Faction Override - Alliance (DNT)) Effect 0: 6 (SPELL_EFFECT_APPLY_AURA)
(1215671, 0, 0, 571, 3434.6298828125, -1261.3199462890625, 125.4000015258789062, 69497), -- Spell: 1215671 (Teleport (DNT)) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(1219292, 0, 0, 595, 2369.570068359375, 1408.8199462890625, 128.6300048828125, 69497), -- Spell: 1219292 (CoT Stratholme Skip [DNT]) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(1215653, 1, 0, 595, 1842.949951171875, 1277.1700439453125, 144.0200042724609375, 69497), -- Spell: 1215653 (Conversation Post Teleport [DNT]) Effect 1: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(1215654, 0, 0, 595, 1842.949951171875, 1277.1700439453125, 144.0200042724609375, 69497), -- Spell: 1215654 (Teleport (DNT)) Effect 0: 227 (SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON)
(1215651, 0, 0, 2818, 826.17999267578125, 608.29998779296875, 13.47999954223632812, 69497); -- Spell: 1215651 (Teleport (DNT)) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
DELETE FROM `creature_template_difficulty` WHERE (`DifficultyID`=236 AND `Entry` IN (30347,30833,30350,30344,30392,22515,30352,30394,37069,36941,36940,37068,37107,30867,30351,37071,36723,36736,36955,37014,36954,38567,38172,38176,38173,38175,38177,38112,38113,37226,37225,37906,37582,37221,53488,37704,28249,27729,43499,28815,26533,31028,14881,31020,31127,31023,31025,27737,31021,32638,32639,31027,31018,31126,31019,30570,4075,6368,4076,31057,20562,26499,28612,26528,883,28169,28167,27913,26497,245178,27747,27752,27745,27746));
INSERT INTO `creature_template_difficulty` (`Entry`, `DifficultyID`, `HealthScalingExpansion`, `HealthModifier`, `ManaModifier`, `CreatureDifficultyID`, `TypeFlags`, `TypeFlags2`, `TypeFlags3`) VALUES
(30347, 236, 11, 1, 1, 34303, 0x0, 0, 0), -- Navigator Dobbs
(30833, 236, 11, 4, 1, 35148, 0x0, 0, 0), -- Vindicator Maraad
(30350, 236, 11, 1, 1, 34305, 0x0, 0, 0), -- Chief Officer Leonards
(30344, 236, 11, 4, 1, 34294, 0x0, 0, 0), -- High Captain Justin Bartlett
(30392, 236, 11, 1, 1, 34392, 0x0, 0, 0), -- Navigator Anderlain
(22515, 236, 11, 1.35000002384185791, 1, 18486, 0x1000400, 0, 0), -- World Trigger
(30352, 236, 11, 3, 1, 34308, 0x0, 0, 0), -- Skybreaker Marine
(30394, 236, 11, 1, 1, 34395, 0x0, 0, 0), -- Skybreaker Engineer
(37069, 236, 11, 10, 1, 46080, 0x0, 0, 0), -- Lumbering Abomination
(36941, 236, 11, 6, 9.375599861145019531, 45686, 0x0, 0, 0), -- Risen Witch Doctor
(36940, 236, 11, 1, 1, 45680, 0x0, 0, 0), -- Raging Ghoul
(37068, 236, 11, 4, 1, 46075, 0x48, 0, 0), -- Spiritual Reflection
(37107, 236, 11, 4, 1, 46150, 0x48, 0, 0), -- Spiritual Reflection
(30867, 236, 11, 1, 1, 35214, 0x0, 0, 0), -- Skybreaker Shield-Mage
(30351, 236, 11, 1, 1, 34306, 0x0, 0, 0), -- Skybreaker Deckhand
(37071, 236, 11, 1, 1, 46088, 0x400, 0, 0), -- Invisible Stalker (Icecrown Dungeon Trap Controller)
(36723, 236, 0, 25, 1, 45114, 0x8, 0, 0), -- Frostsworn General
(36736, 236, 11, 1, 1, 45150, 0x400, 0, 0), -- Invisible Stalker (Icecrown Dungeon Trap)
(36955, 236, 11, 500, 100, 45731, 0x0, 0, 0), -- Lady Jaina Proudmoore
(37014, 236, 11, 1.35000002384185791, 1, 45930, 0x0, 0, 0), -- Ice Wall Target
(36954, 236, 11, 2000, 500, 45729, 0x1000002C, 128, 0), -- The Lich King
(38567, 236, 11, 6.5, 93.75589752197265625, 48539, 0x48, 0, 0), -- Phantom Hallucination
(38172, 236, 11, 6.5, 93.75589752197265625, 47857, 0x48, 0, 0), -- Phantom Mage
(38176, 236, 11, 6.5, 46.877899169921875, 47875, 0x48, 0, 0), -- Tortured Rifleman
(38173, 236, 11, 6.5, 5, 47863, 0x48, 0, 0), -- Spectral Footman
(38175, 236, 11, 6.5, 46.877899169921875, 47868, 0x48, 0, 0), -- Ghostly Priest
(38177, 236, 11, 6.5, 5, 47881, 0x48, 0, 0), -- Shadowy Mercenary
(38112, 236, 11, 28, 1, 47763, 0x48, 128, 0), -- Falric
(38113, 236, 11, 40, 1, 47768, 0x48, 128, 0), -- Marwyn
(37226, 236, 11, 2000, 500, 46459, 0x24, 0, 0), -- The Lich King
(37225, 236, 11, 25, 15, 46457, 0x1000, 0, 0), -- Uther the Lightbringer
(37906, 236, 11, 1, 1, 47388, 0x0, 0, 0), -- Imprisoned Soul
(37582, 236, 0, 6, 5, 46749, 0x0, 0, 0), -- Archmage Koreln
(37221, 236, 11, 500, 100, 46445, 0x0, 0, 0), -- Lady Jaina Proudmoore
(53488, 236, 0, 1, 1, 32538, 0x0, 0, 0), -- Summon Enabler Stalker
(37704, 236, 11, 1, 1, 46950, 0x0, 0, 0), -- Frostmourne Altar Bunny (Quel'Delar)
(28249, 236, 11, 4, 1, 29761, 0x8, 0, 0), -- Devouring Ghoul
(27729, 236, 11, 4, 1, 28632, 0x8, 0, 0), -- Enraging Ghoul
(43499, 236, 11, 1, 1, 51639, 0x400, 16, 0), -- Consecration
(28815, 236, 11, 1.35000002384185791, 1, 30926, 0x0, 0, 0), -- Civilian Transformation Trigger
(26533, 236, 11, 30, 97.863800048828125, 25935, 0x48, 128, 0), -- Mal'Ganis
(31028, 236, 11, 1, 1, 35453, 0x0, 0, 0), -- Patricia O'Reilly
(14881, 236, 11, 0.200000002980232238, 1, 10232, 0x200048, 0, 0), -- Spider
(31020, 236, 11, 1, 1, 35438, 0x0, 0, 0), -- Olivia Zenith
(31127, 236, 11, 1, 1, 35647, 0x0, 0, 0), -- Agitated Stratholme Resident
(31023, 236, 11, 1, 1, 35443, 0x0, 0, 0), -- Brandon Eiredeck
(31025, 236, 11, 1, 1, 35447, 0x0, 0, 0), -- Robert Pierce
(27737, 236, 11, 0.050000000745058059, 1, 28666, 0x0, 0, 0), -- Risen Zombie
(31021, 236, 11, 1, 1, 35439, 0x0, 0, 0), -- Sophie Aaren
(32638, 236, 11, 1, 1, 37542, 0x0, 0, 0), -- Hakmud of Argus
(32639, 236, 11, 1, 1, 37544, 0x0, 0, 0), -- Gnimo
(31027, 236, 11, 1, 1, 35451, 0x0, 0, 0), -- Leeka Turner
(31018, 236, 11, 1, 1, 35434, 0x0, 0, 0), -- Edward Orrick
(31126, 236, 11, 1, 1, 35645, 0x0, 0, 0), -- Agitated Stratholme Citizen
(31019, 236, 11, 1, 1, 35436, 0x0, 0, 0), -- Stephanie Sindree
(30570, 236, 11, 1, 1, 34710, 0x0, 0, 0), -- Emery Neill
(4075, 236, 11, 0.200000002980232238, 1, 3567, 0x0, 0, 0), -- Rat
(6368, 236, 11, 0.009999999776482582, 1, 5442, 0x0, 0, 0), -- Cat
(4076, 236, 11, 0.200000002980232238, 1, 3568, 0x0, 0, 0), -- Roach
(31057, 236, 11, 1, 1, 35504, 0x0, 0, 0), -- Mechanical Greeter RY7R
(20562, 236, 11, 1, 1, 16321, 0x0, 0, 0), -- Invisible Stalker (Scale x5)
(26499, 236, 11, 3.5, 2, 25854, 0x1000, 0, 0), -- Arthas
(28612, 236, 11, 1, 1, 30500, 0x0, 0, 0), -- Knight of the Silver Hand
(26528, 236, 11, 10, 15, 25915, 0x0, 0, 0), -- Uther the Lightbringer
(883, 236, 11, 0.009999999776482582, 1, 655, 0x0, 0, 0), -- Deer
(28169, 236, 11, 0.300000011920928955, 1, 29591, 0x8, 0, 0), -- Stratholme Resident
(28167, 236, 11, 0.300000011920928955, 1, 29589, 0x8, 0, 0), -- Stratholme Citizen
(27913, 236, 11, 1, 1, 29027, 0x0, 0, 0), -- Lordaeron Crier
(26497, 236, 11, 10, 10, 25850, 0x0, 0, 0), -- Lady Jaina Proudmoore
(245178, 236, 11, 1, 1, 324569, 0x40000400, 0, 0), -- Waypoint A
(27747, 236, 11, 1, 8.104800224304199218, 28697, 0x0, 0, 0), -- High Elf Mage-Priest
(27752, 236, 11, 1, 1, 28706, 0x0, 0, 0), -- High Elf Sorceress
(27745, 236, 11, 1, 1, 28693, 0x0, 0, 0), -- Lordaeron Footman
(27746, 236, 11, 1, 1, 28695, 0x0, 0, 0); -- Lordaeron Knight
UPDATE `creature_model_info` SET `VerifiedBuild`=69497 WHERE `DisplayID` IN (45870, 27000, 27342, 26983, 26982, 27001, 26998, 27332, 26997, 26995, 27331, 26992, 26990, 30503, 25245, 24993, 26991, 30300, 23257, 30979, 30980, 30981, 30977, 30978, 30972, 30973, 30821, 30685, 30867, 17612, 16925, 30862, 30860, 30859, 27807, 25402, 25287, 26224, 29937, 25627, 103802, 7616, 27982, 24539, 24498, 24617, 24618, 24496, 24619, 26381, 24591, 24403, 24400, 24411, 24410, 24586, 10618, 10271, 27814, 24540, 98676, 13340, 16015, 24994, 24534, 24553, 27913, 24483, 24362, 24554, 24365, 24552, 24941, 24543, 24797, 24548, 24348, 24360, 24350, 24532, 24349, 24799, 24788, 24790, 24363, 24547, 24546, 24878, 24864, 24541, 24361, 24865, 24542, 24612, 24610, 24613, 24611, 25286, 17200, 23181, 16175, 17166, 7848, 3942, 5231, 24996, 14706, 24712, 24997, 24858, 24623, 24579, 1245, 14704, 24562, 24829, 24823, 836, 24830, 24667, 24659, 24653, 25381, 25376, 56658, 24445, 24430, 24444, 24432, 24424, 24433, 24431, 24426, 24427, 24641, 24429, 24660, 23951, 24166, 24577, 24493, 23966, 23962, 24578, 24575, 24574, 24999, 24998, 24494, 44816, 5556, 569, 519, 17188, 27442, 20923, 27434, 27439, 27437, 27435, 27441, 27430, 27432, 27138, 25172, 5586, 2177, 24924, 25312, 27823, 25314, 25575, 25311, 24949, 25543, 25542, 25171, 14501, 10973, 14379, 25169, 25313, 23889, 24768, 26537, 24778, 24769, 24952, 21976);
UPDATE `creature_model_info` SET `BoundingRadius`=0.382999986410140991, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID` IN (125085, 125078, 125052, 125083);
UPDATE `creature_model_info` SET `BoundingRadius`=0.372000008821487426, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID` IN (125086, 125053);
UPDATE `creature_model_info` SET `BoundingRadius`=0.305999994277954101, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID` IN (125077, 125061, 25168, 124131, 85018, 124029, 124030);
UPDATE `creature_model_info` SET `BoundingRadius`=0.698000013828277587, `CombatReach`=3, `VerifiedBuild`=69497 WHERE `DisplayID`=125057;
UPDATE `creature_model_info` SET `BoundingRadius`=2.75, `CombatReach`=5.5, `VerifiedBuild`=69497 WHERE `DisplayID`=123514;
UPDATE `creature_model_info` SET `BoundingRadius`=0.310000002384185791, `VerifiedBuild`=69497 WHERE `DisplayID` IN (125284, 129154);
UPDATE `creature_model_info` SET `BoundingRadius`=1, `CombatReach`=1, `VerifiedBuild`=69497 WHERE `DisplayID`=22234;
UPDATE `creature_model_info` SET `BoundingRadius`=0.647631585597991943, `VerifiedBuild`=69497 WHERE `DisplayID`=24801;
UPDATE `creature_model_info` SET `BoundingRadius`=1.819435715675354003, `VerifiedBuild`=69497 WHERE `DisplayID`=14593;
UPDATE `creature_model_info` SET `BoundingRadius`=5.469631195068359375, `VerifiedBuild`=69497 WHERE `DisplayID`=26582;
UPDATE `creature_model_info` SET `CombatReach`=0, `VerifiedBuild`=69497 WHERE `DisplayID`=30865;
UPDATE `creature_model_info` SET `BoundingRadius`=0.369704425334930419, `VerifiedBuild`=69497 WHERE `DisplayID`=10979;
UPDATE `creature_model_info` SET `BoundingRadius`=0.347000002861022949, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID` IN (124918, 124039, 124040, 124037);
UPDATE `creature_model_info` SET `BoundingRadius`=0.768586695194244384, `CombatReach`=1.65000009536743164, `VerifiedBuild`=69497 WHERE `DisplayID`=124034;
UPDATE `creature_model_info` SET `BoundingRadius`=0.367200016975402832, `CombatReach`=1.800000190734863281, `VerifiedBuild`=69497 WHERE `DisplayID`=128513;
UPDATE `creature_model_info` SET `BoundingRadius`=0.208000004291534423, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID` IN (124031, 84998);
REPLACE INTO `creature_template_gossip` (`CreatureID`, `MenuID`, `VerifiedBuild`) VALUES
(233753, 37635, 69497), -- Muradin Bronzebeard
(233670, 37602, 69497), -- Lordaeron Footsoldier
(233677, 37602, 69497), -- Lordaeron Militia
(233752, 37638, 69497); -- Uther Lightbringer
REPLACE INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES
(233753, 1, 0, 0, 0, 0, 0, 0, 0, 279388, 0, 0, 0, 0, 0, 0, 0, 69497), -- 233753 (Muradin Bronzebeard)
(233752, 1, 0, 0, 0, 0, 0, 0, 0, 279418, 0, 0, 0, 0, 0, 0, 0, 69497), -- 233752 (Uther Lightbringer)
(233677, 1, 0, 0, 0, 0, 0, 0, 0, 279237, 0, 0, 0, 0, 0, 0, 0, 69497), -- 233677 (Lordaeron Militia)
(236114, 1, 0, 0, 0, 0, 0, 0, 0, 279798, 0, 0, 0, 0, 0, 0, 0, 69497); -- 236114 (Lorewalker Cho)
REPLACE INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
(37635, 233753, 69497), -- 233753 (Muradin Bronzebeard)
(37638, 233752, 69497), -- 233752 (Uther Lightbringer)
(37602, 233677, 69497), -- 233677 (Lordaeron Militia)
(37737, 236114, 69497); -- 236114 (Lorewalker Cho)
UPDATE `gossip_menu` SET `VerifiedBuild`=69497 WHERE (`MenuID`=10860 AND `TextID`=15081) OR (`MenuID`=11031 AND `TextID`=15339) OR (`MenuID`=9542 AND `TextID`=12857) OR (`MenuID`=9544 AND `TextID`=12859) OR (`MenuID`=9545 AND `TextID`=12860) OR (`MenuID`=9541 AND `TextID`=12856) OR (`MenuID`=9543 AND `TextID`=12858) OR (`MenuID`=9712 AND `TextID`=13287) OR (`MenuID`=9653 AND `TextID`=13076) OR (`MenuID`=40111 AND `TextID`=600176);
DELETE FROM `gossip_menu_option` WHERE (`MenuID`=37737 AND `OptionID` IN (12,3,14,5,4,6,19,20,15,11,18,13,16,17,7,1)) OR (`MenuID`=37602 AND `OptionID`=0) OR (`MenuID`=37638 AND `OptionID`=0) OR (`MenuID`=37635 AND `OptionID`=0);
INSERT INTO `gossip_menu_option` (`MenuID`, `GossipOptionID`, `OptionID`, `OptionNpc`, `OptionText`, `OptionBroadcastTextID`, `Language`, `Flags`, `ActionMenuID`, `ActionPoiID`, `GossipNpcOptionID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `SpellID`, `OverrideIconID`, `VerifiedBuild`) VALUES
(37737, 132203, 12, 0, 'Tell me more about Stratholme.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37602, 131459, 0, 0, 'Let\'s spar!', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 131599, 3, 0, 'What happened next?', 18743, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132208, 14, 0, 'Tell me more about the Forgotten Shore.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 131603, 5, 0, 'Was Arthas truly lost?', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 131600, 4, 0, 'What happened after Stratholme?', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 131606, 6, 0, 'How was the Lich King defeated?', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 134404, 19, 0, '|cFF0000FF(Teleport)|r I\'m a little lost. Where does this part of the story take place, again?', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 135353, 20, 0, '|cnRED_FONT_COLOR:(Exit Lorewalking)|r I\'ve heard enough for now.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132209, 15, 0, 'Tell me more about Frostmourne.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132202, 11, 0, 'Tell me more about the undead plague.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132759, 18, 0, 'Was Arthas truly lost?', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132204, 13, 0, 'Tell me more about Mal\'Ganis.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37638, 133925, 0, 0, 'Uther...', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132211, 16, 0, 'Tell me more about Icecrown Citadel.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132212, 17, 0, 'Tell me more about the Lich King.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37635, 131489, 0, 0, 'Let\'s spar!', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 132037, 7, 0, 'Please continue your story.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37737, 131573, 1, 0, 'Is everything alright?', 102992, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497);
UPDATE `gossip_menu_option` SET `GossipOptionID`=37797, `VerifiedBuild`=69497 WHERE (`MenuID`=9544 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=34970, `VerifiedBuild`=69497 WHERE (`MenuID`=9545 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=36273, `OptionBroadcastTextID`=28508, `VerifiedBuild`=69497 WHERE (`MenuID`=9712 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=37487, `VerifiedBuild`=69497 WHERE (`MenuID`=11031 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=37662, `VerifiedBuild`=69497 WHERE (`MenuID`=10860 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `ActionMenuID`=0, `VerifiedBuild`=69497 WHERE (`MenuID`=40111 AND `OptionID`=1);
UPDATE `gossip_menu_option` SET `GossipOptionID`=35881, `VerifiedBuild`=69497 WHERE (`MenuID`=9541 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=37796, `VerifiedBuild`=69497 WHERE (`MenuID`=9543 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `VerifiedBuild`=69497 WHERE (`MenuID`=40111 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=36217, `OptionText`='Yes, my prince. We are ready.', `VerifiedBuild`=69497 WHERE (`MenuID`=9653 AND `OptionID`=0);
UPDATE `gossip_menu_option` SET `GossipOptionID`=35882, `VerifiedBuild`=69497 WHERE (`MenuID`=9542 AND `OptionID`=0);
REPLACE INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
(235380, 1, 1214478, 69497), -- Arthas
(235380, 0, 1214474, 69497); -- Arthas
UPDATE `creature_template_model` SET `VerifiedBuild`=69497 WHERE (`Idx`=0 AND `CreatureID` IN (236001,235753,235756,235741,235728,235722,235731,235742,235747,235727,30347,30833,30350,30344,30392,22515,30352,30394,37069,36941,36940,37068,37107,30867,30351,37071,36723,36736,36955,37014,36954,38567,38172,38176,38173,38175,38177,38112,38113,37226,37225,37906,37582,37221,53488,37704,38505,31139,31147,38500,38493,233811,233759,233760,233758,30343,235683,45439,32492,31787,88403,27774,27436,27437,27284,27401,27403,62693,27382,27367,27357,27333,27330,26482,26614,27294,32185,26426,27784,27316,27577,27258,27268,27777,23033,27161,27164,27158,27779,27767,27768,27775,27778,27454,27314,27156,27159,27162,27155,27136,27160,27851,27857,27713,26780,27370,27359,27375,27826,27287,27241,27836,27835,27823,27286,27607,27828,27283,27335,27410,27824,27797,27799,27800,27336,27822,27492,27476,27342,27343,27340,27465,27226,27224,27229,27225,27480,27455,27220,26615,29328,27285,27290,27347,27348,27351,26643,26616,26483,28249,27729,28815,26533,31028,14881,31020,31127,31023,31025,27737,31021,31027,31018,31126,31019,30570,6368,4076,31057,20562,26499,28612,26528,28169,28167,27913,26497,245178,27747,27752,27745,27746,233754,233808,233804,233757,233753,233680,233752,233676,245086,233670,233677,235380,236114)) OR (`Idx`=1 AND `CreatureID` IN (22515,30352,30394,30867,30351,36736,37014,53488,37704,38505,31147,38493,30343,27284,27401,27403,27357,27333,27330,26426,27161,27164,27158,27454,27162,27160,27851,27713,26780,27370,27359,27375,27836,27286,27335,27336,27226,27225,27220,27290,27351,28815,14881,31127,27737,31126,6368,20562,28612,28169,28167,233680,245086,233670,233677)) OR (`Idx`=3 AND `CreatureID` IN (30352,30394,30867,30351,38505,31147,38493,27161,27164,27162,27160,27713,27359,27335,27336,27226,27290,27737,6368,28612,28169,28167,233680,233677)) OR (`Idx`=2 AND `CreatureID` IN (30352,30394,30867,30351,38505,31147,38493,27401,27161,27164,27162,27160,27713,26780,27359,27335,27336,27226,27290,27737,6368,28612,28169,28167,233680,233670,233677));
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686, `VerifiedBuild`=69497 WHERE (`CreatureID`=37071 AND `Idx`=1); -- Invisible Stalker (Icecrown Dungeon Trap Controller)
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686, `VerifiedBuild`=69497 WHERE (`CreatureID`=37906 AND `Idx`=1); -- Imprisoned Soul
UPDATE `creature_template_model` SET `CreatureDisplayID`=103802, `VerifiedBuild`=69497 WHERE (`CreatureID`=212418 AND `Idx`=0); -- Bronze Timekeeper
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686, `VerifiedBuild`=69497 WHERE (`CreatureID`=27436 AND `Idx`=1); -- Upper Wintergarde Mine Shaft
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686, `VerifiedBuild`=69497 WHERE (`CreatureID`=27437 AND `Idx`=1); -- Lower Wintergarde Mine Shaft
UPDATE `creature_template_model` SET `CreatureDisplayID`=11686, `VerifiedBuild`=69497 WHERE (`CreatureID`=23033 AND `Idx`=1); -- Invisible Stalker (Floating)
UPDATE `creature_template_model` SET `CreatureDisplayID`=27823, `VerifiedBuild`=69497 WHERE (`CreatureID`=245178 AND `Idx`=1); -- Waypoint A
DELETE FROM `creature_questitem` WHERE (`CreatureEntry`=28249 AND `DifficultyID`=236 AND `Idx`=0) OR (`CreatureEntry`=27729 AND `DifficultyID`=236 AND `Idx`=0) OR (`CreatureEntry`=26533 AND `DifficultyID`=236 AND `Idx`=0);
INSERT INTO `creature_questitem` (`CreatureEntry`, `DifficultyID`, `Idx`, `ItemId`, `VerifiedBuild`) VALUES
(28249, 236, 0, 42108, 69497), -- Devouring Ghoul
(27729, 236, 0, 42108, 69497), -- Enraging Ghoul
(26533, 236, 0, 43697, 69497); -- Mal'Ganis
UPDATE `creature_questitem` SET `VerifiedBuild`=69497 WHERE (`CreatureEntry`=31139 AND `DifficultyID`=0 AND `Idx`=2) OR (`CreatureEntry`=31139 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=31139 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=31147 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=212418 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=212418 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27284 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27401 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27401 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27382 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27330 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27370 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27287 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27836 AND `DifficultyID`=0 AND `Idx`=3) OR (`CreatureEntry`=27836 AND `DifficultyID`=0 AND `Idx`=2) OR (`CreatureEntry`=27836 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27836 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27835 AND `DifficultyID`=0 AND `Idx`=3) OR (`CreatureEntry`=27835 AND `DifficultyID`=0 AND `Idx`=2) OR (`CreatureEntry`=27835 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27835 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27286 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27283 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27410 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27410 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27797 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27799 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27800 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27226 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27226 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27224 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27224 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27229 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27229 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27225 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=27220 AND `DifficultyID`=0 AND `Idx`=1) OR (`CreatureEntry`=27220 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=26643 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=26616 AND `DifficultyID`=0 AND `Idx`=0) OR (`CreatureEntry`=26483 AND `DifficultyID`=0 AND `Idx`=0);
UPDATE `creature_quest_currency` SET `VerifiedBuild`=69497 WHERE (`CreatureId`=212418 AND `CurrencyId` IN (2003,2122,2118));
DELETE FROM `gameobject_template` WHERE `entry` IN (476231 /*Arthas Platform*/, 505002 /*Doodad_MonestaryHallDoor01*/, 505001 /*Doodad_TolBarad_Gates_024*/);
INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `size`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `Data6`, `Data7`, `Data8`, `Data9`, `Data10`, `Data11`, `Data12`, `Data13`, `Data14`, `Data15`, `Data16`, `Data17`, `Data18`, `Data19`, `Data20`, `Data21`, `Data22`, `Data23`, `Data24`, `Data25`, `Data26`, `Data27`, `Data28`, `Data29`, `Data30`, `Data31`, `Data32`, `Data33`, `Data34`, `RequiredLevel`, `ContentTuningId`, `VerifiedBuild`) VALUES
(476231, 33, 9276, 'Arthas Platform', '', '', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Arthas Platform
(505002, 0, 444, 'Doodad_MonestaryHallDoor01', '', '', '', 1.059999704360961914, 0, 0, 3000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69497), -- Doodad_MonestaryHallDoor01
(505001, 0, 11687, 'Doodad_TolBarad_Gates_024', '', '', '', 0.999999761581420898, 0, 0, 3000, 0, 0, 0, 0, 5793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69497); -- Doodad_TolBarad_Gates_024
DELETE FROM `page_text` WHERE `ID` IN (10007 /*10007*/, 10006 /*10006*/, 10003 /*10003*/);
INSERT INTO `page_text` (`ID`, `Text`, `NextPageID`, `PlayerConditionID`, `Flags`, `VerifiedBuild`) VALUES
(10007, 'For years, he waited and he planned. Eventually the heroes of Azeroth traveled to Northrend to slay him--but what they did not realize was that this was part of his plan. In order to obtain an invincible army, Arthas lured Azeroth\'s mightiest to the peak of Icecrown Citadel, where he would slay and then raise them to serve him in undeath.\n\nYet he underestimated the might of Azeroth\'s heroes. And when the great fight atop Icecrown came to an end, so too did the Lich King--Arthas Menethil--who in his final moments, could only see darkness before him.\n\nDid darkness always dwell within Arthas? Was his fate sealed from the start? Perhaps it is impossible to know. In the end, all any of us can do is what we believe is right.', 0, 0, 0, 69497), -- 10007
(10006, 'It was the first hint of darkness that would eventually drag Arthas to ruin. After Stratholme, Arthas traveled to Northrend in pursuit of the creature responsible for the plague--the dreadlord Mal\'Ganis. While there, he heard a tale of a weapon that could defeat Mal\'Ganis, a blade called Frostmourne. \n\nAgainst all advice from his friends and mentors, Arthas claimed the blade... and in doing so, he lost his soul. For the blade was a weapon of the creature known as the Lich King, and whoever claimed the blade became the Lich King\'s servant. \n\nAs a death knight, Arthas returned to Lordaeron and cut down his own father in the name of the Lich King. And later still, he ascended the Frozen Throne, placing the Helm of Domination on his head and taking the name of Lich King for himself.', 10007, 0, 0, 69497), -- 10006
(10003, 'Prince Arthas Menethil was both an aspiring paladin and the heir to the throne of Lordaeron. As such, he had the weight of many expectations resting on him--both from his father King Terenas, and his mentor, Uther. He trained hard to live up to what everyone hoped he would one day achieve, for the good of his people and his kingdom. \n\nYet tragedy would one day strike in the form of a terrible plague that fell upon Lordaeron. The plague twisted those that were infected, turning the victims into mindless, violent undead. Arthas chased the one responsible for this, and eventually arrived at the city of Stratholme.\n\nThere, he realized the people within had already been exposed to the plague. And to everyone\'s horror, he ordered his men to cut down every citizen of the city before they could become undead. He was unwilling to wait for a cure to be found--to risk the rest of his kingdom.', 10006, 0, 0, 69497); -- 10003
@@ -1,114 +0,0 @@
DELETE FROM `scene_template` WHERE `SceneId` IN (3657, 3930);
INSERT INTO `scene_template` (`SceneId`, `Flags`, `ScriptPackageID`, `Encrypted`) VALUES
(3657, 16, 4533, 0),
(3930, 16, 4904, 0);
UPDATE `quest_poi` SET `VerifiedBuild`=69497 WHERE (`QuestID`=54096 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=54096 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=54096 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=53737 AND `BlobIndex`=0 AND `Idx1`=4) OR (`QuestID`=53737 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=53737 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=53737 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=53737 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=53735 AND `BlobIndex`=0 AND `Idx1`=3) OR (`QuestID`=53735 AND `BlobIndex`=0 AND `Idx1`=2) OR (`QuestID`=53735 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=53735 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=53882 AND `BlobIndex`=0 AND `Idx1`=1) OR (`QuestID`=53882 AND `BlobIndex`=0 AND `Idx1`=0) OR (`QuestID`=85252 AND `BlobIndex`=2 AND `Idx1`=7) OR (`QuestID`=85252 AND `BlobIndex`=1 AND `Idx1`=6) OR (`QuestID`=85252 AND `BlobIndex`=0 AND `Idx1`=5) OR (`QuestID`=85252 AND `BlobIndex`=2 AND `Idx1`=2) OR (`QuestID`=85252 AND `BlobIndex`=1 AND `Idx1`=1) OR (`QuestID`=85252 AND `BlobIndex`=0 AND `Idx1`=0);
UPDATE `quest_poi` SET `ObjectiveIndex`=5, `VerifiedBuild`=69497 WHERE (`QuestID`=85252 AND `BlobIndex`=0 AND `Idx1`=4); -- Lorewalking: Children of the Blood
UPDATE `quest_poi` SET `ObjectiveIndex`=3, `VerifiedBuild`=69497 WHERE (`QuestID`=85252 AND `BlobIndex`=0 AND `Idx1`=3); -- Lorewalking: Children of the Blood
UPDATE `quest_poi_points` SET `VerifiedBuild`=69497 WHERE (`QuestID`=54096 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=54096 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=54096 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=53737 AND `Idx1`=4 AND `Idx2`=0) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=8) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=7) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=6) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=5) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=4) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=3) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=2) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=1) OR (`QuestID`=53737 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=53737 AND `Idx1`=2 AND `Idx2`=3) OR (`QuestID`=53737 AND `Idx1`=2 AND `Idx2`=2) OR (`QuestID`=53737 AND `Idx1`=2 AND `Idx2`=1) OR (`QuestID`=53737 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=53737 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=53737 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=53735 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=7) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=6) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=5) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=4) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=3) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=2) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=1) OR (`QuestID`=53735 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=53735 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=53735 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=53882 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=53882 AND `Idx1`=0 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=7 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=6 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=5 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=4 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=3 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=2 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=1 AND `Idx2`=0) OR (`QuestID`=85252 AND `Idx1`=0 AND `Idx2`=0);
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=53737; -- The Day Hope Died
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=53735; -- The First to Fall
UPDATE `quest_details` SET `Emote2`=0, `VerifiedBuild`=69497 WHERE `ID`=53882; -- Writing on the Wall
DELETE FROM `quest_request_items` WHERE `ID`=53735;
INSERT INTO `quest_request_items` (`ID`, `EmoteOnComplete`, `EmoteOnIncomplete`, `EmoteOnCompleteDelay`, `EmoteOnIncompleteDelay`, `CompletionText`, `VerifiedBuild`) VALUES
(53735, 0, 0, 0, 0, 'Yes?', 69497); -- The First to Fall
DELETE FROM `ui_map_quest_line` WHERE (`UIMapId`=18 AND `QuestLineId`=5750);
INSERT INTO `ui_map_quest_line` (`UIMapId`, `QuestLineId`, `VerifiedBuild`) VALUES
(18, 5750, 69497);
UPDATE `ui_map_quest_line` SET `VerifiedBuild`=69497 WHERE (`UIMapId`=95 AND `QuestLineId` IN (5697,1216)) OR (`UIMapId`=18 AND `QuestLineId` IN (5718,5673,1377,1294,418,177));
UPDATE `creature_queststarter` SET `VerifiedBuild`=69497 WHERE (`id`=145005 AND `quest` IN (53737,53735)) OR (`id`=145015 AND `quest`=53882);
UPDATE `creature_questender` SET `VerifiedBuild`=69497 WHERE (`id`=145005 AND `quest` IN (53737,53735,53882));
DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (2839839 /*Map: 2552 (Khaz Algar (Surface)) - Phase: 0*/, 2699644 /*Map: 1 (Kalimdor) - Phase: 0*/, 2692118 /*Map: 0 (Eastern Kingdoms) - Phase: 25334*/, 2730200 /*Map: 530 (Outland) - Phase: 0*/, 2730108 /*Map: 530 (Outland) - Phase: 0*/);
INSERT INTO `spawn_tracking_template` (`SpawnTrackingId`, `MapId`, `PhaseId`, `PhaseGroup`, `PhaseUseFlags`, `VerifiedBuild`) VALUES
(2839839, 2552, 0, 0, 0, 69497), -- Map: 2552 (Khaz Algar (Surface)) - Phase: 0
(2699644, 1, 0, 0, 0, 69497), -- Map: 1 (Kalimdor) - Phase: 0
(2692118, 0, 25334, 0, 0, 69497), -- Map: 0 (Eastern Kingdoms) - Phase: 25334
(2730200, 530, 0, 0, 0, 69497), -- Map: 530 (Outland) - Phase: 0
(2730108, 530, 0, 0, 0, 69497); -- Map: 530 (Outland) - Phase: 0
UPDATE `spawn_tracking_template` SET `VerifiedBuild`=69497 WHERE `SpawnTrackingId` IN (1656138, 1689788, 1676114, 1681164, 1651035, 1664569);
UPDATE `spawn_tracking_template` SET `PhaseId`=12002, `VerifiedBuild`=69497 WHERE `SpawnTrackingId`=1649726; -- Map: 530 (Outland) - Phase: 12002
UPDATE `spawn_tracking_template` SET `PhaseId`=0 WHERE `SpawnTrackingId`=2478335;
UPDATE `spawn_tracking_template` SET `PhaseId`=20340 WHERE `SpawnTrackingId`=2291865;
UPDATE `spawn_tracking_template` SET `PhaseId`=19932 WHERE `SpawnTrackingId`=2291871;
DELETE FROM `spawn_tracking_quest_objective` WHERE (`SpawnTrackingId`=2730200 AND `QuestObjectiveId`=464742) OR (`SpawnTrackingId`=2730108 AND `QuestObjectiveId`=458506);
INSERT INTO `spawn_tracking_quest_objective` (`SpawnTrackingId`, `QuestObjectiveId`, `VerifiedBuild`) VALUES
(2730200, 464742, 69497), -- 2730200
(2730108, 458506, 69497); -- 2730108
DELETE FROM `spell_target_position` WHERE (`ID`=474729 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=467855 AND `EffectIndex`=0 AND `OrderIndex`=0) OR (`ID`=474632 AND `EffectIndex`=0 AND `OrderIndex`=0);
INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
(474729, 0, 0, 530, 12582.099609375, -6774.08984375, 15.09000015258789062, 69497), -- Spell: 474729 (Teleport (DNT)) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
(467855, 0, 0, 1, 2681.89990234375, -451.95001220703125, 109.2300033569335937, 69497), -- Spell: 467855 (Faction Override - Horde (DNT)) Effect 0: 6 (SPELL_EFFECT_APPLY_AURA)
(474632, 0, 0, 530, 7582.1298828125, -6812.85986328125, 86.589996337890625, 69497); -- Spell: 474632 (Blood Elves Teleport: Accept [DNT]) Effect 0: 252 (SPELL_EFFECT_TELEPORT_UNITS)
REPLACE INTO `spell_target_position` (`ID`, `EffectIndex`, `OrderIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `VerifiedBuild`) VALUES
(284810, 0, 0, 530, 6418.1416015625, -6858.84375, 101.3942413330078125, 69497); -- Spell: 284810 (Igniting) Effect 0: 3 (SPELL_EFFECT_DUMMY)
UPDATE `creature_model_info` SET `VerifiedBuild`=69497 WHERE `DisplayID` IN (13069, 15880, 22792, 22809, 22783, 4449, 22810, 22786, 38274, 89118, 89126, 89119, 89125, 89124, 89121, 88833, 89120, 89129, 89134, 4870, 42335, 17545, 16062, 16055, 4629, 2676, 158, 1200, 955, 14702, 137, 1197, 10632, 10634, 1201, 88965, 88919, 88915, 88918, 88921, 27847, 88910, 88916, 88911, 35153, 88914, 88982, 27848, 88981, 88966, 9906, 56187, 11397, 10971, 10970, 733, 14562, 88912, 88909, 16207, 15592, 11071, 9904, 16215, 18167, 3956, 16245, 89421, 17122, 17640, 89803, 36918, 36917, 36919, 17785, 16067, 89418, 16080, 16127, 16072, 16117, 16099, 16057, 89419, 16103, 29363, 16073, 16100, 16470, 16701, 36920, 36921, 36922, 16821, 16678, 16115, 36923, 16242, 16071, 89420, 16079, 31275, 2481, 45952, 2480, 3916, 2466, 2470, 5233, 10192, 9021, 47211, 9020, 4732, 47213, 111078);
UPDATE `creature_model_info` SET `BoundingRadius`=0.382999986410140991, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID`=89123;
UPDATE `creature_model_info` SET `BoundingRadius`=4.891517162322998046, `VerifiedBuild`=69497 WHERE `DisplayID`=90100;
UPDATE `creature_model_info` SET `BoundingRadius`=2.125279903411865234, `CombatReach`=1.5, `VerifiedBuild`=69497 WHERE `DisplayID`=1157;
DELETE FROM `creature_template_spell` WHERE (`CreatureID`=147006 AND `Index`=0);
INSERT INTO `creature_template_spell` (`CreatureID`, `Index`, `Spell`, `VerifiedBuild`) VALUES
(147006, 0, 285512, 69497); -- Silvermoon Ballista
DELETE FROM `creature_template_gossip` WHERE (`CreatureID`=234616 AND `MenuID`=37475);
INSERT INTO `creature_template_gossip` (`CreatureID`, `MenuID`, `VerifiedBuild`) VALUES
(234616, 37475, 69497); -- Lorewalker Cho
UPDATE `creature_template_gossip` SET `VerifiedBuild`=69497 WHERE (`CreatureID`=6491 AND `MenuID`=83);
REPLACE INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES
(234616, 1, 0, 0, 0, 0, 0, 0, 0, 278631, 0, 0, 0, 0, 0, 0, 0, 69497); -- 234616 (Lorewalker Cho)
REPLACE INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
(37475, 234616, 69497); -- 234616 (Lorewalker Cho)
UPDATE `gossip_menu` SET `VerifiedBuild`=69497 WHERE (`MenuID`=83 AND `TextID`=580);
DELETE FROM `gossip_menu_option` WHERE (`MenuID`=37475 AND `OptionID` IN (5,0,15,1,6,4,7,16,14));
INSERT INTO `gossip_menu_option` (`MenuID`, `GossipOptionID`, `OptionID`, `OptionNpc`, `OptionText`, `OptionBroadcastTextID`, `Language`, `Flags`, `ActionMenuID`, `ActionPoiID`, `GossipNpcOptionID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `SpellID`, `OverrideIconID`, `VerifiedBuild`) VALUES
(37475, 137144, 5, 0, 'Tell me more about the Highborne.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 138990, 0, 0, 'I am ready to hear the beginning of the story.', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 132274, 15, 0, 'Please continue your story.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 131412, 1, 0, 'Tell me about the Blood Elves.', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 137145, 6, 0, 'Tell me more about Quel\'Thalas.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 136429, 4, 0, 'What happened after Sylvanas fell?', 0, 0, 1, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 137146, 7, 0, 'Tell me more about the Sunwell.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 135355, 16, 0, '|cnRED_FONT_COLOR:(Exit Lorewalking)|r I\'ve heard enough for now.', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497),
(37475, 137841, 14, 0, '|cFF0000FF(Teleport)|r I\'m a little lost. Where does this part of the story take place, again?', 0, 0, 0, 0, 0, NULL, 0, 0, '', 0, NULL, NULL, 69497);
DELETE FROM `quest_objectives` WHERE `ID`=470620;
INSERT INTO `quest_objectives` (`ID`, `QuestID`, `Type`, `Order`, `StorageIndex`, `ObjectID`, `Amount`, `ConditionalAmount`, `Flags`, `Flags2`, `ProgressBarWeight`, `ParentObjectiveID`, `Description`, `Visible`, `VerifiedBuild`) VALUES
(470620, 85252, 0, 0, 8, 261220, 1, 0, 0, 0, 0, 0, 'Listen to Cho to learn the story of the sin\'dorei', 1, 69497); -- 470620
DELETE FROM `quest_visual_effect` WHERE (`Index`=0 AND `ID` IN (456890,470620));
INSERT INTO `quest_visual_effect` (`ID`, `Index`, `VisualEffect`, `VerifiedBuild`) VALUES
(456890, 0, 32543, 69497),
(470620, 0, 32542, 69497);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,162 +0,0 @@
DELETE FROM `creature_model_info` WHERE `DisplayID`=144104;
INSERT INTO `creature_model_info` (`DisplayID`, `BoundingRadius`, `CombatReach`, `DisplayID_Other_Gender`, `VerifiedBuild`) VALUES (144104, 0, 0, 0, 0);
DELETE FROM `creature_model_info` WHERE `DisplayID`=145875;
INSERT INTO `creature_model_info` (`DisplayID`, `BoundingRadius`, `CombatReach`, `DisplayID_Other_Gender`, `VerifiedBuild`) VALUES (145875, 0, 0, 0, 0);
UPDATE `creature_template` SET `faction`=35 WHERE `entry`=260923;
UPDATE `creature_template` SET `faction`=35 WHERE `entry`=260349;
UPDATE `creature_template` SET `faction`=35 WHERE `entry`=260348;
UPDATE `creature_template` SET `faction`=35 WHERE `entry`=271457;
UPDATE `creature_template` SET `faction`=35 WHERE `entry`=260347;
UPDATE `creature_template` SET `faction`=35 WHERE `entry` IN (270276, 270277, 263602, 263345, 270272, 264883, 263597, 264321, 254001, 260344, 263603, 271456, 270275);
DELETE FROM `creature_quest_currency` WHERE CurrencyId = 3252;
DELETE FROM `creature_template` WHERE `entry`=263351;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (263351, 0, 0, 'Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=262438;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262438, 0, 0, '[DNT] Kill Credit - Transform', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Transform
DELETE FROM `creature_template` WHERE `entry`=264391;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(264391, 0, 0, '[DNT] Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit
DELETE FROM `creature_template` WHERE `entry`=262440;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262440, 0, 0, '[DNT] Kill Credit - Disrupt - Convince', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Disrupt - Convince
DELETE FROM `creature_template` WHERE `entry`=262441;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(262441, 0, 0, '[DNT] Kill Credit - Disrupt - Kill', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit - Disrupt - Kill
DELETE FROM `creature_template` WHERE `entry`=265079;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (265079, 0, 0, '[DNT] Kill Credit: Machines Overloaded', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=265637;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265637, 0, 0, '[DNT] Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit
DELETE FROM `creature_template` WHERE `entry`=265636;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265636, 0, 0, '[DNT] Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit
DELETE FROM `creature_template` WHERE `entry`=260961;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(260961, 0, 0, '[DNT] Egg Kill Credit', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Egg Kill Credit
DELETE FROM `creature_template` WHERE `entry`=265778;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265778, 0, 0, '[DNT] Kill Credit: Tier 1', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Tier 1
DELETE FROM `creature_template` WHERE `entry`=265779;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(265779, 0, 0, '[DNT] Kill Credit: Tier 2', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 10, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- [DNT] Kill Credit: Tier 2
DELETE FROM `creature_template` WHERE `entry`=253866;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (253866, 0, 0, 'Kill Credit: Start Zandalar', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=265766;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (265766, 0, 0, 'Hal\'Hadar Raider', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=267542;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(267542, 0, 0, 'Artificer''s Haulnaught', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 9, 0, '', 0, 1, 0, 0, 0, 0, 1, 0, 0, '', '', 0); -- Artificer's Haulnaught
DELETE FROM `creature_template` WHERE `entry`=261220;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (261220, 0, 0, '[DNT] Kill Credit: Listen to Cho to learn the story of the sin\'dorei', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=257160;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (257160, 0, 0, 'Kill Credit: Hakkar Arrived Prompt', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `creature_template` WHERE `entry`=257148;
INSERT INTO `creature_template` (`entry`, `KillCredit1`, `KillCredit2`, `name`, `femaleName`, `subname`, `TitleAlt`, `IconName`, `RequiredExpansion`, `VignetteID`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `Classification`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `unit_flags3`, `family`, `trainer_class`, `type`, `VehicleId`, `AIName`, `MovementType`, `ExperienceModifier`, `RacialLeader`, `movementId`, `WidgetSetID`, `WidgetSetUnitConditionID`, `RegenHealth`, `CreatureImmunitiesId`, `flags_extra`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES (257148, 0, 0, 'Kill Credit: Hakkar Prompt', '', NULL, NULL, '(NULL)', 0, 0, 35, 0, 1, 1.14286, 1, 1, 0, 2000, 0, 1, 1, 1, 0, 2048, 0, 0, 0, 7, 0, '', 0, 1, 0, 0, 0, 0, 0, 1, 0, '', '', 0);
DELETE FROM `gameobject_template` WHERE `entry`=571007;
INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `size`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `Data6`, `Data7`, `Data8`, `Data9`, `Data10`, `Data11`, `Data12`, `Data13`, `Data14`, `Data15`, `Data16`, `Data17`, `Data18`, `Data19`, `Data20`, `Data21`, `Data22`, `Data23`, `Data24`, `Data25`, `Data26`, `Data27`, `Data28`, `Data29`, `Data30`, `Data31`, `Data32`, `Data33`, `Data34`, `ContentTuningId`, `RequiredLevel`, `AIName`, `ScriptName`, `StringId`, `VerifiedBuild`) VALUES
(571007, 0, 0, 'Release Potadpoles', '', '', '', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', NULL, 0); -- Release Potadpoles
UPDATE `creature_template_difficulty` SET `ContentTuningID`=1281 WHERE (`Entry`=205981 AND `DifficultyID`=0); -- 205981 (Lukou) -
UPDATE `creature_template` SET `faction`=35, `npcflag`=3 WHERE `entry`=205981; -- Lukou
UPDATE `creature_template_difficulty` SET `HealthScalingExpansion`=11, `HealthModifier`=20, `ManaModifier`=15, `CreatureDifficultyID`=282808 WHERE (`Entry`=231472 AND `DifficultyID`=12); -- Alonsus Faol
UPDATE `creature_template_difficulty` SET `LevelScalingDeltaMin`=3, `LevelScalingDeltaMax`=3, `ContentTuningID`=633, `VerifiedBuild`=69497 WHERE (`Entry`=231472 AND `DifficultyID`=12); -- 231472 (Alonsus Faol) - CanSwim
UPDATE `creature_template` SET `npcflag`=2, `BaseAttackTime`=2000 WHERE `entry`=231472; -- Alonsus Faol
UPDATE `creature_template` SET `npcflag`=3 WHERE `entry`=231702;
UPDATE `creature_template_difficulty` SET `ContentTuningID`=3011 WHERE (`Entry`=233752 AND `DifficultyID`=0); -- 233752 (Uther Lightbringer) - CanSwim
UPDATE `creature_template` SET `npcflag`=3, `BaseAttackTime`=2000 WHERE `entry` IN (233757, 233752); -- Uther Lightbringer
UPDATE `creature_template` SET `npcflag`=3, `BaseAttackTime`=2000 WHERE `entry`=236114; -- Lorewalker Cho
UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=254001;
UPDATE `creature_template_difficulty` SET `ContentTuningID`=1281 WHERE (`Entry`=212782 AND `DifficultyID`=0); -- 212782 (Rokhan) - CanSwim
UPDATE `creature_template` SET `faction`=126, `npcflag`=3, `BaseAttackTime`=2000 WHERE `entry` IN (212782, 212784); -- Rokhan
UPDATE `creature_template_difficulty` SET `ContentTuningID`=864 WHERE (`Entry`=232441 AND `DifficultyID`=0); -- 232441 (Lorewalker Cho) - Sessile, CanSwim, Floating - CannotTurn
UPDATE `creature_template` SET `npcflag`=3, `BaseAttackTime`=2000 WHERE `entry`=232441; -- Lorewalker Cho
UPDATE `creature_template_difficulty` SET `ContentTuningID`=3011 WHERE (`Entry`=233804 AND `DifficultyID`=0); -- 233804 (Terenas Menethil II) - CanSwim
UPDATE `creature_template` SET `npcflag`=2, `BaseAttackTime`=2000 WHERE `entry`=233804; -- Terenas Menethil II
UPDATE `creature_template_difficulty` SET `ContentTuningID`=3011 WHERE (`Entry`=233811 AND `DifficultyID`=0); -- 233811 (Memory of Terenas) - CanSwim
UPDATE `creature_template` SET `npcflag`=2, `BaseAttackTime`=2000 WHERE `entry`=233811; -- Memory of Terenas
UPDATE `gameobject_template` SET `Data1`=311163, `Data30`=0 WHERE `entry`=311163;
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 311163;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (311163, 0, 164911, 100, 0, 1, 0, 1, 1, 'Void Stone');
UPDATE `gameobject_template` SET `Data1`=420686, `Data30`=0 WHERE `entry`=420686;
DELETE FROM `gameobject_loot_template` WHERE `Entry` = 420686;
INSERT INTO `gameobject_loot_template` (`Entry`, `ItemType`, `Item`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES (420686, 0, 211133, 100, 0, 1, 0, 1, 1, 'Jani''s Blessing');
UPDATE `creature_template` SET `npcflag`=4225, `BaseAttackTime`=2000 WHERE `entry`=242960; -- Isilwen Starforge
REPLACE INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES
(252822, 1, 0, 0, 0, 0, 0, 0, 0, 301389, 0, 0, 0, 0, 0, 0, 0, 69497), -- 252822 (Lady Liadrin)
(236789, 1, 0, 0, 0, 0, 0, 0, 0, 283177, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236789 (Alonsus Faol)
(248629, 1, 0, 0, 0, 0, 0, 0, 0, 294564, 0, 0, 0, 0, 0, 0, 0, 69497), -- 248629 (General Amias Bellamy)
(240068, 1, 0, 0, 0, 0, 0, 0, 0, 283974, 0, 0, 0, 0, 0, 0, 0, 69497), -- 240068 (Scared Civilian)
(240075, 1, 0, 0, 0, 0, 0, 0, 0, 284034, 0, 0, 0, 0, 0, 0, 0, 69497), -- 240075 (Scared Civilian)
(213638, 1, 0, 0, 0, 0, 0, 0, 0, 251039, 0, 0, 0, 0, 0, 0, 0, 69497), -- 213638 (Rokhan)
(240125, 1, 0, 0, 0, 0, 0, 0, 0, 284092, 0, 0, 0, 0, 0, 0, 0, 69497), -- 240125 (Scared Civilian)
(236896, 1, 0, 0, 0, 0, 0, 0, 0, 288213, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236896 (Lor'themar Theron)
(240156, 1, 0, 0, 0, 0, 0, 0, 0, 284092, 0, 0, 0, 0, 0, 0, 0, 69497), -- 240156 (Scared Civilian)
(236961, 1, 0, 0, 0, 0, 0, 0, 0, 285498, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236961 (Lor'themar Theron)
(237222, 1, 0, 0, 0, 0, 0, 0, 0, 285656, 0, 0, 0, 0, 0, 0, 0, 69497), -- 237222 (Light's Vanguard)
(237255, 1, 0, 0, 0, 0, 0, 0, 0, 288281, 0, 0, 0, 0, 0, 0, 0, 69497), -- 237255 (High Exarch Turalyon)
(236964, 1, 0, 0, 0, 0, 0, 0, 0, 283857, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236964 (Arator)
(205981, 1, 0, 0, 0, 0, 0, 0, 0, 254127, 0, 0, 0, 0, 0, 0, 0, 69497), -- 205981 (Lukou)
(236978, 1, 0, 0, 0, 0, 0, 0, 0, 285706, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236978 (High Exarch Turalyon)
(237278, 1, 0, 0, 0, 0, 0, 0, 0, 286595, 0, 0, 0, 0, 0, 0, 0, 69497), -- 237278 (Lady Liadrin)
(240936, 1, 0, 0, 0, 0, 0, 0, 0, 285778, 0, 0, 0, 0, 0, 0, 0, 69497), -- 240936 (Guard Captain Goldblade)
(236903, 1, 0, 0, 0, 0, 0, 0, 0, 285784, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236903 (Orweyna)
(242949, 1, 0, 0, 0, 0, 0, 0, 0, 288394, 0, 0, 0, 0, 0, 0, 0, 69497), -- 242949 (Sylmara Dawnpetal)
(242960, 1, 0, 0, 0, 0, 0, 0, 0, 288318, 0, 0, 0, 0, 0, 0, 0, 69497), -- 242960 (Isilwen Starforge)
(236739, 1, 0, 0, 0, 0, 0, 0, 0, 286666, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236739 (Magistrix Landra Dawnstrider)
(236743, 1, 0, 0, 0, 0, 0, 0, 0, 284658, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236743 (Orweyna)
(236959, 1, 0, 0, 0, 0, 0, 0, 0, 282408, 0, 0, 0, 0, 0, 0, 0, 69497), -- 236959 (Arator)
(210260, 1, 0, 0, 0, 0, 0, 0, 0, 263070, 0, 0, 0, 0, 0, 0, 0, 69497); -- 210260 (Kevo ya Siti)
REPLACE INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
(40774, 252822, 69497), -- 252822 (Lady Liadrin)
(38373, 236789, 69497), -- 236789 (Alonsus Faol)
(40066, 248629, 69497), -- 248629 (General Amias Bellamy)
(38466, 240068, 69497), -- 240068 (Scared Civilian)
(38467, 240075, 69497), -- 240075 (Scared Civilian)
(33039, 213638, 69497), -- 213638 (Rokhan)
(38472, 240125, 69497), -- 240125 (Scared Civilian)
(38926, 236896, 69497), -- 236896 (Lor'themar Theron)
(38483, 240156, 69497), -- 240156 (Scared Civilian)
(38579, 236961, 69497), -- 236961 (Lor'themar Theron)
(38586, 237222, 69497), -- 237222 (Light's Vanguard)
(38943, 237255, 69497), -- 237255 (High Exarch Turalyon)
(39126, 236964, 69497), -- 236964 (Arator)
(33431, 205981, 69497), -- 205981 (Lukou)
(38597, 236978, 69497), -- 236978 (High Exarch Turalyon)
(38691, 237278, 69497), -- 237278 (Lady Liadrin)
(38604, 240936, 69497), -- 240936 (Guard Captain Goldblade)
(38606, 236903, 69497), -- 236903 (Orweyna)
(38963, 242949, 69497), -- 242949 (Sylmara Dawnpetal)
(38967, 242960, 69497), -- 242960 (Isilwen Starforge)
(38700, 236739, 69497), -- 236739 (Magistrix Landra Dawnstrider)
(38525, 236743, 69497), -- 236743 (Orweyna)
(38261, 236959, 69497), -- 236959 (Arator)
(34796, 210260, 69497); -- 210260 (Kevo ya Siti)
+16 -1
View File
@@ -78,7 +78,22 @@ AccountOpResult AccountMgr::CreateAccount(std::string username, std::string pass
stmt->setNull(6);
}
LoginDatabase.DirectExecute(stmt); // Enforce saving, otherwise AddGroup can fail
// Try to execute the insert, handle duplicate key errors gracefully
try
{
LoginDatabase.DirectExecute(stmt); // Enforce saving, otherwise AddGroup can fail
}
catch (...)
{
// Check if account was created despite the error (race condition)
if (GetId(username))
return AccountOpResult::AOR_NAME_ALREADY_EXIST;
return AccountOpResult::AOR_DB_INTERNAL_ERROR;
}
// Verify account was actually created
if (!GetId(username))
return AccountOpResult::AOR_DB_INTERNAL_ERROR;
stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_REALM_CHARACTERS_INIT);
LoginDatabase.Execute(stmt);
@@ -52,10 +52,34 @@ AccountOpResult Battlenet::AccountMgr::CreateBattlenetAccount(std::string email,
stmt->setInt8(1, AsUnderlyingType(SrpVersion::v2));
stmt->setBinary(2, salt);
stmt->setBinary(3, std::move(verifier));
LoginDatabase.DirectExecute(stmt);
// Try to execute the insert, handle duplicate key errors gracefully
try
{
LoginDatabase.DirectExecute(stmt);
}
catch (...)
{
// Check if account was created despite the error (race condition)
uint32 existingId = GetId(email);
if (existingId)
{
if (withGameAccount)
{
*gameAccountName = std::to_string(existingId) + "#1";
std::string gameAccountPassword = password.substr(0, MAX_PASS_STR);
Utf8ToUpperOnlyLatin(gameAccountPassword);
// Try to create game account for existing BNet account
GameAccountMgr::instance()->CreateAccount(*gameAccountName, gameAccountPassword, email, existingId, 1);
}
return AccountOpResult::AOR_NAME_ALREADY_EXIST;
}
return AccountOpResult::AOR_DB_INTERNAL_ERROR;
}
uint32 newAccountId = GetId(email);
ASSERT(newAccountId);
if (!newAccountId)
return AccountOpResult::AOR_DB_INTERNAL_ERROR;
if (withGameAccount)
{
@@ -61,7 +61,6 @@
#include "ChallengeMode.h"
#include "ChallengeModeMgr.h"
#include "MythicPlusData.h"
#include "TimeEvents.h"
//WowCommunity
bool CriteriaData::IsValid(Criteria const* criteria)
@@ -4010,10 +4009,41 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
return false;
break;
case ModifierTreeType::HasTimeEventPassed: // 289
// known time events live in TimeEvents.h, shared with ChallengeModeItemBonusOverride handling
if (!TimeEvents::HasPassed(reqValue))
{
time_t eventTimestamp = GameTime::GetGameTime();
switch (reqValue)
{
case 111: // Battle for Azeroth Season 4 Start
eventTimestamp = time_t(1579618800); // January 21, 2020 8:00
break;
case 120: // Patch 9.0.1
eventTimestamp = time_t(1602601200); // October 13, 2020 8:00
break;
case 121: // Shadowlands Season 1 Start
eventTimestamp = time_t(1607439600); // December 8, 2020 8:00
break;
case 123: // Shadowlands Season 1 End
// timestamp = unknown
break;
case 149: // Shadowlands Season 2 End
// timestamp = unknown
break;
case 349: // Dragonflight Season 3 Start (pre-season)
eventTimestamp = time_t(1699340400); // November 7, 2023 8:00
break;
case 350: // Dragonflight Season 3 Start
eventTimestamp = time_t(1699945200); // November 14, 2023 8:00
break;
case 352: // Dragonflight Season 3 End
// eventTimestamp = time_t(); unknown
break;
default:
break;
}
if (GameTime::GetGameTime() < eventTimestamp)
return false;
break;
}
case ModifierTreeType::GarrisonHasPermanentTalent: // 290
{
// A permanent (non-temporary) talent: learned and not flagged GARRISON_TALENT_FLAG_TEMPORARY.
@@ -19,7 +19,6 @@
#define ChallengeModeMgr_h__
#include "Define.h"
#include "Optional.h"
#include <array>
#include <unordered_map>
#include <vector>
@@ -224,7 +224,6 @@ void Channel::JoinChannel(Player* player, std::string const& pass)
notify->Data.ChatChannelID = _channelId;
//notify->Data.InstanceID = 0;
notify->Data._ChannelFlags = _channelFlags;
notify->Data.UserFlags = GetPlayerFlags(guid);
notify->Data._Channel = GetName(localeIdx);
notify->Data.ChannelGUID = _channelGuid;
notify->Data.Write();
+4 -7
View File
@@ -405,9 +405,7 @@ bool CombatManager::UpdateOwnerCombatState() const
if (combatState)
{
// always set UNIT_FLAG_PET_IN_COMBAT even if the unit has no controlled summons
// This behavior is intended as retail uses this to toggle swimming for ocean floor combat
_owner->SetUnitFlag(UNIT_FLAG_IN_COMBAT | UNIT_FLAG_PET_IN_COMBAT);
_owner->SetUnitFlag(UNIT_FLAG_IN_COMBAT);
_owner->AtEnterCombat();
if (_owner->GetTypeId() != TYPEID_UNIT)
_owner->AtEngage(GetAnyTarget());
@@ -418,11 +416,10 @@ bool CombatManager::UpdateOwnerCombatState() const
_owner->AtExitCombat();
if (_owner->GetTypeId() != TYPEID_UNIT)
_owner->AtDisengage();
// UNIT_FLAG_PET_IN_COMBAT will be cleared if controlled summons are not in combat anymore
if (Unit* master = _owner->GetCharmerOrOwner())
master->UpdatePetCombatState();
}
if (Unit* master = _owner->GetCharmerOrOwner())
master->UpdatePetCombatState();
return true;
}
@@ -837,8 +837,8 @@ void AreaTrigger::SearchUnitInBoundedPlane(UF::AreaTriggerBoundedPlane const& bo
progress = sDB2Manager.GetCurveValueAt(m_areaTriggerData->MorphCurveId, progress);
float scale = CalcCurrentScale();
float extentsX = G3D::lerp(boundedPlane.ExtentsX, boundedPlane.ExtentsTargetX, progress) * scale;
float extentsY = G3D::lerp(boundedPlane.ExtentsY, boundedPlane.ExtentsTargetY, progress) * scale;
float extentsX = G3D::lerp(boundedPlane.Extents->Pos.GetPositionX(), boundedPlane.ExtentsTarget->Pos.GetPositionX(), progress) * scale;
float extentsY = G3D::lerp(boundedPlane.Extents->Pos.GetPositionY(), boundedPlane.ExtentsTarget->Pos.GetPositionY(), progress) * scale;
float radius = std::sqrt(extentsX * extentsX + extentsY * extentsY);
SearchUnits(targetList, radius, false);
@@ -1039,10 +1039,8 @@ void AreaTrigger::SetShape(AreaTriggerShapeInfo const& shape)
{
SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::ShapeType), 8);
auto boundedPlane = areaTriggerData.ModifyValue(&UF::AreaTriggerData::ShapeData, UF::VariantCase<UF::AreaTriggerBoundedPlane>);
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::ExtentsX), shapeData.Extents.Pos.GetPositionX());
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::ExtentsY), shapeData.Extents.Pos.GetPositionY());
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::ExtentsTargetX), shapeData.ExtentsTarget.Pos.GetPositionX());
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::ExtentsTargetY), shapeData.ExtentsTarget.Pos.GetPositionY());
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::Extents), shapeData.Extents);
SetUpdateFieldValue(boundedPlane.ModifyValue(&UF::AreaTriggerBoundedPlane::ExtentsTarget), shapeData.ExtentsTarget);
}
else
static_assert(Trinity::dependant_false_v<ShapeType>, "Unsupported shape type");
+15 -20
View File
@@ -2236,14 +2236,17 @@ float Creature::GetAttackDistance(Unit const* player) const
float maxRadius = 45.0f * aggroRate;
float minRadius = 5.0f * aggroRate;
int32 expansionMaxLevel = int32(GetMaxLevelForExpansion(GetCreatureDifficulty()->GetHealthScalingExpansion()));
int32 expansionMaxLevel = int32(GetMaxLevelForExpansion(GetCreatureTemplate()->RequiredExpansion));
int32 playerLevel = player->GetLevelForTarget(this);
int32 creatureLevel = GetLevelForTarget(player);
int32 levelDifference = creatureLevel - playerLevel;
// The aggro radius for creatures with equal level as the player is 15 yards.
// The aggro radius for creatures with equal level as the player is 20 yards.
// The combatreach should not get taken into account for the distance so we drop it from the range (see Supremus as expample)
float baseAggroDistance = 15.0f - GetCombatReach();
float aggroRadius = baseAggroDistance;
float baseAggroDistance = 20.0f - GetCombatReach();
// + - 1 yard for each level difference between player and creature
float aggroRadius = baseAggroDistance + float(levelDifference);
// detect range auras
if (uint32(creatureLevel + 5) <= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
@@ -2257,8 +2260,6 @@ float Creature::GetAttackDistance(Unit const* player) const
// The following code is used for blizzlike behaviour such as skippable bosses
if (creatureLevel > expansionMaxLevel)
aggroRadius = baseAggroDistance + float(expansionMaxLevel - playerLevel);
else // + - 1 yard for each level difference between player and creature
aggroRadius += float(creatureLevel - playerLevel);
// Make sure that we wont go over the total range limits
if (aggroRadius > maxRadius)
@@ -3000,13 +3001,9 @@ void Creature::InitializeMovementCapabilities()
SetDisableGravity(IsFloating());
SetControlled(IsSessile(), UNIT_STATE_ROOT);
if (CanOnlySwimIfTargetSwims())
{
SetUnitFlag2(UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS);
SetSwim(false);
}
else
RemoveUnitFlag2(UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS);
// If an amphibious creatures was swimming while engaged, disable swimming again
if (IsAmphibious() && !_staticFlags.HasFlag(CREATURE_STATIC_FLAG_CAN_SWIM))
RemoveUnitFlag(UNIT_FLAG_CAN_SWIM);
UpdateMovementCapabilities();
}
@@ -3023,14 +3020,12 @@ void Creature::UpdateMovementCapabilities()
if (!isInAir)
RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING);
if (HasUnitFlag2(UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS))
if (GetVictim() && GetVictim()->IsInWater() && !GetVictim()->IsOnOceanFloor())
RemoveUnitFlag2(UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS);
// Some Amphibious creatures toggle swimming while engaged
if (IsAmphibious() && !HasUnitFlag(UNIT_FLAG_CANT_SWIM) && !HasUnitFlag(UNIT_FLAG_CAN_SWIM) && IsEngaged())
if (!CanOnlySwimIfTargetSwims() || (GetVictim() && !GetVictim()->IsOnOceanFloor()))
SetUnitFlag(UNIT_FLAG_CAN_SWIM);
if (IsInWater() && CanSwim())
SetSwim(true);
else if (!IsInWater()) // We do not want to disable swimming again when a creature is in water - may to lead some nasty bugs
SetSwim(false);
SetSwim(IsInWater() && CanSwim());
}
CreatureMovementData const& Creature::GetMovementTemplate() const
@@ -263,7 +263,6 @@ void PlayerMenu::SendGossipMenu(uint32 titleTextId, ObjectGuid objectGUID)
text.QuestID = questID;
text.ContentTuningID = quest->GetContentTuningId();
text.QuestType = item.QuestIcon;
text.QuestInfoID = quest->GetQuestInfoID();
text.QuestFlags[0] = quest->GetFlags();
text.QuestFlags[1] = quest->GetFlagsEx();
text.QuestFlags[2] = quest->GetFlagsEx2();
@@ -432,11 +431,11 @@ void PlayerMenu::SendQuestGiverQuestListMessage(Object* questgiver)
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questID))
{
WorldPackets::NPC::ClientGossipText& text = questList.QuestDataText.emplace_back();
questList.QuestDataText.emplace_back();
WorldPackets::NPC::ClientGossipText& text = questList.QuestDataText.back();
text.QuestID = questID;
text.ContentTuningID = quest->GetContentTuningId();
text.QuestType = questMenuItem.QuestIcon;
text.QuestInfoID = quest->GetQuestInfoID();
text.QuestFlags[0] = quest->GetFlags();
text.QuestFlags[1] = quest->GetFlagsEx();
text.QuestFlags[2] = quest->GetFlagsEx2();
+111 -111
View File
@@ -30,25 +30,25 @@
namespace WowCS
{
struct FragmentInfoInitializer
{
FragmentInfoInitializer()
struct FragmentInfoInitializer
{
EntityFragmentInfos::Register(EntityFragment::FVendor_C, WowCS::FragmentSerializationTraits<UF::VendorData>{});
EntityFragmentInfos::Register(EntityFragment::FMeshObjectData_C, WowCS::FragmentSerializationTraits<UF::MeshObjectData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingDecor_C, WowCS::FragmentSerializationTraits<UF::HousingDecorData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingRoom_C, WowCS::FragmentSerializationTraits<UF::HousingRoomData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingRoomComponentMesh_C, WowCS::FragmentSerializationTraits<UF::HousingRoomComponentMeshData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingPlayerHouse_C, WowCS::FragmentSerializationTraits<UF::HousingPlayerHouseData>{});
EntityFragmentInfos::Register(EntityFragment::FJamHousingCornerstone_C, WowCS::FragmentSerializationTraits<UF::HousingCornerstoneData>{});
EntityFragmentInfos::Register(EntityFragment::FNeighborhoodMirrorData_C, WowCS::FragmentSerializationTraits<UF::NeighborhoodMirrorData>{});
EntityFragmentInfos::Register(EntityFragment::FMirroredPositionData_C, WowCS::FragmentSerializationTraits<UF::MirroredPositionData>{});
EntityFragmentInfos::Register(EntityFragment::PlayerHouseInfoComponent_C, WowCS::FragmentSerializationTraits<UF::PlayerHouseInfoComponentData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingStorage_C, WowCS::FragmentSerializationTraits<UF::HousingStorageData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingFixture_C, WowCS::FragmentSerializationTraits<UF::HousingFixtureData>{});
EntityFragmentInfos::Register(EntityFragment::PlayerInitiativeComponent_C, WowCS::FragmentSerializationTraits<UF::PlayerInitiativeComponentData>{});
}
} static InitFragments;
FragmentInfoInitializer()
{
EntityFragmentInfos::Register(EntityFragment::FVendor_C, WowCS::FragmentSerializationTraits<UF::VendorData>{});
EntityFragmentInfos::Register(EntityFragment::FMeshObjectData_C, WowCS::FragmentSerializationTraits<UF::MeshObjectData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingDecor_C, WowCS::FragmentSerializationTraits<UF::HousingDecorData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingRoom_C, WowCS::FragmentSerializationTraits<UF::HousingRoomData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingRoomComponentMesh_C, WowCS::FragmentSerializationTraits<UF::HousingRoomComponentMeshData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingPlayerHouse_C, WowCS::FragmentSerializationTraits<UF::HousingPlayerHouseData>{});
EntityFragmentInfos::Register(EntityFragment::FJamHousingCornerstone_C, WowCS::FragmentSerializationTraits<UF::HousingCornerstoneData>{});
EntityFragmentInfos::Register(EntityFragment::FNeighborhoodMirrorData_C, WowCS::FragmentSerializationTraits<UF::NeighborhoodMirrorData>{});
EntityFragmentInfos::Register(EntityFragment::FMirroredPositionData_C, WowCS::FragmentSerializationTraits<UF::MirroredPositionData>{});
EntityFragmentInfos::Register(EntityFragment::PlayerHouseInfoComponent_C, WowCS::FragmentSerializationTraits<UF::PlayerHouseInfoComponentData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingStorage_C, WowCS::FragmentSerializationTraits<UF::HousingStorageData>{});
EntityFragmentInfos::Register(EntityFragment::FHousingFixture_C, WowCS::FragmentSerializationTraits<UF::HousingFixtureData>{});
EntityFragmentInfos::Register(EntityFragment::PlayerInitiativeComponent_C, WowCS::FragmentSerializationTraits<UF::PlayerInitiativeComponentData>{});
}
} static InitFragments;
}
BaseEntity::BaseEntity() = default;
@@ -491,108 +491,108 @@ void BaseEntity::BuildMovementUpdate(ByteBuffer& data, CreateObjectBits flags, P
data.WriteBit(false); // HasPetBattleFullUpdate
data.FlushBits();
// if (HasLocalScriptData)
// {
// data.WriteBits(Data.length(), 7);
// data.FlushBits();
// data.WriteString(Data);
// }
// if (HasLocalScriptData)
// {
// data.WriteBits(Data.length(), 7);
// data.FlushBits();
// data.WriteString(Data);
// }
// if (HasPetBattleFullUpdate)
// {
// for (std::size_t i = 0; i < 2; ++i)
// {
// data << ObjectGuid(Players[i].CharacterID);
// data << int32(Players[i].TrapAbilityID);
// data << int32(Players[i].TrapStatus);
// data << uint16(Players[i].RoundTimeSecs);
// data << int8(Players[i].FrontPet);
// data << uint8(Players[i].InputFlags);
// if (HasPetBattleFullUpdate)
// {
// for (std::size_t i = 0; i < 2; ++i)
// {
// data << ObjectGuid(Players[i].CharacterID);
// data << int32(Players[i].TrapAbilityID);
// data << int32(Players[i].TrapStatus);
// data << uint16(Players[i].RoundTimeSecs);
// data << int8(Players[i].FrontPet);
// data << uint8(Players[i].InputFlags);
// data.WriteBits(Players[i].Pets.size(), 2);
// data.FlushBits();
// for (std::size_t j = 0; j < Players[i].Pets.size(); ++j)
// {
// data << ObjectGuid(Players[i].Pets[j].BattlePetGUID);
// data << int32(Players[i].Pets[j].SpeciesID);
// data << int32(Players[i].Pets[j].CreatureID);
// data << int32(Players[i].Pets[j].DisplayID);
// data << int16(Players[i].Pets[j].Level);
// data << int16(Players[i].Pets[j].Xp);
// data << int32(Players[i].Pets[j].CurHealth);
// data << int32(Players[i].Pets[j].MaxHealth);
// data << int32(Players[i].Pets[j].Power);
// data << int32(Players[i].Pets[j].Speed);
// data << int32(Players[i].Pets[j].NpcTeamMemberID);
// data << uint8(Players[i].Pets[j].BreedQuality);
// data << uint16(Players[i].Pets[j].StatusFlags);
// data << int8(Players[i].Pets[j].Slot);
// data.WriteBits(Players[i].Pets.size(), 2);
// data.FlushBits();
// for (std::size_t j = 0; j < Players[i].Pets.size(); ++j)
// {
// data << ObjectGuid(Players[i].Pets[j].BattlePetGUID);
// data << int32(Players[i].Pets[j].SpeciesID);
// data << int32(Players[i].Pets[j].CreatureID);
// data << int32(Players[i].Pets[j].DisplayID);
// data << int16(Players[i].Pets[j].Level);
// data << int16(Players[i].Pets[j].Xp);
// data << int32(Players[i].Pets[j].CurHealth);
// data << int32(Players[i].Pets[j].MaxHealth);
// data << int32(Players[i].Pets[j].Power);
// data << int32(Players[i].Pets[j].Speed);
// data << int32(Players[i].Pets[j].NpcTeamMemberID);
// data << uint8(Players[i].Pets[j].BreedQuality);
// data << uint16(Players[i].Pets[j].StatusFlags);
// data << int8(Players[i].Pets[j].Slot);
// data << uint32(Players[i].Pets[j].Abilities.size());
// data << uint32(Players[i].Pets[j].Auras.size());
// data << uint32(Players[i].Pets[j].States.size());
// for (std::size_t k = 0; k < Players[i].Pets[j].Abilities.size(); ++k)
// {
// data << int32(Players[i].Pets[j].Abilities[k].AbilityID);
// data << int16(Players[i].Pets[j].Abilities[k].CooldownRemaining);
// data << int16(Players[i].Pets[j].Abilities[k].LockdownRemaining);
// data << int8(Players[i].Pets[j].Abilities[k].AbilityIndex);
// data << uint8(Players[i].Pets[j].Abilities[k].Pboid);
// }
// data << uint32(Players[i].Pets[j].Abilities.size());
// data << uint32(Players[i].Pets[j].Auras.size());
// data << uint32(Players[i].Pets[j].States.size());
// for (std::size_t k = 0; k < Players[i].Pets[j].Abilities.size(); ++k)
// {
// data << int32(Players[i].Pets[j].Abilities[k].AbilityID);
// data << int16(Players[i].Pets[j].Abilities[k].CooldownRemaining);
// data << int16(Players[i].Pets[j].Abilities[k].LockdownRemaining);
// data << int8(Players[i].Pets[j].Abilities[k].AbilityIndex);
// data << uint8(Players[i].Pets[j].Abilities[k].Pboid);
// }
// for (std::size_t k = 0; k < Players[i].Pets[j].Auras.size(); ++k)
// {
// data << int32(Players[i].Pets[j].Auras[k].AbilityID);
// data << uint32(Players[i].Pets[j].Auras[k].InstanceID);
// data << int32(Players[i].Pets[j].Auras[k].RoundsRemaining);
// data << int32(Players[i].Pets[j].Auras[k].CurrentRound);
// data << uint8(Players[i].Pets[j].Auras[k].CasterPBOID);
// }
// for (std::size_t k = 0; k < Players[i].Pets[j].Auras.size(); ++k)
// {
// data << int32(Players[i].Pets[j].Auras[k].AbilityID);
// data << uint32(Players[i].Pets[j].Auras[k].InstanceID);
// data << int32(Players[i].Pets[j].Auras[k].RoundsRemaining);
// data << int32(Players[i].Pets[j].Auras[k].CurrentRound);
// data << uint8(Players[i].Pets[j].Auras[k].CasterPBOID);
// }
// for (std::size_t k = 0; k < Players[i].Pets[j].States.size(); ++k)
// {
// data << uint32(Players[i].Pets[j].States[k].StateID);
// data << int32(Players[i].Pets[j].States[k].StateValue);
// }
// for (std::size_t k = 0; k < Players[i].Pets[j].States.size(); ++k)
// {
// data << uint32(Players[i].Pets[j].States[k].StateID);
// data << int32(Players[i].Pets[j].States[k].StateValue);
// }
// data.WriteBits(Players[i].Pets[j].CustomName.length(), 7);
// data.FlushBits();
// data.WriteString(Players[i].Pets[j].CustomName);
// }
// }
// data.WriteBits(Players[i].Pets[j].CustomName.length(), 7);
// data.FlushBits();
// data.WriteString(Players[i].Pets[j].CustomName);
// }
// }
// for (std::size_t i = 0; i < 3; ++i)
// {
// data << uint32(Enviros[j].Auras.size());
// data << uint32(Enviros[j].States.size());
// for (std::size_t j = 0; j < Enviros[j].Auras.size(); ++j)
// {
// data << int32(Enviros[j].Auras[j].AbilityID);
// data << uint32(Enviros[j].Auras[j].InstanceID);
// data << int32(Enviros[j].Auras[j].RoundsRemaining);
// data << int32(Enviros[j].Auras[j].CurrentRound);
// data << uint8(Enviros[j].Auras[j].CasterPBOID);
// }
// for (std::size_t i = 0; i < 3; ++i)
// {
// data << uint32(Enviros[j].Auras.size());
// data << uint32(Enviros[j].States.size());
// for (std::size_t j = 0; j < Enviros[j].Auras.size(); ++j)
// {
// data << int32(Enviros[j].Auras[j].AbilityID);
// data << uint32(Enviros[j].Auras[j].InstanceID);
// data << int32(Enviros[j].Auras[j].RoundsRemaining);
// data << int32(Enviros[j].Auras[j].CurrentRound);
// data << uint8(Enviros[j].Auras[j].CasterPBOID);
// }
// for (std::size_t j = 0; j < Enviros[j].States.size(); ++j)
// {
// data << uint32(Enviros[i].States[j].StateID);
// data << int32(Enviros[i].States[j].StateValue);
// }
// }
// for (std::size_t j = 0; j < Enviros[j].States.size(); ++j)
// {
// data << uint32(Enviros[i].States[j].StateID);
// data << int32(Enviros[i].States[j].StateValue);
// }
// }
// data << uint16(WaitingForFrontPetsMaxSecs);
// data << uint16(PvpMaxRoundTime);
// data << int32(CurRound);
// data << uint32(NpcCreatureID);
// data << uint32(NpcDisplayID);
// data << int8(CurPetBattleState);
// data << uint8(ForfeitPenalty);
// data << ObjectGuid(InitialWildPetGUID);
// data.WriteBit(IsPVP);
// data.WriteBit(CanAwardXP);
// data.FlushBits();
// }
// data << uint16(WaitingForFrontPetsMaxSecs);
// data << uint16(PvpMaxRoundTime);
// data << int32(CurRound);
// data << uint32(NpcCreatureID);
// data << uint32(NpcDisplayID);
// data << int8(CurPetBattleState);
// data << uint8(ForfeitPenalty);
// data << ObjectGuid(InitialWildPetGUID);
// data.WriteBit(IsPVP);
// data.WriteBit(CanAwardXP);
// data.FlushBits();
// }
}
if (flags.ActivePlayer)
+75 -75
View File
@@ -25,94 +25,94 @@
#include <algorithm>
#include <vector>
// EnumUtils: DESCRIBE THIS
// EnumUtils: DESCRIBE THIS
enum MovementFlags : uint64
{
MOVEMENTFLAG_NONE = 0x0000000000000000, // SKIP
MOVEMENTFLAG_FORWARD = 0x0000000000000001,
MOVEMENTFLAG_BACKWARD = 0x0000000000000002,
MOVEMENTFLAG_STRAFE_LEFT = 0x0000000000000004,
MOVEMENTFLAG_STRAFE_RIGHT = 0x0000000000000008,
MOVEMENTFLAG_LEFT = 0x0000000000000010,
MOVEMENTFLAG_RIGHT = 0x0000000000000020,
MOVEMENTFLAG_PITCH_UP = 0x0000000000000040,
MOVEMENTFLAG_PITCH_DOWN = 0x0000000000000080,
MOVEMENTFLAG_WALKING = 0x0000000000000100, // Walking
MOVEMENTFLAG_DISABLE_GRAVITY = 0x0000000000000200, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
MOVEMENTFLAG_ROOT = 0x0000000000000400, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
MOVEMENTFLAG_FALLING = 0x0000000000000800, // damage dealt on that type of falling
MOVEMENTFLAG_FALLING_FAR = 0x0000000000001000,
MOVEMENTFLAG_PENDING_STOP = 0x0000000000002000,
MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x0000000000004000,
MOVEMENTFLAG_PENDING_FORWARD = 0x0000000000008000,
MOVEMENTFLAG_PENDING_BACKWARD = 0x0000000000010000,
MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x0000000000020000,
MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x0000000000040000,
MOVEMENTFLAG_PENDING_ROOT = 0x0000000000080000,
MOVEMENTFLAG_SWIMMING = 0x0000000000100000, // appears with fly flag also
MOVEMENTFLAG_ASCENDING = 0x0000000000200000, // press "space" when flying
MOVEMENTFLAG_DESCENDING = 0x0000000000400000,
MOVEMENTFLAG_CAN_FLY = 0x0000000000800000, // Appears when unit can fly. For example, appears when a player sits on a mount.
MOVEMENTFLAG_FLYING = 0x0000000001000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
MOVEMENTFLAG_SPLINE_ELEVATION = 0x0000000002000000, // used for flight paths
MOVEMENTFLAG_WATERWALKING = 0x0000000004000000, // prevent unit from falling through water
MOVEMENTFLAG_FALLING_SLOW = 0x0000000008000000, // active rogue safe fall spell (passive)
MOVEMENTFLAG_CANNOT_SWIM = 0x0000000010000000,
MOVEMENTFLAG_DISABLE_COLLISION = 0x0000000020000000,
MOVEMENTFLAG_KNOCKBACK = 0x0000000040000000,
MOVEMENTFLAG_TOUCHING_GROUND = 0x0000000080000000, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
MOVEMENTFLAG_NO_STRAFE = 0x0000000100000000,
MOVEMENTFLAG_NO_JUMPING = 0x0000000200000000,
MOVEMENTFLAG_FULL_SPEED_TURNING = 0x0000000400000000,
MOVEMENTFLAG_FULL_SPEED_PITCHING = 0x0000000800000000,
MOVEMENTFLAG_ALWAYS_ALLOW_PITCHING = 0x0000001000000000,
MOVEMENTFLAG_WATERWALKING_FULL_PITCH = 0x0000002000000000,
MOVEMENTFLAG_CAN_SWIM_TO_FLY_TRANS = 0x0000004000000000,
MOVEMENTFLAG_CAN_TURN_WHILE_FALLING = 0x0000008000000000,
MOVEMENTFLAG_IGNORE_MOVEMENT_FORCES = 0x0000010000000000,
MOVEMENTFLAG_CAN_DOUBLE_JUMP = 0x0000020000000000,
MOVEMENTFLAG_DOUBLE_JUMP = 0x0000040000000000,
MOVEMENTFLAG_UNK43 = 0x0000080000000000, // old MovementFlags2 0x8000
MOVEMENTFLAG_DISABLE_INERTIA = 0x0000100000000000,
MOVEMENTFLAG_CAN_ADV_FLY = 0x0000200000000000,
MOVEMENTFLAG_ADV_FLYING = 0x0000400000000000,
MOVEMENTFLAG_UNK47 = 0x0000800000000000, // old MovementFlags3 0x8
MOVEMENTFLAG_UNK48 = 0x0001000000000000, // old MovementFlags3 0x10
MOVEMENTFLAG_FALLING_ADV_FLY_DISMOUNT = 0x0002000000000000, // falling after dismounting while adv flying
MOVEMENTFLAG_UNK50 = 0x0004000000000000, // old MovementFlags3 0x200
MOVEMENTFLAG_WALKING_ON_WATER = 0x0008000000000000, // currently on water surface
MOVEMENTFLAG_CAN_DRIVE = 0x0010000000000000,
MOVEMENTFLAG_DRIVING_FORWARD = 0x0020000000000000,
MOVEMENTFLAG_DRIVING_BACKWARD = 0x0040000000000000,
MOVEMENTFLAG_UNK55 = 0x0080000000000000, // old MovementFlags3 0x20000
MOVEMENTFLAG_UNK56 = 0x0100000000000000, // old MovementFlags3 0x40000
MOVEMENTFLAG_UNK57 = 0x0200000000000000, // old MovementFlags3 0x80000
MOVEMENTFLAG_UNK58 = 0x0400000000000000,
MOVEMENTFLAG_HOVER = 0x0800000000000000,
MOVEMENTFLAG_NONE = 0x0000000000000000, // SKIP
MOVEMENTFLAG_FORWARD = 0x0000000000000001,
MOVEMENTFLAG_BACKWARD = 0x0000000000000002,
MOVEMENTFLAG_STRAFE_LEFT = 0x0000000000000004,
MOVEMENTFLAG_STRAFE_RIGHT = 0x0000000000000008,
MOVEMENTFLAG_LEFT = 0x0000000000000010,
MOVEMENTFLAG_RIGHT = 0x0000000000000020,
MOVEMENTFLAG_PITCH_UP = 0x0000000000000040,
MOVEMENTFLAG_PITCH_DOWN = 0x0000000000000080,
MOVEMENTFLAG_WALKING = 0x0000000000000100, // Walking
MOVEMENTFLAG_DISABLE_GRAVITY = 0x0000000000000200, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
MOVEMENTFLAG_ROOT = 0x0000000000000400, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
MOVEMENTFLAG_FALLING = 0x0000000000000800, // damage dealt on that type of falling
MOVEMENTFLAG_FALLING_FAR = 0x0000000000001000,
MOVEMENTFLAG_PENDING_STOP = 0x0000000000002000,
MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x0000000000004000,
MOVEMENTFLAG_PENDING_FORWARD = 0x0000000000008000,
MOVEMENTFLAG_PENDING_BACKWARD = 0x0000000000010000,
MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x0000000000020000,
MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x0000000000040000,
MOVEMENTFLAG_PENDING_ROOT = 0x0000000000080000,
MOVEMENTFLAG_SWIMMING = 0x0000000000100000, // appears with fly flag also
MOVEMENTFLAG_ASCENDING = 0x0000000000200000, // press "space" when flying
MOVEMENTFLAG_DESCENDING = 0x0000000000400000,
MOVEMENTFLAG_CAN_FLY = 0x0000000000800000, // Appears when unit can fly. For example, appears when a player sits on a mount.
MOVEMENTFLAG_FLYING = 0x0000000001000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
MOVEMENTFLAG_SPLINE_ELEVATION = 0x0000000002000000, // used for flight paths
MOVEMENTFLAG_WATERWALKING = 0x0000000004000000, // prevent unit from falling through water
MOVEMENTFLAG_FALLING_SLOW = 0x0000000008000000, // active rogue safe fall spell (passive)
MOVEMENTFLAG_CANNOT_SWIM = 0x0000000010000000,
MOVEMENTFLAG_DISABLE_COLLISION = 0x0000000020000000,
MOVEMENTFLAG_KNOCKBACK = 0x0000000040000000,
MOVEMENTFLAG_TOUCHING_GROUND = 0x0000000080000000, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
MOVEMENTFLAG_NO_STRAFE = 0x0000000100000000,
MOVEMENTFLAG_NO_JUMPING = 0x0000000200000000,
MOVEMENTFLAG_FULL_SPEED_TURNING = 0x0000000400000000,
MOVEMENTFLAG_FULL_SPEED_PITCHING = 0x0000000800000000,
MOVEMENTFLAG_ALWAYS_ALLOW_PITCHING = 0x0000001000000000,
MOVEMENTFLAG_WATERWALKING_FULL_PITCH = 0x0000002000000000,
MOVEMENTFLAG_CAN_SWIM_TO_FLY_TRANS = 0x0000004000000000,
MOVEMENTFLAG_CAN_TURN_WHILE_FALLING = 0x0000008000000000,
MOVEMENTFLAG_IGNORE_MOVEMENT_FORCES = 0x0000010000000000,
MOVEMENTFLAG_CAN_DOUBLE_JUMP = 0x0000020000000000,
MOVEMENTFLAG_DOUBLE_JUMP = 0x0000040000000000,
MOVEMENTFLAG_UNK43 = 0x0000080000000000, // old MovementFlags2 0x8000
MOVEMENTFLAG_DISABLE_INERTIA = 0x0000100000000000,
MOVEMENTFLAG_CAN_ADV_FLY = 0x0000200000000000,
MOVEMENTFLAG_ADV_FLYING = 0x0000400000000000,
MOVEMENTFLAG_UNK47 = 0x0000800000000000, // old MovementFlags3 0x8
MOVEMENTFLAG_UNK48 = 0x0001000000000000, // old MovementFlags3 0x10
MOVEMENTFLAG_FALLING_ADV_FLY_DISMOUNT = 0x0002000000000000, // falling after dismounting while adv flying
MOVEMENTFLAG_UNK50 = 0x0004000000000000, // old MovementFlags3 0x200
MOVEMENTFLAG_WALKING_ON_WATER = 0x0008000000000000, // currently on water surface
MOVEMENTFLAG_CAN_DRIVE = 0x0010000000000000,
MOVEMENTFLAG_DRIVING_FORWARD = 0x0020000000000000,
MOVEMENTFLAG_DRIVING_BACKWARD = 0x0040000000000000,
MOVEMENTFLAG_UNK55 = 0x0080000000000000, // old MovementFlags3 0x20000
MOVEMENTFLAG_UNK56 = 0x0100000000000000, // old MovementFlags3 0x40000
MOVEMENTFLAG_UNK57 = 0x0200000000000000, // old MovementFlags3 0x80000
MOVEMENTFLAG_UNK58 = 0x0400000000000000,
MOVEMENTFLAG_HOVER = 0x0800000000000000,
MOVEMENTFLAG_MASK_MOVING =
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT |
MOVEMENTFLAG_FALLING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING,// SKIP
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT |
MOVEMENTFLAG_FALLING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING,// SKIP
MOVEMENTFLAG_MASK_TURNING =
MOVEMENTFLAG_LEFT | MOVEMENTFLAG_RIGHT | MOVEMENTFLAG_PITCH_UP | MOVEMENTFLAG_PITCH_DOWN, // SKIP
MOVEMENTFLAG_LEFT | MOVEMENTFLAG_RIGHT | MOVEMENTFLAG_PITCH_UP | MOVEMENTFLAG_PITCH_DOWN, // SKIP
MOVEMENTFLAG_MASK_MOVING_FLY =
MOVEMENTFLAG_FLYING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING, // SKIP
MOVEMENTFLAG_FLYING | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING, // SKIP
// Movement flags allowed for creature in CreateObject - we need to keep all other enabled serverside
// to properly calculate all movement
MOVEMENTFLAG_MASK_CREATURE_ALLOWED =
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT | MOVEMENTFLAG_SWIMMING |
MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION, // SKIP
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT | MOVEMENTFLAG_SWIMMING |
MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION, // SKIP
/// @todo if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_PLAYER_ONLY =
MOVEMENTFLAG_FLYING, // SKIP
MOVEMENTFLAG_FLYING, // SKIP
/// Movement flags that have change status opcodes associated for players
MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE = MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT |
MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION // SKIP
MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER | MOVEMENTFLAG_DISABLE_COLLISION // SKIP
};
DEFINE_ENUM_FLAG(MovementFlags);
@@ -151,7 +151,7 @@ struct MovementInfo
struct Inertia
{
Inertia() : id(0), lifetime(0) { }
Inertia() : id(0), lifetime(0) {}
int32 id;
Position force;
@@ -183,7 +183,7 @@ struct MovementInfo
// advflying
struct AdvFlying
{
AdvFlying() : forwardVelocity(0.0f), upVelocity(0.0f) { }
AdvFlying() : forwardVelocity(0.0f), upVelocity(0.0f) {}
float forwardVelocity;
float upVelocity;
@@ -191,7 +191,7 @@ struct MovementInfo
struct Drive
{
Drive() : speed(0.0f), movementAngle(0.0f), accelerating(false), drifting(false) { }
Drive() : speed(0.0f), movementAngle(0.0f), accelerating(false), drifting(false) {}
float speed;
float movementAngle;
@@ -231,8 +231,8 @@ struct MovementInfo
enum class MovementForceType : uint8
{
SingleDirectional = 0, // always in a single direction
Gravity = 1 // pushes/pulls away from a single point
SingleDirectional = 0, // always in a single direction
Gravity = 1 // pushes/pulls away from a single point
};
struct MovementForce
@@ -168,6 +168,33 @@ inline void WriteSetFieldUpdate(SetUpdateFieldBase<T> const& set, bool ignoreCha
data.put<uint16>(changesCountPos, changesCount);
}
}
//WowCommunity
template <typename K, typename V, typename T>
inline void WriteDelveMapFieldUpdate(MapUpdateFieldBase<K, V> const& map, bool ignoreChangesMask, ByteBuffer& data, Player const* receiver, T const* owner)
{
uint32 count = 0;
size_t countPos = data.wpos();
data << uint32(count);
for (auto const& [k, v] : map)
{
if (!ignoreChangesMask && v.state == MapUpdateFieldState::Unchanged)
continue;
if (v.state == MapUpdateFieldState::Deleted)
continue;
++count;
data << k;
if constexpr (std::is_base_of_v<IsUpdateFieldStructureTag, V>)
v.value.WriteUpdate(false, data, receiver, owner);
else
data << v.value;
}
data.put<uint32>(countPos, count);
}
}
#endif // TRINITYCORE_UPDATE_FIELD_IMPL_H
@@ -5710,7 +5710,6 @@ namespace UF
}
}
}
data.FlushBits();
if (changesMask[0])
{
if (changesMask[11])
@@ -7713,6 +7712,10 @@ namespace UF
{
data.WriteBit(IsDecay);
}
}
data.FlushBits();
if (changesMask[0])
{
data.WriteBit(AnimationDataID.has_value());
}
data.FlushBits();
@@ -7726,10 +7729,6 @@ namespace UF
{
data << uint32(AnimProgress);
}
}
data.FlushBits();
if (changesMask[0])
{
if (changesMask[2])
{
if (AnimationDataID.has_value())
@@ -8248,10 +8247,8 @@ namespace UF
void AreaTriggerBoundedPlane::WriteCreate(ByteBuffer& data, Player const* receiver, AreaTrigger const* owner) const
{
data << float(ExtentsX);
data << float(ExtentsY);
data << float(ExtentsTargetX);
data << float(ExtentsTargetY);
data << *Extents;
data << *ExtentsTarget;
}
void AreaTriggerBoundedPlane::WriteUpdate(bool ignoreChangesMask, ByteBuffer& data, Player const* receiver, AreaTrigger const* owner) const
@@ -8260,36 +8257,26 @@ namespace UF
if (ignoreChangesMask)
changesMask.SetAll();
data.WriteBits(changesMask.GetBlock(0), 5);
data.WriteBits(changesMask.GetBlock(0), 3);
data.FlushBits();
if (changesMask[0])
{
if (changesMask[1])
{
data << float(ExtentsX);
data << *Extents;
}
if (changesMask[2])
{
data << float(ExtentsY);
}
if (changesMask[3])
{
data << float(ExtentsTargetX);
}
if (changesMask[4])
{
data << float(ExtentsTargetY);
data << *ExtentsTarget;
}
}
}
void AreaTriggerBoundedPlane::ClearChangesMask()
{
Base::ClearChangesMask(ExtentsX);
Base::ClearChangesMask(ExtentsY);
Base::ClearChangesMask(ExtentsTargetX);
Base::ClearChangesMask(ExtentsTargetY);
Base::ClearChangesMask(Extents);
Base::ClearChangesMask(ExtentsTarget);
_changesMask.ResetAll();
}
@@ -1749,12 +1749,10 @@ namespace UF
void ClearChangesMask();
};
struct AreaTriggerBoundedPlane : public IsUpdateFieldStructureTag, public HasChangesMask<5>
struct AreaTriggerBoundedPlane : public IsUpdateFieldStructureTag, public HasChangesMask<3>
{
UpdateField<float, 0, 1> ExtentsX;
UpdateField<float, 0, 2> ExtentsY;
UpdateField<float, 0, 3> ExtentsTargetX;
UpdateField<float, 0, 4> ExtentsTargetY;
UpdateField<TaggedPosition<Position::XY>, 0, 1> Extents;
UpdateField<TaggedPosition<Position::XY>, 0, 2> ExtentsTarget;
using OwnerObject = AreaTrigger;
void WriteCreate(ByteBuffer& data, Player const* receiver, AreaTrigger const* owner) const;
+17 -25
View File
@@ -15238,23 +15238,19 @@ void Player::RewardQuestPackage(uint32 questPackageId, ItemContext context, uint
{
for (QuestPackageItemEntry const* questPackageItem : *questPackageItems)
{
if (onlyItemId && questPackageItem->ItemID == int32(onlyItemId))
if (onlyItemId && questPackageItem->ItemID != int32(onlyItemId))
continue;
if (CanSelectQuestPackageItem(questPackageItem))
{
if (CanSelectQuestPackageItem(questPackageItem))
hasFilteredQuestPackageReward = true;
ItemPosCountVec dest;
if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, questPackageItem->ItemID, questPackageItem->ItemQuantity) == EQUIP_ERR_OK)
{
hasFilteredQuestPackageReward = true;
ItemPosCountVec dest;
if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, questPackageItem->ItemID, questPackageItem->ItemQuantity) == EQUIP_ERR_OK)
{
Item* item = StoreNewItem(dest, questPackageItem->ItemID, true, GenerateItemRandomBonusListId(questPackageItem->ItemID), {}, context);
SendNewItem(item, questPackageItem->ItemQuantity, true, false);
continue;
}
Item* item = StoreNewItem(dest, questPackageItem->ItemID, true, GenerateItemRandomBonusListId(questPackageItem->ItemID), {}, context);
SendNewItem(item, questPackageItem->ItemQuantity, true, false);
}
}
// Unlock the item appearance for the other reward items as well of possible
GetSession()->GetCollectionMgr()->AddItemAppearance(questPackageItem->ItemID);
}
}
@@ -15404,20 +15400,14 @@ void Player::RewardQuest(Quest const* quest, LootItemType rewardType, uint32 rew
{
for (uint32 i = 0; i < QUEST_REWARD_CHOICES_COUNT; ++i)
{
if (quest->RewardChoiceItemId[i] && quest->RewardChoiceItemType[i] == LootItemType::Item)
if (quest->RewardChoiceItemId[i] && quest->RewardChoiceItemType[i] == LootItemType::Item && quest->RewardChoiceItemId[i] == rewardId)
{
if (quest->RewardChoiceItemId[i] == rewardId)
ItemPosCountVec dest;
if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, rewardId, quest->RewardChoiceItemCount[i]) == EQUIP_ERR_OK)
{
ItemPosCountVec dest;
if (CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, rewardId, quest->RewardChoiceItemCount[i]) == EQUIP_ERR_OK)
{
Item* item = StoreNewItem(dest, rewardId, true, GenerateItemRandomBonusListId(rewardId), {}, ItemContext::Quest_Reward);
SendNewItem(item, quest->RewardChoiceItemCount[i], true, false);
}
Item* item = StoreNewItem(dest, rewardId, true, GenerateItemRandomBonusListId(rewardId), {}, ItemContext::Quest_Reward);
SendNewItem(item, quest->RewardChoiceItemCount[i], true, false);
}
// Add the remaining item appearances for the quest if possible
GetSession()->GetCollectionMgr()->AddItemAppearance(quest->RewardChoiceItemId[i]);
}
}
}
@@ -20276,7 +20266,9 @@ void Player::_LoadQuestStatusRewarded(PreparedQueryResult result)
if (std::vector<QuestPackageItemEntry const*> const* questPackageItems = sDB2Manager.GetQuestPackageItems(quest->GetQuestPackageID()))
for (QuestPackageItemEntry const* questPackageItem : *questPackageItems)
GetSession()->GetCollectionMgr()->AddItemAppearance(questPackageItem->ItemID);
if (ItemTemplate const* rewardProto = sObjectMgr->GetItemTemplate(questPackageItem->ItemID))
if (rewardProto->ItemSpecClassMask & GetClassMask())
GetSession()->GetCollectionMgr()->AddItemAppearance(questPackageItem->ItemID);
if (quest->CanIncreaseRewardedQuestCounters())
m_RewardedQuests.insert(quest_id);
@@ -48,6 +48,13 @@ uint32 SceneMgr::PlaySceneByTemplate(SceneTemplate const* sceneTemplate, Positio
if (!entry)
return 0;
// Scene debug (PlayerbotV2): log which scene plays on Exiles Reach (map 2175)
// so the post-ride cinematic can be matched against the expected one.
if (GetPlayer()->GetMapId() == 2175)
TC_LOG_ERROR("playerbot.v2", "[SceneDebug] {} playing sceneId={} package={} flags={}",
GetPlayer()->GetName(), sceneTemplate->SceneId, sceneTemplate->ScenePackageId,
sceneTemplate->PlaybackFlags.AsUnderlyingType());
// By default, take player position
if (!position)
position = GetPlayer();
+16 -1
View File
@@ -1927,7 +1927,22 @@ void Unit::HandleEmoteCommand(Emote emoteId, Player* target /*=nullptr*/, Trinit
victimResistance = std::max(victimResistance, 0.0f);
return victimResistance;
// level-based resistance does not apply to binary spells, and cannot be overcome by spell penetration
// gameobject caster -- should it have level based resistance?
if (caster && caster->GetTypeId() != TYPEID_GAMEOBJECT && (!spellInfo || !spellInfo->HasAttribute(SPELL_ATTR0_CU_BINARY_SPELL)))
victimResistance += std::max((float(victim->GetLevelForTarget(caster)) - float(caster->GetLevelForTarget(victim))) * 5.0f, 0.0f);
static uint32 const bossLevel = 83;
static float const bossResistanceConstant = 510.0f;
uint32 level = caster ? victim->GetLevelForTarget(caster) : victim->GetLevel();
float resistanceConstant = 0.0f;
if (level == bossLevel)
resistanceConstant = bossResistanceConstant;
else
resistanceConstant = level * 5.0f;
return victimResistance / (victimResistance + resistanceConstant);
}
/*static*/ void Unit::CalcAbsorbResist(DamageInfo& damageInfo, Spell* spell /*= nullptr*/)
@@ -205,8 +205,21 @@ void ConversationDataStore::LoadConversationTemplates()
{
static constexpr uint32 FirstLineId = 60000; // Arbitrary id to cover the affected rows
if (conversationLine->ID > FirstLineId && conversationLine->NextConversationLineID < (sConversationLineStore.GetNumRows() - USHRT_MAX - 1))
return (uint32)(USHRT_MAX + conversationLine->NextConversationLineID + 1);
// Line IDs above FirstLineId store NextConversationLineID as a uint16 offset into the high id
// space (real id = USHRT_MAX + stored + 1) when the real next line id does not fit in a uint16.
// The data is sparse, so GetNumRows() is not a reliable upper bound; resolve by checking which
// candidate actually exists, preferring the offset when it is the forward chain.
if (conversationLine->ID > FirstLineId)
{
uint32 stored = conversationLine->NextConversationLineID;
uint32 candidate = USHRT_MAX + stored + 1;
ConversationLineEntry const* rawEntry = sConversationLineStore.LookupEntry(stored);
ConversationLineEntry const* offsetEntry = sConversationLineStore.LookupEntry(candidate);
if (rawEntry && !offsetEntry)
return stored;
if (offsetEntry && (!rawEntry || candidate > conversationLine->ID))
return candidate;
}
return (uint32)conversationLine->NextConversationLineID;
}
@@ -71,25 +71,15 @@ void WorldSession::HandleStartChallengeMode(WorldPackets::ChallengeMode::StartCh
if (!mapChallengeModeId || !keystoneLevel)
return;
// The player must be standing in the dungeon this keystone belongs to. The client can only enter it at
// Mythic (23): difficulty 8 (Mythic Keystone) is not DIFFICULTY_FLAG_CAN_SELECT (Flags 0x1, measured on
// 12.1.0.69497), so no client ever selects it. Accept a Mythic run about to be converted, or an already
// converted keystone instance (e.g. a relog into a live run). The old gate required IsMythicPlus() (== 8)
// here, which nothing on the client path could ever produce - it locked the whole challenge mode out.
// The player must be standing in the matching Mythic Keystone instance for that dungeon.
Map* map = player->GetMap();
InstanceMap* instanceMap = map->ToInstanceMap();
if (!instanceMap || !(map->IsMythic() || map->IsMythicPlus()))
if (!instanceMap || !map->IsMythicPlus())
return;
if (sChallengeModeMgr.GetMapIdForChallengeMode(mapChallengeModeId) != map->GetId())
return;
// Activating the keystone at the Font of Power is what lifts the run to Mythic Keystone (8): the server
// is the writer, because the client cannot enter at 8. Convert the live Mythic instance and create the
// ChallengeMode object the run needs (see InstanceMap::ActivateChallengeMode). Skipped if already 8.
if (!map->IsMythicPlus())
instanceMap->ActivateChallengeMode();
ChallengeMode* challenge = instanceMap->GetChallengeMode();
if (!challenge || challenge->IsActive() || challenge->IsCompleted())
return;
@@ -169,22 +159,3 @@ void WorldSession::HandleResetChallengeMode(WorldPackets::ChallengeMode::ResetCh
}
}
}
void WorldSession::HandleChallengeModeRequestLeaders(WorldPackets::ChallengeMode::RequestLeaders& request)
{
// The client asks for the guild + realm best-run leaders of one dungeon (MapId + ChallengeModeId), passing
// the timestamps it last saw so the server could answer "nothing newer". This branch keeps no challenge
// leaderboard records, so both boards go out empty. The request and its two answers are one closed exchange
// (subplan 2.2, kept together per DoD 4.3); the two SMSG were taken from the unassigned cut rest_kern_weltzustand.
WorldPackets::ChallengeMode::ChallengeModeRequestLeadersResult leaders;
leaders.MapId = request.MapId;
leaders.ChallengeModeId = request.ChallengeModeId;
leaders.LastGuildUpdate = uint32(request.LastGuildUpdate);
leaders.LastRealmUpdate = uint32(request.LastRealmUpdate);
SendPacket(leaders.Write());
WorldPackets::ChallengeMode::ChallengeModeRequestLeaderboardResult board;
board.MapId = request.MapId;
board.ChallengeModeId = request.ChallengeModeId;
SendPacket(board.Write());
}
@@ -27,13 +27,8 @@
#include "ObjectMgr.h"
#include "Player.h"
#include "RBAC.h"
#include "SpellAuras.h"
#include "SpellHistory.h"
#include "SpellPackets.h"
#include "Util.h"
#include <algorithm>
#include <unordered_map>
#include <unordered_set>
namespace
{
@@ -62,53 +57,6 @@ namespace
}
}
// Fills a participant's four tracked-spell arrays from live server state, restricted (where the array is
// keyed by spell) to the spells the commentator asked to track:
// A cooldowns / B charges -> reuse TrinityCore's own SendSpellHistory / SendSpellCharges builders, so the
// wire is byte-identical to what the client already parses (arrays A/B are TC SpellHistoryEntry /
// SpellChargeEntry). Charges are keyed by category, not spell, so the full charge set is sent.
// C auras -> {SpellID, remaining duration ms} for each tracked spell the target currently has applied.
// D tracked ids -> the tracked spells the target actually has live state for (cooldown or aura), so the
// client tray reflects real state rather than an invented list.
void BuildPlayerTrackedState(Player* target,
std::vector<WorldPackets::Commentator::CommentatorGetPlayerCooldowns::TrackedSpell> const& tracked,
WorldPackets::Commentator::CommentatorPlayerInfo::PlayerData& data)
{
std::unordered_set<uint32> wanted;
for (auto const& trackedSpell : tracked)
wanted.insert(trackedSpell.SpellID);
SpellHistory* history = target->GetSpellHistory();
// Array A - cooldowns (filtered to the tracked spells).
WorldPackets::Spells::SendSpellHistory spellHistory;
history->WritePacket(&spellHistory);
for (WorldPackets::Spells::SpellHistoryEntry const& entry : spellHistory.Entries)
if (wanted.empty() || wanted.count(entry.SpellID))
data.Cooldowns.push_back(entry);
// Array B - charges (category-keyed; the full set is sent and the client maps spell -> category).
WorldPackets::Spells::SendSpellCharges spellCharges;
history->WritePacket(&spellCharges);
for (WorldPackets::Spells::SpellChargeEntry const& entry : spellCharges.Entries)
data.Charges.push_back(entry);
// Array C - active auras + array D - tracked ids with live state.
for (uint32 spellId : wanted)
{
bool hasState = false;
if (Aura const* aura = target->GetAura(spellId))
{
WorldPackets::Commentator::CommentatorPlayerInfo::PlayerData::AuraState& auraState = data.Auras.emplace_back();
auraState.SpellID = spellId;
auraState.Duration = uint32(std::max(aura->GetDuration(), 0));
hasState = true;
}
if (hasState || history->HasCooldown(spellId))
data.TrackedSpellIds.push_back(spellId);
}
}
// Resolves the arena the given session is currently spectating (entered via CMSG_COMMENTATOR_ENTER_INSTANCE).
Battleground* GetSpectatedArena(Player* player)
{
@@ -330,34 +278,19 @@ void WorldSession::HandleCommentatorStartWargame(WorldPackets::Commentator::Comm
arena->StartBattleground();
}
void WorldSession::HandleCommentatorGetPlayerCooldowns(WorldPackets::Commentator::CommentatorGetPlayerCooldowns& getPlayerCooldowns)
void WorldSession::HandleCommentatorGetPlayerCooldowns(WorldPackets::Commentator::CommentatorGetPlayerCooldowns& /*getPlayerCooldowns*/)
{
Player* player = GetPlayer();
if (!player || !IsCommentator())
return;
// Cooldown data rides in the PLAYER_INFO record's array A. Rebuild the scalar player info for the
// spectated arena, then populate the requested player's cooldown list from their live SpellHistory.
// Cooldown data rides in the PLAYER_INFO record's tracked-spell arrays; refresh player info for the
// spectated arena. (Populating the per-spell cooldown records is gated on confirming their 44-byte layout.)
Battleground* arena = GetSpectatedArena(player);
if (!arena)
return;
WorldPackets::Commentator::CommentatorPlayerInfo playerInfo;
BuildCommentatorPlayerInfo(arena, playerInfo);
// The request names one participant + the spells the commentator tracks. Fill that participant's record
// only (the loop is scoped to arena members, so cooldowns of non-participants can never leak).
if (Player* target = ObjectAccessor::FindConnectedPlayer(getPlayerCooldowns.Player))
{
for (WorldPackets::Commentator::CommentatorPlayerInfo::PlayerData& data : playerInfo.Players)
{
if (data.UnitGUID != target->GetGUID())
continue;
BuildPlayerTrackedState(target, getPlayerCooldowns.TrackedSpells, data);
break;
}
}
SendPacket(playerInfo.Write());
}
+1 -1
View File
@@ -239,7 +239,7 @@ void WorldSession::SendLfgPlayerLockInfo()
{
if (Quest const* quest = sObjectMgr->GetQuestTemplate(reward->firstQuest))
{
playerDungeonInfo.FirstReward = GetPlayer()->CanRewardQuest(quest, false);
playerDungeonInfo.FirstReward = !GetPlayer()->CanRewardQuest(quest, false);
if (!playerDungeonInfo.FirstReward)
quest = sObjectMgr->GetQuestTemplate(reward->otherQuest);
+6
View File
@@ -1496,6 +1496,12 @@ void WorldSession::HandleRafClaimActivityReward(WorldPackets::RaF::RafClaimActiv
// ClaimRafActivity(packet.ActivityID);
}
void WorldSession::HandleChallengeModeRequestLeaders(WorldPackets::Misc::ChallengeModeRequestLeaders& packet)
{
TC_LOG_DEBUG("network", "WORLD: CMSG_CHALLENGE_MODE_REQUEST_LEADERS - UnkInt64_1={}, UnkInt64_2={}, MapChallengeModeID={}, UnkInt32={}",
packet.UnkInt64_1, packet.UnkInt64_2, packet.MapChallengeModeID, packet.UnkInt32);
}
void WorldSession::HandleMountClearFanfare(WorldPackets::Misc::MountClearFanfare& mountClearFanfare)
{
_collectionMgr->MountClearFanfare(mountClearFanfare.MountSpellID);
+2 -2
View File
@@ -491,12 +491,12 @@ void WorldSession::HandleMirrorImageDataRequest(WorldPackets::Spells::GetMirrorI
mirrorImageComponentedData.UnitGUID = guid;
if (ChrModelEntry const* chrModel = sDB2Manager.GetChrModel(creator->GetRace(), creator->GetGender()))
mirrorImageComponentedData.ChrModelID = chrModel->ID;
mirrorImageComponentedData.DisplayScale = creator->GetDisplayScale();
mirrorImageComponentedData.RaceID = creator->GetRace();
mirrorImageComponentedData.Gender = creator->GetGender();
mirrorImageComponentedData.ClassID = creator->GetClass();
mirrorImageComponentedData.Customizations.assign(player->m_playerData->Customizations.begin(), player->m_playerData->Customizations.end());
for (UF::ChrCustomizationChoice const& customization : player->m_playerData->Customizations)
mirrorImageComponentedData.Customizations.push_back(customization);
Guild* guild = player->GetGuild();
mirrorImageComponentedData.GuildGUID = (guild ? guild->GetGUID() : ObjectGuid::Empty);
-22
View File
@@ -4164,26 +4164,4 @@ std::string InstanceMap::GetDebugInfo() const
return sstr.str();
}
//WowCommunity
void InstanceMap::ActivateChallengeMode()
{
// Difficulty 8 (Mythic Keystone) carries Flags 0x1 and NOT DIFFICULTY_FLAG_CAN_SELECT (0x04) on
// 12.1.0.69497 (measured, wago.tools), so no client can enter this difficulty. The dungeon is entered
// at Mythic (23 - the FallbackDifficultyID of row 8) and the keystone activated at the Font of Power
// lifts the live run to keystone difficulty here on the server. This is the writer the tree was missing:
// the InstanceMap constructor above only builds i_challengeMode when the difficulty is already 8, and
// nothing else in the branch ever sets DIFFICULTY_MYTHIC_KEYSTONE.
//
// UNVERIFIED: retail may hard-reset/recreate the instance at difficulty 8 (an M+ start teleports and
// resets the whole group) rather than convert it in place. In-place conversion is chosen because
// recreate+teleport is a larger instance-lifecycle change outside this unit, and once i_spawnMode == 8
// and i_challengeMode exists the difficulty-8 semantics (IsMythicPlus, boss scaling reads that consult
// GetChallengeMode) are identical either way. Creatures already spawned at Mythic (23) keep their spawn;
// ChallengeMode::Start drives the run's own reset. Not client-verifiable in this run (no client on 69465).
i_spawnMode = DIFFICULTY_MYTHIC_KEYSTONE;
if (!i_challengeMode)
i_challengeMode = std::make_unique<ChallengeMode>(this);
}
//WowCommunity
template struct TC_GAME_API TypeListContainer<MapStoredObjectsUnorderedMap, Creature, GameObject, DynamicObject, Pet, Corpse, AreaTrigger, SceneObject, Conversation>;
-4
View File
@@ -928,10 +928,6 @@ class TC_GAME_API InstanceMap : public Map
//WowCommunity
ChallengeMode* GetChallengeMode() { return i_challengeMode.get(); }
ChallengeMode const* GetChallengeMode() const { return i_challengeMode.get(); }
// Lift a live Mythic (23) dungeon to Mythic Keystone (8) and create its ChallengeMode.
// The client can never enter at difficulty 8 (not DIFFICULTY_FLAG_CAN_SELECT), so the
// keystone activation is the server-side writer that reaches DIFFICULTY_MYTHIC_KEYSTONE.
void ActivateChallengeMode();
//WowCommunity
// Delve state for this instance (delve maps, difficulty 208). Created when
+5 -1
View File
@@ -65,7 +65,11 @@ void MapUpdater::wait()
{
std::unique_lock lock(_lock);
_condition.wait(lock, [&] { return pending_requests == 0; });
// Add timeout to prevent indefinite hanging if a worker thread crashes
if (!_condition.wait_for(lock, std::chrono::seconds(60), [&] { return pending_requests == 0; }))
{
TC_LOG_ERROR("maps", "MapUpdater::wait() timeout - pending_requests: {} (possible worker thread crash)", pending_requests);
}
}
void MapUpdater::schedule_update(Map& map, uint32 diff)
+3
View File
@@ -2354,6 +2354,7 @@ void ScriptMgr::OnSceneTrigger(Player* player, uint32 sceneInstanceID, SceneTemp
ASSERT(player);
ASSERT(sceneTemplate);
FOREACH_SCRIPT(PlayerScript)->OnSceneTriggerEvent(player, sceneInstanceID, triggerName);
GET_SCRIPT(SceneScript, sceneTemplate->ScriptId, tmpscript);
tmpscript->OnSceneTriggerEvent(player, sceneInstanceID, sceneTemplate, triggerName);
}
@@ -2363,6 +2364,7 @@ void ScriptMgr::OnSceneCancel(Player* player, uint32 sceneInstanceID, SceneTempl
ASSERT(player);
ASSERT(sceneTemplate);
FOREACH_SCRIPT(PlayerScript)->OnSceneCancel(player, sceneInstanceID);
GET_SCRIPT(SceneScript, sceneTemplate->ScriptId, tmpscript);
tmpscript->OnSceneCancel(player, sceneInstanceID, sceneTemplate);
}
@@ -2372,6 +2374,7 @@ void ScriptMgr::OnSceneComplete(Player* player, uint32 sceneInstanceID, SceneTem
ASSERT(player);
ASSERT(sceneTemplate);
FOREACH_SCRIPT(PlayerScript)->OnSceneComplete(player, sceneInstanceID);
GET_SCRIPT(SceneScript, sceneTemplate->ScriptId, tmpscript);
tmpscript->OnSceneComplete(player, sceneInstanceID, sceneTemplate);
}
@@ -245,32 +245,4 @@ namespace WorldPackets::ChallengeMode
return &_worldPacket;
}
void RequestLeaders::Read()
{
// Measured client write order (subplan 2.2): the two update stamps first, then the two ids.
_worldPacket >> LastGuildUpdate; // uint64
_worldPacket >> LastRealmUpdate; // uint64
_worldPacket >> MapId; // int32
_worldPacket >> ChallengeModeId; // int32
}
WorldPacket const* ChallengeModeRequestLeadersResult::Write()
{
// Minimal, self-consistent header + two empty leader arrays. Full member layout UNVERIFIED (see header).
_worldPacket << MapId;
_worldPacket << ChallengeModeId;
_worldPacket << LastGuildUpdate;
_worldPacket << LastRealmUpdate;
_worldPacket << uint32(0); // GuildLeaders count (no record storage on this branch)
_worldPacket << uint32(0); // RealmLeaders count
return &_worldPacket;
}
WorldPacket const* ChallengeModeRequestLeaderboardResult::Write()
{
_worldPacket << MapId;
_worldPacket << ChallengeModeId;
_worldPacket << uint32(0); // leaderboard row count (no record storage on this branch)
return &_worldPacket;
}
}
@@ -386,62 +386,6 @@ namespace WorldPackets
uint32 DeathCount = 0;
};
// CMSG_CHALLENGE_MODE_REQUEST_LEADERS (0x2D0002). Wire = the MEASURED client write order
// (SUBPLAN_kleinfamilien_2A_63_2D section 2): the two 64-bit update stamps come FIRST, then the two
// ids -- the reverse of TrinityCore's historical { int32 MapId; int32 ChallengeModeId; Timestamp
// LastGuildUpdate; Timestamp LastRealmUpdate }. Reading TC's field order swaps the values on the wire.
// uint64 LastGuildUpdate; uint64 LastRealmUpdate; uint32 MapId; uint32 ChallengeModeId.
// UNVERIFIED: only the byte ORDER is measured. The field MEANINGS (which u64 is the guild vs the realm
// stamp) are carried over from TrinityCore, not measured; and this is not client-verifiable in this run
// (no 69465 client). The order fix is the point -- it is this unit's one found deviation from TC.
class RequestLeaders final : public ClientPacket
{
public:
explicit RequestLeaders(WorldPacket&& packet) : ClientPacket(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, std::move(packet)) {}
void Read() override;
uint64 LastGuildUpdate = 0;
uint64 LastRealmUpdate = 0;
int32 MapId = 0;
int32 ChallengeModeId = 0;
};
// The two answers to CMSG_CHALLENGE_MODE_REQUEST_LEADERS: SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT
// (0x4500B8) and SMSG_CHALLENGE_MODE_REQUEST_LEADERBOARD_RESULT (0x4500B9). Both live in the collector
// family 0x45 and were unassigned (cut rest_kern_weltzustand); taken here so the request/response set
// stays together (DoD 4.3). This branch stores no challenge leaderboard records, so both go out with
// empty leader lists -- a valid "no leaders yet" board.
// UNVERIFIED (whole element layout): no client deserializer RVA for these two was available in this run
// and the per-attempt member layout is not in the mythic subplan, so only a minimal, self-consistent
// header is emitted (the request context + an empty count). If the real header differs the client drops
// the packet on its length check; with zero leaders nothing is mis-rendered. The full member layout must
// be sourced from a 69465 client reader before this is blizzlike-complete.
class ChallengeModeRequestLeadersResult final : public ServerPacket
{
public:
explicit ChallengeModeRequestLeadersResult() : ServerPacket(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, 24) {}
WorldPacket const* Write() override;
int32 MapId = 0;
int32 ChallengeModeId = 0;
uint32 LastGuildUpdate = 0;
uint32 LastRealmUpdate = 0;
// GuildLeaders / RealmLeaders arrays -- empty (no record storage); emitted as two zero counts.
};
class ChallengeModeRequestLeaderboardResult final : public ServerPacket
{
public:
explicit ChallengeModeRequestLeaderboardResult() : ServerPacket(SMSG_CHALLENGE_MODE_REQUEST_LEADERBOARD_RESULT, 16) {}
WorldPacket const* Write() override;
int32 MapId = 0;
int32 ChallengeModeId = 0;
// Leaderboard rows -- empty (no record storage); emitted as one zero count.
};
}
}
@@ -70,7 +70,7 @@ WorldPacket const* ChannelNotifyJoined::Write()
_worldPacket << SizedString::BitsSize<7>(_Channel);
_worldPacket << SizedString::BitsSize<11>(ChannelWelcomeMsg);
_worldPacket << uint32(_ChannelFlags);
_worldPacket << uint8(UserFlags);
_worldPacket << uint8(Unknown1107);
_worldPacket << int32(ChatChannelID);
_worldPacket << uint64(InstanceID);
_worldPacket << ChannelGUID;
@@ -81,7 +81,7 @@ namespace WorldPackets
uint32 _ChannelFlags = 0; ///< @see enum ChannelFlags
std::string _Channel; ///< Channel Name
ObjectGuid ChannelGUID;
uint8 UserFlags = 0;
uint8 Unknown1107 = 0;
};
class ChannelNotifyLeft final : public ServerPacket
@@ -33,9 +33,7 @@ void WorldPackets::Commentator::CommentatorEnterInstance::Read()
_worldPacket >> MapID;
_worldPacket >> InstanceIDLow;
_worldPacket >> InstanceIDHigh;
_worldPacket >> Field3; // whole uint8, not a bit ? see CommentatorPackets.h
_worldPacket >> Field4;
_worldPacket >> Field5;
Field3 = _worldPacket.ReadBit();
}
void WorldPackets::Commentator::CommentatorSpectate::Read()
@@ -48,7 +46,7 @@ void WorldPackets::Commentator::CommentatorGetPlayerInfo::Read()
_worldPacket >> Field0;
_worldPacket >> Field1;
_worldPacket >> Field2;
_worldPacket >> Field3; // whole uint8, not a bit ? see CommentatorPackets.h
Field3 = _worldPacket.ReadBit();
}
void WorldPackets::Commentator::CommentatorGetPlayerCooldowns::Read()
@@ -56,6 +54,7 @@ void WorldPackets::Commentator::CommentatorGetPlayerCooldowns::Read()
_worldPacket >> Player;
uint32 count;
_worldPacket >> count;
count = std::min<uint32>(count, _worldPacket.size()); // cap before resize (uncapped -> std::bad_alloc -> world-thread crash)
TrackedSpells.resize(count);
for (TrackedSpell& spell : TrackedSpells)
{
@@ -106,25 +105,11 @@ WorldPacket const* WorldPackets::Commentator::CommentatorPlayerInfo::Write()
_worldPacket << uint32(player.HealingTaken);
_worldPacket << uint8(player.SoloShuffleRoundWins);
_worldPacket << uint8(player.SoloShuffleRoundLosses);
// Four array counts are written up front in order A,B,C,D; the client then reads the bodies in the
// order B,C,D,A (confirmed from the deserializer sub_7FF72906EFA0).
_worldPacket << uint32(player.Cooldowns.size()); // count A - cooldowns
_worldPacket << uint32(player.Charges.size()); // count B - charges
_worldPacket << uint32(player.Auras.size()); // count C - auras
_worldPacket << uint32(player.TrackedSpellIds.size()); // count D - tracked spell ids
// Bodies in the client's read order: B (charges), C (auras), D (ids), then A (cooldowns) last.
for (Spells::SpellChargeEntry const& charge : player.Charges)
_worldPacket << charge;
for (PlayerData::AuraState const& aura : player.Auras)
{
_worldPacket << uint32(aura.SpellID);
_worldPacket << uint32(aura.Duration);
}
for (uint32 trackedSpellId : player.TrackedSpellIds)
_worldPacket << uint32(trackedSpellId);
for (Spells::SpellHistoryEntry const& cooldown : player.Cooldowns)
_worldPacket << cooldown;
// Four tracked-spell/cooldown arrays, all empty (count = 0).
_worldPacket << uint32(0);
_worldPacket << uint32(0);
_worldPacket << uint32(0);
_worldPacket << uint32(0);
}
return &_worldPacket;
@@ -20,7 +20,6 @@
#include "Packet.h"
#include "ObjectGuid.h"
#include "SpellPackets.h"
#include <array>
#include <vector>
@@ -55,16 +54,10 @@ namespace WorldPackets
void Read() override;
// Client serializer RVA 0x5D09E0 writes, in this order:
// uint32 msg+0x20, uint32 msg+0x24, uint32 msg+0x2C, uint8 msg+0x28, uint64 msg+0x30, uint16 msg+0x38
// - 23 bytes. Field3 is a whole uint8, not a packed bit (there is no bit accumulator anywhere in
// that function), and the uint64/uint16 tail was not being read at all.
uint32 MapID = 0;
uint32 InstanceIDLow = 0;
uint32 InstanceIDHigh = 0;
uint8 Field3 = 0; // full byte, not a bit (unnamed offline)
uint64 Field4 = 0; // unnamed offline
uint16 Field5 = 0; // unnamed offline
bool Field3 = false; // trailing bit (unnamed offline)
};
class CommentatorExitInstance final : public ClientPacket
@@ -92,13 +85,10 @@ namespace WorldPackets
void Read() override;
// Client serializer RVA 0x5D07C0: uint32 msg+0x20, uint32 msg+0x24, uint32 msg+0x2C, uint8 msg+0x28.
// Field3 is a whole uint8; reading it as a bit returned only bit 7 of that byte, so any value
// below 0x80 came through as false.
uint32 Field0 = 0; // request context (unnamed offline)
uint32 Field1 = 0;
uint32 Field2 = 0;
uint8 Field3 = 0;
bool Field3 = false;
};
class CommentatorGetPlayerCooldowns final : public ClientPacket
@@ -156,26 +146,8 @@ namespace WorldPackets
uint32 HealingTaken = 0;
uint8 SoloShuffleRoundWins = 0;
uint8 SoloShuffleRoundLosses = 0;
// A compact per-aura record (array C). SpellID is certain; Duration is a millisecond time span
// (the client getter does duration = value * 0.001). Whether the client reads it as remaining /
// elapsed / total is the sole sniff-gated subfield - we send the aura's remaining duration.
struct AuraState
{
uint32 SpellID = 0;
uint32 Duration = 0;
};
// Four tracked-spell arrays follow. Counts are written up front in order A,B,C,D; the client
// reads the BODIES in the order B,C,D,A. Identities (all from the client deserializer):
// A = spell cooldowns -> WorldPackets::Spells::SpellHistoryEntry (== SMSG_SEND_SPELL_HISTORY)
// B = spell charges -> WorldPackets::Spells::SpellChargeEntry (== SMSG_SEND_SPELL_CHARGES)
// C = active auras -> {uint32 SpellID, uint32 DurationMs} (commentator-specific)
// D = tracked spell ids -> uint32 list (commentator-specific)
std::vector<Spells::SpellHistoryEntry> Cooldowns; // array A
std::vector<Spells::SpellChargeEntry> Charges; // array B
std::vector<AuraState> Auras; // array C
std::vector<uint32> TrackedSpellIds; // array D
// Four tracked-spell/cooldown arrays follow (counts A..D). Sent empty until the 44-byte cooldown
// record's optional-field layout is confirmed - we do not fabricate cooldown timings.
};
uint32 LeadingId = 0; // match/update id (unnamed offline)
@@ -52,9 +52,9 @@ ByteBuffer& operator<<(ByteBuffer& data, CraftingReagentBase const& reagent)
ByteBuffer& operator<<(ByteBuffer& data, SpellReducedReagent const& spellReducedReagent)
{
data << spellReducedReagent.Reagent;
data << int32(spellReducedReagent.Quantity);
data << spellReducedReagent.Reagent;
return data;
}
@@ -79,6 +79,7 @@ public:
ByteBuffer& operator>>(ByteBuffer& data, CraftingReagentBase& reagent);
ByteBuffer& operator<<(ByteBuffer& data, CraftingReagentBase const& reagent);
ByteBuffer& operator<<(ByteBuffer& data, SpellReducedReagent const& spellReducedReagent);
ByteBuffer& operator<<(ByteBuffer& data, CraftingData const& craftingData);
}
#endif // TRINITYCORE_CRAFTING_PACKETS_COMMON_H
@@ -50,7 +50,6 @@ namespace WorldPackets::Inspect
ByteBuffer& operator<<(ByteBuffer& data, InspectItemData const& itemData)
{
data << itemData.CreatorGUID;
data << itemData.Item;
data << uint8(itemData.Index);
data << Size<uint32>(itemData.AzeritePowers);
data << Size<uint32>(itemData.AzeriteEssences);
@@ -58,6 +57,7 @@ namespace WorldPackets::Inspect
if (!itemData.AzeritePowers.empty())
data.append(itemData.AzeritePowers.data(), itemData.AzeritePowers.size());
data << itemData.Item;
data << Bits<1>(itemData.Usable);
data << BitsSize<4>(itemData.Enchants);
data << BitsSize<2>(itemData.Gems);
@@ -218,8 +218,8 @@ WorldPacket const* LFGUpdateStatus::Write()
for (ObjectGuid const& suspendedPlayer : SuspendedPlayers)
_worldPacket << suspendedPlayer;
_worldPacket << Bits<1>(NotifyUI);
_worldPacket << Bits<1>(IsParty);
_worldPacket << Bits<1>(NotifyUI);
_worldPacket << Bits<1>(Joined);
_worldPacket << Bits<1>(LfgJoined);
_worldPacket << Bits<1>(Queued);
@@ -957,6 +957,14 @@ void AccountStoreBeginPurchaseOrRefund::Read()
_worldPacket >> UnkInt32_2;
}
void ChallengeModeRequestLeaders::Read()
{
_worldPacket >> UnkInt64_1;
_worldPacket >> UnkInt64_2;
_worldPacket >> MapChallengeModeID;
_worldPacket >> UnkInt32;
}
void ClaimWeeklyReward::Read()
{
_worldPacket >> RewardID;
@@ -1204,6 +1204,19 @@ namespace WorldPackets
void Read() override {}
};
class ChallengeModeRequestLeaders final : public ClientPacket
{
public:
ChallengeModeRequestLeaders(WorldPacket&& packet) : ClientPacket(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, std::move(packet)) {}
void Read() override;
uint64 UnkInt64_1 = 0;
uint64 UnkInt64_2 = 0;
int32 MapChallengeModeID = 0;
int32 UnkInt32 = 0;
};
class AcceptSocialContract final : public ClientPacket
{
public:
@@ -76,7 +76,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ClientGossipText const& gossipText)
data << int32(gossipText.QuestID);
data << int32(gossipText.ContentTuningID);
data << int32(gossipText.QuestType);
data << int32(gossipText.QuestInfoID);
data << int32(gossipText.Unused1102);
data.append(gossipText.QuestFlags);
data << Bits<1>(gossipText.Repeatable);
+1 -1
View File
@@ -98,7 +98,7 @@ namespace WorldPackets
int32 QuestID = 0;
int32 ContentTuningID = 0;
int32 QuestType = 0;
int32 QuestInfoID = 0;
int32 Unused1102 = 0;
bool Repeatable = false;
bool ResetByScheduler = false;
bool Important = false;
@@ -1037,7 +1037,7 @@ namespace WorldPackets::Spells
_worldPacket << GuildGUID;
_worldPacket << Size<uint32>(ItemDisplayID);
_worldPacket << int32(SpellVisualKitID);
_worldPacket << float(DisplayScale);
_worldPacket << int32(Unused_1115);
for (Character::ChrCustomizationChoice const& customization : Customizations)
_worldPacket << customization;
@@ -1010,7 +1010,7 @@ namespace WorldPackets
ObjectGuid UnitGUID;
int32 ChrModelID = 0;
int32 SpellVisualKitID = 0;
float DisplayScale = 1.0f;
int32 Unused_1115 = 0;
uint8 RaceID = 0;
uint8 Gender = 0;
uint8 ClassID = 0;
@@ -1294,8 +1294,6 @@ namespace WorldPackets
};
ByteBuffer& operator>>(ByteBuffer& buffer, SpellCastRequest& request);
ByteBuffer& operator<<(ByteBuffer& data, SpellHistoryEntry const& historyEntry);
ByteBuffer& operator<<(ByteBuffer& data, SpellChargeEntry const& chargeEntry);
}
}
+19 -19
View File
@@ -1384,8 +1384,8 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAIN_MISSILE_BOUNCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERBOARD_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERBOARD_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_RESET, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_SET_LEAVER_PENALTY_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_START, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1577,23 +1577,23 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_SPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ACTIVATE_MISSION_BONUS_ABILITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_FOLLOWER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_MISSION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_SPEC_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_SPEC_GROUPS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_APPLY_TALENT_SOCKET_DATA_CHANGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_ACTIVATED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CHANGE_MISSION_START_TIME_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_COLLECTION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_EVENT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_SPEC_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_REMOVE_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_UPDATE_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_COLLECTION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_EVENT_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_SPEC_GROUPS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_REMOVE_ENTRY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COLLECTION_UPDATE_ENTRY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_BUILDING_CONSTRUCTION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_MISSION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CREATE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1607,24 +1607,24 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_FATIGUE_CLEARED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GENERATE_FOLLOWERS_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GET_RECALL_PORTAL_LAST_USED_TIME_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_GET_RECALL_PORTAL_LAST_USED_TIME_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_IS_UPGRADEABLE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_COMPLETED_MISSIONS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_COMPLETED_MISSIONS_CHEAT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MAP_DATA_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_REQUEST_REWARD_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_REQUEST_REWARD_INFO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_START_CONDITION_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_CRAFTER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_CRAFTER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_RECRUITMENT_NPC, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLACE_BUILDING_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_PLACED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOTE_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_ABILITY_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1635,7 +1635,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RESET_TALENT_TREE_SOCKET_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_START_MISSION_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SWAP_BUILDINGS_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SWITCH_TALENT_TREE_BRANCH, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SWITCH_TALENT_TREE_BRANCH, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_COMPLETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_TALENT_REMOVE_SOCKET_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1646,7 +1646,7 @@ void OpcodeTable::InitializeServerOpcodes()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_USE_RECALL_PORTAL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_USE_RECALL_PORTAL_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_SSO_TOKEN_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+2 -2
View File
@@ -306,7 +306,6 @@ namespace WorldPackets
class StartChallengeMode;
class ResetChallengeMode;
class MythicPlusRequestMapStats;
class RequestLeaders;
}
namespace Character
@@ -899,6 +898,7 @@ namespace WorldPackets
class AccountStoreBeginPurchaseOrRefund;
class OverrideScreenFlash;
class GlobalGetChallengeModeRewards;
class ChallengeModeRequestLeaders;
class RequestPartyEligibilityForDelveTiers;
class SetPreferredCemetery;
class CloseTraitSystemInteraction;
@@ -2638,7 +2638,7 @@ public:
void SetCommentator(bool on) { _isCommentator = on; }
//WowCommunity
void HandleChallengeModeRequestLeaders(WorldPackets::ChallengeMode::RequestLeaders& request);
void HandleChallengeModeRequestLeaders(WorldPackets::Misc::ChallengeModeRequestLeaders& packet);
void HandleRequestPartyEligibilityForDelveTiers(WorldPackets::Misc::RequestPartyEligibilityForDelveTiers& packet);
// Adventure Journal
+6
View File
@@ -5749,6 +5749,12 @@ void SpellMgr::LoadSpellInfoTargetCaps()
spellInfo->_LoadSqrtTargetLimit(5, 0, {}, EFFECT_4, {}, {});
});
// Rampaging Ruin
ApplySpellFix({ 1265579, 1265580, 1265581, 1265582 }, [](SpellInfo* spellInfo)
{
spellInfo->_LoadSqrtTargetLimit(5, 0, 1265357, EFFECT_0, {}, {});
});
// Eradicate
ApplySpellFix({ 1225827, 1279200 }, [](SpellInfo* spellInfo)
{
-80
View File
@@ -1,80 +0,0 @@
/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "TimeEvents.h"
#include "GameTime.h"
#include <algorithm>
#include <array>
namespace
{
struct TimeEventInfo
{
int32 Id;
time_t Timestamp; // 0 = we know the event exists but not when it happens
char const* Name;
};
// Sorted by date. Undated entries are listed next to the event they belong to for readability,
// they never take part in any ordering (GetTimestamp returns nothing for them).
constexpr std::array<TimeEventInfo, 8> KnownTimeEvents =
{ {
{ 111, time_t(1579618800), "Battle for Azeroth Season 4 Start" }, // January 21, 2020 8:00
{ 120, time_t(1602601200), "Patch 9.0.1" }, // October 13, 2020 8:00
{ 121, time_t(1607439600), "Shadowlands Season 1 Start" }, // December 8, 2020 8:00
{ 123, time_t(0), "Shadowlands Season 1 End" },
{ 149, time_t(0), "Shadowlands Season 2 End" },
{ 349, time_t(1699340400), "Dragonflight Season 3 Start (pre-season)" }, // November 7, 2023 8:00
{ 350, time_t(1699945200), "Dragonflight Season 3 Start" }, // November 14, 2023 8:00
{ 352, time_t(0), "Dragonflight Season 3 End" },
} };
TimeEventInfo const* FindTimeEvent(int32 timeEventId)
{
auto itr = std::ranges::find(KnownTimeEvents, timeEventId, &TimeEventInfo::Id);
return itr != KnownTimeEvents.end() ? &*itr : nullptr;
}
}
Optional<time_t> TimeEvents::GetTimestamp(int32 timeEventId)
{
if (TimeEventInfo const* timeEvent = FindTimeEvent(timeEventId))
if (timeEvent->Timestamp)
return timeEvent->Timestamp;
return {};
}
bool TimeEvents::HasPassed(int32 timeEventId)
{
Optional<time_t> timestamp = GetTimestamp(timeEventId);
return !timestamp || GameTime::GetGameTime() >= *timestamp;
}
std::vector<int32> TimeEvents::GetPassedEventsOldestFirst()
{
time_t const now = GameTime::GetGameTime();
std::vector<int32> passed;
passed.reserve(KnownTimeEvents.size());
for (TimeEventInfo const& timeEvent : KnownTimeEvents)
if (timeEvent.Timestamp && now >= timeEvent.Timestamp)
passed.push_back(timeEvent.Id);
// KnownTimeEvents is maintained in chronological order, no extra sort needed
return passed;
}
-52
View File
@@ -1,52 +0,0 @@
/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TRINITY_TIMEEVENTS_H
#define TRINITY_TIMEEVENTS_H
#include "Define.h"
#include "Optional.h"
#include <ctime>
#include <vector>
// Blizzard keeps the TimeEvent table serverside - it is not shipped in any client db2 (see the
// comment on ChallengeModeItemBonusOverrideEntry::RequiredTimeEventPassed). Everything we know
// about it is the handful of ids below, recovered from observed content unlocks.
//
// This is the single source of truth for that knowledge. Consumers:
// - ModifierTreeType::HasTimeEventPassed (CriteriaHandler)
// - ChallengeModeItemBonusOverride season selection (ItemBonusMgr)
namespace TimeEvents
{
// Timestamp at which the given time event happens/happened.
// Returns an empty optional when we do not know the event at all, or know of it but have no
// date for it. Callers must not assume anything about the relative order of such an event.
TC_GAME_API Optional<time_t> GetTimestamp(int32 timeEventId);
// Whether the event has already happened.
// Events with no known timestamp are reported as passed so that an unknown gate never blocks
// content - this matches the long standing HasTimeEventPassed criteria behaviour.
TC_GAME_API bool HasPassed(int32 timeEventId);
// All events we have a date for that have already happened, oldest first.
// Only usable for ordering when every event of interest is known - use GetTimestamp() to
// verify that first, otherwise a newer but unknown event would silently sort before an older
// known one.
TC_GAME_API std::vector<int32> GetPassedEventsOldestFirst();
}
#endif // TRINITY_TIMEEVENTS_H

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