Skip to content

Commit fc288a7

Browse files
Merge AzerothCore 3.3.5 to ElunaAzerothcore [skip ci]
2 parents 5725dc7 + 6956fd2 commit fc288a7

7 files changed

Lines changed: 118 additions & 2 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- DB update 2026_04_29_05 -> 2026_04_29_06
2+
3+
-- Remove DisplayID_Other_Gender.
4+
UPDATE `creature_model_info` SET `DisplayID_Other_Gender` = 0 WHERE (`DisplayID` IN (12829, 12830));
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- DB update 2026_04_29_06 -> 2026_04_29_07
2+
--
3+
-- workaround to apply gobject scaling of 23020 Crystal Imprisonment (SPELL_AURA_MOD_SCALE), value = -90
4+
UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` = 179644;
5+
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 179644) AND (`source_type` = 1) AND (`id` IN (0));
6+
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
7+
(179644, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 0, 0, 227, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Imprisoned Doomguard - On Just Created - Set Scale to 10%');
8+
9+
DELETE FROM `creature_text` WHERE (`CreatureID` = 14452);
10+
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
11+
(14452, 0, 0, 'A sacrifice will be due if I am ever called upon, mortal...', 12, 8, 100, 0, 0, 0, 9590, 0, '');
12+
13+
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `id` IN (4, 5) AND `entryorguid` = 12396);
14+
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
15+
(12396, 0, 4, 0, 8, 0, 100, 1, 23019, 0, 0, 0, 0, 0, 80, 1239600, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - On Spellhit \'Crystal Prison Dummy DND\' - Run Script (No Repeat)');
16+
17+
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 1239600) AND (`source_type` = 9);
18+
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
19+
(1239600, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 36, 14452, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Update Template To \'Enslaved Doomguard Commander\''),
20+
(1239600, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 23020, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Cast \'Crystal Imprisonment\''),
21+
(1239600, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Set Flags Immune To Players & Immune To NPC\'s'),
22+
(1239600, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Stop Combat'),
23+
(1239600, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Say Line 0'),
24+
(1239600, 9, 5, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 11, 23022, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Cast \'Serverside - Crystal Prison Conjure DND\''),
25+
(1239600, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomguard Commander - Actionlist - Despawn Instant');
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- DB update 2026_04_29_07 -> 2026_04_30_00
2+
--
3+
DELETE FROM `spell_script_names` WHERE `spell_id` = 27812 AND `ScriptName` = 'spell_kelthuzad_void_blast';
4+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
5+
(27812, 'spell_kelthuzad_void_blast');
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
-- DB update 2026_04_30_00 -> 2026_04_30_01
2+
--
3+
-- BRD: Hurley Blackbreath (9537) and Blackbreath Cronies (per-spawn
4+
-- overrides -71997/-71998/-71999) start with UNIT_FLAG_UNK_6 |
5+
-- UNIT_FLAG_IMMUNE_TO_PC (320) and only clear it via "OnReachedWP 3".
6+
-- The encounter propagates aggro: any mob entering combat fires
7+
-- OnAggro -> SetData 1=2 on every member, which triggers OnDataSet 1=2
8+
-- -> Attack on the rest. If a peer is still walking its WP path when
9+
-- this happens, its movement is interrupted, WP 3 is never reached,
10+
-- and the immunity flag is never cleared -> the mob stays in combat
11+
-- but cannot be damaged or targeted.
12+
--
13+
-- Failsafe: any combat-entry path also clears flag 320 on the unit.
14+
-- Two new rows per entity: one on OnAggro, one on OnDataSet 1=2.
15+
--
16+
17+
-- Hurley Blackbreath
18+
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` = 9537) AND (`id` IN (19, 20));
19+
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
20+
(9537, 0, 19, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Hurley Blackbreath - On Aggro - Remove Unit Flags Immune To PC (failsafe if pulled before reaching WP 3)'),
21+
(9537, 0, 20, 0, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Hurley Blackbreath - On Data Set 1=2 - Remove Unit Flags Immune To PC (failsafe if pulled before reaching WP 3)');
22+
23+
-- Blackbreath Crony spawn 71997
24+
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` = -71997) AND (`id` IN (14, 15));
25+
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
26+
(-71997, 0, 14, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Aggro - Remove Unit Flags Immune To PC (failsafe)'),
27+
(-71997, 0, 15, 0, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Data Set 1=2 - Remove Unit Flags Immune To PC (failsafe)');
28+
29+
-- Blackbreath Crony spawn 71998
30+
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` = -71998) AND (`id` IN (14, 15));
31+
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
32+
(-71998, 0, 14, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Aggro - Remove Unit Flags Immune To PC (failsafe)'),
33+
(-71998, 0, 15, 0, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Data Set 1=2 - Remove Unit Flags Immune To PC (failsafe)');
34+
35+
-- Blackbreath Crony spawn 71999
36+
DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` = -71999) AND (`id` IN (14, 15));
37+
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
38+
(-71999, 0, 14, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Aggro - Remove Unit Flags Immune To PC (failsafe)'),
39+
(-71999, 0, 15, 0, 38, 0, 100, 0, 1, 2, 0, 0, 0, 0, 19, 320, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Blackbreath Crony - On Data Set 1=2 - Remove Unit Flags Immune To PC (failsafe)');
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-- DB update 2026_04_30_01 -> 2026_04_30_02
2+
--
3+
DELETE FROM `gameobject` WHERE (`id` = 18901) AND (`guid` IN (34006));
4+
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
5+
(34006, 18901, 33, 0, 0, 1, 1, -249.22014, 2123.1018, 82.80518, 6.0923543, -0.1318922, -0.6946964, -0.1318922, 0.69469833, 0, 100, 1, '', 43400, NULL);
6+
7+
DELETE FROM `gameobject` WHERE (`id` = 18900) AND (`guid` IN (32442));
8+
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
9+
(32442, 18900, 33, 0, 0, 1, 1, -252.69586, 2114.2246, 82.80518, 6.0923543, -0.1318922, -0.6946964, -0.1318922, 0.69469833, 0, 100, 1, '', 43400, NULL);
10+
11+
DELETE FROM `gameobject` WHERE (`id` = 101811) AND (`guid` IN (32444));
12+
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
13+
(32444, 101811, 33, 0, 0, 1, 1, -245.59846, 2132.319, 82.80518, 6.0923543, -0.1318922, -0.6946964, -0.1318922, 0.69469833, 0, 100, 1, '', 43400, NULL);
14+
15+
DELETE FROM `gameobject_addon` WHERE `guid` IN (32442, 34006, 32444);
16+
INSERT INTO `gameobject_addon` (`guid`, `parent_rotation0`, `parent_rotation1`, `parent_rotation2`, `parent_rotation3`, `invisibilityType`, `invisibilityValue`) VALUES
17+
(32442, 0, 0, -0.82658964, 0.56280506, 0, 0),
18+
(34006, 0, 0, -0.82658964, 0.56280506, 0, 0),
19+
(32444, 0, 0, -0.82658964, 0.56280506, 0, 0);

src/server/game/AI/SmartScripts/SmartScript.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3082,9 +3082,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
30823082
for (WorldObject* target : targets)
30833083
{
30843084
if (IsUnit(target))
3085-
{
30863085
target->ToUnit()->SetObjectScale(scale);
3087-
}
3086+
else if (IsGameObject(target))
3087+
target->ToGameObject()->SetObjectScale(scale);
30883088
}
30893089
break;
30903090
}

src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,10 +680,34 @@ class spell_kelthuzad_detonate_mana_aura : public AuraScript
680680
}
681681
};
682682

683+
class spell_kelthuzad_void_blast : public SpellScript
684+
{
685+
PrepareSpellScript(spell_kelthuzad_void_blast);
686+
687+
void HandleAfterHit()
688+
{
689+
Player* player = GetHitPlayer();
690+
if (!player)
691+
return;
692+
693+
if (player->IsAlive())
694+
return;
695+
696+
if (InstanceScript* instance = player->GetInstanceScript())
697+
instance->StorePersistentData(PERSISTENT_DATA_IMMORTAL_FAIL, 1);
698+
}
699+
700+
void Register() override
701+
{
702+
AfterHit += SpellHitFn(spell_kelthuzad_void_blast::HandleAfterHit);
703+
}
704+
};
705+
683706
void AddSC_boss_kelthuzad()
684707
{
685708
new boss_kelthuzad();
686709
new boss_kelthuzad_minion();
687710
RegisterSpellScript(spell_kelthuzad_frost_blast);
688711
RegisterSpellScript(spell_kelthuzad_detonate_mana_aura);
712+
RegisterSpellScript(spell_kelthuzad_void_blast);
689713
}

0 commit comments

Comments
 (0)