瀏覽代碼

fixed manual control for arrow towers

Henning Koehler 8 年之前
父節點
當前提交
31ca4db8bd
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. 6 0
      config/skills.json
  2. 3 2
      server/CGameHandler.cpp

+ 6 - 0
config/skills.json

@@ -579,6 +579,12 @@
 					"type" : "MANUAL_CONTROL",
 					"type" : "MANUAL_CONTROL",
 					"val" : 100,
 					"val" : 100,
 					"valueType" : "BASE_NUMBER"
 					"valueType" : "BASE_NUMBER"
+				},
+				"ctrl2" : {
+					"subtype" : "creature.arrowTower",
+					"type" : "MANUAL_CONTROL",
+					"val" : 100,
+					"valueType" : "BASE_NUMBER"
 				}
 				}
 			}
 			}
 		},
 		},

+ 3 - 2
server/CGameHandler.cpp

@@ -5797,9 +5797,10 @@ void CGameHandler::runBattle()
 			}
 			}
 
 
 			const CGHeroInstance * curOwner = battleGetOwnerHero(next);
 			const CGHeroInstance * curOwner = battleGetOwnerHero(next);
+			const int stackCreatureId = next->getCreature()->idNumber;
 
 
-			if ((next->position < 0 || next->getCreature()->idNumber == CreatureID::BALLISTA)	//arrow turret or ballista
-				&& (!curOwner || getRandomGenerator().nextInt(99) >= curOwner->valOfBonuses(Bonus::MANUAL_CONTROL, CreatureID::BALLISTA)))
+			if ((stackCreatureId == CreatureID::ARROW_TOWERS || stackCreatureId == CreatureID::BALLISTA)
+				&& (!curOwner || getRandomGenerator().nextInt(99) >= curOwner->valOfBonuses(Bonus::MANUAL_CONTROL, stackCreatureId)))
 			{
 			{
 				BattleAction attack;
 				BattleAction attack;
 				attack.actionType = Battle::SHOOT;
 				attack.actionType = Battle::SHOOT;