public static ProjectileWeapon GenerateProjectileWeapon(int level, Weapon w) { ProjectileWeapon p = new ProjectileWeapon(); p.DamageOffset = w.DamageOffset; p.Accuracy = w.Accuracy; p.Modules = w.Modules; p.WeaponType = WEAPON_TYPE; p.AmmoType = GenerateAmmoType(); p.ModelType = GenerateModelType(); p.DamageType = GenerateDamageType(p.ModelType); p.Size = GenerateSize(p.ModelType); p.AttacksPerTurn = GenerateAttacksPerTurn(p.ModelType); p.Picture = GeneratePicture(p.ModelType); p.Modules = GenerateModules(level, p.ModelType); p.DamageRange = GenerateDamageRange(level, p); p.DamageOffset = GenerateDamageOffset(level, p); p.ReloadSpeed = GenerateReloadSpeed(p.ModelType, p.DamageType); p.UsableRange = GenerateUsableRange(level, p.ModelType, p.DamageType); p.MaximumClipSize = GenerateMaximumClipSize(level, p.ModelType, p.DamageType); p.Stats = GenerateStats(); p.Manufacturer = GenerateManufacturer(); p.Value = GenerateValue(); p.Name = GenerateName(p); return(p); }
public static Weapon GenerateWeapon(int level, string type) { Random random = new Random(); Weapon w; bool isProjectile; switch (type) { case "Projectile": w = new ProjectileWeapon(); isProjectile = true; break; case "Melee": w = new MeleeWeapon(); isProjectile = false; break; default: w = new ProjectileWeapon(); isProjectile = true; break; } w.Accuracy = Weapon.GenerateAccuracy(); w.Rarity = Weapon.GenerateRarity(); w.Modules = new List <Module>(); if (isProjectile) { return(ProjectileWeapon.GenerateProjectileWeapon(level, w)); } else { return(MeleeWeapon.GenerateMeleeWeapon(level, w)); } }
private static string GenerateName(ProjectileWeapon p) { // Temporary return(ModelTypes[random.Next(0, ModelTypes.Length)]); }