예제 #1
0
 public void init()
 {
     param = GameParams.gunParam[id].clone();
     if (clip < 0)
     {
         clip = param.clip;
     }
     if (ammo < 0)
     {
         ammo = param.ammo;
     }
 }
예제 #2
0
    public static int getDamage(GameParams.GunParam param, float crit = 0, float dist = 0)
    {
        float delta = (dist - param.distMin) / (param.distMax - param.distMin);

        delta = 1 - Mathf.Clamp(delta, 0, 1);
        float total = param.dmgMin + delta * (param.dmgMax - param.dmgMin);

        if (Random.value <= crit)
        {
            total *= param.crit;
        }
        return((int)Mathf.Round(total));
    }