Core/Scripts: Split OnCreatureCreate() and OnGameObjectCreate() into two virtual functions each.

Note to scripters: be aware that you will need to hook into the Remove functions if you want to do stuff at GO/creature removal.
Closes issue 5011.

--HG--
branch : trunk
This commit is contained in:
leak
2010-12-05 18:04:10 +01:00
parent dfa1e9532b
commit 6fe19b5a86
65 changed files with 1139 additions and 1132 deletions
@@ -52,9 +52,9 @@ class go_bridge_console : public GameObjectScript
public:
go_bridge_console() : GameObjectScript("go_bridge_console") { }
bool OnGossipHello(Player* /*pPlayer*/, GameObject* pGo)
bool OnGossipHello(Player* /*pPlayer*/, GameObject* go)
{
InstanceScript* pInstance = pGo->GetInstanceScript();
InstanceScript* pInstance = go->GetInstanceScript();
if (!pInstance)
return false;
@@ -210,28 +210,28 @@ public:
} else FrenzySpawnTimer -= diff;
}
void OnGameObjectCreate(GameObject* pGo, bool /*add*/)
void OnGameObjectCreate(GameObject* go)
{
switch(pGo->GetEntry())
switch(go->GetEntry())
{
case 184568:
ControlConsole = pGo->GetGUID();
pGo->setActive(true);
ControlConsole = go->GetGUID();
go->setActive(true);
break;
case 184203:
BridgePart[0] = pGo->GetGUID();
pGo->setActive(true);
BridgePart[0] = go->GetGUID();
go->setActive(true);
break;
case 184204:
BridgePart[1] = pGo->GetGUID();
pGo->setActive(true);
BridgePart[1] = go->GetGUID();
go->setActive(true);
break;
case 184205:
BridgePart[2] = pGo->GetGUID();
pGo->setActive(true);
BridgePart[2] = go->GetGUID();
go->setActive(true);
break;
case GAMEOBJECT_FISHINGNODE_ENTRY://no way checking if fish is hooked, so we create a timed event
if (LurkerSubEvent == LURKER_NOT_STARTED)
@@ -243,20 +243,20 @@ public:
}
}
void OnCreatureCreate(Creature* pCreature, bool /*add*/)
void OnCreatureCreate(Creature* creature)
{
switch(pCreature->GetEntry())
switch(creature->GetEntry())
{
case 21212: LadyVashj = pCreature->GetGUID(); break;
case 21214: Karathress = pCreature->GetGUID(); break;
case 21966: Sharkkis = pCreature->GetGUID(); break;
case 21217: LurkerBelow = pCreature->GetGUID(); break;
case 21965: Tidalvess = pCreature->GetGUID(); break;
case 21964: Caribdis = pCreature->GetGUID(); break;
case 21215: LeotherasTheBlind = pCreature->GetGUID(); break;
case 21212: LadyVashj = creature->GetGUID(); break;
case 21214: Karathress = creature->GetGUID(); break;
case 21966: Sharkkis = creature->GetGUID(); break;
case 21217: LurkerBelow = creature->GetGUID(); break;
case 21965: Tidalvess = creature->GetGUID(); break;
case 21964: Caribdis = creature->GetGUID(); break;
case 21215: LeotherasTheBlind = creature->GetGUID(); break;
/*case TRASHMOB_COILFANG_PRIESTESS:
case TRASHMOB_COILFANG_SHATTERER:
if (pCreature->isAlive())
if (creature->isAlive())
++TrashCount;
break;*/
}
@@ -43,17 +43,17 @@ class go_main_chambers_access_panel : public GameObjectScript
public:
go_main_chambers_access_panel() : GameObjectScript("go_main_chambers_access_panel") { }
bool OnGossipHello(Player* /*pPlayer*/, GameObject* pGo)
bool OnGossipHello(Player* /*pPlayer*/, GameObject* go)
{
InstanceScript* pInstance = pGo->GetInstanceScript();
InstanceScript* pInstance = go->GetInstanceScript();
if (!pInstance)
return false;
if (pGo->GetEntry() == ACCESS_PANEL_HYDRO && (pInstance->GetData(TYPE_HYDROMANCER_THESPIA) == DONE || pInstance->GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL))
if (go->GetEntry() == ACCESS_PANEL_HYDRO && (pInstance->GetData(TYPE_HYDROMANCER_THESPIA) == DONE || pInstance->GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL))
pInstance->SetData(TYPE_HYDROMANCER_THESPIA,SPECIAL);
if (pGo->GetEntry() == ACCESS_PANEL_MEK && (pInstance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE || pInstance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL))
if (go->GetEntry() == ACCESS_PANEL_MEK && (pInstance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE || pInstance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL))
pInstance->SetData(TYPE_MEKGINEER_STEAMRIGGER,SPECIAL);
return true;
@@ -106,23 +106,23 @@ public:
return false;
}
void OnCreatureCreate(Creature* pCreature, bool /*add*/)
void OnCreatureCreate(Creature* creature)
{
switch(pCreature->GetEntry())
switch(creature->GetEntry())
{
case 17797: ThespiaGUID = pCreature->GetGUID(); break;
case 17796: MekgineerGUID = pCreature->GetGUID(); break;
case 17798: KalithreshGUID = pCreature->GetGUID(); break;
case 17797: ThespiaGUID = creature->GetGUID(); break;
case 17796: MekgineerGUID = creature->GetGUID(); break;
case 17798: KalithreshGUID = creature->GetGUID(); break;
}
}
void OnGameObjectCreate(GameObject* pGo, bool /*add*/)
void OnGameObjectCreate(GameObject* go)
{
switch(pGo->GetEntry())
switch(go->GetEntry())
{
case MAIN_CHAMBERS_DOOR: MainChambersDoor = pGo->GetGUID(); break;
case ACCESS_PANEL_HYDRO: AccessPanelHydro = pGo->GetGUID(); break;
case ACCESS_PANEL_MEK: AccessPanelMek = pGo->GetGUID(); break;
case MAIN_CHAMBERS_DOOR: MainChambersDoor = go->GetGUID(); break;
case ACCESS_PANEL_HYDRO: AccessPanelHydro = go->GetGUID(); break;
case ACCESS_PANEL_MEK: AccessPanelMek = go->GetGUID(); break;
}
}