示例#1
0
        private static ModPackage getRandomStats(StatWeights weight, int rarityLevel, double baseMultiplier)
        {
            if (weight == StatWeights.Defense)
            {
                return(getDefenseStats(rarityLevel, baseMultiplier));
            }
            else if (weight == StatWeights.MagicalPower)
            {
                return(getMagicalPowerStats(rarityLevel, baseMultiplier));
            }
            else if (weight == StatWeights.MagicalSpeed)
            {
                return(getMagicalSpeedStats(rarityLevel, baseMultiplier));
            }
            else if (weight == StatWeights.PhysicalPower)
            {
                return(getPhysicalPowerStats(rarityLevel, baseMultiplier));
            }
            else if (weight == StatWeights.PhysicalSpeed)
            {
                return(getPhysicalSpeedStats(rarityLevel, baseMultiplier));
            }

            return(getPhysicalPowerStats(rarityLevel, baseMultiplier));
        }
示例#2
0
        public Shield_KiteShield()
        {
            PrimaryType = WeaponTypes.Shield;
            Subtype     = "Kite Shield";
            WeaponStats = new StatWeights[] { StatWeights.Defense };
            Slots       = new EquipmentSlots[] { EquipmentSlots.OffHand };

            DamageMin = 0;
            DamageMax = 5;

            WeightMin = 20;
            WeightMax = 40;
        }
示例#3
0
        public Sword_Gladius()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Gladius";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower, StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 20;
            DamageMax = 40;

            WeightMin = 20;
            WeightMax = 25;
        }
示例#4
0
        public Sword_Rapier()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Rapier";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 32;
            DamageMax = 48;

            WeightMin = 16;
            WeightMax = 20;
        }
示例#5
0
        public Sword_Scimitar()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Scimitar";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.MainHand, EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 30;
            DamageMax = 50;

            WeightMin = 20;
            WeightMax = 25;
        }
示例#6
0
        public Flail_Flail()
        {
            PrimaryType  = WeaponTypes.Flail;
            Subtype      = "Flail";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 45;
            DamageMax = 75;

            WeightMin = 30;
            WeightMax = 40;
        }
示例#7
0
        public Axe_Hatchet()
        {
            PrimaryType  = WeaponTypes.Axe;
            Subtype      = "Hatchet";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower, StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 20;
            DamageMax = 50;

            WeightMin = 30;
            WeightMax = 40;
        }
示例#8
0
        public Whip_CombatCross()
        {
            PrimaryType  = WeaponTypes.Whip;
            Subtype      = "Combat Cross";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.MagicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 22;
            DamageMax = 38;

            WeightMin = 16;
            WeightMax = 20;
        }
示例#9
0
        public Sickle_Sickle()
        {
            PrimaryType  = WeaponTypes.Sickle;
            Subtype      = "Sickle";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 12;
            DamageMax = 20;

            WeightMin = 8;
            WeightMax = 10;
        }
示例#10
0
        public Knife_Dirge()
        {
            PrimaryType  = WeaponTypes.Knife;
            Subtype      = "Dirge";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 13;
            DamageMax = 17;

            WeightMin = 4;
            WeightMax = 5;
        }
示例#11
0
        public Knife_Dagger()
        {
            PrimaryType  = WeaponTypes.Knife;
            Subtype      = "Dagger";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.MagicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 12;
            DamageMax = 18;

            WeightMin = 6;
            WeightMax = 10;
        }
示例#12
0
        public Knife_Cleaver()
        {
            PrimaryType  = WeaponTypes.Knife;
            Subtype      = "Cleaver";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 20;
            DamageMax = 30;

            WeightMin = 10;
            WeightMax = 15;
        }
示例#13
0
        public Knife_Knife()
        {
            PrimaryType  = WeaponTypes.Knife;
            Subtype      = "Knife";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 16;
            DamageMax = 24;

            WeightMin = 8;
            WeightMax = 10;
        }
示例#14
0
        public Mace_Hammer()
        {
            PrimaryType  = WeaponTypes.Mace;
            Subtype      = "Hammer";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 30;
            DamageMax = 60;

            WeightMin = 30;
            WeightMax = 40;
        }
示例#15
0
        public Mace_MorningStar()
        {
            PrimaryType  = WeaponTypes.Mace;
            Subtype      = "Morning Star";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 45;
            DamageMax = 85;

            WeightMin = 40;
            WeightMax = 50;
        }
示例#16
0
        public Staff_QuarterStaff()
        {
            PrimaryType  = WeaponTypes.Staff;
            Subtype      = "Quarter Staff";
            WeaponStats  = new StatWeights[] { StatWeights.MagicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 4;
            DamageMax = 12;

            WeightMin = 8;
            WeightMax = 10;
        }
示例#17
0
        public Whip_Whip()
        {
            PrimaryType  = WeaponTypes.Whip;
            Subtype      = "Whip";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;

            DamageMin = 20;
            DamageMax = 30;

            WeightMin = 10;
            WeightMax = 15;
        }
示例#18
0
        public Staff_SwordCane()
        {
            PrimaryType  = WeaponTypes.Staff;
            Subtype      = "Sword Cane";
            WeaponStats  = new StatWeights[] { StatWeights.MagicalPower, StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand, EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.2;

            DamageMin = 25;
            DamageMax = 45;

            WeightMin = 20;
            WeightMax = 25;
        }
示例#19
0
        public Staff_Staff()
        {
            PrimaryType  = WeaponTypes.Staff;
            Subtype      = "Staff";
            WeaponStats  = new StatWeights[] { StatWeights.MagicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 2;
            DamageMax = 18;

            WeightMin = 16;
            WeightMax = 20;
        }
示例#20
0
        public Mace_Mace()
        {
            PrimaryType  = WeaponTypes.Mace;
            Subtype      = "Mace";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand, EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.2;

            DamageMin = 42;
            DamageMax = 78;

            WeightMin = 36;
            WeightMax = 45;
        }
示例#21
0
        public Axe_WarAxe()
        {
            PrimaryType  = WeaponTypes.Axe;
            Subtype      = "War Axe";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower, StatWeights.PhysicalSpeed };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand, EquipmentSlots.OneHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.2;

            DamageMin = 45;
            DamageMax = 95;

            WeightMin = 50;
            WeightMax = 65;
        }
示例#22
0
        public Sword_Katana()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Katana";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.OneHand, EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.2;

            DamageMin = 55;
            DamageMax = 85;

            WeightMin = 30;
            WeightMax = 40;
        }
示例#23
0
        public Sword_LongSword()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Longsword";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.MainHand, EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.2;

            DamageMin = 50;
            DamageMax = 90;

            WeightMin = 40;
            WeightMax = 50;
        }
示例#24
0
        public Sword_TitanBlade()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Titan Blade";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 60;
            DamageMax = 140;

            WeightMin = 80;
            WeightMax = 100;
        }
示例#25
0
        public Axe_Halberd()
        {
            PrimaryType  = WeaponTypes.Axe;
            Subtype      = "Halberd";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 45;
            DamageMax = 115;

            WeightMin = 70;
            WeightMax = 90;
        }
示例#26
0
        public Mace_Club()
        {
            PrimaryType  = WeaponTypes.Mace;
            Subtype      = "Club";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 30;
            DamageMax = 100;

            WeightMin = 70;
            WeightMax = 90;
        }
示例#27
0
        public Sword_Claymore()
        {
            PrimaryType  = WeaponTypes.Sword;
            Subtype      = "Claymore";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 50;
            DamageMax = 110;

            WeightMin = 60;
            WeightMax = 75;
        }
示例#28
0
        public Sickle_Scythe()
        {
            PrimaryType  = WeaponTypes.Sickle;
            Subtype      = "Scythe";
            WeaponStats  = new StatWeights[] { StatWeights.PhysicalSpeed, StatWeights.PhysicalPower, StatWeights.MagicalPower };
            Slots        = new EquipmentSlots[] { EquipmentSlots.TwoHand };
            WeaponAttack = WeaponAttacks.Melee;
            Multiplier   = 1.8;

            DamageMin = 53;
            DamageMax = 79;

            WeightMin = 26;
            WeightMax = 35;
        }
示例#29
0
    public void SetStat(CharStat stat, int value)
    {
        int key = -1;

        for (int i = 0; i < StatWeights.Count; i++)
        {
            if (StatWeights[i].Name == stat)
            {
                key = i;
                break;
            }
        }

        if (key == -1)
        {
            StatWeights.Add(new StatWeight(stat, value));
        }
        else
        {
            StatWeights[key] = new StatWeight(stat, value);
        }
    }
示例#30
0
        private static string getRandomWeaponName(StatWeights weight, string subtype, Rarities rarity)
        {
            string name = string.Empty;

            #region Prefixes
            if (rarity == Rarities.Common) //Common
            {
                string[] tags = new string[] { string.Empty, "Basic ", "Chipped ", "Rusted " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;

                return(name);
            }
            else if (rarity == Rarities.Uncommon) //Uncommon
            {
                string[] tags = new string[] { string.Empty, "Enhanced ", "Solid ", "Improved ", "Hardened ", "Battle-worn " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;

                if (Engine.RNG.Next(0, 100) <= 75)
                {
                    return(name);
                }
            }
            else if (rarity == Rarities.Rare) //Rare
            {
                string[] tags = new string[] { string.Empty, "Greater ", "Rare ", "Enchanted ", "Mithril ", "Reinforced " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;

                if (Engine.RNG.Next(0, 100) <= 45)
                {
                    return(name);
                }
            }
            else if (rarity == Rarities.Epic) //Epic
            {
                string[] tags = new string[] { string.Empty, "Insane ", "Chaotic ", "Mythical ", "Infused " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;

                if (Engine.RNG.Next(0, 100) <= 15)
                {
                    return(name);
                }
            }
            else if (rarity == Rarities.Legendary) //Legendary
            {
                string[] tags = new string[] { "Legendary ", "Cataclysmic ", "Dragonbane ", "Godlike " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;
            }
            else if (rarity == Rarities.Unique) //Unique
            {
                string[] tags = new string[] { "Unique " };
                name += tags[Engine.RNG.Next(0, tags.Length)] + subtype;
            }
            #endregion

            name += " of ";

            if (weight == StatWeights.Defense)
            {
                string[] tags = new string[] { "the Sentinel", "the Whale", "the Tank", "the Behemoth", "the Iron Brigade", "the Steelskin", "the Fortress" };
                name += tags[Engine.RNG.Next(0, tags.Length)];
            }
            else if (weight == StatWeights.MagicalPower)
            {
                string[] tags = new string[] { "the Hawk", "the Owl", "the Eagle", "the Arcane", "the Spellsword", "the Dragon", "the Mind" };
                name += tags[Engine.RNG.Next(0, tags.Length)];
            }
            else if (weight == StatWeights.MagicalSpeed)
            {
                string[] tags = new string[] { "the Sparrow", "the Swift Mind", "the Talon", "the Flame", "Lightning", "the Lover", "the Magician" };
                name += tags[Engine.RNG.Next(0, tags.Length)];
            }
            else if (weight == StatWeights.PhysicalPower)
            {
                string[] tags = new string[] { "the Bear", "the Fist", "the Hammer Lords", "Power", "the Caber Toss", "the Ram", "the Brute" };
                name += tags[Engine.RNG.Next(0, tags.Length)];
            }
            else if (weight == StatWeights.PhysicalSpeed)
            {
                string[] tags = new string[] { "the Monkey", "the Feline", "the Snake", "the Cobra", "the Bandit", "the Marksman", "the Zephyr" };
                name += tags[Engine.RNG.Next(0, tags.Length)];
            }

            return(name);
        }