Scripts/Ulduar:

Some cleanup in Flame Leviathan script
Add support for Shutout - Three Car Garage - Unbroken - Quick Shave
Add reset to Razorscale controller on fight end
This commit is contained in:
Supabad
2011-03-26 10:00:41 +01:00
committed by Shauren
parent 18995661a7
commit e494a154c7
8 changed files with 994 additions and 862 deletions
+3 -3
View File
@@ -73,9 +73,9 @@ class CreatureAI : public UnitAI
void SetGazeOn(Unit* target);
Creature *DoSummon(uint32 uiEntry, const Position &pos, uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
Creature *DoSummon(uint32 uiEntry, WorldObject *obj, float fRadius = 5.0f, uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
Creature *DoSummonFlyer(uint32 uiEntry, WorldObject *obj, float fZ, float fRadius = 5.0f, uint32 uiDespawntime = 30000, TempSummonType uiType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
Creature* DoSummon(uint32 entry, Position const& pos, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
Creature* DoSummon(uint32 entry, WorldObject *obj, float radius = 5.0f, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
Creature* DoSummonFlyer(uint32 entry, WorldObject *obj, float flightZ, float radius = 5.0f, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN);
public:
void Talk(uint8 id, uint64 WhisperGuid = 0);
+9 -9
View File
@@ -584,24 +584,24 @@ inline void UnitAI::DoCastAOE(uint32 spellId, bool triggered)
me->CastSpell((Unit*)NULL, spellId, triggered);
}
inline Creature *CreatureAI::DoSummon(uint32 uiEntry, const Position &pos, uint32 uiDespawntime, TempSummonType uiType)
inline Creature* CreatureAI::DoSummon(uint32 entry, const Position &pos, uint32 despawnTime, TempSummonType summonType)
{
return me->SummonCreature(uiEntry, pos, uiType, uiDespawntime);
return me->SummonCreature(entry, pos, summonType, despawnTime);
}
inline Creature *CreatureAI::DoSummon(uint32 uiEntry, WorldObject* obj, float fRadius, uint32 uiDespawntime, TempSummonType uiType)
inline Creature* CreatureAI::DoSummon(uint32 entry, WorldObject* obj, float radius, uint32 despawnTime, TempSummonType summonType)
{
Position pos;
obj->GetRandomNearPosition(pos, fRadius);
return me->SummonCreature(uiEntry, pos, uiType, uiDespawntime);
obj->GetRandomNearPosition(pos, radius);
return me->SummonCreature(entry, pos, summonType, despawnTime);
}
inline Creature *CreatureAI::DoSummonFlyer(uint32 uiEntry, WorldObject *obj, float _fZ, float fRadius, uint32 uiDespawntime, TempSummonType uiType)
inline Creature* CreatureAI::DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius, uint32 despawnTime, TempSummonType summonType)
{
Position pos;
obj->GetRandomNearPosition(pos, fRadius);
pos.m_positionZ += _fZ;
return me->SummonCreature(uiEntry, pos, uiType, uiDespawntime);
obj->GetRandomNearPosition(pos, radius);
pos.m_positionZ += flightZ;
return me->SummonCreature(entry, pos, summonType, despawnTime);
}
#endif
File diff suppressed because it is too large Load Diff
@@ -87,8 +87,6 @@ enum Actions
ACTION_GROUND_PHASE = 2,
ACTION_HARPOON_BUILD = 3,
ACTION_PLACE_BROKEN_HARPOON = 4,
ACTION_HARPOON_VISUAL = 5,
ACTION_HARPOON_CAST = 6,
ACTION_COMMANDER_RESET = 7,
};
@@ -350,6 +348,8 @@ class boss_razorscale : public CreatureScript
void JustDied(Unit* /*who*/)
{
_JustDied();
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance ? instance->GetData64(DATA_RAZORSCALE_CONTROL) : 0))
controller->AI()->Reset();
}
void SpellHit(Unit* /*caster*/, SpellEntry const* spell)
@@ -40,7 +40,6 @@ public:
uint32 uiEncounter[MAX_ENCOUNTER];
std::string m_strInstData;
uint8 flag;
uint64 uiLeviathanGUID;
uint64 uiIgnisGUID;
@@ -101,7 +100,6 @@ public:
uiFreyaChestGUID = 0;
uiLeviathanGateGUID = 0;
uiVezaxDoorGUID = 0;
flag = 0;
memset(uiEncounter, 0, sizeof(uiEncounter));
memset(uiAssemblyGUIDs, 0, sizeof(uiAssemblyGUIDs));
@@ -417,20 +415,6 @@ public:
return 0;
}
bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/)
{
switch (criteria_id)
{
case ACHIEVEMENT_CRITERIA_HOT_POCKET_10:
return true;
case ACHIEVEMENT_CRITERIA_HOT_POCKET_25:
return true;
default:
break;
}
return false;
}
uint32 GetData(uint32 type)
{
switch(type)
@@ -115,8 +115,20 @@ enum eTowerEvents
enum eAchievementCriteria
{
ACHIEVEMENT_CRITERIA_HOT_POCKET_10 = 10430, //ignis
ACHIEVEMENT_UNBROKEN_10 = 10044, // Leviathan
ACHIEVEMENT_UNBROKEN_25 = 10045,
ACHIEVEMENT_CRITERIA_SHUTOUT_10 = 10054,
ACHIEVEMENT_CRITERIA_SHUTOUT_25 = 10055,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_CHOPPER_10 = 10046,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_SIEGE_10 = 10047,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_DEMOLISHER_10 = 10048,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_CHOPPER_25 = 10049,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_SIEGE_25 = 10050,
ACHIEVEMENT_CRITERIA_3_CAR_GARAGE_DEMOLISHER_25 = 10051,
ACHIEVEMENT_CRITERIA_HOT_POCKET_10 = 10430, // Ignis
ACHIEVEMENT_CRITERIA_HOT_POCKET_25 = 10431,
ACHIEVEMENT_CRITERIA_QUICK_SHAVE_10 = 10062, // Razorscale
ACHIEVEMENT_CRITERIA_QUICK_SHAVE_25 = 10063,
};
#endif