private void PerformCAction(Player performingPlayer, int currentTurn, bool isRemote = false, bool isAdvanced = false) { var firstCThreat = GetFirstThreatOfType(PlayerActionType.Charlie, performingPlayer); if (firstCThreat != null) { if (!(isRemote && firstCThreat.NextDamageWillDestroyThreat())) { DamageThreat(1, firstCThreat, performingPlayer, false); } } else if (!HasIrreparableMalfunctionOfType(PlayerActionType.Charlie) && CharlieComponent.CanPerformCAction(performingPlayer)) { CharlieComponent.PerformCAction(performingPlayer, currentTurn, isAdvanced); } }
private bool CanUseCharlieComponent(Player performingPlayer) { var firstCThreat = GetFirstThreatOfType(PlayerActionType.Charlie, performingPlayer); return(firstCThreat == null && !HasIrreparableMalfunctionOfType(PlayerActionType.Charlie) && CharlieComponent.CanPerformCAction(performingPlayer)); }