mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Quest: Update 'Jormuttar is Soo Fat...' (#27838)
(cherry picked from commit b7de329941)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
--
|
||||
UPDATE `spell_script_names` SET `ScriptName` = 'spell_bear_flank_master' WHERE `ScriptName` = 'spell_q13011_bear_flank_master';
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_bear_flank_fail';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(56569,'spell_bear_flank_fail');
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` = 30292;
|
||||
UPDATE `smart_scripts` SET `action_param2` = 0 WHERE `entryorguid` = 30292 AND `source_type` = 0 AND `id` = 0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 30292 AND `source_type` = 0 AND `id` = 2;
|
||||
|
||||
--
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 30366 AND `source_type` = 0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 3036600 AND `source_type` = 9;
|
||||
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`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(30366,0,0,0,11,0,100,0,0,0,0,0,0,80,3036600,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Lure Jormuttar Bunny - On Spawn - Run Script"),
|
||||
|
||||
(3036600,9,0,0,0,0,100,0,0,0,0,0,0,11,56577,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Lure Jormuttar Bunny - On Script - Cast 'Summon Flank'"),
|
||||
(3036600,9,1,0,0,0,100,0,5000,5000,0,0,0,12,30340,4,120000,0,0,0,8,0,0,0,0,7312.9766,-2048.7727,761.4259,2.775073528289794921,"Lure Jormuttar Bunny - On Script - Summon Creature 'Jormuttar'"),
|
||||
(3036600,9,2,0,0,0,100,0,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Lure Jormuttar Bunny - On Script - Despawn");
|
||||
|
||||
--
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 30340 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`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(30340,0,0,0,0,0,100,0,0,0,3000,5000,0,11,61597,64,0,0,0,0,2,0,0,0,0,0,0,0,0,"Jormuttar - In Combat CMC - Cast 'Acid Spit'"),
|
||||
(30340,0,1,0,0,0,100,0,5000,10000,10000,15000,0,11,61598,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Jormuttar - In Combat - Cast 'Sweep'");
|
||||
@@ -1451,6 +1451,60 @@ class spell_read_pronouncement : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 13011: Jormuttar is Soo Fat...
|
||||
######*/
|
||||
|
||||
enum JormuttarIsSooFat
|
||||
{
|
||||
SPELL_CREATE_BEAR_FLANK = 56566,
|
||||
SPELL_BEAR_FLANK_FAIL = 56569,
|
||||
TEXT_CARVE_FAIL = 30986
|
||||
};
|
||||
|
||||
// 56565 - Bear Flank Master
|
||||
class spell_bear_flank_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_bear_flank_master);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CREATE_BEAR_FLANK, SPELL_BEAR_FLANK_FAIL });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), roll_chance_i(20) ? SPELL_CREATE_BEAR_FLANK : SPELL_BEAR_FLANK_FAIL);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_bear_flank_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 56569 - Bear Flank Fail
|
||||
class spell_bear_flank_fail : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_bear_flank_fail);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return sBroadcastTextStore.HasRecord(TEXT_CARVE_FAIL);
|
||||
}
|
||||
|
||||
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (Player* target = GetTarget()->ToPlayer())
|
||||
target->Unit::Whisper(TEXT_CARVE_FAIL, target, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_bear_flank_fail::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_storm_peaks()
|
||||
{
|
||||
new npc_roxi_ramrocket();
|
||||
@@ -1476,4 +1530,6 @@ void AddSC_storm_peaks()
|
||||
new spell_player_mount_wyrm();
|
||||
RegisterSpellScript(spell_q12823_remove_collapsing_cave_aura);
|
||||
RegisterSpellScript(spell_read_pronouncement);
|
||||
RegisterSpellScript(spell_bear_flank_master);
|
||||
RegisterSpellScript(spell_bear_flank_fail);
|
||||
}
|
||||
|
||||
@@ -1305,52 +1305,6 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum BearFlankMaster
|
||||
{
|
||||
SPELL_CREATE_BEAR_FLANK = 56566,
|
||||
SPELL_BEAR_FLANK_FAIL = 56569
|
||||
};
|
||||
|
||||
// 56565 - Bear Flank Master
|
||||
class spell_q13011_bear_flank_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_q13011_bear_flank_master);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_CREATE_BEAR_FLANK,
|
||||
SPELL_BEAR_FLANK_FAIL
|
||||
});
|
||||
}
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Player* player = GetHitPlayer())
|
||||
{
|
||||
if (roll_chance_i(50))
|
||||
{
|
||||
Creature* creature = GetCaster()->ToCreature();
|
||||
player->CastSpell(creature, SPELL_BEAR_FLANK_FAIL);
|
||||
creature->AI()->Talk(0, player);
|
||||
}
|
||||
else
|
||||
player->CastSpell(player, SPELL_CREATE_BEAR_FLANK);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13011_bear_flank_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 57385 - Argent Cannon
|
||||
// 57412 - Reckoning Bomb
|
||||
class spell_q13086_cannons_target : public SpellScript
|
||||
@@ -2391,7 +2345,6 @@ void AddSC_quest_spell_scripts()
|
||||
RegisterSpellScript(spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy);
|
||||
RegisterSpellScript(spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon);
|
||||
RegisterSpellScript(spell_q12847_summon_soul_moveto_bunny);
|
||||
RegisterSpellScript(spell_q13011_bear_flank_master);
|
||||
RegisterSpellScript(spell_q13086_cannons_target);
|
||||
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576);
|
||||
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579);
|
||||
|
||||
Reference in New Issue
Block a user