Ejemplo n.º 1
0
        private static void StaffProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.BlackMage, PerkType.StaffProficiency)
            .Name("Staff Proficiency")
            .Description("Grants the ability to equip staves.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 staves.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 staves.")
            .Price(2)
            .RequirementSkill(SkillType.Staff, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 staves.")
            .Price(2)
            .RequirementSkill(SkillType.Staff, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 staves.")
            .Price(2)
            .RequirementSkill(SkillType.Staff, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 staves.")
            .Price(2)
            .RequirementSkill(SkillType.Staff, 40);
        }
        private static void KatanaMastery(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Ninja, PerkType.KatanaMastery)
            .Name("Katana Mastery")
            .Description("Grants increased BAB when equipped with a katana.")
            .TriggerEquippedItem((player, item, inventorySlot, type, level) =>
            {
                ModifyBAB(player, item, inventorySlot, level, true, BaseItem.Katana, InventorySlot.RightHand);
            })
            .TriggerUnequippedItem((player, item, type, level) =>
            {
                ModifyBAB(player, item, InventorySlot.Invalid, level, false, BaseItem.Katana, InventorySlot.Invalid);
            })

            .AddPerkLevel()
            .Description("Grants +1 BAB when equipped with a katana.")
            .Price(8)
            .RequirementSkill(SkillType.Katana, 20)
            .RequirementSkill(SkillType.Ninjitsu, 25)

            .AddPerkLevel()
            .Description("Grants +2 BAB when equipped with a katana.")
            .Price(8)
            .RequirementSkill(SkillType.Katana, 30)
            .RequirementSkill(SkillType.Ninjitsu, 40)

            .AddPerkLevel()
            .Description("Grants +3 BAB when equipped with a katana.")
            .Price(8)
            .RequirementSkill(SkillType.Katana, 40)
            .RequirementSkill(SkillType.Ninjitsu, 50);
        }
        private static void LongswordMastery(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Knight, PerkType.LongswordMastery)
            .Name("Longsword Mastery")
            .Description("Grants increased BAB when equipped with a longsword.")
            .TriggerEquippedItem((player, item, inventorySlot, type, level) =>
            {
                ModifyBAB(player, item, inventorySlot, level, true, BaseItem.Longsword, InventorySlot.RightHand);
            })
            .TriggerUnequippedItem((player, item, type, level) =>
            {
                ModifyBAB(player, item, InventorySlot.Invalid, level, false, BaseItem.Longsword, InventorySlot.Invalid);
            })

            .AddPerkLevel()
            .Description("Grants +1 BAB when equipped with a longsword.")
            .Price(8)
            .RequirementSkill(SkillType.Longsword, 20)
            .RequirementSkill(SkillType.Chivalry, 25)

            .AddPerkLevel()
            .Description("Grants +2 BAB when equipped with a longsword.")
            .Price(8)
            .RequirementSkill(SkillType.Longsword, 30)
            .RequirementSkill(SkillType.Chivalry, 40)

            .AddPerkLevel()
            .Description("Grants +3 BAB when equipped with a longsword.")
            .Price(8)
            .RequirementSkill(SkillType.Longsword, 40)
            .RequirementSkill(SkillType.Chivalry, 50);
        }
        private static void HeavyArmorProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.General, PerkType.HeavyArmorProficiency)
            .Name("Heavy Armor Proficiency")
            .Description("Grants the ability to equip heavy armor.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 heavy armor.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 heavy armor.")
            .Price(2)
            .RequirementSkill(SkillType.HeavyArmor, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 heavy armor.")
            .Price(2)
            .RequirementSkill(SkillType.HeavyArmor, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 heavy armor.")
            .Price(2)
            .RequirementSkill(SkillType.HeavyArmor, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 heavy armor.")
            .Price(2)
            .RequirementSkill(SkillType.HeavyArmor, 40);
        }
        private static void MysticArmorProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.General, PerkType.MysticArmorProficiency)
            .Name("Mystic Armor Proficiency")
            .Description("Grants the ability to equip mystic armor.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 mystic armor.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 mystic armor.")
            .Price(2)
            .RequirementSkill(SkillType.MysticArmor, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 mystic armor.")
            .Price(2)
            .RequirementSkill(SkillType.MysticArmor, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 mystic armor.")
            .Price(2)
            .RequirementSkill(SkillType.MysticArmor, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 mystic armor.")
            .Price(2)
            .RequirementSkill(SkillType.MysticArmor, 40);
        }
Ejemplo n.º 6
0
        private static void PiercingStab(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.RedMage, PerkType.PiercingStab)
            .Name("Piercing Stab")
            .Description("Your next melee attack inflicts Bleed on your target.")

            .AddPerkLevel()
            .Description("Inflicts Bleed for 30 seconds on your next attack.")
            .RequirementSkill(SkillType.Rapier, 5)
            .Price(2)
            .GrantsFeat(Feat.PiercingStab1)

            .AddPerkLevel()
            .Description("Inflicts Bleed II for 30 seconds on your next attack.")
            .RequirementSkill(SkillType.RedMagic, 10)
            .RequirementSkill(SkillType.Rapier, 15)
            .Price(2)
            .GrantsFeat(Feat.PiercingStab2)

            .AddPerkLevel()
            .Description("Inflicts Bleed III for 30 seconds on your next attack.")
            .RequirementSkill(SkillType.RedMagic, 20)
            .RequirementSkill(SkillType.Rapier, 30)
            .Price(2)
            .GrantsFeat(Feat.PiercingStab3);
        }
Ejemplo n.º 7
0
        private static void RapierFinesse(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.RedMage, PerkType.RapierFinesse)
            .Name("Rapier Finesse")
            .Description("You make melee attack rolls with your DEX if it is higher than your STR. Must be equipped with a rapier.")

            .AddPerkLevel()
            .Description("Grants the Rapier Finesse ability.")
            .RequirementSkill(SkillType.RedMagic, 5)
            .RequirementSkill(SkillType.Rapier, 10)
            .Price(4)
            .TriggerEquippedItem((player, item, slot, type, level) =>
            {
                if (GetBaseItemType(item) != BaseItem.Rapier ||
                    slot != InventorySlot.RightHand)
                {
                    return;
                }

                Creature.AddFeat(player, Feat.WeaponFinesse);
            })
            .TriggerUnequippedItem((player, item, type, level) =>
            {
                if (GetBaseItemType(item) != BaseItem.Rapier ||
                    GetItemInSlot(InventorySlot.RightHand, player) != item)
                {
                    return;
                }

                Creature.RemoveFeat(player, Feat.WeaponFinesse);
            });;
        }
Ejemplo n.º 8
0
        private static void RifleProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Sniper, PerkType.RifleProficiency)
            .Name("Rifle Proficiency")
            .Description("Grants the ability to equip rifles.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 rifles.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 rifles.")
            .Price(2)
            .RequirementSkill(SkillType.Rifle, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 rifles.")
            .Price(2)
            .RequirementSkill(SkillType.Rifle, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 rifles.")
            .Price(2)
            .RequirementSkill(SkillType.Rifle, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 rifles.")
            .Price(2)
            .RequirementSkill(SkillType.Rifle, 40);
        }
Ejemplo n.º 9
0
        private static void GreatSwordProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.DarkKnight, PerkType.GreatSwordProficiency)
            .Name("Great Sword Proficiency")
            .Description("Grants the ability to equip great swords.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 great swords.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 great swords.")
            .Price(2)
            .RequirementSkill(SkillType.GreatSword, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 great swords.")
            .Price(2)
            .RequirementSkill(SkillType.GreatSword, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 great swords.")
            .Price(2)
            .RequirementSkill(SkillType.GreatSword, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 great swords.")
            .Price(2)
            .RequirementSkill(SkillType.GreatSword, 40);
        }
Ejemplo n.º 10
0
        private static void GunbladeProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Specialist, PerkType.GunbladeProficiency)
            .Name("Gunblade Proficiency")
            .Description("Grants the ability to equip gunblades.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 gunblades.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 gunblades.")
            .Price(2)
            .RequirementSkill(SkillType.Gunblade, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 gunblades.")
            .Price(2)
            .RequirementSkill(SkillType.Gunblade, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 gunblades.")
            .Price(2)
            .RequirementSkill(SkillType.Gunblade, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 gunblades.")
            .Price(2)
            .RequirementSkill(SkillType.Gunblade, 40);
        }
Ejemplo n.º 11
0
        private static void LongswordProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Knight, PerkType.LongswordProficiency)
            .Name("Longsword Proficiency")
            .Description("Grants the ability to equip longswords.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 longswords.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 longswords.")
            .Price(2)
            .RequirementSkill(SkillType.Longsword, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 longswords.")
            .Price(2)
            .RequirementSkill(SkillType.Longsword, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 longswords.")
            .Price(2)
            .RequirementSkill(SkillType.Longsword, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 longswords.")
            .Price(2)
            .RequirementSkill(SkillType.Longsword, 40);
        }
Ejemplo n.º 12
0
        private static void KatanaProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Ninja, PerkType.KatanaProficiency)
            .Name("Katana Proficiency")
            .Description("Grants the ability to equip katanas.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 katanas.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 katanas.")
            .Price(2)
            .RequirementSkill(SkillType.Katana, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 katanas.")
            .Price(2)
            .RequirementSkill(SkillType.Katana, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 katanas.")
            .Price(2)
            .RequirementSkill(SkillType.Katana, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 katanas.")
            .Price(2)
            .RequirementSkill(SkillType.Katana, 40);
        }
Ejemplo n.º 13
0
        private static void RapierProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.RedMage, PerkType.RapierProficiency)
            .Name("Rapier Proficiency")
            .Description("Grants the ability to equip rapiers.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 rapiers.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 rapiers.")
            .Price(2)
            .RequirementSkill(SkillType.Rapier, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 rapiers.")
            .Price(2)
            .RequirementSkill(SkillType.Rapier, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 rapiers.")
            .Price(2)
            .RequirementSkill(SkillType.Rapier, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 rapiers.")
            .Price(2)
            .RequirementSkill(SkillType.Rapier, 40);
        }
Ejemplo n.º 14
0
        private static void RodProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.WhiteMage, PerkType.RodProficiency)
            .Name("Rod Proficiency")
            .Description("Grants the ability to equip rods.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 rods.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 rods.")
            .Price(2)
            .RequirementSkill(SkillType.Rod, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 rods.")
            .Price(2)
            .RequirementSkill(SkillType.Rod, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 rods.")
            .Price(2)
            .RequirementSkill(SkillType.Rod, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 rods.")
            .Price(2)
            .RequirementSkill(SkillType.Rod, 40);
        }
Ejemplo n.º 15
0
        private static void Blizzard(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.BlackMage, PerkType.Blizzard)
            .Name("Blizzard")
            .Description("Grants the Ice black magic ability.")

            .AddPerkLevel()
            .Description("Deals ice damage to a single target.")
            .Price(2)
            .GrantsFeat(Feat.Blizzard1)

            .AddPerkLevel()
            .Description("Deals ice damage to a single target and slows movement for 15 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 15)
            .RequirementSkill(SkillType.Staff, 10)
            .Price(3)
            .GrantsFeat(Feat.Blizzard2)

            .AddPerkLevel()
            .Description("Deals ice damage to a single target and slows movement for 30 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 30)
            .RequirementSkill(SkillType.Staff, 20)
            .Price(4)
            .GrantsFeat(Feat.Blizzard3);
        }
Ejemplo n.º 16
0
        private static void KnucklesProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Monk, PerkType.KnucklesProficiency)
            .Name("Knuckles Proficiency")
            .Description("Grants the ability to equip knuckles.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 knuckles.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 knuckles.")
            .Price(2)
            .RequirementSkill(SkillType.Knuckles, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 knuckles.")
            .Price(2)
            .RequirementSkill(SkillType.Knuckles, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 knuckles.")
            .Price(2)
            .RequirementSkill(SkillType.Knuckles, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 knuckles.")
            .Price(2)
            .RequirementSkill(SkillType.Knuckles, 40);
        }
Ejemplo n.º 17
0
        private static void Fire(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.BlackMage, PerkType.Fire)
            .Name("Fire")
            .Description("Grants the Fire black magic ability.")

            .AddPerkLevel()
            .Description("Deals fire damage to a single target.")
            .RequirementSkill(SkillType.BlackMagic, 5)
            .RequirementSkill(SkillType.Staff, 5)
            .Price(2)
            .GrantsFeat(Feat.Fire1)

            .AddPerkLevel()
            .Description("Deals fire damage to a single target and inflicts Burn for 15 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 20)
            .RequirementSkill(SkillType.Staff, 15)
            .Price(3)
            .GrantsFeat(Feat.Fire2)

            .AddPerkLevel()
            .Description("Deals fire damage to a single target and inflicts Burn for 30 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 35)
            .RequirementSkill(SkillType.Staff, 25)
            .Price(4)
            .GrantsFeat(Feat.Fire3);
        }
Ejemplo n.º 18
0
        private static void DaggerProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Thief, PerkType.DaggerProficiency)
            .Name("Dagger Proficiency")
            .Description("Grants the ability to equip daggers.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 daggers.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 daggers.")
            .Price(2)
            .RequirementSkill(SkillType.Dagger, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 daggers.")
            .Price(2)
            .RequirementSkill(SkillType.Dagger, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 daggers.")
            .Price(2)
            .RequirementSkill(SkillType.Dagger, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 daggers.")
            .Price(2)
            .RequirementSkill(SkillType.Dagger, 40);
        }
Ejemplo n.º 19
0
        private static void RecoveryStab(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.RedMage, PerkType.RecoveryStab)
            .Name("Recovery Stab")
            .Description("Your next melee attack restores HP to all nearby party members.")

            .AddPerkLevel()
            .Description("Restores 2d6 HP to all nearby party members.")
            .RequirementSkill(SkillType.RedMagic, 15)
            .RequirementSkill(SkillType.Rapier, 20)
            .Price(4)
            .GrantsFeat(Feat.RecoveryStab1)

            .AddPerkLevel()
            .Description("Restores 3d8 HP to all nearby party members.")
            .RequirementSkill(SkillType.RedMagic, 30)
            .RequirementSkill(SkillType.Rapier, 35)
            .Price(4)
            .GrantsFeat(Feat.RecoveryStab2)

            .AddPerkLevel()
            .Description("Restores 3d8 HP to all nearby party members and grants Regen for 24 seconds.")
            .RequirementSkill(SkillType.RedMagic, 45)
            .RequirementSkill(SkillType.Rapier, 45)
            .Price(4)
            .GrantsFeat(Feat.RecoveryStab3);
        }
Ejemplo n.º 20
0
        private static void Steal(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Thief, PerkType.Steal)
            .Name("Steal")
            .Description("Attempt to steal from a selected target.")

            .AddPerkLevel()
            .Description("15% base success chance.")
            .RequirementSkill(SkillType.Thievery, 5)
            .Price(3)
            .GrantsFeat(Feat.Steal1)

            .AddPerkLevel()
            .Description("25% base success chance.")
            .RequirementSkill(SkillType.Thievery, 15)
            .Price(3)
            .GrantsFeat(Feat.Steal2)

            .AddPerkLevel()
            .Description("35% base success chance.")
            .RequirementSkill(SkillType.Thievery, 30)
            .Price(3)
            .GrantsFeat(Feat.Steal3)

            .AddPerkLevel()
            .Description("50% base success chance.")
            .RequirementSkill(SkillType.Thievery, 45)
            .Price(3)
            .GrantsFeat(Feat.Steal4);
        }
Ejemplo n.º 21
0
        private static void Jolt(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.RedMage, PerkType.Jolt)
            .Name("Jolt")
            .Description("Deals unaspected damage to a single target.")

            .AddPerkLevel()
            .Description("Deals 1d6 unaspected damage to a single target.")
            .RequirementSkill(SkillType.RedMagic, 10)
            .RequirementSkill(SkillType.Rapier, 5)
            .Price(3)
            .GrantsFeat(Feat.Jolt1)

            .AddPerkLevel()
            .Description("Deals 2d6 unaspected damage to a single target.")
            .RequirementSkill(SkillType.RedMagic, 25)
            .RequirementSkill(SkillType.Rapier, 20)
            .Price(3)
            .GrantsFeat(Feat.Jolt2)

            .AddPerkLevel()
            .Description("Deals 2d10 unaspected damage to a single target.")
            .RequirementSkill(SkillType.RedMagic, 45)
            .RequirementSkill(SkillType.Rapier, 35)
            .Price(4)
            .GrantsFeat(Feat.Jolt3);
        }
Ejemplo n.º 22
0
        private static void CookingRecipes(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Culinarian, PerkType.CookingRecipes)
            .Name("Cooking Recipes")
            .Description("Unlocks cooking recipes.")

            .AddPerkLevel()
            .Description("Unlocks tier 1 cooking recipes.")
            .Price(2)

            .AddPerkLevel()
            .Description("Unlocks tier 2 cooking recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Cooking, 10)

            .AddPerkLevel()
            .Description("Unlocks tier 3 cooking recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Cooking, 20)

            .AddPerkLevel()
            .Description("Unlocks tier 4 cooking recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Cooking, 30)

            .AddPerkLevel()
            .Description("Unlocks tier 5 cooking recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Cooking, 40);
        }
        private static void LightArmorProficiency(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.General, PerkType.LightArmorProficiency)
            .Name("Light Armor Proficiency")
            .Description("Grants the ability to equip light armor.")

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 1 light armor.")
            .Price(2)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 2 light armor.")
            .Price(2)
            .RequirementSkill(SkillType.LightArmor, 10)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 3 light armor.")
            .Price(2)
            .RequirementSkill(SkillType.LightArmor, 20)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 4 light armor.")
            .Price(2)
            .RequirementSkill(SkillType.LightArmor, 30)

            .AddPerkLevel()
            .Description("Grants the ability to equip tier 5 light armor.")
            .Price(2)
            .RequirementSkill(SkillType.LightArmor, 40);
        }
        private static void BlacksmithingRecipes(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Blacksmith, PerkType.BlacksmithingRecipes)
            .Name("Blacksmithing Recipes")
            .Description("Unlocks blacksmithing recipes.")

            .AddPerkLevel()
            .Description("Unlocks tier 1 blacksmithing recipes.")
            .Price(2)

            .AddPerkLevel()
            .Description("Unlocks tier 2 blacksmithing recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 10)

            .AddPerkLevel()
            .Description("Unlocks tier 3 blacksmithing recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 20)

            .AddPerkLevel()
            .Description("Unlocks tier 4 blacksmithing recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 30)

            .AddPerkLevel()
            .Description("Unlocks tier 5 blacksmithing recipes.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 40);
        }
        private static void StaffMastery(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.BlackMage, PerkType.StaffMastery)
            .Name("Staff Mastery")
            .Description("Grants increased BAB when equipped with a staff.")
            .TriggerEquippedItem((player, item, inventorySlot, type, level) =>
            {
                ModifyBAB(player, item, inventorySlot, level, true, BaseItem.QuarterStaff, InventorySlot.RightHand);
            })
            .TriggerUnequippedItem((player, item, type, level) =>
            {
                ModifyBAB(player, item, InventorySlot.Invalid, level, false, BaseItem.QuarterStaff, InventorySlot.Invalid);
            })

            .AddPerkLevel()
            .Description("Grants +1 BAB when equipped with a staff.")
            .Price(8)
            .RequirementSkill(SkillType.Staff, 20)
            .RequirementSkill(SkillType.BlackMagic, 25)

            .AddPerkLevel()
            .Description("Grants +2 BAB when equipped with a staff.")
            .Price(8)
            .RequirementSkill(SkillType.Staff, 30)
            .RequirementSkill(SkillType.BlackMagic, 40)

            .AddPerkLevel()
            .Description("Grants +3 BAB when equipped with a staff.")
            .Price(8)
            .RequirementSkill(SkillType.Staff, 40)
            .RequirementSkill(SkillType.BlackMagic, 50);
        }
        private static void AutoCraftBlacksmithing(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Blacksmith, PerkType.AutoCraftBlacksmithing)
            .Name("Auto-Craft Blacksmithing")
            .Description("Unlocks and speeds up Blacksmithing auto-crafting.")

            .AddPerkLevel()
            .Description("Unlocks auto-craft command for Blacksmithing.")
            .Price(4)

            .AddPerkLevel()
            .Description("Reduces Blacksmithing auto-craft delay by 4 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 10)

            .AddPerkLevel()
            .Description("Reduces Blacksmithing auto-craft delay by 8 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 20)

            .AddPerkLevel()
            .Description("Reduces Blacksmithing auto-craft delay by 12 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 30)

            .AddPerkLevel()
            .Description("Reduces Blacksmithing auto-craft delay by 16 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Blacksmithing, 40);
        }
        private static void RifleMastery(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Sniper, PerkType.RifleMastery)
            .Name("Rifle Mastery")
            .Description("Grants increased BAB when equipped with a rifle.")
            .TriggerEquippedItem((player, item, inventorySlot, type, level) =>
            {
                ModifyBAB(player, item, inventorySlot, level, true, BaseItem.Rifle, InventorySlot.RightHand);
            })
            .TriggerUnequippedItem((player, item, type, level) =>
            {
                ModifyBAB(player, item, InventorySlot.Invalid, level, false, BaseItem.Rifle, InventorySlot.Invalid);
            })

            .AddPerkLevel()
            .Description("Grants +1 BAB when equipped with a rifle.")
            .Price(8)
            .RequirementSkill(SkillType.Rifle, 20)
            .RequirementSkill(SkillType.Marksmanship, 25)

            .AddPerkLevel()
            .Description("Grants +2 BAB when equipped with a rifle.")
            .Price(8)
            .RequirementSkill(SkillType.Rifle, 30)
            .RequirementSkill(SkillType.Marksmanship, 40)

            .AddPerkLevel()
            .Description("Grants +3 BAB when equipped with a rifle.")
            .Price(8)
            .RequirementSkill(SkillType.Rifle, 40)
            .RequirementSkill(SkillType.Marksmanship, 50);
        }
Ejemplo n.º 28
0
        private static void Thunder(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.BlackMage, PerkType.Thunder)
            .Name("Thunder")
            .Description("Grants the Thunder black magic ability.")

            .AddPerkLevel()
            .Description("Deals electrical damage to a single target.")
            .RequirementSkill(SkillType.BlackMagic, 10)
            .RequirementSkill(SkillType.Staff, 10)
            .Price(2)
            .GrantsFeat(Feat.Thunder1)

            .AddPerkLevel()
            .Description("Deals electrical damage to a single target and inflicts stun for 2 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 25)
            .RequirementSkill(SkillType.Staff, 20)
            .Price(3)
            .GrantsFeat(Feat.Thunder2)

            .AddPerkLevel()
            .Description("Deals electrical damage to a single target and inflicts stun for 6 seconds.")
            .RequirementSkill(SkillType.BlackMagic, 40)
            .RequirementSkill(SkillType.Staff, 30)
            .Price(4)
            .GrantsFeat(Feat.Thunder3);
        }
Ejemplo n.º 29
0
        private static void DualWield(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Ninja, PerkType.DualWield)
            .Name("Dual Wield")
            .Description("Grants the ability to equip a one-handed weapon in each hand and improves the effectiveness with each level.")

            .AddPerkLevel()
            .Description("Grants the ability to equip a one-handed weapon in each hand.")
            .Price(4)
            .RequirementSkill(SkillType.Katana, 10)
            .RequirementSkill(SkillType.Ninjitsu, 5)

            .AddPerkLevel()
            .Description("Grants the two-weapon fighting feat which reduces the -6/-10 penalty to -4/-8 when dual wielding.")
            .Price(4)
            .GrantsFeat(Feat.TwoWeaponFighting)
            .RequirementSkill(SkillType.Katana, 15)
            .RequirementSkill(SkillType.Ninjitsu, 10)

            .AddPerkLevel()
            .Description("Grants the ambidexterity feat which reduces the penalty of the off-hand weapon by 4 when dual wielding.")
            .Price(4)
            .GrantsFeat(Feat.Ambidexterity)
            .RequirementSkill(SkillType.Katana, 25)
            .RequirementSkill(SkillType.Ninjitsu, 15)

            .AddPerkLevel()
            .Description("Grants the improved two-weapon fighting feat which grants a second off-hand attack at a penalty of -5 attack roll.")
            .Price(4)
            .GrantsFeat(Feat.ImprovedTwoWeaponFighting)
            .RequirementSkill(SkillType.Katana, 35)
            .RequirementSkill(SkillType.Ninjitsu, 25);
        }
Ejemplo n.º 30
0
        private static void AutoCraftAlchemy(PerkBuilder builder)
        {
            builder.Create(PerkCategoryType.Alchemist, PerkType.AutoCraftAlchemy)
            .Name("Auto-Craft Alchemy")
            .Description("Unlocks and speeds up Alchemy auto-crafting.")

            .AddPerkLevel()
            .Description("Unlocks auto-craft command for Alchemy.")
            .Price(4)

            .AddPerkLevel()
            .Description("Reduces Alchemy auto-craft delay by 4 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Alchemy, 10)

            .AddPerkLevel()
            .Description("Reduces Alchemy auto-craft delay by 8 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Alchemy, 20)

            .AddPerkLevel()
            .Description("Reduces Alchemy auto-craft delay by 12 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Alchemy, 30)

            .AddPerkLevel()
            .Description("Reduces Alchemy auto-craft delay by 16 seconds.")
            .Price(2)
            .RequirementSkill(SkillType.Alchemy, 40);
        }