aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAston <none@none>2009-07-12 13:38:38 +0200
committerQAston <none@none>2009-07-12 13:38:38 +0200
commit04a39ce6df016223ca44683c71cfc83d70ca6ab8 (patch)
tree02b2c803ecb2a3d6f9066511f37bbac3ef12fc42
parent2750d95a5d644a6d1a7b30001f69c80007e4cfd5 (diff)
*Fix sniper training - by Astellar.
*Correct GO delete call in Gameobject::Update. --HG-- branch : trunk
-rw-r--r--src/game/GameObject.cpp7
-rw-r--r--src/game/SpellAuras.cpp40
2 files changed, 35 insertions, 12 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp
index 59ca3dd26cf..6e603346020 100644
--- a/src/game/GameObject.cpp
+++ b/src/game/GameObject.cpp
@@ -432,10 +432,11 @@ void GameObject::Update(uint32 /*p_time*/)
if(GetOwnerGUID())
{
if(Unit* owner = GetOwner())
+ {
owner->RemoveGameObject(this, false);
-
- SetRespawnTime(0);
- Delete();
+ SetRespawnTime(0);
+ Delete();
+ }
return;
}
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 4e2942eda1c..20393034b5f 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2242,11 +2242,33 @@ void AuraEffect::TriggerSpell()
}
break;
}
+ case SPELLFAMILY_HUNTER:
+ {
+ switch (auraId)
+ {
+ // Sniper training
+ case 53302:
+ case 53303:
+ case 53304:
+ if (m_target->GetTypeId() != TYPEID_PLAYER)
+ return;
-// case SPELLFAMILY_HUNTER:
-// {
-// switch(auraId)
-// {
+ if (((Player*)m_target)->isMoving())
+ {
+ m_amount = m_target->CalculateSpellDamage(m_spellProto,m_effIndex,m_currentBasePoints,m_target);
+ return;
+ }
+
+ // We are standing at the moment
+ if (m_amount > 0)
+ {
+ --m_amount;
+ return;
+ }
+
+ trigger_spell_id = 64418 + auraId - 53302;
+
+ break;
// //Frost Trap Aura
// case 13810:
// return;
@@ -2273,11 +2295,11 @@ void AuraEffect::TriggerSpell()
// case 30648: // Tame Greater Timberstrider
// case 30652: // Tame Nightstalker
// return;
-// default:
-// break;
-// }
-// break;
-// }
+ default:
+ break;
+ }
+ break;
+ }
case SPELLFAMILY_SHAMAN:
{
switch(auraId)