aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorneuro_999 <neuro_999@trinitycore.contributor>2011-05-15 17:34:57 +0700
committertobmaps <spambot42@yandex.ru>2011-05-15 17:34:57 +0700
commitcd70ff40e2278f8659a0eadc9d7cc7f757c1c3a1 (patch)
tree6b84da990d652b8b70af6d7e682af5e36fb670b3 /src
parent2cd2d2dd8af6cc49e9a5fc3f96789253ec2f58d3 (diff)
Scripts/RazorfenKraul: Fix force field before boss Agathelos the Raging
Closes #712
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Scripting/ScriptLoader.cpp2
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp28
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp48
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h2
5 files changed, 15 insertions, 67 deletions
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index 0119d65226e..3b896ce192b 100755
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -298,6 +298,7 @@ void AddSC_boss_amnennar_the_coldbringer(); //Razorfen Downs
void AddSC_razorfen_downs();
void AddSC_instance_razorfen_downs();
void AddSC_razorfen_kraul(); //Razorfen Kraul
+void AddSC_instance_razorfen_kraul();
void AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
void AddSC_boss_rajaxx();
void AddSC_boss_moam();
@@ -901,6 +902,7 @@ void AddKalimdorScripts()
AddSC_razorfen_downs();
AddSC_instance_razorfen_downs();
AddSC_razorfen_kraul(); //Razorfen Kraul
+ AddSC_instance_razorfen_kraul();
AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
AddSC_boss_rajaxx();
AddSC_boss_moam();
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index d5e8601be73..48a22f4f9ec 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1511,7 +1511,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask, bool
m_originalCaster->ModSpellCastTime(aurSpellInfo, duration, this);
}
// and duration of auras affected by SPELL_AURA_PERIODIC_HASTE
- else if (m_originalCaster->HasAuraTypeWithAffectMask(SPELL_AURA_PERIODIC_HASTE, aurSpellInfo) || (m_spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION))
+ else if (m_originalCaster->HasAuraTypeWithAffectMask(SPELL_AURA_PERIODIC_HASTE, aurSpellInfo) || m_spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION)
duration = int32(duration * m_originalCaster->GetFloatValue(UNIT_MOD_CAST_SPEED));
if (duration != m_spellAura->GetMaxDuration())
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index b1bd2f19052..3a772f55bc1 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -43,13 +43,11 @@ public:
instance_razorfen_kraul_InstanceMapScript(Map* pMap) : InstanceScript(pMap) {}
uint64 DoorWardGUID;
- uint32 WardCheck_Timer;
- int WardKeeperAlive;
+ int WardKeeperDeath;
void Initialize()
{
- WardKeeperAlive = 1;
- WardCheck_Timer = 4000;
+ WardKeeperDeath = 0;
DoorWardGUID = 0;
}
@@ -73,29 +71,25 @@ public:
{
switch(go->GetEntry())
{
- case 21099: DoorWardGUID = go->GetGUID(); break;
+ case 21099: DoorWardGUID = go->GetGUID(); break;
}
}
- void Update(uint32 diff)
+ void Update(uint32 /*diff*/)
{
- if (WardCheck_Timer <= diff)
- {
- HandleGameObject(DoorWardGUID, WardKeeperAlive);
- WardKeeperAlive = 0;
- WardCheck_Timer = 4000;
- }else
- WardCheck_Timer -= diff;
+ if (WardKeeperDeath == WARD_KEEPERS_NR)
+ if(GameObject* pGo = instance->GetGameObject(DoorWardGUID))
+ {
+ pGo->SetUInt32Value(GAMEOBJECT_FLAGS, 33);
+ pGo->SetGoState(GO_STATE_ACTIVE);
+ }
}
void SetData(uint32 type, uint32 data)
{
switch(type)
{
- case TYPE_WARD_KEEPERS:
- if (data == NOT_STARTED)
- WardKeeperAlive = 1;
- break;
+ case EVENT_WARD_KEEPER: WardKeeperDeath++; break;
}
}
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index 8fc0c83f83d..cced38cb8c1 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -45,7 +45,6 @@ EndContentData */
#define QUEST_WILLIX_THE_IMPORTER 1144
#define ENTRY_BOAR 4514
-#define SPELL_QUILLBOAR_CHANNELING 7083
class npc_willix : public CreatureScript
{
@@ -146,54 +145,7 @@ public:
};
-class npc_deaths_head_ward_keeper : public CreatureScript
-{
-public:
- npc_deaths_head_ward_keeper() : CreatureScript("npc_deaths_head_ward_keeper") { }
-
- CreatureAI* GetAI(Creature* pCreature) const
- {
- return new npc_deaths_head_ward_keeperAI(pCreature);
- }
-
- struct npc_deaths_head_ward_keeperAI : public ScriptedAI
- {
- npc_deaths_head_ward_keeperAI(Creature *c) : ScriptedAI(c)
- {
- pInstance = c->GetInstanceScript();
- }
-
- InstanceScript *pInstance;
- uint32 QuillboarChanneling_Timer;
-
- void Reset()
- {
- QuillboarChanneling_Timer = 1500;
- }
-
- void UpdateAI(const uint32 diff)
- {
- if (!me->isAlive())
- return;
-
- if (pInstance)
- pInstance->SetData(TYPE_WARD_KEEPERS, NOT_STARTED);
-
- if (QuillboarChanneling_Timer <= diff)
- {
- if (me->IsNonMeleeSpellCasted(false))
- me->InterruptNonMeleeSpells(true);
- DoCast(me, SPELL_QUILLBOAR_CHANNELING);
- QuillboarChanneling_Timer = 1100;
- } else QuillboarChanneling_Timer -= diff;
-
- }
- };
-
-};
-
void AddSC_razorfen_kraul()
{
new npc_willix();
- new npc_deaths_head_ward_keeper();
}
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
index 2ef42e9af7c..4f54324536b 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h
@@ -19,5 +19,5 @@
#ifndef DEF_RAZORFEN_KRAUL_H
#define DEF_RAZORFEN_KRAUL_H
-#define TYPE_WARD_KEEPERS 1
+#define EVENT_WARD_KEEPER 1
#endif