mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
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:
@@ -1764,7 +1764,7 @@ UPDATE `outdoorpvp_template` SET `ScriptName`='outdoorpvp_si' WHERE `TypeId`=5;
|
||||
UPDATE `outdoorpvp_template` SET `ScriptName`='outdoorpvp_ep' WHERE `TypeId`=6;
|
||||
|
||||
/* ACHIEVEMENTS */
|
||||
DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (3693,6641,6642,6643,6644,3804,3805,3806,3807,3808,3809,3810,3811,3812,3813,1234,1239,5605,5606,12778,13036,13035,13037,12977,12967,12986,12982,12993,12780,13012,13011,13013,12062,12063,12064,12065,12183,12068,12060,12061,12822,12996,12972,12989) AND `type` IN (0,11);
|
||||
DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (3693,6641,6642,6643,6644,3804,3805,3806,3807,3808,3809,3810,3811,3812,3813,1234,1239,5605,5606,12778,13036,13035,13037,12977,12967,12986,12982,12993,12780,13012,13011,13013,12062,12063,12064,12065,12183,12068,12060,12061,12822,12996,12972,12989,10062,10063,10054,10055,10046,10047,10048,10049,10050,10051,10044,10045) AND `type` IN (0,11);
|
||||
INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) VALUES
|
||||
(3693,11,0,0, 'achievement_storm_glory'),
|
||||
(6641,11,0,0, 'achievement_school_of_hard_knocks'),
|
||||
@@ -1809,7 +1809,19 @@ INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,
|
||||
(12822,11,0,0, 'achievement_all_you_can_eat'),
|
||||
(12996,11,0,0, 'achievement_all_you_can_eat'),
|
||||
(12972,11,0,0, 'achievement_all_you_can_eat'),
|
||||
(12989,11,0,0, 'achievement_all_you_can_eat');
|
||||
(12989,11,0,0, 'achievement_all_you_can_eat'),
|
||||
(10044,11,0,0, 'achievement_unbroken'),
|
||||
(10045,11,0,0, 'achievement_unbroken'),
|
||||
(10054,11,0,0, 'achievement_shutout'),
|
||||
(10055,11,0,0, 'achievement_shutout'),
|
||||
(10046,11,0,0, 'achievement_three_car_garage_chopper'),
|
||||
(10047,11,0,0, 'achievement_three_car_garage_siege'),
|
||||
(10048,11,0,0, 'achievement_three_car_garage_demolisher'),
|
||||
(10049,11,0,0, 'achievement_three_car_garage_chopper'),
|
||||
(10050,11,0,0, 'achievement_three_car_garage_siege'),
|
||||
(10051,11,0,0, 'achievement_three_car_garage_demolisher'),
|
||||
(10062,11,0,0, 'achievement_quick_shave'),
|
||||
(10063,11,0,0, 'achievement_quick_shave');
|
||||
|
||||
/* SPELLS */
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (10062,10063,10054,10055,10046,10047,10048,10049,10050,10051,10044,10045);
|
||||
INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) VALUES
|
||||
(10062,12,0,0, 'achievement_quick_shave'),
|
||||
(10063,12,1,0, 'achievement_quick_shave'),
|
||||
(10044,12,0,0, 'achievement_unbroken'),
|
||||
(10045,12,1,0, 'achievement_unbroken'),
|
||||
(10054,12,0,0, 'achievement_shutout'),
|
||||
(10055,12,1,0, 'achievement_shutout'),
|
||||
(10046,12,0,0, 'achievement_three_car_garage_chopper'),
|
||||
(10047,12,0,0, 'achievement_three_car_garage_siege'),
|
||||
(10048,12,0,0, 'achievement_three_car_garage_demolisher'),
|
||||
(10049,12,1,0, 'achievement_three_car_garage_chopper'),
|
||||
(10050,12,1,0, 'achievement_three_car_garage_siege'),
|
||||
(10051,12,1,0, 'achievement_three_car_garage_demolisher'),
|
||||
(10062,11,0,0, 'achievement_quick_shave'),
|
||||
(10063,11,0,0, 'achievement_quick_shave'),
|
||||
(10044,11,0,0, 'achievement_unbroken'),
|
||||
(10045,11,0,0, 'achievement_unbroken'),
|
||||
(10054,11,0,0, 'achievement_shutout'),
|
||||
(10055,11,0,0, 'achievement_shutout'),
|
||||
(10046,11,0,0, 'achievement_three_car_garage_chopper'),
|
||||
(10047,11,0,0, 'achievement_three_car_garage_siege'),
|
||||
(10048,11,0,0, 'achievement_three_car_garage_demolisher'),
|
||||
(10049,11,0,0, 'achievement_three_car_garage_chopper'),
|
||||
(10050,11,0,0, 'achievement_three_car_garage_siege'),
|
||||
(10051,11,0,0, 'achievement_three_car_garage_demolisher');
|
||||
|
||||
-- Remove disabled entries
|
||||
DELETE FROM `disables` WHERE `sourceType`=4 AND `entry` IN (10044,10045,10046,10047,10048,10049,10050,10051,10054,10055,10062,10063);
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user