diff options
author | megamage <none@none> | 2008-11-09 14:54:13 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-11-09 14:54:13 -0600 |
commit | ee02a2fc84c564d82a062bd975281a4e4f0fefa0 (patch) | |
tree | 5bb99bbf8fae0f83fad278e766e1df2e80197be1 /src/game/Player.cpp | |
parent | 2c83fc42fc0bd963940047b1088f91c8b7474799 (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.cpp | 21 |
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()); + } + } } } } |