PDA

Просмотр полной версии : [fix]Прервать каст пету, после команды следовать.


Den
11.02.2012, 21:21
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index 8bc3064..678c39d 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -91,10 +91,13 @@ void WorldSession::HandlePetAction(WorldPacket& recv_data)
charmInfo->SetCommandState(COMMAND_STAY);
break;
case COMMAND_FOLLOW: // spellid=1792 //FOLLOW
+ {
pet->AttackStop();
+ pet->CastStop(pet->GetObjectGuid() == targetGuid ? spellid : 0);
pet->GetMotionMaster()->MoveFollow(_player, PET_FOLLOW_DIST,PET_FOLLOW_ANGLE);
charmInfo->SetCommandState(COMMAND_FOLLOW);
break;
+ }
case COMMAND_ATTACK: // spellid=1792 // ATTACK
{
Unit* TargetUnit = _player->GetMap()->GetUnit(targetGuid);

rsa
13.02.2012, 21:57
Спасибо, но в команде STAY надо бы тоже самое сделать :)

Vladimir
15.02.2012, 17:33
Если я не путаю в AttackStop есть параметр для этого...

Den
28.02.2012, 19:46
Если я не путаю в AttackStop есть параметр для этого...

В AttackStop нету такого параметра.

Vladimir
29.02.2012, 00:27
Я попутал с Unit::CombatStop(bool includingCast)

Den
05.03.2012, 21:49
А может тогда Unit::CombatStopWithPets(bool includingCast)
что бы удобно было?

Vladimir
06.03.2012, 10:55
combatstop выводит из боя, т.е. в том числе и для атакующих пета, что не то что ожидается как мне кажется.