Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
 private static string GenerateName(ProjectileWeapon p)
 {
     // Temporary
     return(ModelTypes[random.Next(0, ModelTypes.Length)]);
 }