Esempio n. 1
0
    private void PlayerSquadInstance_OnFormationChanged(FormationStats formation)
    {
        var d = formation.GetDescription();

        d.Icon = FormationButton.Instance.GetIcon(formation.FORMATION);
        formationInd.Present(d.Icon, d);
    }
Esempio n. 2
0
 private void PlayerSquadInstance_OnFormationChanged(FormationStats formation)
 {
     StartCoroutine(Tools.Others.Cooldown(
                        formation.COOLDOWN,
                        StartCooldown,
                        EndCooldown,
                        cooldownText
                        ));
 }
Esempio n. 3
0
    void Squad_OnFormationChanged(FormationStats value)
    {
        Formation = value.FORMATION;

        if (group != null)
        {
            if (value.FORMATION == FormationStats.Formations.PHALANX)
            {
                group.enabled = false;
            }
            else
            {
                group.enabled = true;
            }
        }
    }
Esempio n. 4
0
 void OnFormationChanged(FormationStats formation)
 {
     OnEquipmentChanged(null);
 }
Esempio n. 5
0
 private void Squad_OnFormationChanged(FormationStats obj)
 {
     Present();
 }
Esempio n. 6
0
    public static UnitStats CalcStats(UnitStats baseStats, EquipmentStats[] equipmentStats, FormationStats formationStats)
    {
        int   i;
        float k;

        int equipCnt = equipmentStats.Length;

        for (i = 0; i < equipCnt; i++)
        {
            baseStats.equipmentMass += equipmentStats[i].Mass;
        }

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddAttack;
        }
        baseStats.attack *= k * (1 + formationStats.UNIT_ADDITIONAL_ATTACK);
        baseStats.attack  = baseStats.attack > MAX_ATTACK ? MAX_ATTACK : baseStats.attack;

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddDefence;
        }
        baseStats.defence *= k * (1 + formationStats.UNIT_ADDITIONAL_DEFENCE);
        baseStats.defence  = baseStats.defence > MAX_DEFENCE ? MAX_DEFENCE : baseStats.defence;

        for (i = 0; i < equipCnt; i++)
        {
            //if(equipmentStats[i].Type != EquipmentStats.TypeOfEquipment.SHIELD)
            baseStats.armour += equipmentStats[i].Armour;
        }

        float t  = 0;
        float st = 0;

        for (i = 0; i < equipCnt; i++)
        {
            if (equipmentStats[i].Type != EquipmentStats.TypeOfEquipment.SHIELD)
            {
                t += equipmentStats[i].MissileBlock;
            }
            else
            {
                st = equipmentStats[i].MissileBlock;
            }
        }
        if (formationStats.FORMATION != FormationStats.Formations.RISEDSHIELDS)
        {
            st *= 0.5f;
        }
        baseStats.missileBlock += t + st;

        float armDmg = 0, baseDmg = 0;

        for (i = 0; i < equipCnt; i++)
        {
            armDmg  += equipmentStats[i].Damag.ArmourDamage;
            baseDmg += equipmentStats[i].Damag.BaseDamage;
        }
        baseStats.damage = new Damage(
            (baseStats.damage.BaseDamage + baseDmg) * (1 + formationStats.UNIT_ADDITIONAL_DAMAGE),
            baseStats.damage.ArmourDamage + armDmg
            );


        for (i = 0; i < equipCnt; i++)
        {
            if (equipmentStats[i].Type == EquipmentStats.TypeOfEquipment.WEAPON)
            {
                if (!equipmentStats[i].CanReformToPhalanxInFight && formationStats.FORMATION != FormationStats.Formations.PHALANX)
                {
                    baseStats.attackDistance += 1;
                }
                else
                {
                    baseStats.attackDistance += equipmentStats[i].AttackDistance;
                }
            }
        }

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddDefenceHalfSector;
        }
        baseStats.defenceHalfSector *= k * (1 + formationStats.UNIT_ADDITIONAL_DEFENCE_SECTOR);

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddSpeed;
        }
        baseStats.speed *= k * (1 + formationStats.UNIT_ADDITIONAL_SPEED);

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddAcceleretion;
        }
        baseStats.acceleration *= k;

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddRotationSpeed;
        }
        baseStats.rotationSpeed *= k * (1 + formationStats.UNIT_ADDITIONAL_ROTATION_SPEED);

        for (i = 0; i < equipCnt; i++)
        {
            if (!(equipmentStats[i].Type == EquipmentStats.TypeOfEquipment.SHIELD && formationStats.FORMATION == FormationStats.Formations.RISEDSHIELDS))
            {
                baseStats.chargeImpact += equipmentStats[i].ChargeImpact;
            }
        }
        baseStats.chargeDeflect += formationStats.UNIT_CHARGE_IMPACT;

        for (i = 0; i < equipCnt; i++)
        {
            if (!(equipmentStats[i].Type == EquipmentStats.TypeOfEquipment.SHIELD && formationStats.FORMATION == FormationStats.Formations.RISEDSHIELDS))
            {
                baseStats.chargeDeflect += equipmentStats[i].ChargeDeflect;
            }
        }
        baseStats.chargeDeflect += formationStats.UNIT_CHARGE_DEFLECT;

        k = 1;
        for (i = 0; i < equipCnt; i++)
        {
            k += equipmentStats[i].AddChargeDamage;
        }
        baseStats.unitChargeAddDamage *= k;


        return(baseStats);
    }