aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-11-09 14:54:13 -0600
committermegamage <none@none>2008-11-09 14:54:13 -0600
commitee02a2fc84c564d82a062bd975281a4e4f0fefa0 (patch)
tree5bb99bbf8fae0f83fad278e766e1df2e80197be1 /src/game/Player.cpp
parent2c83fc42fc0bd963940047b1088f91c8b7474799 (diff)
[svn] Send AttackStart package when update visibility.
Update DoMeleeAttackIfReady to support dual wield. Show player modelid2 instead id3 of triggers. This should fix the bug that gameobject::castspell summon a human model. Remove the correct flag to make creature attackable. This should fix the bug that Illidan and Magtheridon are unattackable. Add NullCreatureAI for trinityscript. Fix channeler's soul transfer. Some update of black temple scripts. --HG-- branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index b00dadc98dd..23aae2cd363 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -16406,7 +16406,16 @@ void Player::HandleStealthedUnitsDetection()
// target aura duration for caster show only if target exist at caster client
// send data at target visibility change (adding to client)
if((*i)!=this && (*i)->isType(TYPEMASK_UNIT))
+ {
SendAuraDurationsForTarget(*i);
+ //if(((Unit*)(*i))->isAlive()) //should be always alive
+ {
+ if((*i)->GetTypeId()==TYPEID_UNIT)
+ ((Creature*)(*i))->SendMonsterMoveWithSpeedToCurrentDestination(this);
+ if(((Unit*)(*i))->getVictim())
+ ((Unit*)(*i))->SendAttackStart(((Unit*)(*i))->getVictim());
+ }
+ }
i = stealthedUnits.erase(i);
continue;
@@ -17386,10 +17395,16 @@ void Player::UpdateVisibilityOf(WorldObject* target)
// target aura duration for caster show only if target exist at caster client
// send data at target visibility change (adding to client)
if(target!=this && target->isType(TYPEMASK_UNIT))
+ {
SendAuraDurationsForTarget((Unit*)target);
-
- if(target->GetTypeId()==TYPEID_UNIT && ((Creature*)target)->isAlive())
- ((Creature*)target)->SendMonsterMoveWithSpeedToCurrentDestination(this);
+ if(((Unit*)target)->isAlive())
+ {
+ if(target->GetTypeId()==TYPEID_UNIT)
+ ((Creature*)target)->SendMonsterMoveWithSpeedToCurrentDestination(this);
+ if(((Unit*)target)->getVictim())
+ ((Unit*)target)->SendAttackStart(((Unit*)target)->getVictim());
+ }
+ }
}
}
}