fix(Scripts/ShatteredHalls): Update Grand Warlock Netherkurse (#16063)
init
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
DELETE FROM `creature_text` WHERE `CreatureID` = 17083;
|
||||||
|
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
|
||||||
|
-- Shadow Sear
|
||||||
|
(17083, 0, 0, 'It hurt!', 14, 0, 100, 18, 0, 0, 14136, 0, 'Fel Orc Convert - Hit by Shadow Sear'),
|
||||||
|
(17083, 0, 1, 'Augh! No more hurt!', 14, 0, 100, 18, 0, 0, 14137, 0, 'Fel Orc Convert - Hit by Shadow Sear'),
|
||||||
|
(17083, 0, 2, 'This not good tickle!', 14, 0, 100, 18, 0, 0, 14138, 0, 'Fel Orc Convert - Hit by Shadow Sear'),
|
||||||
|
(17083, 0, 3, 'Skin on fire!', 14, 0, 100, 18, 0, 0, 14139, 0, 'Fel Orc Convert - Hit by Shadow Sear'),
|
||||||
|
-- Death Coil
|
||||||
|
(17083, 1, 0, 'It hurt!', 14, 1, 100, 18, 0, 0, 14140, 0, 'Fel Orc Convert - Hit by Death Coil'),
|
||||||
|
(17083, 1, 1, 'Aahhh!', 14, 1, 100, 18, 0, 0, 14141, 0, 'Fel Orc Convert - Hit by Death Coil'),
|
||||||
|
(17083, 1, 2, 'No more scary!', 14, 1, 100, 18, 0, 0, 14142, 0, 'Fel Orc Convert - Hit by Death Coil'),
|
||||||
|
(17083, 1, 3, 'Mommy!', 14, 1, 100, 18, 0, 0, 14143, 0, 'Fel Orc Convert - Hit by Death Coil'),
|
||||||
|
(17083, 1, 4, 'No more!', 14, 1, 100, 18, 0, 0, 14144, 0, 'Fel Orc Convert - Hit by Death Coil'),
|
||||||
|
-- Consumption / Shadow Fissure
|
||||||
|
(17083, 2, 0, 'Pain!', 14, 1, 100, 18, 0, 1343, 14149, 0, 'Fel Orc Convert - Hit by Shadow Fissure'),
|
||||||
|
(17083, 2, 1, 'It hurts!', 14, 1, 100, 18, 0, 1343, 14150, 0, 'Fel Orc Convert - Hit by Shadow Fissure'),
|
||||||
|
(17083, 2, 2, 'Graaagggh!!', 14, 1, 100, 18, 0, 1343, 14151, 0, 'Fel Orc Convert - Hit by Shadow Fissure'),
|
||||||
|
(17083, 2, 3, 'No more!!', 14, 1, 100, 18, 0, 1343, 14152, 0, 'Fel Orc Convert - Hit by Shadow Fissure');
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 17083 AND `id` IN (6, 7, 8));
|
||||||
|
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
|
||||||
|
(17083, 0, 6, 0, 8, 0, 25, 0, 30735, 0, 21000, 21000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Orc Convert - On Hit by \'Shadow Sear\' - Say Line 0'),
|
||||||
|
(17083, 0, 7, 0, 8, 0, 25, 0, 30741, 0, 20000, 20000, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Orc Convert - On Hit by \'Death Coil\' - Say Line 1'),
|
||||||
|
(17083, 0, 8, 0, 8, 0, 25, 0, 32251, 0, 20000, 20000, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Orc Convert - On Hit by \'Consumption\' - Say Line 2');
|
||||||
|
|
||||||
|
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 3) AND (`SourceEntry` = 30741);
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(13, 3, 30741, 0, 0, 31, 0, 3, 17083, 0, 0, 0, 0, '', 'Death Coil (30741) can only target Fel Orc Convert (17083)');
|
||||||
@@ -22,37 +22,40 @@
|
|||||||
|
|
||||||
enum eGrandWarlockNethekurse
|
enum eGrandWarlockNethekurse
|
||||||
{
|
{
|
||||||
SAY_INTRO = 0,
|
SAY_INTRO = 0,
|
||||||
SAY_PEON_ATTACKED = 1,
|
SAY_PEON_ATTACKED = 1,
|
||||||
SAY_PEON_DIES = 2,
|
SAY_PEON_DIES = 2,
|
||||||
SAY_TAUNT = 3,
|
SAY_TAUNT = 3,
|
||||||
SAY_AGGRO = 4,
|
SAY_AGGRO = 4,
|
||||||
SAY_SLAY = 5,
|
SAY_SLAY = 5,
|
||||||
SAY_DIE = 6,
|
SAY_DIE = 6,
|
||||||
|
|
||||||
SPELL_DEATH_COIL_N = 30741,
|
SPELL_DEATH_COIL_N = 30500,
|
||||||
SPELL_DEATH_COIL_H = 30500,
|
SPELL_DEATH_COIL_H = 35954,
|
||||||
SPELL_DARK_SPIN = 30502,
|
SPELL_DARK_SPIN = 30502,
|
||||||
SPELL_SHADOW_FISSURE = 30496,
|
SPELL_SHADOW_FISSURE = 30496,
|
||||||
SPELL_SHADOW_CLEAVE_N = 30495,
|
SPELL_SHADOW_CLEAVE_N = 30495,
|
||||||
SPELL_SHADOW_SLAM_H = 35953,
|
SPELL_SHADOW_SLAM_H = 35953,
|
||||||
SPELL_SHADOW_SEAR = 30735,
|
|
||||||
|
|
||||||
SETDATA_DATA = 1,
|
// Spells used exclusively in RP
|
||||||
SETDATA_PEON_AGGRO = 1,
|
SPELL_SHADOW_SEAR = 30735,
|
||||||
SETDATA_PEON_DEATH = 2,
|
SPELL_DEATH_COIL = 30741,
|
||||||
|
|
||||||
EVENT_STAGE_NONE = 0,
|
EVENT_INTRO = 1,
|
||||||
EVENT_STAGE_INTRO = 1,
|
EVENT_SPELL_DEATH_COIL = 2,
|
||||||
EVENT_STAGE_TAUNT = 2,
|
EVENT_SPELL_SHADOW_FISSURE = 3,
|
||||||
EVENT_STAGE_MAIN = 3,
|
EVENT_SPELL_CLEAVE = 4,
|
||||||
|
EVENT_CHECK_HEALTH = 5,
|
||||||
|
EVENT_START_ATTACK = 6,
|
||||||
|
|
||||||
EVENT_INTRO = 1,
|
EVENT_STAGE_NONE = 0,
|
||||||
EVENT_SPELL_DEATH_COIL = 2,
|
EVENT_STAGE_INTRO = 1,
|
||||||
EVENT_SPELL_SHADOW_FISSURE = 3,
|
EVENT_STAGE_TAUNT = 2,
|
||||||
EVENT_SPELL_CLEAVE = 4,
|
EVENT_STAGE_MAIN = 3,
|
||||||
EVENT_CHECK_HEALTH = 5,
|
|
||||||
EVENT_START_ATTACK = 6
|
SETDATA_DATA = 1,
|
||||||
|
SETDATA_PEON_AGGRO = 1,
|
||||||
|
SETDATA_PEON_DEATH = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
// ########################################################
|
// ########################################################
|
||||||
@@ -71,23 +74,11 @@ public:
|
|||||||
EventMap events2;
|
EventMap events2;
|
||||||
void Reset() override
|
void Reset() override
|
||||||
{
|
{
|
||||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
|
||||||
EventStage = EVENT_STAGE_NONE;
|
EventStage = EVENT_STAGE_NONE;
|
||||||
PeonEngagedCount = 0;
|
|
||||||
PeonKilledCount = 0;
|
|
||||||
_Reset();
|
_Reset();
|
||||||
SummonMinions();
|
|
||||||
events2.Reset();
|
events2.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SummonMinions()
|
|
||||||
{
|
|
||||||
me->SummonCreature(NPC_FEL_ORC_CONVERT, 172.556f, 258.227f, -13.191f, 1.41189f);
|
|
||||||
me->SummonCreature(NPC_FEL_ORC_CONVERT, 165.181f, 261.511f, -13.1926f, 0.942743f);
|
|
||||||
me->SummonCreature(NPC_FEL_ORC_CONVERT, 182.482f, 258.635f, -13.1788f, 1.70929f);
|
|
||||||
me->SummonCreature(NPC_FEL_ORC_CONVERT, 189.616f, 259.866f, -13.1966f, 1.95748f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/) override
|
void JustDied(Unit* /*killer*/) override
|
||||||
{
|
{
|
||||||
Talk(SAY_DIE);
|
Talk(SAY_DIE);
|
||||||
@@ -132,13 +123,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustSummoned(Creature* summon) override
|
|
||||||
{
|
|
||||||
summons.Summon(summon);
|
|
||||||
summon->SetReactState(REACT_DEFENSIVE);
|
|
||||||
summon->SetRegeneratingHealth(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MoveInLineOfSight(Unit* who) override
|
void MoveInLineOfSight(Unit* who) override
|
||||||
{
|
{
|
||||||
if (me->IsWithinDistInMap(who, 30.0f))
|
if (me->IsWithinDistInMap(who, 30.0f))
|
||||||
@@ -194,7 +178,6 @@ public:
|
|||||||
{
|
{
|
||||||
Talk(SAY_AGGRO);
|
Talk(SAY_AGGRO);
|
||||||
EventStage = EVENT_STAGE_MAIN;
|
EventStage = EVENT_STAGE_MAIN;
|
||||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
|
||||||
if (Unit* target = me->SelectNearestPlayer(50.0f))
|
if (Unit* target = me->SelectNearestPlayer(50.0f))
|
||||||
AttackStart(target);
|
AttackStart(target);
|
||||||
|
|
||||||
@@ -246,9 +229,9 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint32 PeonEngagedCount;
|
uint8 PeonEngagedCount = 0;
|
||||||
uint32 PeonKilledCount;
|
uint8 PeonKilledCount = 0;
|
||||||
uint32 EventStage;
|
uint8 EventStage;
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const override
|
CreatureAI* GetAI(Creature* creature) const override
|
||||||
|
|||||||
Reference in New Issue
Block a user