aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2011_05_30_04_world_creature_template.sql1
-rw-r--r--sql/updates/world/2011_05_30_04_world_creature_template_addon.sql1
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp29
3 files changed, 12 insertions, 19 deletions
diff --git a/sql/updates/world/2011_05_30_04_world_creature_template.sql b/sql/updates/world/2011_05_30_04_world_creature_template.sql
new file mode 100644
index 00000000000..140a7f2d7be
--- /dev/null
+++ b/sql/updates/world/2011_05_30_04_world_creature_template.sql
@@ -0,0 +1 @@
+UPDATE `creature_template` SET `unit_flags`=`unit_flags`|0x02000000|0x00000002,`dynamicflags`=0,`faction_A`=50,`faction_H`=50 WHERE `entry`=15224;
diff --git a/sql/updates/world/2011_05_30_04_world_creature_template_addon.sql b/sql/updates/world/2011_05_30_04_world_creature_template_addon.sql
new file mode 100644
index 00000000000..1caf62bae15
--- /dev/null
+++ b/sql/updates/world/2011_05_30_04_world_creature_template_addon.sql
@@ -0,0 +1 @@
+INSERT INTO `creature_template_addon` (`entry`,`auras`) VALUES (15224, '24777');
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 1ab10e2dcf2..7f0f63e5cd3 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -102,8 +102,6 @@ struct emerald_dragonAI : public WorldBossAI
{
emerald_dragonAI(Creature* creature) : WorldBossAI(creature)
{
- // Emerald Dragons are immune to nature
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
void Reset()
@@ -174,7 +172,7 @@ struct emerald_dragonAI : public WorldBossAI
* TODO:
* - Change to random targets on random intervals(?)
* - Check if targets are selected based on threatlevel(?)
- * - Spell: Check for some disrupancies with the dreamfog triggering
+ * - Spell: Dream Fog needs a spellscript
*
*/
@@ -191,37 +189,31 @@ class npc_dream_fog : public CreatureScript
void Reset()
{
- _activeFog = false;
_roamTimer = 0;
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NON_ATTACKABLE);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 const diff)
{
if (!UpdateVictim())
return;
- if (!_activeFog)
- {
- DoCast(SPELL_DREAM_FOG);
- _activeFog = true;
- }
-
if (!_roamTimer)
{
// Chase target, but don't attack - otherwise just roam around
- Unit* target = SelectTarget(SELECT_TARGET_RANDOM);
+ Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true);
if (target)
+ {
me->GetMotionMaster()->MoveChase(target);
+ }
else
me->GetMotionMaster()->MoveIdle();
- _roamTimer = 15000;
+ _roamTimer = urand(10000, 20000);
}
- --_roamTimer;
+ else
+ _roamTimer -= diff;
}
private:
- bool _activeFog;
uint32 _roamTimer;
};
@@ -423,7 +415,7 @@ class npc_demented_druid : public CreatureScript
* TODO:
* - NPC helper for spirit shades(?)
* - Spirit shade NPC moves towards Lethon and heals him if close enough (each shade heals for 15000 HP)
- * - Spell: Shadow bolt whirl needs custom handling
+ * - Spell: Shadow bolt whirl needs custom handling (spellscript)
*
*/
@@ -628,7 +620,7 @@ class boss_emeriss : public CreatureScript
*
* TODO:
* - Fix shademode and reset-issues on evade
- * - Main functionality for this dragon is complete, need dreamfog/modelfixing
+ *
*/
enum TaerarTexts
@@ -809,7 +801,6 @@ class boss_shadeoftaerar : public CreatureScript
{
boss_shadeoftaerarAI(Creature* creature) : ScriptedAI(creature)
{
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
void Reset()