Scripts/MH:

* fixed quest "Flamebreaker"
* added remaining sparring data for Hyjal Warden
* added new sparring data for Twilight Vanquisher, Twilight Flamecaller, Blazebound Elemental, Ironbark Ancient and Twilight Overseer and Nordrassil Druid
* Elemental Goo and Overseer's Key will now require their corresponding quest to be active
* fixed some quest chaining for the Verdant Thicked area
* fixed Nordrassil Druids casting their green beams on Ysera at Nordrassil
* corrected damage and money loot values for Twilight Vanquisher, Twilight Flamecaller, and Twilight Overseer
This commit is contained in:
Ovahlord
2018-09-11 14:43:29 +02:00
parent 52da459a83
commit 1fb1f77ccf
3 changed files with 151 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
-- Template Updates
-- Twilight Vanquisher
UPDATE `creature_template` SET `DamageModifier`= 1.5, `flags_extra`= 2048, `BaseAttackTime`= 2000, `mingold`= 1000, `maxgold`= 4000 WHERE `entry`= 38913;
-- Twilight Flamecaller
UPDATE `creature_template` SET `DamageModifier`= 2.3, `mingold`= 1000, `maxgold`= 4000 WHERE `entry`= 38926;
-- Twilight Overseer
UPDATE `creature_template` SET `DamageModifier`= 2.3, `mingold`= 1000, `maxgold`= 4000 WHERE `entry`= 40123;
-- Blazebound Elemental
UPDATE `creature_template` SET `DamageModifier`= 2.3 WHERE `entry`= 38896;
-- Unbound Flame Spirit
UPDATE `creature_template` SET `unit_flags`= 33587968 WHERE `entry`= 40080;
-- Sparring Data
DELETE FROM `creature_sparring_template` WHERE `AttackerEntry`= 38915 AND `VictimEntry` IN (38913, 38926, 38896, 40123);
DELETE FROM `creature_sparring_template` WHERE `AttackerEntry` IN (38913, 38926, 38902, 38896, 40123, 38952);
INSERT INTO `creature_sparring_template` (`AttackerEntry`, `VictimEntry`, `HealthLimitPct`) VALUES
-- Hyjal Warden vs. Twilight Vanquisher
(38915, 38913, 90),
(38913, 38915, 90),
-- Hyjal Warden vs. Twilight Flamecaller
(38915, 38926, 90),
(38926, 38915, 90),
-- Hyjal Warden vs. Blazebound Elemental
(38915, 38896, 90),
(38896, 38915, 90),
-- Hyjal Warden vs. Twilight Overseer
(38915, 40123, 90),
(40123, 38915, 90),
-- Ironbark Ancient vs. Twilight Vanquisher
(38902, 38913, 90),
(38913, 38902, 90),
-- Ironbark Ancient vs. Twilight Flamecaller
(38902, 38926, 90),
(38926, 38902, 90),
-- Ironbark Ancient vs. Blazebound Elemental
(38902, 38896, 90),
(38896, 38902, 90),
-- Nordrassil Druid vs. Twilight Vanquisher
(38952, 38913, 90),
(38913, 38952, 90),
-- Nordrassil Druid vs. Twilight Flamecaller
(38952, 38926, 90),
(38926, 38952, 90),
-- Nordrassil Druid vs. Blazebound Elemental
(38952, 38896, 90),
(38896, 38952, 90),
-- Nordrassil Druid vs. Twilight Overseer
(38952, 40123, 90),
(40123, 38952, 90);
-- Quest chains
DELETE FROM `quest_template_addon` WHERE `ID` IN (25472, 25430, 25323, 25319);
INSERT INTO `quest_template_addon` (`ID`, `PrevQuestID`, `NextQuestID`, `ExclusiveGroup`) VALUES
(25472, 25317, 0, -25472),
(25319, 25317, 0, -25472),
(25430, 25464, 0, 0),
(25323, 25472, 0, 0);
-- Spells
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
('spell_mh_flamebreaker');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(75206, 'spell_mh_flamebreaker');
-- Conditions
DELETE FROM `conditions` WHERE `SourceEntry` IN (75206, 75192) AND `SourceTypeOrReferenceId`= 17;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ScriptName`, `Comment`) VALUES
(17, 0, 75206, 0, 0, 31, 1, 3, 38896, 0, 0, 0, '', 'Flamebreaker - Only allow Blazebound Elemental'),
(17, 0, 75192, 0, 0, 31, 1, 3, 40147, 0, 0, 0, '', 'Weakening - Only allow Baron Geddon');
-- Make quest items quest related
UPDATE `creature_loot_template` SET `QuestRequired`= 1 WHERE `Item` IN (52506, 53139);
-- Remove duplicate spawns
DELETE FROM `creature` WHERE `guid` IN (394598, 384268);
DELETE FROM `creature_addon` WHERE `guid` IN (394598, 384268);
-- Creature Nordrassil Druid SAI
SET @ENTRY := -384003;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 74492, 0, 0, 0, 0, 0, 10, 384034, 0, 0, 0, 0, 0, 0, "On reset (e.g. after reaching home) - Self: Cast spell 74492 on Creature Ysera 40289 (384034) // ");
SET @ENTRY := -383996;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 74492, 0, 0, 0, 0, 0, 10, 384034, 0, 0, 0, 0, 0, 0, "On reset (e.g. after reaching home) - Self: Cast spell 74492 on Creature Ysera 40289 (384034) // ");
SET @ENTRY := -384013;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 11, 74492, 0, 0, 0, 0, 0, 10, 384034, 0, 0, 0, 0, 0, 0, "On reset (e.g. after reaching home) - Self: Cast spell 74492 on Creature Ysera 40289 (384034) // ");
-- Creature Blazebound Elemental 38896 SAI
SET @ENTRY := 38896;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 0, 0, 100, 0, 5000, 5000, 12500, 15300, 11, 80031, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 5000 and 5000 ms (and later repeats every 12500 and 15300 ms) - Self: Cast spell 80031 on Victim // "),
(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 74723, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell 74723 hit - Self: Die // ");
-- Creature Unbound Flame Spirit 40080 SAI
SET @ENTRY := 40080;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 1, 60, 0, 100, 1, 2000, 2000, 0, 0, 3, 0, 8409, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Every 0 and 0 ms (for the first time, timer between 2000 and 2000 ms) - Self: Morph to model 8409 // "),
(@ENTRY, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 19, 33555200, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Remove UNIT_FLAGS to UNIT_FLAG_IMMUNE_TO_PC, UNIT_FLAG_IMMUNE_TO_NPC, UNIT_FLAG_NOT_SELECTABLE // "),
(@ENTRY, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Attack Owner/Summoner // "),
(@ENTRY, 0, 3, 0, 6, 0, 100, 0, 0, 0, 0, 0, 33, 40065, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "On death - Action invoker: Give kill credit Unbound Flame Spirit (40065) // "),
(@ENTRY, 0, 4, 0, 63, 0, 100, 0, 0, 0, 0, 0, 116, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When just created - Sets corpse delay of Self to 2ms // ");
-- Creature Twilight Vanquisher 38913 SAI
SET @ENTRY := 38913;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 0, 0, 100, 0, 6000, 8000, 14000, 18000, 11, 79881, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 6000 and 8000 ms (and later repeats every 14000 and 18000 ms) - Self: Cast spell 79881 on Victim // Twilight Vanquisher - In Combat - Cast 'Slam'"),
(@ENTRY, 0, 1, 0, 1, 0, 100, 0, 1000, 1000, 5000, 5000, 49, 0, 0, 0, 0, 0, 0, 11, 38915, 6, 0, 0, 0, 0, 0, "When out of combat and timer at the begining between 1000 and 1000 ms (and later repeats every 5000 and 5000 ms) - Self: Attack Creature Hyjal Warden (38915) in 6 yd // ");
-- Creature Twilight Flamecaller 38926 SAI
SET @ENTRY := 38926;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(@ENTRY, 0, 0, 0, 0, 0, 100, 0, 0, 0, 3400, 4700, 11, 15536, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 0 and 0 ms (and later repeats every 3400 and 4700 ms) - Self: Cast spell 15536 on Victim // Twilight Flamecaller - In Combat - Cast 'Fireball'"),
(@ENTRY, 0, 1, 0, 2, 0, 100, 1, 0, 15, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "When health between 0% and 15% (check every 0 - 0 ms) - Self: Flee for assist // Twilight Flamecaller - Between 0-15% Health - Flee For Assist (No Repeat)"),
(@ENTRY, 0, 2, 0, 0, 0, 100, 0, 3000, 6000, 11000, 12000, 11, 20794, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 3000 and 6000 ms (and later repeats every 11000 and 12000 ms) - Self: Cast spell 20794 on Victim // Twilight Flamecaller - In Combat - Cast 'Flamestrike'"),
(@ENTRY, 0, 3, 0, 0, 0, 100, 0, 9000, 9000, 21000, 22000, 11, 11990, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 9000 and 9000 ms (and later repeats every 21000 and 22000 ms) - Self: Cast spell 11990 on Victim // Twilight Flamecaller - In Combat - Cast 'Rain of Fire'"),
(@ENTRY, 0, 4, 0, 1, 0, 100, 0, 1000, 1000, 5000, 5000, 49, 0, 0, 0, 0, 0, 0, 11, 38915, 10, 0, 0, 0, 0, 0, "When out of combat and timer at the begining between 1000 and 1000 ms (and later repeats every 5000 and 5000 ms) - Self: Attack Creature Hyjal Warden (38915) in 10 yd // ");

View File

@@ -2009,6 +2009,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex)
case 1161:
case 713:
case 3097:
case 2929:
numSummons = (damage > 0) ? damage : 1;
break;
default:

View File

@@ -505,6 +505,24 @@ class spell_mh_ragnaros : public SpellScript
}
};
class spell_mh_flamebreaker : public AuraScript
{
PrepareAuraScript(spell_mh_flamebreaker);
void HandleTick(AuraEffect const* /*aurEff*/)
{
PreventDefaultAction();
Unit* caster = GetTarget();
if (Unit* target = ObjectAccessor::GetCreature(*caster, caster->GetChannelObjectGuid()))
caster->CastSpell(target, GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, true);
}
void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mh_flamebreaker::HandleTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
void AddSC_mount_hyjal()
{
RegisterCreatureAI(npc_mh_aronus);
@@ -513,4 +531,5 @@ void AddSC_mount_hyjal()
RegisterCreatureAI(npc_mh_emerald_flameweaver);
RegisterSpellScript(spell_mh_summon_emerald_flameweaver);
RegisterSpellScript(spell_mh_ragnaros);
RegisterAuraScript(spell_mh_flamebreaker);
}