fix(Scripts/HallsOfStone): Implement Brann Bronzebeard Taunt Script (#24490)

Co-authored-by: Xfurry <172444+xfurry@users.noreply.github.com>
This commit is contained in:
Gultask
2026-01-29 10:14:14 -03:00
committed by GitHub
parent 88417d467f
commit f777fabfa1
2 changed files with 43 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
--
DELETE FROM `spell_script_names` WHERE `spell_id` = 51774 AND `ScriptName` = 'spell_taunt_brann';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(51774, 'spell_taunt_brann');
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 51774) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 28070) AND (`ConditionValue3` = 0);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 51774, 0, 0, 31, 0, 3, 28070, 0, 0, 0, 0, '', 'Target of Taunt (51774) is Brann Bronzebeard (28070) in Halls of Stone Tribunal Event.');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 27983) AND (`source_type` = 0) AND (`id` IN (2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27983, 0, 2, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 51774, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Rune Protector - On Respawn - Cast \'Taunt\'');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 27984) AND (`source_type` = 0) AND (`id` IN (4));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27984, 0, 4, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 51774, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Rune Stormcaller - On Respawn - Cast \'Taunt\'');
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 27985) AND (`source_type` = 0) AND (`id` IN (3));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(27985, 0, 3, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 51774, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Iron Golem Custodian - On Respawn - Cast \'Taunt\'');

View File

@@ -753,7 +753,6 @@ public:
if (cr)
{
cr->AI()->AttackStart(me);
cr->AddThreat(me, 0.0f);
cr->SetInCombatWithZone();
}
}
@@ -911,6 +910,28 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
}
}
// 51774 - Taunt
class spell_taunt_brann : public SpellScript
{
PrepareSpellScript(spell_taunt_brann);
void HandleScript(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
Unit* target = GetHitUnit();
if (!caster || !target)
return;
uint32 spellId = GetEffectValue(); // 51775
target->CastSpell(caster, spellId, true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_taunt_brann::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
class spell_hos_dark_matter : public AuraScript
{
PrepareAuraScript(spell_hos_dark_matter);
@@ -953,4 +974,5 @@ void AddSC_brann_bronzebeard()
new brann_bronzebeard();
RegisterSpellScript(spell_hos_dark_matter);
RegisterSpellScript(spell_hos_dark_matter_size);
RegisterSpellScript(spell_taunt_brann);
}