Exemplo n.º 1
0
    public MechDamage damage(MechDamage dmg)
    {
        MechDamage reductedDmg = reduct(dmg);

        destruct(reductedDmg);
        MechDamage finalDmg = changeDmg(reductedDmg);

        return(finalDmg);
    }
Exemplo n.º 2
0
    void destruct(MechDamage dmg)
    {
        float structureDamage = dmg.basicDamage ["Blunt"] * destruction ["Blunt"] +
                                dmg.basicDamage ["Cut"] * destruction ["Cut"] +
                                dmg.basicDamage ["Pierce"] * destruction ["Pierce"] +
                                dmg.basicDamage ["Abrasive"] * destruction ["Abrasive"];

        structure = structure - structureDamage;
    }
Exemplo n.º 3
0
    //var other;

    MechDamage reduct(MechDamage dmg)
    {
        dmg.basicDamage ["Blunt"]    = dmg.basicDamage ["Blunt"] * (reduction ["Blunt"] * structure / 100.0f);
        dmg.basicDamage ["Cut"]      = dmg.basicDamage ["Cut"] * (reduction ["Cut"] * structure / 100.0f);
        dmg.basicDamage ["Pierce"]   = dmg.basicDamage ["Pierce"] * (reduction ["Pierce"] * structure / 100.0f);
        dmg.basicDamage ["Abrasive"] = dmg.basicDamage ["Abrasive"] * (reduction ["Abrasive"] * structure / 100.0f);

        return(dmg);
    }
Exemplo n.º 4
0
    public void damage(MechDamage dmg)
    {
        Debug.Log("MechState1: " + dmg.basicDamage["Blunt"].ToString() +
                  " , " + dmg.basicDamage["Cut"].ToString() +
                  " , " + dmg.basicDamage["Pierce"].ToString() +
                  " , " + dmg.basicDamage["Abrasive"].ToString());

        foreach (MechArmor arm in armor)
        {
            dmg = arm.damage(dmg);
            Debug.Log("det: " + dmg.basicDamage["Blunt"].ToString() +
                      " , " + dmg.basicDamage["Cut"].ToString() +
                      " , " + dmg.basicDamage["Pierce"].ToString() +
                      " , " + dmg.basicDamage["Abrasive"].ToString());
        }

        Debug.Log("MechState2: " + dmg.basicDamage["Blunt"].ToString() +
                  " , " + dmg.basicDamage["Cut"].ToString() +
                  " , " + dmg.basicDamage["Pierce"].ToString() +
                  " , " + dmg.basicDamage["Abrasive"].ToString());

        core.damage(dmg);

        Debug.Log("MechState3: " + dmg.basicDamage["Blunt"].ToString() +
                  " , " + dmg.basicDamage["Cut"].ToString() +
                  " , " + dmg.basicDamage["Pierce"].ToString() +
                  " , " + dmg.basicDamage["Abrasive"].ToString());



        /*
         *      if (core.ifStun()) {
         *              //Stun mech
         *      }
         *
         *      if (core.ifDead() ) {
         *              //Kill mech
         *      }*/

        /* Update displayed mech status */
        UI_interface.Update_Mech_state_display(core.Get_HP_Level(), core.Get_Energy_Level(), armor);
    }
Exemplo n.º 5
0
    MechDamage changeDmg(MechDamage dmg)
    {
        dmg.basicDamage ["Blunt"] = dmg.basicDamage ["Blunt"] * (((change ["Blunt_to_Blunt"] * structure) + (100.0f - structure)) / 100.0f) +
                                    dmg.basicDamage ["Cut"] * (((change ["Cut_to_Blunt"] * structure)) / 100.0f) +
                                    dmg.basicDamage ["Pierce"] * (((change ["Pierce_to_Blunt"] * structure)) / 100.0f) +
                                    dmg.basicDamage ["Abrasive"] * (((change ["Abrasive_to_Blunt"] * structure)) / 100.0f);

        dmg.basicDamage ["Cut"] = dmg.basicDamage ["Blunt"] * (((change ["Blunt_to_Cut"] * structure)) / 100.0f) +
                                  dmg.basicDamage ["Cut"] * (((change ["Cut_to_Cut"] * structure) + (100.0f - structure)) / 100.0f) +
                                  dmg.basicDamage ["Pierce"] * (((change ["Pierce_to_Cut"] * structure)) / 100.0f) +
                                  dmg.basicDamage ["Abrasive"] * (((change ["Abrasive_to_Cut"] * structure)) / 100.0f);

        dmg.basicDamage ["Pierce"] = dmg.basicDamage ["Blunt"] * (((change ["Blunt_to_Pierce"] * structure)) / 100.0f) +
                                     dmg.basicDamage ["Cut"] * (((change ["Cut_to_Pierce"] * structure)) / 100.0f) +
                                     dmg.basicDamage ["Pierce"] * (((change ["Pierce_to_Pierce"] * structure) + (100.0f - structure)) / 100.0f) +
                                     dmg.basicDamage ["Abrasive"] * (((change ["Abrasive_to_Pierce"] * structure)) / 100.0f);

        dmg.basicDamage ["Abrasive"] = dmg.basicDamage ["Blunt"] * (((change ["Blunt_to_Abrasive"] * structure)) / 100.0f) +
                                       dmg.basicDamage ["Cut"] * (((change ["Cut_to_Abrasive"] * structure)) / 100.0f) +
                                       dmg.basicDamage ["Pierce"] * (((change ["Pierce_to_Abrasive"] * structure)) / 100.0f) +
                                       dmg.basicDamage ["Abrasive"] * (((change ["Abrasive_to_Abrasive"] * structure) + (100.0f - structure)) / 100.0f);

        return(dmg);
    }
Exemplo n.º 6
0
 public void damage(MechDamage dmg)
 {
     energy    -= (dmg.basicDamage ["Blunt"] * 0.25f + dmg.basicDamage ["Cut"] * 0.5f + dmg.basicDamage ["Pierce"] * 0.75f + dmg.basicDamage ["Abrasive"] * 0.5f);
     structure -= (dmg.basicDamage ["Blunt"] * 0.75f + dmg.basicDamage ["Cut"] * 0.5f + dmg.basicDamage ["Pierce"] * 0.25f + dmg.basicDamage ["Abrasive"] * 0.5f);
 }
Exemplo n.º 7
0
    void ApplyDamage(MechState Target)
    {
        MechDamage temp_BaseDamage = new MechDamage(TypeOfDamage, DamageLevel);

        Target.damage(temp_BaseDamage);
    }