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)); }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }
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); } }
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); }