mateuszb пре 15 година
родитељ
комит
8b561ca00c
1 измењених фајлова са 3 додато и 2 уклоњено
  1. 3 2
      server/CGameHandler.cpp

+ 3 - 2
server/CGameHandler.cpp

@@ -402,7 +402,8 @@ void CGameHandler::startBattle(const CArmedInstance *army1, const CArmedInstance
 
 			const CGHeroInstance * curOwner = gs->battleGetOwner(next->ID);
 
-			if(next->position < 0 && (!curOwner || curOwner->getSecSkillLevel(10) == 0)) //arrow turret, hero has no ballistics
+			if( (next->position < 0 && (!curOwner || curOwner->getSecSkillLevel(10) == 0)) //arrow turret, hero has no ballistics
+				|| (next->creature->idNumber == 146 && curOwner->getSecSkillLevel(20) == 0)) //ballista, hero has no artillery
 			{
 				BattleAction attack;
 				attack.actionType = 7;
@@ -411,7 +412,7 @@ void CGameHandler::startBattle(const CArmedInstance *army1, const CArmedInstance
 
 				for(int g=0; g<gs->curB->stacks.size(); ++g)
 				{
-					if(gs->curB->stacks[g]->attackerOwned && gs->curB->stacks[g]->alive())
+					if(gs->curB->stacks[g]->owner != curOwner->tempOwner && gs->curB->stacks[g]->alive())
 					{
 						attack.destinationTile = gs->curB->stacks[g]->position;
 						break;