mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 16:38:42 +01:00
Core/Scripts/Oculus: Implemented worldstates related to Varos.
Signed-off-by: Manuel <manue.l@live.com.ar>
This commit is contained in:
@@ -35,8 +35,6 @@ enum Spells
|
||||
SPELL_CALL_AZURE_RING_CAPTAIN_4 = 51008, //Effect Send Event (18455)*/
|
||||
SPELL_CALL_AMPLIFY_MAGIC = 51054,
|
||||
|
||||
SPELL_CENTRIFUGE_SHIELD = 50053,
|
||||
|
||||
SPELL_ICE_BEAM = 49549
|
||||
};
|
||||
|
||||
@@ -61,7 +59,8 @@ public:
|
||||
{
|
||||
boss_varosAI(Creature* creature) : BossAI(creature, DATA_VAROS_EVENT)
|
||||
{
|
||||
DoCast(me,SPELL_CENTRIFUGE_SHIELD);
|
||||
if (instance->GetData(DATA_DRAKOS_EVENT) != DONE)
|
||||
DoCast(me,SPELL_CENTRIFUGE_SHIELD);
|
||||
}
|
||||
|
||||
void Reset()
|
||||
|
||||
@@ -45,14 +45,40 @@ public:
|
||||
drakosGUID = 0;
|
||||
varosGUID = 0;
|
||||
uromGUID = 0;
|
||||
eregosGUIDs = 0;
|
||||
eregosGUID = 0;
|
||||
|
||||
platformUrom = 0;
|
||||
centrifugueConstructCounter = 0;
|
||||
|
||||
azureDragonsList.clear();
|
||||
gameObjectList.clear();
|
||||
}
|
||||
|
||||
void OnCreatureDeath(Creature* creature)
|
||||
{
|
||||
if (creature->GetEntry() != NPC_CENTRIFUGE_CONSTRUCT)
|
||||
return;
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT,--centrifugueConstructCounter);
|
||||
|
||||
if (!centrifugueConstructCounter)
|
||||
if (Creature* varos = instance->GetCreature(varosGUID))
|
||||
varos->RemoveAllAuras();
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* player)
|
||||
{
|
||||
if (GetData(DATA_DRAKOS_EVENT) == DONE && GetData(DATA_VAROS_EVENT) != DONE)
|
||||
{
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW,1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT,centrifugueConstructCounter);
|
||||
} else
|
||||
{
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW,0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT,0);
|
||||
}
|
||||
}
|
||||
|
||||
void ProcessEvent(Unit* /*unit*/, uint32 eventId)
|
||||
{
|
||||
if (eventId != EVENT_CALL_DRAGON)
|
||||
@@ -100,11 +126,15 @@ public:
|
||||
uromGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_EREGOS:
|
||||
eregosGUIDs = creature->GetGUID();
|
||||
eregosGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_AZURE_RING_GUARDIAN:
|
||||
azureDragonsList.push_back(creature->GetGUID());
|
||||
break;
|
||||
case NPC_CENTRIFUGE_CONSTRUCT:
|
||||
if (creature->isAlive())
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT,++centrifugueConstructCounter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,10 +158,16 @@ public:
|
||||
case DATA_DRAKOS_EVENT:
|
||||
encounter[0] = data;
|
||||
if (data == DONE)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW,1);
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT,centrifugueConstructCounter);
|
||||
OpenCageDoors();
|
||||
}
|
||||
break;
|
||||
case DATA_VAROS_EVENT:
|
||||
encounter[1] = data;
|
||||
if (encounter[1] == DONE)
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW,0);
|
||||
break;
|
||||
case DATA_UROM_EVENT:
|
||||
encounter[2] = data;
|
||||
@@ -144,8 +180,9 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
if (data == DONE)
|
||||
SaveToDB();
|
||||
if (type <= DATA_EREGOS_EVENT)
|
||||
if (data == DONE)
|
||||
SaveToDB();
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 type)
|
||||
@@ -169,7 +206,7 @@ public:
|
||||
case DATA_DRAKOS: return drakosGUID;
|
||||
case DATA_VAROS: return varosGUID;
|
||||
case DATA_UROM: return uromGUID;
|
||||
case DATA_EREGOS: return eregosGUIDs;
|
||||
case DATA_EREGOS: return eregosGUID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -235,9 +272,10 @@ public:
|
||||
uint64 drakosGUID;
|
||||
uint64 varosGUID;
|
||||
uint64 uromGUID;
|
||||
uint64 eregosGUIDs;
|
||||
uint64 eregosGUID;
|
||||
|
||||
uint8 platformUrom;
|
||||
uint8 centrifugueConstructCounter;
|
||||
|
||||
uint16 encounter[MAX_ENCOUNTER];
|
||||
std::string str_data;
|
||||
|
||||
@@ -42,7 +42,8 @@ enum Bosses
|
||||
NPC_UROM = 27655,
|
||||
NPC_EREGOS = 27656,
|
||||
|
||||
NPC_AZURE_RING_GUARDIAN = 27638
|
||||
NPC_AZURE_RING_GUARDIAN = 27638,
|
||||
NPC_CENTRIFUGE_CONSTRUCT = 27641
|
||||
};
|
||||
|
||||
enum GameObjects
|
||||
@@ -60,4 +61,14 @@ enum CreatureActions
|
||||
ACTION_CALL_DRAGON_EVENT = 1
|
||||
};
|
||||
|
||||
enum OculusWorldStates
|
||||
{
|
||||
WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW = 3524,
|
||||
WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT = 3486
|
||||
};
|
||||
|
||||
enum OculusSpells
|
||||
{
|
||||
SPELL_CENTRIFUGE_SHIELD = 50053
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user