public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod) { float moddedDamage = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE); float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE); float moddedAccuracy = maxSpreadAngle / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.ACCURACY); WeaponInfo info = new WeaponInfo(weaponType, mod); if (weaponType != WeaponType.SCATTER_SHOT) { info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString()); } else { int bonusProjectiles = (int)WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BONUS_PROJECTILES); int count = projectilesPerShot + bonusProjectiles; info.AddAttribute("Damage", RoundStatToDecimalPlaces(damage, 1) + " (x" + count + ")"); } info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s"); info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(projectileSpeed, 1).ToString()); info.AddAttribute("Accuracy", RoundStatToDecimalPlaces((1 - (moddedAccuracy * 2 / 180)) * 100, 1) + "%"); return(info); }
public WeaponInfo(WeaponScript.WeaponType weaponType, WeaponModifier.ModifierNames p_Modifier) { GameObject prefab = GameMaster.WeaponMngr.GetWeaponPrefab( weaponType ); weaponPrefab = prefab; WeaponModifier.GetModifiedName( p_Modifier, prefab.name, out name ); modifier = p_Modifier; attributes = new Dictionary<string, string>(); }
public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod) { float moddedDamage = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE); float moddedRange = beamRange * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BEAM_RANGE); WeaponInfo info = new WeaponInfo(weaponType, mod); info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1) + "/s"); info.AddAttribute("Range", RoundStatToDecimalPlaces(moddedRange, 1).ToString()); return(info); }
public WeaponInfo(WeaponScript.WeaponType weaponType, WeaponModifier.ModifierNames p_Modifier) { GameObject prefab = GameMaster.WeaponMngr.GetWeaponPrefab(weaponType); weaponPrefab = prefab; WeaponModifier.GetModifiedName(p_Modifier, prefab.name, out name); modifier = p_Modifier; attributes = new Dictionary <string, string>(); }
public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod) { float moddedDamage = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE); float moddedSpeed = projectileSpeed * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.MINE_SPEED); float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE); WeaponInfo info = new WeaponInfo(weaponType, mod); info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString()); info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s"); info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(moddedSpeed, 1).ToString()); return(info); }
void OnEnable() { currentWeapons = new List <WeaponInfo> (); for (int i = 0; i < 8; i++) { WeaponScript.WeaponType weapon = (WeaponScript.WeaponType)Random.Range(0, (int)WeaponScript.WeaponType.NUM_WEAPONS); GameObject g = GameMaster.WeaponMngr.GetWeaponPrefab(weapon); int start = 0; int end = 0; GameMaster.WeaponMngr.GetModifierRangeForWeapon(weapon, out start, out end); WeaponModifier.ModifierNames modifier = (WeaponModifier.ModifierNames)Random.Range(start, end); currentWeapons.Add(g.GetComponent <WeaponScript> ().ToInfo(modifier)); } //GameObject g2 = GameMaster.WeaponMngr.GetWeaponPrefab (WeaponScript.WeaponType.MISSILE_LAUNCHER); //currentWeapons.Add (g2.GetComponent<WeaponScript> ().ToInfo(WeaponModifier.ModifierNames.)); PopulateButtons(); }
public void SetModifier(WeaponModifier.ModifierNames mod) { modifier = mod; ApplyModifier(); }
public abstract WeaponInfo ToInfo(WeaponModifier.ModifierNames mod);
public void SetModifier( WeaponModifier.ModifierNames mod ) { modifier = mod; //ApplyModifier(); }