* 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,169 +38,172 @@ EndScriptData */
|
||||
#define GO_ATALAI_LIGHT2 148937
|
||||
|
||||
#define NPC_MALFURION_STORMRAGE 15362
|
||||
|
||||
struct instance_sunken_temple : public ScriptedInstance
|
||||
␍class instance_sunken_temple : public InstanceMapScript
|
||||
{
|
||||
instance_sunken_temple(Map* pMap) : ScriptedInstance(pMap)
|
||||
public:
|
||||
instance_sunken_temple() : InstanceMapScript("instance_sunken_temple") { }
|
||||
|
||||
InstanceScript* GetInstanceData_InstanceMapScript(Map* pMap)
|
||||
{
|
||||
Initialize();
|
||||
return new instance_sunken_temple_InstanceMapScript(pMap);
|
||||
}
|
||||
|
||||
struct instance_sunken_temple_InstanceMapScript : public InstanceScript
|
||||
{
|
||||
instance_sunken_temple_InstanceMapScript(Map* pMap) : InstanceScript(pMap)
|
||||
{
|
||||
Initialize();
|
||||
};
|
||||
|
||||
uint64 GOAtalaiStatue1;
|
||||
uint64 GOAtalaiStatue2;
|
||||
uint64 GOAtalaiStatue3;
|
||||
uint64 GOAtalaiStatue4;
|
||||
uint64 GOAtalaiStatue5;
|
||||
uint64 GOAtalaiStatue6;
|
||||
uint64 GOAtalaiIdol;
|
||||
|
||||
uint32 State;
|
||||
|
||||
bool s1;
|
||||
bool s2;
|
||||
bool s3;
|
||||
bool s4;
|
||||
bool s5;
|
||||
bool s6;
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
GOAtalaiStatue1 = 0;
|
||||
GOAtalaiStatue2 = 0;
|
||||
GOAtalaiStatue3 = 0;
|
||||
GOAtalaiStatue4 = 0;
|
||||
GOAtalaiStatue5 = 0;
|
||||
GOAtalaiStatue6 = 0;
|
||||
GOAtalaiIdol = 0;
|
||||
|
||||
State = 0;
|
||||
|
||||
s1 = false;
|
||||
s2 = false;
|
||||
s3 = false;
|
||||
s4 = false;
|
||||
s5 = false;
|
||||
s6 = false;
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* pGo, bool /*add*/)
|
||||
{
|
||||
switch(pGo->GetEntry())
|
||||
{
|
||||
case GO_ATALAI_STATUE1: GOAtalaiStatue1 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE2: GOAtalaiStatue2 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE3: GOAtalaiStatue3 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE4: GOAtalaiStatue4 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE5: GOAtalaiStatue5 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE6: GOAtalaiStatue6 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_IDOL: GOAtalaiIdol = pGo->GetGUID(); break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void Update(uint32 /*diff*/) // correct order goes form 1-6
|
||||
{
|
||||
switch(State)
|
||||
{
|
||||
case GO_ATALAI_STATUE1:
|
||||
if (!s1 && !s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue1 = instance->GetGameObject(GOAtalaiStatue1))
|
||||
UseStatue(pAtalaiStatue1);
|
||||
s1 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE2:
|
||||
if (s1 && !s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue2 = instance->GetGameObject(GOAtalaiStatue2))
|
||||
UseStatue(pAtalaiStatue2);
|
||||
s2 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE3:
|
||||
if (s1 && s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue3 = instance->GetGameObject(GOAtalaiStatue3))
|
||||
UseStatue(pAtalaiStatue3);
|
||||
s3 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE4:
|
||||
if (s1 && s2 && s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue4 = instance->GetGameObject(GOAtalaiStatue4))
|
||||
UseStatue(pAtalaiStatue4);
|
||||
s4 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_STATUE5:
|
||||
if (s1 && s2 && s3 && s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue5 = instance->GetGameObject(GOAtalaiStatue5))
|
||||
UseStatue(pAtalaiStatue5);
|
||||
s5 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_STATUE6:
|
||||
if (s1 && s2 && s3 && s4 && s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue6 = instance->GetGameObject(GOAtalaiStatue6))
|
||||
UseStatue(pAtalaiStatue6);
|
||||
s6 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
void UseStatue(GameObject* pGo)
|
||||
{
|
||||
pGo->SummonGameObject(GO_ATALAI_LIGHT1,pGo->GetPositionX(),pGo->GetPositionY(),pGo->GetPositionZ(),0,0,0,0,0,0);
|
||||
pGo->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
|
||||
}
|
||||
|
||||
/*
|
||||
void UseLastStatue(GameObject* pGo)
|
||||
{
|
||||
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue1->GetPositionX(),AtalaiStatue1->GetPositionY(),AtalaiStatue1->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue2->GetPositionX(),AtalaiStatue2->GetPositionY(),AtalaiStatue2->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue3->GetPositionX(),AtalaiStatue3->GetPositionY(),AtalaiStatue3->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue4->GetPositionX(),AtalaiStatue4->GetPositionY(),AtalaiStatue4->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue5->GetPositionX(),AtalaiStatue5->GetPositionY(),AtalaiStatue5->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue6->GetPositionX(),AtalaiStatue6->GetPositionY(),AtalaiStatue6->GetPositionZ(),0,0,0,0,0,100000);
|
||||
pGo->SummonGameObject(148838,-488.997,96.61,-189.019,-1.52,0,0,0,0,100000);
|
||||
}
|
||||
*/
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
{
|
||||
if (type == EVENT_STATE)
|
||||
State = data;
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type)
|
||||
{
|
||||
if (type == EVENT_STATE)
|
||||
return State;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
uint64 GOAtalaiStatue1;
|
||||
uint64 GOAtalaiStatue2;
|
||||
uint64 GOAtalaiStatue3;
|
||||
uint64 GOAtalaiStatue4;
|
||||
uint64 GOAtalaiStatue5;
|
||||
uint64 GOAtalaiStatue6;
|
||||
uint64 GOAtalaiIdol;
|
||||
|
||||
uint32 State;
|
||||
|
||||
bool s1;
|
||||
bool s2;
|
||||
bool s3;
|
||||
bool s4;
|
||||
bool s5;
|
||||
bool s6;
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
GOAtalaiStatue1 = 0;
|
||||
GOAtalaiStatue2 = 0;
|
||||
GOAtalaiStatue3 = 0;
|
||||
GOAtalaiStatue4 = 0;
|
||||
GOAtalaiStatue5 = 0;
|
||||
GOAtalaiStatue6 = 0;
|
||||
GOAtalaiIdol = 0;
|
||||
|
||||
State = 0;
|
||||
|
||||
s1 = false;
|
||||
s2 = false;
|
||||
s3 = false;
|
||||
s4 = false;
|
||||
s5 = false;
|
||||
s6 = false;
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* pGo, bool /*add*/)
|
||||
{
|
||||
switch(pGo->GetEntry())
|
||||
{
|
||||
case GO_ATALAI_STATUE1: GOAtalaiStatue1 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE2: GOAtalaiStatue2 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE3: GOAtalaiStatue3 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE4: GOAtalaiStatue4 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE5: GOAtalaiStatue5 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE6: GOAtalaiStatue6 = pGo->GetGUID(); break;
|
||||
case GO_ATALAI_IDOL: GOAtalaiIdol = pGo->GetGUID(); break;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void Update(uint32 /*diff*/) // correct order goes form 1-6
|
||||
{
|
||||
switch(State)
|
||||
{
|
||||
case GO_ATALAI_STATUE1:
|
||||
if (!s1 && !s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue1 = instance->GetGameObject(GOAtalaiStatue1))
|
||||
UseStatue(pAtalaiStatue1);
|
||||
s1 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE2:
|
||||
if (s1 && !s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue2 = instance->GetGameObject(GOAtalaiStatue2))
|
||||
UseStatue(pAtalaiStatue2);
|
||||
s2 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE3:
|
||||
if (s1 && s2 && !s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue3 = instance->GetGameObject(GOAtalaiStatue3))
|
||||
UseStatue(pAtalaiStatue3);
|
||||
s3 = true;
|
||||
State = 0;
|
||||
};
|
||||
break;
|
||||
case GO_ATALAI_STATUE4:
|
||||
if (s1 && s2 && s3 && !s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue4 = instance->GetGameObject(GOAtalaiStatue4))
|
||||
UseStatue(pAtalaiStatue4);
|
||||
s4 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_STATUE5:
|
||||
if (s1 && s2 && s3 && s4 && !s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue5 = instance->GetGameObject(GOAtalaiStatue5))
|
||||
UseStatue(pAtalaiStatue5);
|
||||
s5 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_STATUE6:
|
||||
if (s1 && s2 && s3 && s4 && s5 && !s6)
|
||||
{
|
||||
if (GameObject *pAtalaiStatue6 = instance->GetGameObject(GOAtalaiStatue6))
|
||||
UseStatue(pAtalaiStatue6);
|
||||
s6 = true;
|
||||
State = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
void UseStatue(GameObject* pGo)
|
||||
{
|
||||
pGo->SummonGameObject(GO_ATALAI_LIGHT1,pGo->GetPositionX(),pGo->GetPositionY(),pGo->GetPositionZ(),0,0,0,0,0,0);
|
||||
pGo->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
|
||||
}
|
||||
|
||||
/*
|
||||
void UseLastStatue(GameObject* pGo)
|
||||
{
|
||||
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue1->GetPositionX(),AtalaiStatue1->GetPositionY(),AtalaiStatue1->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue2->GetPositionX(),AtalaiStatue2->GetPositionY(),AtalaiStatue2->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue3->GetPositionX(),AtalaiStatue3->GetPositionY(),AtalaiStatue3->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue4->GetPositionX(),AtalaiStatue4->GetPositionY(),AtalaiStatue4->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue5->GetPositionX(),AtalaiStatue5->GetPositionY(),AtalaiStatue5->GetPositionZ(),0,0,0,0,0,100000);
|
||||
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2,AtalaiStatue6->GetPositionX(),AtalaiStatue6->GetPositionY(),AtalaiStatue6->GetPositionZ(),0,0,0,0,0,100000);
|
||||
pGo->SummonGameObject(148838,-488.997,96.61,-189.019,-1.52,0,0,0,0,100000);
|
||||
}
|
||||
*/
|
||||
|
||||
void SetData(uint32 type, uint32 data)
|
||||
{
|
||||
if (type == EVENT_STATE)
|
||||
State = data;
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type)
|
||||
{
|
||||
if (type == EVENT_STATE)
|
||||
return State;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
InstanceData* GetInstanceData_instance_sunken_temple(Map* pMap)
|
||||
{
|
||||
return new instance_sunken_temple(pMap);
|
||||
}
|
||||
|
||||
void AddSC_instance_sunken_temple()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "instance_sunken_temple";
|
||||
newscript->GetInstanceData = &GetInstanceData_instance_sunken_temple;
|
||||
newscript->RegisterSelf();
|
||||
new instance_sunken_temple();
|
||||
}
|
||||
|
||||
@@ -33,41 +33,44 @@ EndContentData */
|
||||
/*#####
|
||||
# at_malfurion_Stormrage_trigger
|
||||
#####*/
|
||||
|
||||
bool AreaTrigger_at_malfurion_stormrage(Player* pPlayer, const AreaTriggerEntry * /*at*/)
|
||||
␍class at_malfurion_stormrage : public AreaTriggerScript
|
||||
{
|
||||
if (ScriptedInstance* pInstance = pPlayer->GetInstanceData())
|
||||
public:
|
||||
at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { }
|
||||
|
||||
bool OnTrigger(Player* pPlayer, const AreaTriggerEntry * /*at*/)
|
||||
{
|
||||
if (!pPlayer->FindNearestCreature(15362,15))
|
||||
pPlayer->SummonCreature(15362, pPlayer->GetPositionX(), pPlayer->GetPositionY(), pPlayer->GetPositionZ(), -1.52, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000);
|
||||
return false;
|
||||
if (InstanceScript* pInstance = pPlayer->GetInstanceScript())
|
||||
{
|
||||
if (!pPlayer->FindNearestCreature(15362,15))
|
||||
pPlayer->SummonCreature(15362, pPlayer->GetPositionX(), pPlayer->GetPositionY(), pPlayer->GetPositionZ(), -1.52, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000);
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
/*#####
|
||||
# go_atalai_statue
|
||||
#####*/
|
||||
|
||||
bool GOHello_go_atalai_statue(Player* pPlayer, GameObject* pGo)
|
||||
␍class go_atalai_statue : public GameObjectScript
|
||||
{
|
||||
ScriptedInstance* pInstance = pPlayer->GetInstanceData();
|
||||
if (!pInstance)
|
||||
public:
|
||||
go_atalai_statue() : GameObjectScript("go_atalai_statue") { }
|
||||
|
||||
bool OnGossipHello(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
InstanceScript* pInstance = pPlayer->GetInstanceScript();
|
||||
if (!pInstance)
|
||||
return false;
|
||||
pInstance->SetData(EVENT_STATE,pGo->GetEntry());
|
||||
return false;
|
||||
pInstance->SetData(EVENT_STATE,pGo->GetEntry());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
void AddSC_sunken_temple()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "at_malfurion_stormrage";
|
||||
newscript->pAreaTrigger = &AreaTrigger_at_malfurion_stormrage;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_atalai_statue";
|
||||
newscript->pGOHello = &GOHello_go_atalai_statue;
|
||||
newscript->RegisterSelf();
|
||||
new at_malfurion_stormrage();
|
||||
new go_atalai_statue();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user