aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2014_10_27_00_world.sql1
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp24
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h5
3 files changed, 29 insertions, 1 deletions
diff --git a/sql/updates/world/2014_10_27_00_world.sql b/sql/updates/world/2014_10_27_00_world.sql
new file mode 100644
index 00000000000..d4526804133
--- /dev/null
+++ b/sql/updates/world/2014_10_27_00_world.sql
@@ -0,0 +1 @@
+UPDATE `spell_dbc` SET `Effect1` = 3, `EffectImplicitTargetA1` = 22, `EffectImplicitTargetB1` = 7, `EffectRadiusIndex1` = 28 WHERE `Id` = 65296;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index a1ac2c8dfbf..5e8273dce67 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -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)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
index 9b95d7cf7b8..82c4ef140f1 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
@@ -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