mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
Scripts/TheSlavePens: Boss Ahune fixes and updates
Fixes some visual problems Fixes encounter start Updated codestyle Closes #22071
This commit is contained in:
13
sql/updates/world/3.3.5/2018_06_22_00_world.sql
Normal file
13
sql/updates/world/3.3.5/2018_06_22_00_world.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
DELETE FROM `creature` WHERE `guid` IN(73427,73428);
|
||||
INSERT INTO `creature` (`guid`,`id`,`map`,`zoneId`,`areaId`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`,`ScriptName`,`VerifiedBuild`) VALUES
|
||||
(73427,26121,547,0,0,1,1,0,0,-69.8121,-162.4954,-2.30451,1.710423,300,0,0,1,1,0,0,0,0,'',0),
|
||||
(73428,26120,547,0,0,1,1,0,0,-98.1029,-230.7864,-10.8085,1.448623,300,0,0,1,1,0,0,0,0,'',0);
|
||||
|
||||
DELETE FROM `game_event_creature` WHERE `eventEntry`=1 AND `guid` IN(73427,73428);
|
||||
INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES
|
||||
(1,73427),
|
||||
(1,73428);
|
||||
|
||||
DELETE FROM `creature_template_movement` WHERE `CreatureId`=26120;
|
||||
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`) VALUES
|
||||
(26120,0,0,1,0);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,6 +28,21 @@ gets instead the deserter debuff.
|
||||
#include "Map.h"
|
||||
#include "the_slave_pens.h"
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ NPC_AHUNE, DATA_AHUNE },
|
||||
{ NPC_FROZEN_CORE, DATA_FROZEN_CORE },
|
||||
{ NPC_AHUNE_LOC_BUNNY, DATA_AHUNE_BUNNY },
|
||||
{ NPC_SHAMAN_BONFIRE_BUNNY_000, DATA_BONFIRE_BUNNY_000 },
|
||||
{ NPC_SHAMAN_BONFIRE_BUNNY_001, DATA_BONFIRE_BUNNY_001 },
|
||||
{ NPC_SHAMAN_BONFIRE_BUNNY_002, DATA_BONFIRE_BUNNY_002 },
|
||||
{ NPC_SHAMAN_BEAM_BUNNY_000, DATA_BEAM_BUNNY_000 },
|
||||
{ NPC_SHAMAN_BEAM_BUNNY_001, DATA_BEAM_BUNNY_001 },
|
||||
{ NPC_SHAMAN_BEAM_BUNNY_002, DATA_BEAM_BUNNY_002 },
|
||||
{ NPC_LUMA_SKYMOTHER, DATA_LUMA_SKYMOTHER },
|
||||
{ 0, 0, }
|
||||
};
|
||||
|
||||
class instance_the_slave_pens : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -38,66 +53,30 @@ public:
|
||||
instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map)
|
||||
{
|
||||
counter = DATA_FLAMECALLER_000;
|
||||
LoadObjectData(creatureData, nullptr);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
InstanceScript::OnCreatureCreate(creature);
|
||||
|
||||
void SetGuidData(uint32 data, ObjectGuid guid) override
|
||||
{
|
||||
switch (data)
|
||||
if (creature->GetEntry() == NPC_EARTHEN_RING_FLAMECALLER)
|
||||
{
|
||||
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;
|
||||
switch (counter)
|
||||
{
|
||||
case DATA_FLAMECALLER_000:
|
||||
FlameCallerGUIDs[0] = creature->GetGUID();
|
||||
break;
|
||||
case DATA_FLAMECALLER_001:
|
||||
FlameCallerGUIDs[1] = creature->GetGUID();
|
||||
break;
|
||||
case DATA_FLAMECALLER_002:
|
||||
FlameCallerGUIDs[2] = creature->GetGUID();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
++counter;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,32 +84,12 @@ public:
|
||||
{
|
||||
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;
|
||||
}
|
||||
@@ -138,13 +97,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
ObjectGuid AhuneGUID;
|
||||
ObjectGuid AhuneBunnyGUID;
|
||||
ObjectGuid FrozenCoreGUID;
|
||||
ObjectGuid LumaGUID;
|
||||
ObjectGuid FlameCallerGUIDs[3];
|
||||
ObjectGuid BonfireBunnyGUIDs[3];
|
||||
ObjectGuid BeamBunnyGUIDs[3];
|
||||
uint8 counter;
|
||||
};
|
||||
|
||||
|
||||
@@ -57,9 +57,7 @@ enum SPCreaturesIds
|
||||
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
|
||||
NPC_SHAMAN_BEAM_BUNNY_002 = 25966
|
||||
};
|
||||
|
||||
enum SPGameObjectIds
|
||||
@@ -74,4 +72,6 @@ inline AI* GetSlavePensAI(T* obj)
|
||||
return GetInstanceAI<AI>(obj, SPScriptName);
|
||||
}
|
||||
|
||||
#define RegisterSlavePensCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetSlavePensAI)
|
||||
|
||||
#endif // SLAVE_PENS_H
|
||||
|
||||
Reference in New Issue
Block a user