This commit is contained in:
Discover-
2013-11-03 10:36:17 +01:00
2 changed files with 8 additions and 82 deletions
@@ -0,0 +1,8 @@
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=26407;
UPDATE `creature_template` SET `ainame`='SmartAI',`scriptname`='' WHERE `entry` IN (26407,27017);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (26407,27017) 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
(26407,0,0,0,0,0,100,0,10000,12000,10000,12000,11,52703,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lightning Sentry - IC - Cast Charged Sentry Totem'),
(26407,0,1,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,27017,25,0,0,0,0,0,'Lightning Sentry - On Death - Set Data'),
(27017,0,0,0,38,0,100,0,0,1,0,0,11,47797,0,0,0,0,0,23,0,0,0,0,0,0,0,'Depleted War Golem - On Data Set - Give Quest Credit');
@@ -508,87 +508,6 @@ public:
}
};
/*Lightning Sentry - if you kill it when you have your Minion with you, you will get a quest credit*/
enum Sentry
{
//Creature
NPC_LIGHTNING_SENTRY = 26407,
NPC_WAR_GOLEM = 27017,
// Quest
QUEST_OR_MAYBE_WE_DONT_A = 12138,
QUEST_OR_MAYBE_WE_DONT_H = 12198,
// Spell
SPELL_CHARGED_SENTRY_TOTEM = 52703,
SPELL_WAR_GOLEM_CHARGE_CREDIT = 47797,
};
enum SentryEvents
{
EVENT_SENTRY = 1
};
class npc_lightning_sentry : public CreatureScript
{
public:
npc_lightning_sentry() : CreatureScript("npc_lightning_sentry") { }
struct npc_lightning_sentryAI : public ScriptedAI
{
npc_lightning_sentryAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
_events.ScheduleEvent(EVENT_SENTRY, urand(10000, 12000));
}
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_SENTRY:
DoCast(SPELL_CHARGED_SENTRY_TOTEM);
_events.ScheduleEvent(EVENT_SENTRY, urand(10000, 12000));
break;
default:
break;
}
}
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
void JustDied(Unit* killer) OVERRIDE
{
if (killer->ToPlayer() && killer->ToPlayer()->GetTypeId() == TYPEID_PLAYER)
{
if (me->FindNearestCreature(NPC_WAR_GOLEM, 10.0f, true))
{
if (killer->ToPlayer()->GetQuestStatus(QUEST_OR_MAYBE_WE_DONT_A) == QUEST_STATUS_INCOMPLETE ||
killer->ToPlayer()->GetQuestStatus(QUEST_OR_MAYBE_WE_DONT_H) == QUEST_STATUS_INCOMPLETE)
DoCast(killer, SPELL_WAR_GOLEM_CHARGE_CREDIT);
}
}
}
private:
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_lightning_sentryAI(creature);
}
};
/*Venture co. Straggler - when you cast Smoke Bomb, he will yell and run away*/
enum SmokeEmOut
{
@@ -838,7 +757,6 @@ void AddSC_grizzly_hills()
new npc_tallhorn_stag();
new npc_amberpine_woodsman();
new npc_wounded_skirmisher();
new npc_lightning_sentry();
new npc_venture_co_straggler();
new npc_lake_frog();
}