// DECLARE REAL ATTACK public static void StartAttack() { AttackStep = CombatStep.Attack; Selection.ActiveShip = Attacker; CallAttackStart(); }
// TWIN ATTACK private static void CheckTwinAttack() { Upgrade.GenericSecondaryWeapon chosenSecondaryWeapon = ChosenWeapon as Upgrade.GenericSecondaryWeapon; if (chosenSecondaryWeapon != null && chosenSecondaryWeapon.IsTwinAttack) { if (attacksCounter == 0) { attacksCounter++; //Here start attack AttackStep = CombatStep.Attack; Selection.ActiveShip = Attacker; ShotStart(); } else { attacksCounter = 0; CheckMissedAttack(); } } else { CheckMissedAttack(); } }
// TWIN ATTACK private static void CheckTwinAttack() { GenericSpecialWeapon chosenSecondaryWeapon = ChosenWeapon as GenericSpecialWeapon; if (chosenSecondaryWeapon != null && chosenSecondaryWeapon.WeaponInfo.TwinAttack && !Defender.IsDestroyed) { if (attacksCounter == 0) { attacksCounter++; //Here start attack AttackStep = CombatStep.Attack; Selection.ActiveShip = Attacker; ShotStart(); } else { attacksCounter = 0; CheckMissedAttack(); } } else { CheckMissedAttack(); } }
private static void CleanupCombatData() { AttackStep = CombatStep.None; Attacker = null; Defender = null; ChosenWeapon = null; ShotInfo = null; }
// DEFENCE public static void PerformDefence(Action callback) { AttackStep = CombatStep.Defence; Selection.ActiveShip = Defender; CallDefenceStartEvents(callback); }
// DEFENCE public static void PerformDefence() { AttackStep = CombatStep.Defence; Selection.ActiveShip = Defender; CallDefenceStartEvents(DefenceDiceRoll); }
public DiceModificationStep(CombatStep combatStep, PlayerRole stepOwner, DiceModificationTimingType timing, Type subphaseType) { CombatStep = combatStep; StepOwner = stepOwner; SubphaseType = subphaseType; DiceModificationTiming = timing; IsVital = IsVitalStep(); }
private static void InitializeAttack(Action callBack) { Roster.AllShipsHighlightOff(); AttackStep = CombatStep.Attack; CallAttackStartEvents(); Selection.ActiveShip = Attacker; ChosenWeapon.PayAttackCost(callBack); }
private static void CleanupCombatData() { AttackStep = CombatStep.None; Attacker = null; Defender = null; ChosenWeapon = null; ShotInfo = null; hitsCounter = 0; ExtraAttackFilter = null; IsAttackAlreadyCalled = false; }
private static void InitializeAttack(Action callBack) { Roster.AllShipsHighlightOff(); AttackStep = CombatStep.Attack; CallAttackStartEvents(); Selection.ActiveShip = Attacker; Triggers.ResolveTriggers(TriggerTypes.OnAttackStart, delegate { ChosenWeapon.PayAttackCost(callBack); }); }
private static void InitializeAttack() { Roster.AllShipsHighlightOff(); AttackStep = CombatStep.Attack; CallAttackStartEvents(); Selection.ActiveShip = Attacker; if (SecondaryWeapon != null) { SecondaryWeapon.PayAttackCost(); } }
// COMPARE RESULTS public static void ConfirmDefenceDiceResults() { HideDiceModificationButtons(); ToggleConfirmDiceResultsButton(false); Attacker.ClearAlreadyUsedDiceModifications(); Defender.ClearAlreadyUsedDiceModifications(); AttackStep = CombatStep.CompareResults; Combat.Attacker.Owner.UseDiceModifications(DiceModificationTimingType.CompareResults); }
// COMPARE RESULTS public static void ConfirmDefenceDiceResults() { HideDiceModificationButtons(); ToggleConfirmDiceResultsButton(false); Attacker.ClearAlreadyUsedDiceModifications(); Defender.ClearAlreadyUsedDiceModifications(); AttackStep = CombatStep.CompareResults; Phases.CurrentSubPhase.IsReadyForCommands = true; Combat.Attacker.Owner.UseDiceModifications(DiceModificationTimingType.CompareResults); }
private static void CleanupCombatData() { AttackStep = CombatStep.None; Attacker = null; Defender = null; ChosenWeapon = null; ShotInfo = null; ArcForShot = null; hitsCounter = 0; ExtraAttackFilter = null; IsAttackAlreadyCalled = false; PayExtraAttackCost = null; SkipAttackDiceRollsAndHit = false; }
private void CombatAnimaController_onStep(CombatAnimaController combatAnima, int index, float wait, bool end) { if (!m_DebugInfo || !m_DebugStep) { return; } CombatStep step = combatAnima.combat.steps[index]; CombatVariable var0 = step.GetCombatVariable(0); CombatVariable var1 = step.GetCombatVariable(1); Debug.LogFormat("({4}, {5}) -> Animation Type: ({0}, {1}), ({2}, {3})", var0.position.ToString(), var0.animaType.ToString(), var1.position.ToString(), var1.animaType.ToString(), index, end ? "End" : "Begin"); }
private static void CheckTwinAttack() { Upgrade.GenericSecondaryWeapon chosenSecondaryWeapon = ChosenWeapon as Upgrade.GenericSecondaryWeapon; if (chosenSecondaryWeapon != null && chosenSecondaryWeapon.IsTwinAttack) { if (attacksCounter == 0) { attacksCounter++; AttackStep = CombatStep.Attack; Selection.ActiveShip = Attacker; AttackDiceRoll(); } else { attacksCounter = 0; CallCombatEndEvents(); } } else { CallCombatEndEvents(); } }
private static void InitializeDefence() { AttackStep = CombatStep.Defence; CallDefenceStartEvents(); Selection.ActiveShip = Defender; }
// COMPARE RESULTS public static void ConfirmDefenceDiceResults() { AttackStep = CombatStep.CompareResults; Combat.Attacker.Owner.UseCompareResultsDiceModifications(); }