public bool ApplyDamageToTroop(PartyAttackComposition attack, CharacterObject troop, out float damage) { TroopState troopState = GetTroopState(troop); bool isFinishingBlow = troopState.TakeHit(attack, out damage); return(isFinishingBlow); }
public TroopState GetTroopState(CharacterObject troop) { if (!TroopStates.TryGetValue(troop.Id, out TroopState troopState)) { InformationManager.DisplayMessage(new InformationMessage( "Warning: " + troop.Name.ToString() + " is not registered for battle.")); troopState = new TroopState(this, troop, 1); TroopStates[troop.Id] = troopState; } return(troopState); }