* Rename InstanceData to InstanceScript
* Rename *mgr to their new names in scripts project * Mass convert all the scripts (NEEDS THOROUGH TESTING, because it was done automatically) Please, report bugs on issue tracker. --HG-- branch : trunk rename : src/server/game/Instances/InstanceData.cpp => src/server/game/Instances/InstanceScript.cpp rename : src/server/game/Instances/InstanceData.h => src/server/game/Instances/InstanceScript.h
This commit is contained in:
@@ -38,67 +38,70 @@ EndContentData */
|
||||
#define QUEST_REDEEMING_THE_DEAD 9685
|
||||
#define SPELL_SHIMMERING_VESSEL 31225
|
||||
#define SPELL_REVIVE_SELF 32343
|
||||
|
||||
struct npc_blood_knight_stillbladeAI : public ScriptedAI
|
||||
␍class npc_blood_knight_stillblade : public CreatureScript
|
||||
{
|
||||
npc_blood_knight_stillbladeAI(Creature *c) : ScriptedAI(c) {}
|
||||
public:
|
||||
npc_blood_knight_stillblade() : CreatureScript("npc_blood_knight_stillblade") { }
|
||||
|
||||
uint32 lifeTimer;
|
||||
bool spellHit;
|
||||
|
||||
void Reset()
|
||||
CreatureAI* GetAI(Creature* pCreature) const
|
||||
{
|
||||
lifeTimer = 120000;
|
||||
me->SetStandState(UNIT_STAND_STATE_DEAD);
|
||||
me->SetUInt32Value(UNIT_FIELD_BYTES_1,7); // lay down
|
||||
spellHit = false;
|
||||
return new npc_blood_knight_stillbladeAI (pCreature);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
struct npc_blood_knight_stillbladeAI : public ScriptedAI
|
||||
{
|
||||
}
|
||||
npc_blood_knight_stillbladeAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
void MoveInLineOfSight(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
uint32 lifeTimer;
|
||||
bool spellHit;
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (me->IsStandState())
|
||||
void Reset()
|
||||
{
|
||||
if (lifeTimer <= diff)
|
||||
me->AI()->EnterEvadeMode();
|
||||
else
|
||||
lifeTimer -= diff;
|
||||
lifeTimer = 120000;
|
||||
me->SetStandState(UNIT_STAND_STATE_DEAD);
|
||||
me->SetUInt32Value(UNIT_FIELD_BYTES_1,7); // lay down
|
||||
spellHit = false;
|
||||
}
|
||||
}
|
||||
|
||||
void SpellHit(Unit *Hitter, const SpellEntry *Spellkind)
|
||||
{
|
||||
if ((Spellkind->Id == SPELL_SHIMMERING_VESSEL) && !spellHit &&
|
||||
(Hitter->GetTypeId() == TYPEID_PLAYER) && (CAST_PLR(Hitter)->IsActiveQuest(QUEST_REDEEMING_THE_DEAD)))
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
CAST_PLR(Hitter)->AreaExploredOrEventHappens(QUEST_REDEEMING_THE_DEAD);
|
||||
DoCast(me, SPELL_REVIVE_SELF);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||
//me->RemoveAllAuras();
|
||||
DoScriptText(SAY_HEAL, me);
|
||||
spellHit = true;
|
||||
}
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (me->IsStandState())
|
||||
{
|
||||
if (lifeTimer <= diff)
|
||||
me->AI()->EnterEvadeMode();
|
||||
else
|
||||
lifeTimer -= diff;
|
||||
}
|
||||
}
|
||||
|
||||
void SpellHit(Unit *Hitter, const SpellEntry *Spellkind)
|
||||
{
|
||||
if ((Spellkind->Id == SPELL_SHIMMERING_VESSEL) && !spellHit &&
|
||||
(Hitter->GetTypeId() == TYPEID_PLAYER) && (CAST_PLR(Hitter)->IsActiveQuest(QUEST_REDEEMING_THE_DEAD)))
|
||||
{
|
||||
CAST_PLR(Hitter)->AreaExploredOrEventHappens(QUEST_REDEEMING_THE_DEAD);
|
||||
DoCast(me, SPELL_REVIVE_SELF);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
|
||||
//me->RemoveAllAuras();
|
||||
DoScriptText(SAY_HEAL, me);
|
||||
spellHit = true;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_npc_blood_knight_stillblade(Creature* pCreature)
|
||||
{
|
||||
return new npc_blood_knight_stillbladeAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_silvermoon_city()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_blood_knight_stillblade";
|
||||
newscript->GetAI = &GetAI_npc_blood_knight_stillblade;
|
||||
newscript->RegisterSelf();
|
||||
new npc_blood_knight_stillblade();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user