Exemple #1
0
    // DECLARE REAL ATTACK

    public static void StartAttack()
    {
        AttackStep           = CombatStep.Attack;
        Selection.ActiveShip = Attacker;

        CallAttackStart();
    }
Exemple #2
0
    // 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();
        }
    }
Exemple #3
0
    // 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();
        }
    }
Exemple #4
0
 private static void CleanupCombatData()
 {
     AttackStep   = CombatStep.None;
     Attacker     = null;
     Defender     = null;
     ChosenWeapon = null;
     ShotInfo     = null;
 }
Exemple #5
0
    // DEFENCE

    public static void PerformDefence(Action callback)
    {
        AttackStep = CombatStep.Defence;

        Selection.ActiveShip = Defender;

        CallDefenceStartEvents(callback);
    }
Exemple #6
0
    // DEFENCE

    public static void PerformDefence()
    {
        AttackStep = CombatStep.Defence;

        Selection.ActiveShip = Defender;

        CallDefenceStartEvents(DefenceDiceRoll);
    }
Exemple #7
0
 public DiceModificationStep(CombatStep combatStep, PlayerRole stepOwner, DiceModificationTimingType timing, Type subphaseType)
 {
     CombatStep             = combatStep;
     StepOwner              = stepOwner;
     SubphaseType           = subphaseType;
     DiceModificationTiming = timing;
     IsVital = IsVitalStep();
 }
Exemple #8
0
    private static void InitializeAttack(Action callBack)
    {
        Roster.AllShipsHighlightOff();

        AttackStep = CombatStep.Attack;
        CallAttackStartEvents();
        Selection.ActiveShip = Attacker;
        ChosenWeapon.PayAttackCost(callBack);
    }
Exemple #9
0
 private static void CleanupCombatData()
 {
     AttackStep            = CombatStep.None;
     Attacker              = null;
     Defender              = null;
     ChosenWeapon          = null;
     ShotInfo              = null;
     hitsCounter           = 0;
     ExtraAttackFilter     = null;
     IsAttackAlreadyCalled = false;
 }
Exemple #10
0
    private static void InitializeAttack(Action callBack)
    {
        Roster.AllShipsHighlightOff();

        AttackStep = CombatStep.Attack;
        CallAttackStartEvents();
        Selection.ActiveShip = Attacker;
        Triggers.ResolveTriggers(TriggerTypes.OnAttackStart, delegate
        {
            ChosenWeapon.PayAttackCost(callBack);
        });
    }
Exemple #11
0
    private static void InitializeAttack()
    {
        Roster.AllShipsHighlightOff();

        AttackStep = CombatStep.Attack;
        CallAttackStartEvents();
        Selection.ActiveShip = Attacker;
        if (SecondaryWeapon != null)
        {
            SecondaryWeapon.PayAttackCost();
        }
    }
Exemple #12
0
    // COMPARE RESULTS

    public static void ConfirmDefenceDiceResults()
    {
        HideDiceModificationButtons();
        ToggleConfirmDiceResultsButton(false);

        Attacker.ClearAlreadyUsedDiceModifications();
        Defender.ClearAlreadyUsedDiceModifications();

        AttackStep = CombatStep.CompareResults;

        Combat.Attacker.Owner.UseDiceModifications(DiceModificationTimingType.CompareResults);
    }
Exemple #13
0
    // 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);
    }
Exemple #14
0
 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");
        }
Exemple #16
0
    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();
        }
    }
Exemple #17
0
 private static void InitializeDefence()
 {
     AttackStep = CombatStep.Defence;
     CallDefenceStartEvents();
     Selection.ActiveShip = Defender;
 }
Exemple #18
0
    // COMPARE RESULTS

    public static void ConfirmDefenceDiceResults()
    {
        AttackStep = CombatStep.CompareResults;

        Combat.Attacker.Owner.UseCompareResultsDiceModifications();
    }