summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/sql/updates/db_world/2025_12_14_00.sql (renamed from data/sql/updates/pending_db_world/tasty-reef-school.sql)1
-rw-r--r--data/sql/updates/db_world/2025_12_15_00.sql9
-rw-r--r--data/sql/updates/db_world/2025_12_16_00.sql24
-rw-r--r--data/sql/updates/db_world/2025_12_16_01.sql3
-rw-r--r--data/sql/updates/db_world/2025_12_16_02.sql3
-rw-r--r--data/sql/updates/db_world/2025_12_17_00.sql5
-rw-r--r--data/sql/updates/db_world/2025_12_17_01.sql2
-rw-r--r--data/sql/updates/db_world/2025_12_17_02.sql3
-rw-r--r--data/sql/updates/db_world/2025_12_17_03.sql35
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp27
-rw-r--r--src/server/game/Reputation/ReputationMgr.cpp2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp3
13 files changed, 116 insertions, 3 deletions
diff --git a/data/sql/updates/pending_db_world/tasty-reef-school.sql b/data/sql/updates/db_world/2025_12_14_00.sql
index 7ecceb8831..35c2fad938 100644
--- a/data/sql/updates/pending_db_world/tasty-reef-school.sql
+++ b/data/sql/updates/db_world/2025_12_14_00.sql
@@ -1,3 +1,4 @@
+-- DB update 2025_12_12_02 -> 2025_12_14_00
SET @GUID = 2337;
DELETE FROM `gameobject` WHERE `id` = 186949 AND `guid` BETWEEN 57686 AND 57694;
diff --git a/data/sql/updates/db_world/2025_12_15_00.sql b/data/sql/updates/db_world/2025_12_15_00.sql
new file mode 100644
index 0000000000..ab6f52d306
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_15_00.sql
@@ -0,0 +1,9 @@
+-- DB update 2025_12_14_00 -> 2025_12_15_00
+
+-- Set SmartAI
+UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27241;
+
+DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27241);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(27241, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Risen Gryphon - On Reset - Set Reactstate Passive'),
+(27241, 0, 1, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 204, 27268, 0, 0, 0, 0, 0, 0, 0, 'Risen Gryphon - On Just Died - Despawn Instant');
diff --git a/data/sql/updates/db_world/2025_12_16_00.sql b/data/sql/updates/db_world/2025_12_16_00.sql
new file mode 100644
index 0000000000..b0c89138d8
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_16_00.sql
@@ -0,0 +1,24 @@
+-- DB update 2025_12_15_00 -> 2025_12_16_00
+-- Sets the chests in "Brackwell Pumpkin Patch" to 15 mins (validated in Classic Era and TBC PTR).
+UPDATE `gameobject` SET `rotation0`= 0,`rotation1`= 0,`rotation2`= 0,`rotation3`= 0, `spawntimesecs` = 900, `animprogress` = 255, `VerifiedBuild` = 64907 WHERE `id` = 106318 AND `guid` IN (85745, 85756, 85879, 26916);
+
+-- The below Rotation Values are Most probably related to one of the Rotation0 - 3
+-- GameObject Rotation: X: 0 Y: 0 Z: 0.9996567 W: 0.026201647
+UPDATE `gameobject` SET `position_x` = -9711.927, `position_y` = -943.4976, `position_z` = 38.416466, `orientation` = 3.0891833, `Comment` = "Brackwell Pumpkin Patch - Inside Barn" WHERE `id` = 106318 AND `guid` = 26916;
+-- GameObject Rotation: X: 0 Y: 0 Z: -0.19936752 W: 0.9799248
+UPDATE `gameobject` SET `position_x` = -9796.159, `position_y` = -929.679, `position_z` = 39.13272, `orientation` = 5.8817606, `Comment` = "Brackwell Pumpkin Patch - Outside Trio House" WHERE `id` = 106318 AND `guid` = 85756;
+-- GameObject Rotation: X: 0 Y: 0 Z: 0.47715855 W: 0.87881726
+UPDATE `gameobject` SET `position_x` = -9804.657, `position_y` = -934.9581, `position_z` = 39.855556, `orientation` = 0.99483716, `Comment` = "Brackwell Pumpkin Patch - Inside Trio House" WHERE `id` = 106318 AND `guid` = 85879;
+-- GameObject Rotation: X: 0 Y: 0 Z: 0.6883545 W: 0.72537446
+UPDATE `gameobject` SET `position_x` = -9739.496, `position_y` = -934.5089, `position_z` = 38.918198, `orientation` = 1.5184362, `Comment` = "Brackwell Pumpkin Patch - Outside Barn" WHERE `id` = 106318 AND `guid` = 85745;
+
+DELETE FROM `pool_template` WHERE `entry` = 143;
+INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
+(143, 1, "Brackwell Pumpkin Patch - Battered Chest (106319)"); -- 1 out 4 possible spawns.
+
+DELETE FROM `pool_gameobject` WHERE `pool_entry` = 143 AND `guid` IN (85745, 85756, 85879, 26916);
+INSERT INTO `pool_gameobject` (`guid`, `pool_entry`, `chance`, `description`) VALUES
+(26916, 143, 15, "Brackwell Pumpkin Patch - Battered Chest (106319)"),
+(85756, 143, 35, "Brackwell Pumpkin Patch - Battered Chest (106319)"),
+(85879, 143, 35, "Brackwell Pumpkin Patch - Battered Chest (106319)"),
+(85745, 143, 15, "Brackwell Pumpkin Patch - Battered Chest (106319)");
diff --git a/data/sql/updates/db_world/2025_12_16_01.sql b/data/sql/updates/db_world/2025_12_16_01.sql
new file mode 100644
index 0000000000..a7f08ebb9b
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_16_01.sql
@@ -0,0 +1,3 @@
+-- DB update 2025_12_16_00 -> 2025_12_16_01
+-- Raven's Wood Ent shouldn't exist in world, only spawnable via a spell.
+DELETE FROM `creature` WHERE `id1` = 21853;
diff --git a/data/sql/updates/db_world/2025_12_16_02.sql b/data/sql/updates/db_world/2025_12_16_02.sql
new file mode 100644
index 0000000000..bfdbd2eb7c
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_16_02.sql
@@ -0,0 +1,3 @@
+-- DB update 2025_12_16_01 -> 2025_12_16_02
+-- PrevQuestID 11009 to 0, The Crystals doesn't have Ogre Heaven as a requirement
+UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE (`ID` = 11025);
diff --git a/data/sql/updates/db_world/2025_12_17_00.sql b/data/sql/updates/db_world/2025_12_17_00.sql
new file mode 100644
index 0000000000..8fc9cda411
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_17_00.sql
@@ -0,0 +1,5 @@
+-- DB update 2025_12_16_02 -> 2025_12_17_00
+--
+-- Faerie Fire group
+-- SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT 'Same effects of spells will not stack, yet auras will remain on a target'
+UPDATE `spell_group_stack_rules` SET `stack_rule`=3 WHERE `group_id`=1016;
diff --git a/data/sql/updates/db_world/2025_12_17_01.sql b/data/sql/updates/db_world/2025_12_17_01.sql
new file mode 100644
index 0000000000..54bab41816
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_17_01.sql
@@ -0,0 +1,2 @@
+-- DB update 2025_12_17_00 -> 2025_12_17_01
+UPDATE `creature_template` SET `unit_flags` = 2147746560 WHERE `entry` IN (34952, 34953);
diff --git a/data/sql/updates/db_world/2025_12_17_02.sql b/data/sql/updates/db_world/2025_12_17_02.sql
new file mode 100644
index 0000000000..e38abcef84
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_17_02.sql
@@ -0,0 +1,3 @@
+-- DB update 2025_12_17_01 -> 2025_12_17_02
+-- prevent 'Plagued Scavenger' from flying up to Dalaran
+DELETE FROM `waypoint_data` WHERE `id` = 1006640 AND `point` = 8;
diff --git a/data/sql/updates/db_world/2025_12_17_03.sql b/data/sql/updates/db_world/2025_12_17_03.sql
new file mode 100644
index 0000000000..a1bf80f6c6
--- /dev/null
+++ b/data/sql/updates/db_world/2025_12_17_03.sql
@@ -0,0 +1,35 @@
+-- DB update 2025_12_17_02 -> 2025_12_17_03
+-- Lykul Wasp
+DELETE FROM `creature_template_model` WHERE (`CreatureID` = 17732);
+INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
+(17732, 0, 18722, 1, 1, 51831),
+(17732, 1, 6633, 1, 0, 51831),
+(17732, 2, 7350, 1, 0, 51831),
+(17732, 3, 11091, 1, 0, 51831);
+DELETE FROM `smart_scripts` WHERE (`entryorguid` = 17732) AND (`source_type` = 0) AND (`id` IN (3));
+
+-- Underbog Lord
+DELETE FROM `creature_template_model` WHERE (`CreatureID` = 17734);
+INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
+(17734, 0, 17758, 1, 1, 51831),
+(17734, 1, 12293, 1, 0, 51831);
+DELETE FROM `smart_scripts` WHERE (`entryorguid` = 17734) AND (`source_type` = 0) AND (`id` IN (3));
+
+-- Lykul Stinger
+DELETE FROM `creature_template_model` WHERE (`CreatureID` = 19632);
+INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
+(19632, 0, 19367, 1, 1, 51831),
+(19632, 1, 6633, 1, 0, 51831),
+(19632, 2, 7350, 1, 0, 51831),
+(19632, 3, 11091, 1, 0, 51831);
+DELETE FROM `smart_scripts` WHERE (`entryorguid` = 19632) AND (`source_type` = 0) AND (`id` IN (2));
+
+-- Behemothon, King of the Colossi
+DELETE FROM `creature_template_model` WHERE `CreatureID` = 22054;
+INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
+(22054, 0, 20261, 1, 0, 51831),
+(22054, 1, 20577, 1, 1, 51831);
+DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 22054);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(22054, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Behemothon, King of the Colossi - On Respawn - Set Active On'),
+(22054, 0, 1, 0, 38, 0, 100, 0, 1, 1, 60000, 60000, 0, 0, 80, 2205400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Behemothon, King of the Colossi - On Data Set 1 1 - Run Script');
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 70b8a90670..326caf426f 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -920,6 +920,33 @@ void Battleground::EndBattleground(PvPTeamId winnerTeamId)
if (!player->GetRandomWinner())
player->SetRandomWinner(true);
+
+ // Achievement 908 / 909 "Call to Arms!"
+ switch (GetBgTypeID(true))
+ {
+ case BATTLEGROUND_AB:
+ // Call to Arms: Arathi Basin
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11335);
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11339);
+ break;
+ case BATTLEGROUND_AV:
+ // Call to Arms: Alterac Valley
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11336);
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11340);
+ break;
+ case BATTLEGROUND_EY:
+ // Call to Arms: Eye of the Storm
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11337);
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11341);
+ break;
+ case BATTLEGROUND_WS:
+ // Call to Arms: Warsong Gulch
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11338);
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, 11342);
+ break;
+ default:
+ break;
+ }
}
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_BG, player->GetMapId());
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index c9061158cd..a02c3b604a 100644
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -432,7 +432,7 @@ bool ReputationMgr::SetOneFactionReputation(FactionEntry const* factionEntry, fl
if (new_rank <= REP_HOSTILE)
SetAtWar(&itr->second, true);
- if (old_rank == REP_HOSTILE && new_rank >= REP_UNFRIENDLY && factionEntry->CanBeSetAtWar())
+ if (old_rank <= REP_HOSTILE && new_rank >= REP_UNFRIENDLY && factionEntry->CanBeSetAtWar())
SetAtWar(&itr->second, false);
if (new_rank > old_rank)
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index ba297d4588..4940d2350e 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -193,7 +193,7 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
{
// Storm, Earth and Fire - Earthgrab
if (spellproto->SpellFamilyFlags[2] & 0x4000)
- return DIMINISHING_NONE;
+ return DIMINISHING_CONTROLLED_ROOT;
break;
}
case SPELLFAMILY_DEATHKNIGHT:
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 38f669693f..c146303d24 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2028,7 +2028,8 @@ class spell_gen_animal_blood : public AuraScript
return;
if (Unit* owner = GetUnitOwner())
- owner->CastSpell(owner, SPELL_SPAWN_BLOOD_POOL, true);
+ if (owner->IsInWater())
+ owner->CastSpell(owner, SPELL_SPAWN_BLOOD_POOL, true);
}
void Register() override