Scripts/Freya: Fix Lumberjacked Achieve

Closes #13435
Fixes #8166
This commit is contained in:
treak
2014-10-27 01:25:39 +00:00
committed by DDuarte
parent 1494583d03
commit e0512dd4b4
3 changed files with 29 additions and 1 deletions

View File

@@ -0,0 +1 @@
UPDATE `spell_dbc` SET `Effect1` = 3, `EffectImplicitTargetA1` = 22, `EffectImplicitTargetB1` = 7, `EffectRadiusIndex1` = 28 WHERE `Id` = 65296;

View File

@@ -78,6 +78,7 @@ class instance_ulduar : public InstanceMapScript
illusion = 0;
keepersCount = 0;
conSpeedAtory = false;
lumberjacked = false;
Unbroken = true;
IsDriveMeCrazyEligible = true;
_algalonSummoned = false;
@@ -102,6 +103,7 @@ class instance_ulduar : public InstanceMapScript
ObjectGuid ThorimGUID;
ObjectGuid FreyaGUID;
ObjectGuid ElderGUIDs[3];
ObjectGuid FreyaAchieveTriggerGUID;
ObjectGuid MimironGUID;
ObjectGuid MimironVehicleGUIDs[3];
ObjectGuid MimironComputerGUID;
@@ -141,6 +143,7 @@ class instance_ulduar : public InstanceMapScript
uint8 illusion;
uint8 keepersCount;
bool conSpeedAtory;
bool lumberjacked;
bool Unbroken;
bool IsDriveMeCrazyEligible;
@@ -321,7 +324,10 @@ class instance_ulduar : public InstanceMapScript
ElderGUIDs[2] = creature->GetGUID();
if (GetBossState(BOSS_FREYA) == DONE)
creature->DespawnOrUnsummon();
break;
break;
case NPC_FREYA_ACHIEVE_TRIGGER:
FreyaAchieveTriggerGUID = creature->GetGUID();
break;
// Mimiron
case NPC_MIMIRON:
@@ -606,6 +612,15 @@ class instance_ulduar : public InstanceMapScript
conSpeedAtory = true;
}
break;
case NPC_IRONBRANCH:
case NPC_STONEBARK:
case NPC_BRIGHTLEAF:
if (!lumberjacked)
{
DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, CRITERIA_LUMBERJACKED);
lumberjacked = true;
}
break;
default:
break;
}
@@ -669,6 +684,13 @@ class instance_ulduar : public InstanceMapScript
if (state == DONE)
instance->SummonCreature(NPC_FREYA_OBSERVATION_RING, ObservationRingKeepersPos[0]);
break;
case BOSS_IRONBRANCH:
case BOSS_STONEBARK:
case BOSS_BRIGHTLEAF:
if (GetBossState(BOSS_BRIGHTLEAF) == DONE && GetBossState(BOSS_IRONBRANCH) == DONE && GetBossState(BOSS_STONEBARK) == DONE && GetBossState(BOSS_FREYA) != DONE)
if (Creature* trigger = instance->GetCreature(FreyaAchieveTriggerGUID))
trigger->CastSpell(trigger, SPELL_LUMBERJACKED_CREDIT, true);
break;
case BOSS_KOLOGARN:
if (state == DONE)
{

View File

@@ -129,6 +129,9 @@ enum UlduarNPCs
NPC_NATURES_BLADE = 33527,
NPC_GUARDIAN_OF_LIFE = 33528,
// Freya Achievement Trigger
NPC_FREYA_ACHIEVE_TRIGGER = 33406,
// Yogg-Saron
NPC_SARA = 33134,
NPC_GUARDIAN_OF_YOGG_SARON = 33136,
@@ -273,6 +276,7 @@ enum LeviathanActions
enum UlduarAchievementCriteriaIds
{
CRITERIA_CON_SPEED_ATORY = 21597,
CRITERIA_LUMBERJACKED = 21686,
CRITERIA_DISARMED = 21687,
CRITERIA_WAITS_DREAMING_STORMWIND_25 = 10321,
CRITERIA_WAITS_DREAMING_CHAMBER_25 = 10322,
@@ -362,6 +366,7 @@ enum UlduarAchievementData
DATA_UNBROKEN = 29052906, // 2905, 2906 are achievement IDs,
MAX_HERALD_ARMOR_ITEMLEVEL = 226,
MAX_HERALD_WEAPON_ITEMLEVEL = 232,
SPELL_LUMBERJACKED_CREDIT = 65296
};
enum UlduarEvents