Ejemplo n.º 1
0
        static void LoadKnock()
        {
            var spell = Helpers.CreateAbility("KnockSpell", Main.lc.GetTranslate("Knock.spKnockName"),
                                              Main.lc.GetTranslate("Knock.spKnockDesc"),
                                              "1dc0c67a10a54387b2679712969cab27",
                                              Helpers.GetIcon("26a668c5a8c22354bac67bcd42e09a3f"), // adaptability
                                              AbilityType.Spell, CommandType.Standard, AbilityRange.Medium, "", "",
                                              SpellSchool.Transmutation.CreateSpellComponent(),
                                              FakeTargetsAround.Create(10.Feet()),
                                              Helpers.CreateRunActions(KnockAction.Create(1, 10.Feet())));

            spell.CanTargetPoint     = true;
            spell.AvailableMetamagic = Metamagic.Quicken | Metamagic.Heighten | Metamagic.Reach;

            spell.AddToSpellList(Helpers.inquisitorSpellList, 2);
            spell.AddToSpellList(Helpers.wizardSpellList, 2);
            Helpers.AddSpellAndScroll(spell, "5e9bd8e141c622a4a8f4e4654d022f40"); // find traps scroll

            var massSpell = Helpers.CreateAbility("KnockMass", Main.lc.GetTranslate("Knock.spKnockMassName"),
                                                  Main.lc.GetTranslate("Knock.spKnockMassDescHalf") + $"{ spell.Description}",
                                                  "551f0b78de034fe88b4391293ff20e1b",
                                                  spell.Icon, // adaptability
                                                  AbilityType.Spell, CommandType.Standard, AbilityRange.Close, "", "",
                                                  SpellSchool.Transmutation.CreateSpellComponent(),
                                                  Helpers.CreateContextRankConfig(),
                                                  FakeTargetsAround.Create(30.Feet()),
                                                  Helpers.CreateRunActions(KnockAction.Create(Helpers.CreateContextValueRank(), 30.Feet())));

            massSpell.CanTargetPoint     = true;
            massSpell.AvailableMetamagic = Metamagic.Quicken | Metamagic.Heighten | Metamagic.Reach;

            massSpell.AddToSpellList(Helpers.clericSpellList, 6);
            massSpell.AddToSpellList(Helpers.inquisitorSpellList, 6);
            massSpell.AddToSpellList(Helpers.wizardSpellList, 6);
            Helpers.AddSpellAndScroll(massSpell, "5e9bd8e141c622a4a8f4e4654d022f40"); // find traps scroll
        }
Ejemplo n.º 2
0
        static void LoadKnock()
        {
            var spell = Helpers.CreateAbility("KnockSpell", "Knock",
                                              "Knock opens stuck, barred, or locked doors, as well as those subject to hold portal or arcane lock. When you complete the casting of this spell, make a caster level check against the DC of the lock with a +10 bonus. If successful, knock opens up to two means of closure. This spell opens secret doors, as well as locked or trick-opening boxes or chests. It also loosens welds, shackles, or chains (provided they serve to hold something shut). If used to open an arcane locked door, the spell does not remove the arcane lock but simply suspends its functioning for 10 minutes. In all other cases, the door does not relock itself or become stuck again on its own. Knock does not raise barred gates or similar impediments (such as a portcullis), nor does it affect ropes, vines, and the like. The effect is limited by the area. Each casting can undo as many as two means of preventing access.",
                                              "1dc0c67a10a54387b2679712969cab27",
                                              Helpers.GetIcon("26a668c5a8c22354bac67bcd42e09a3f"), // adaptability
                                              AbilityType.Spell, CommandType.Standard, AbilityRange.Medium, "", "",
                                              SpellSchool.Transmutation.CreateSpellComponent(),
                                              FakeTargetsAround.Create(10.Feet()),
                                              Helpers.CreateRunActions(KnockAction.Create(1, 10.Feet())));

            spell.CanTargetPoint     = true;
            spell.AvailableMetamagic = Metamagic.Quicken | Metamagic.Heighten | Metamagic.Reach;

            spell.AddToSpellList(Helpers.inquisitorSpellList, 2);
            spell.AddToSpellList(Helpers.wizardSpellList, 2);
            Helpers.AddSpellAndScroll(spell, "5e9bd8e141c622a4a8f4e4654d022f40"); // find traps scroll

            var massSpell = Helpers.CreateAbility("KnockMass", "Knock, Mass",
                                                  $"This spell functions as knock, but works on multiple means of closure at once (up to 1/caster level).\n{spell.Description}",
                                                  "551f0b78de034fe88b4391293ff20e1b",
                                                  spell.Icon, // adaptability
                                                  AbilityType.Spell, CommandType.Standard, AbilityRange.Close, "", "",
                                                  SpellSchool.Transmutation.CreateSpellComponent(),
                                                  Helpers.CreateContextRankConfig(),
                                                  FakeTargetsAround.Create(30.Feet()),
                                                  Helpers.CreateRunActions(KnockAction.Create(Helpers.CreateContextValueRank(), 30.Feet())));

            massSpell.CanTargetPoint     = true;
            massSpell.AvailableMetamagic = Metamagic.Quicken | Metamagic.Heighten | Metamagic.Reach;

            massSpell.AddToSpellList(Helpers.clericSpellList, 6);
            massSpell.AddToSpellList(Helpers.inquisitorSpellList, 6);
            massSpell.AddToSpellList(Helpers.wizardSpellList, 6);
            Helpers.AddSpellAndScroll(massSpell, "5e9bd8e141c622a4a8f4e4654d022f40"); // find traps scroll
        }