public void init() { param = GameParams.gunParam[id].clone(); if (clip < 0) { clip = param.clip; } if (ammo < 0) { ammo = param.ammo; } }
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)); }