Core/Scripts Implemented Boss Ahune

Implemented Midsummer Fire Festival event Boss, Ahune
This commit is contained in:
sirikfoll
2016-03-04 14:17:21 -03:00
committed by Aokromes
parent e0feca4e9a
commit 51671ccec9
5 changed files with 1512 additions and 6 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -31,15 +31,125 @@ class instance_the_slave_pens : public InstanceMapScript
public:
instance_the_slave_pens() : InstanceMapScript(SPScriptName, 547) { }
struct instance_the_slave_pens_InstanceMapScript : public InstanceScript
{
instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map)
{
counter = DATA_FLAMECALLER_000;
}
void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
case NPC_AHUNE:
AhuneGUID = creature->GetGUID();
break;
case NPC_FROZEN_CORE:
FrozenCoreGUID = creature->GetGUID();
break;
case NPC_AHUNE_LOC_BUNNY:
AhuneBunnyGUID = creature->GetGUID();
break;
case NPC_SHAMAN_BONFIRE_BUNNY_000:
BonfireBunnyGUIDs[0] = creature->GetGUID();
break;
case NPC_SHAMAN_BONFIRE_BUNNY_001:
BonfireBunnyGUIDs[1] = creature->GetGUID();
break;
case NPC_SHAMAN_BONFIRE_BUNNY_002:
BonfireBunnyGUIDs[2] = creature->GetGUID();
break;
case NPC_SHAMAN_BEAM_BUNNY_000:
BeamBunnyGUIDs[0] = creature->GetGUID();
break;
case NPC_SHAMAN_BEAM_BUNNY_001:
BeamBunnyGUIDs[1] = creature->GetGUID();
break;
case NPC_SHAMAN_BEAM_BUNNY_002:
BeamBunnyGUIDs[2] = creature->GetGUID();
break;
case NPC_LUMA_SKYMOTHER:
LumaGUID = creature->GetGUID();
break;
case NPC_EARTHEN_RING_FLAMECALLER:
SetGuidData(counter, creature->GetGUID());
++counter;
break;
default:
break;
}
}
void SetGuidData(uint32 data, ObjectGuid guid)
{
switch (data)
{
case DATA_FLAMECALLER_000:
FlameCallerGUIDs[0] = guid;
break;
case DATA_FLAMECALLER_001:
FlameCallerGUIDs[1] = guid;
break;
case DATA_FLAMECALLER_002:
FlameCallerGUIDs[2] = guid;
break;
default:
break;
}
}
ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
case DATA_AHUNE:
return AhuneGUID;
case DATA_AHUNE_BUNNY:
return AhuneBunnyGUID;
case DATA_FROZEN_CORE:
return FrozenCoreGUID;
case DATA_FLAMECALLER_000:
return FlameCallerGUIDs[0];
case DATA_FLAMECALLER_001:
return FlameCallerGUIDs[1];
case DATA_FLAMECALLER_002:
return FlameCallerGUIDs[2];
case DATA_BONFIRE_BUNNY_000:
return BonfireBunnyGUIDs[0];
case DATA_BONFIRE_BUNNY_001:
return BonfireBunnyGUIDs[1];
case DATA_BONFIRE_BUNNY_002:
return BonfireBunnyGUIDs[2];
case DATA_BEAM_BUNNY_000:
return BeamBunnyGUIDs[0];
case DATA_BEAM_BUNNY_001:
return BeamBunnyGUIDs[1];
case DATA_BEAM_BUNNY_002:
return BeamBunnyGUIDs[2];
case DATA_LUMA_SKYMOTHER:
return LumaGUID;
default:
break;
}
return ObjectGuid::Empty;
}
protected:
ObjectGuid AhuneGUID;
ObjectGuid AhuneBunnyGUID;
ObjectGuid FrozenCoreGUID;
ObjectGuid LumaGUID;
ObjectGuid FlameCallerGUIDs[3];
ObjectGuid BonfireBunnyGUIDs[3];
ObjectGuid BeamBunnyGUIDs[3];
uint8 counter;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_slave_pens_InstanceMapScript(map);
}
struct instance_the_slave_pens_InstanceMapScript : public InstanceScript
{
instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
void AddSC_instance_the_slave_pens()

View File

@@ -27,7 +27,43 @@ enum DataTypes
{
DATA_MENNU_THE_BETRAYER = 1,
DATA_ROKMAR_THE_CRACKLER = 2,
DATA_QUAGMIRRAN = 3
DATA_QUAGMIRRAN = 3,
DATA_AHUNE = 4,
DATA_AHUNE_BUNNY = 5,
DATA_FROZEN_CORE = 6,
DATA_FLAMECALLER_000 = 7,
DATA_FLAMECALLER_001 = 8,
DATA_FLAMECALLER_002 = 9,
DATA_BONFIRE_BUNNY_000 = 10,
DATA_BONFIRE_BUNNY_001 = 11,
DATA_BONFIRE_BUNNY_002 = 12,
DATA_BEAM_BUNNY_000 = 13,
DATA_BEAM_BUNNY_001 = 14,
DATA_BEAM_BUNNY_002 = 15,
DATA_LUMA_SKYMOTHER = 16
};
enum CreaturesIds
{
NPC_AHUNE = 25740,
NPC_FROZEN_CORE = 25865,
NPC_LUMA_SKYMOTHER = 25697,
NPC_AHUNE_LOC_BUNNY = 25745,
NPC_EARTHEN_RING_FLAMECALLER = 25754,
NPC_SHAMAN_BONFIRE_BUNNY_000 = 25971,
NPC_SHAMAN_BONFIRE_BUNNY_001 = 25972,
NPC_SHAMAN_BONFIRE_BUNNY_002 = 25973,
NPC_SHAMAN_BEAM_BUNNY_000 = 25964,
NPC_SHAMAN_BEAM_BUNNY_001 = 25965,
NPC_SHAMAN_BEAM_BUNNY_002 = 25966,
NPC_WHISP_DEST_BUNNY = 26120,
NPC_WHISP_SOURCE_BUNNY = 26121
};
enum GameObjectIds
{
GO_ICE_SPEAR = 188077,
GO_ICE_STONE = 187882
};
#endif // SLAVE_PENS_H

View File

@@ -72,6 +72,7 @@ void AddSC_instance_the_slave_pens();
void AddSC_boss_mennu_the_betrayer();
void AddSC_boss_rokmar_the_crackler();
void AddSC_boss_quagmirran();
void AddSC_boss_ahune();
// Coilfang Reservoir - The Underbog
void AddSC_instance_the_underbog();
@@ -193,6 +194,7 @@ void AddOutlandScripts()
AddSC_boss_mennu_the_betrayer();
AddSC_boss_rokmar_the_crackler();
AddSC_boss_quagmirran();
AddSC_boss_ahune();
// Coilfang Reservoir - The Underbog
AddSC_instance_the_underbog();