aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-30 23:38:21 -0500
committermegamage <none@none>2009-04-30 23:38:21 -0500
commit8a57a94eca3367dd11afdce7b11d3aba415ae0bf (patch)
tree1fd8c050c612d0a2e492cf54e9b4e5ec4a585608 /src/game
parentb3cb9fb007a51c98cefba626ba1ea59cab417f4e (diff)
parent570b148264b041a30e0b3ca453df0eacbe5bf4a4 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r--src/game/DynamicObject.cpp2
-rw-r--r--src/game/GridNotifiersImpl.h2
-rw-r--r--src/game/PetHandler.cpp2
-rw-r--r--src/game/SharedDefines.h5
-rw-r--r--src/game/Spell.cpp19
-rw-r--r--src/game/SpellEffects.cpp1
-rw-r--r--src/game/SpellMgr.cpp9
7 files changed, 18 insertions, 22 deletions
diff --git a/src/game/DynamicObject.cpp b/src/game/DynamicObject.cpp
index d294886619c..8969e4dfe04 100644
--- a/src/game/DynamicObject.cpp
+++ b/src/game/DynamicObject.cpp
@@ -88,7 +88,7 @@ bool DynamicObject::Create( uint32 guidlow, Unit *caster, uint32 spellId, uint32
SetUInt64Value( DYNAMICOBJECT_CASTER, caster->GetGUID() );
SetUInt32Value( DYNAMICOBJECT_BYTES, 0x00000001 );
SetUInt32Value( DYNAMICOBJECT_SPELLID, spellId );
- SetFloatValue( DYNAMICOBJECT_RADIUS, radius * 2); //diameter?
+ SetFloatValue( DYNAMICOBJECT_RADIUS, radius);
SetFloatValue( DYNAMICOBJECT_POS_X, x );
SetFloatValue( DYNAMICOBJECT_POS_Y, y );
SetFloatValue( DYNAMICOBJECT_POS_Z, z );
diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h
index 7fc6c147f5b..54cbff2c7bb 100644
--- a/src/game/GridNotifiersImpl.h
+++ b/src/game/GridNotifiersImpl.h
@@ -180,7 +180,7 @@ inline void Trinity::DynamicObjectUpdater::VisitHelper(Unit* target)
SpellEntry const *spellInfo = sSpellStore.LookupEntry(i_dynobject.GetSpellId());
uint32 eff_index = i_dynobject.GetEffIndex();
- if(spellInfo->EffectImplicitTargetB[eff_index] == TARGET_UNIT_AREA_ALLY_CHANNEL
+ if(spellInfo->EffectImplicitTargetB[eff_index] == TARGET_DEST_DYNOBJ_ALLY
|| spellInfo->EffectImplicitTargetB[eff_index] == TARGET_UNIT_AREA_ALLY_GROUND)
{
if(!i_check->IsFriendlyTo(target))
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index 6576a2a7622..71ae527e7d7 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -209,7 +209,7 @@ void WorldSession::HandlePetActionHelper(Unit *pet, uint64 guid1, uint16 spellid
for(uint32 i = 0; i < 3;++i)
{
- if(spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_INSTANT || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_CHANNELED)
+ if(spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_INSTANT || spellInfo->EffectImplicitTargetA[i] == TARGET_DEST_DYNOBJ_ENEMY)
return;
}
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index e6aaf8619bc..1cdf2359201 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -1032,9 +1032,8 @@ enum Targets
TARGET_GAMEOBJECT_ITEM = 26,
//TARGET_OBJECT_ITEM_PICKLOCK
TARGET_UNIT_MASTER = 27,
- TARGET_ALL_ENEMY_IN_AREA_CHANNELED = 28,
- TARGET_UNIT_AREA_ENEMY_CHANNEL = 28,
- TARGET_UNIT_AREA_ALLY_CHANNEL = 29, // 28,29 only used for effect 27, if interrupt channel, pstAA cancel
+ TARGET_DEST_DYNOBJ_ENEMY = 28,
+ TARGET_DEST_DYNOBJ_ALLY = 29, // only for effect 27
TARGET_ALL_FRIENDLY_UNITS_AROUND_CASTER = 30, // in TargetB used only with TARGET_ALL_AROUND_CASTER and in self casting range in TargetA
TARGET_UNIT_AREA_ALLY = 30,
TARGET_ALL_FRIENDLY_UNITS_IN_AREA = 31,
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 5ffb17d05ac..9590322617f 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1991,17 +1991,13 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
break;
}
- if(cur == TARGET_DEST_DEST)
- break;
-
- float x, y, z, angle, dist;
-
- dist = GetSpellRadiusForFriend(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
- if (cur == TARGET_DEST_DEST_RANDOM)
- dist *= rand_norm();
-
+ float angle;
switch(cur)
{
+ case TARGET_DEST_DYNOBJ_ENEMY:
+ case TARGET_DEST_DYNOBJ_ALLY:
+ case TARGET_DEST_DEST:
+ return;
case TARGET_DEST_DEST_FRONT: angle = 0.0f; break;
case TARGET_DEST_DEST_BACK: angle = M_PI; break;
case TARGET_DEST_DEST_RIGHT: angle = M_PI/2; break;
@@ -2013,6 +2009,11 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
default: angle = rand_norm()*2*M_PI; break;
}
+ float dist, x, y, z;
+ dist = GetSpellRadiusForFriend(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
+ if (cur == TARGET_DEST_DEST_RANDOM)
+ dist *= rand_norm();
+
x = m_targets.m_destX;
y = m_targets.m_destY;
z = m_targets.m_destZ;
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 04b3617f41b..a1ae00b17c8 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2758,7 +2758,6 @@ void Spell::EffectPersistentAA(uint32 i)
return;
}
dynObj->SetUInt32Value(OBJECT_FIELD_TYPE, 65);
- dynObj->SetUInt32Value(GAMEOBJECT_DISPLAYID, 368003);
dynObj->SetUInt32Value(DYNAMICOBJECT_BYTES, 0x01eeeeee);
caster->AddDynObject(dynObj);
dynObj->GetMap()->Add(dynObj);
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 6d93f292f8c..e4bee68d3a3 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -119,8 +119,6 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_AREA_ENTRY:
case TARGET_UNIT_AREA_PARTY_GROUND:
case TARGET_UNIT_AREA_PARTY:
- //case TARGET_UNIT_AREA_ENEMY_CHANNEL:
- //case TARGET_UNIT_AREA_ALLY_CHANNEL:
SpellTargetType[i] = TARGET_TYPE_AREA_DEST;
break;
case TARGET_DEST_TARGET_ENEMY:
@@ -153,6 +151,8 @@ SpellMgr::SpellMgr()
case TARGET_DEST_CASTER_RADIUS:
SpellTargetType[i] = TARGET_TYPE_DEST_CASTER;
break;
+ case TARGET_DEST_DYNOBJ_ENEMY:
+ case TARGET_DEST_DYNOBJ_ALLY:
case TARGET_DEST_DEST:
case TARGET_DEST_DEST_FRONT_LEFT:
case TARGET_DEST_DEST_BACK_LEFT:
@@ -182,9 +182,6 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_AREA_ENTRY:
case TARGET_UNIT_AREA_PARTY_GROUND:
case TARGET_UNIT_AREA_PARTY:
- //Check persistant aura seperately
- //case TARGET_UNIT_AREA_ENEMY_CHANNEL:
- //case TARGET_UNIT_AREA_ALLY_CHANNEL:
case TARGET_UNIT_PARTY_TARGET:
case TARGET_UNIT_PARTY_CASTER:
case TARGET_UNIT_CONE_ENEMY:
@@ -501,7 +498,7 @@ bool IsPositiveTarget(uint32 targetA, uint32 targetB)
case TARGET_ALL_ENEMY_IN_AREA:
case TARGET_ALL_ENEMY_IN_AREA_INSTANT:
case TARGET_IN_FRONT_OF_CASTER:
- case TARGET_ALL_ENEMY_IN_AREA_CHANNELED:
+ case TARGET_DEST_DYNOBJ_ENEMY:
case TARGET_CURRENT_ENEMY_COORDINATES:
case TARGET_UNIT_CHANNEL:
return false;