# $Id: tome-user.prf 705 2011-11-07 01:49:22Z dsb $ ### Welcome to my Grand Macro Unification Project(TM). Here I attempt to ### collect all the macros used by all my characters into a single file. ### ### "But why all in one file?" you might ask. "Why not use separate files ### like Sorceror.prf and Mindcrafter.prf, or CharacterName.prf?" Because: ### ### - I want to use the same macro for Mindcraft powers with my ### Mindcrafter and my Symbiant who got Mindcraft from Fumblefingers. ### - I want to use the same macro for Divine Aim with my Paladin and my ### Tulkas-worshipping Swordmaster. ### - I want to use the same macro for Phase Door with my Sorceror, my ### Warper, my Manwe-worshipping Monk, and my Archer who got Conveyance ### from Fumblefingers. ### - I want to use the same macros for Ammo creation and Fire piercing ### shots with all my bow-, crossbow- and sling-wielding characters. ### - I don't want to have to edit character-specific files every time a ### character gains some new skill from Fumblefingers, or every time a ### character dies and I restart him with a different god or skill ### combination. ### ### Almost all of the macros defined in this file are conditioned on having ### the skill needed for the corresponding spell/power/command; if you gain ### a skill from Fumblefingers, you will need to reload this file via the ### '@' menu (or save and reload the game) to enable the associated macros. ### Also note that some of the conditional lines use special conditional ### expressions defined by my patch: ### ### ### ### If you don't have that patch installed, you will probably have to ### modify the conditional appropriately. ### [Not strictly macro-related, but it's in my pref file, so...] ### Assorted char/attr tweaks for ASCII mode. ### For X11 display module without tiles. ?:[AND [EQU $SYS x11] [NOT [EQU $GRAF new]]] # Non-empty fountains: blue '_' F:2:0x06:0x5F # Spider webs: yellow '±' F:16:0x0B:0xB1 # Permanent walls: brown '#' F:60:0x07:0x23 F:61:0x07:0x23 F:62:0x07:0x23 F:63:0x07:0x23 F:75:0x07:0x23 F:76:0x07:0x23 F:77:0x07:0x23 F:78:0x07:0x23 # Deep and shallow lava: red and dark red '~'. Makes them easier to pick # out in poorly lit rooms or under a Noxious Cloud. F:85:0x0C:0x7E F:86:0x04:0x7E # Small tree: green '%'. *Very* useful for getting around in Mirkwood. F:202:0x05:0x25 # Dead small tree: dark grey '%' F:212:0x08:0x25 # Dense mist: light grey '¤' F:210:0x01:0xA4 # Hail-stone wall: light blue '§' F:211:0x09:0xA7 # Glass wall: light blue '' F:188:0x0E:0x02 # Dark pit: dark grey 'Ø' F:87:0x08:0xD8 # @#$%ing Death swords and Cloakers: purple '|' and '(' R:107:0x0A:0x7C R:243:0x0A:0x28 # Relic pieces: purple '©' K:814:0x0A:0xA9 K:815:0x0A:0xA9 K:816:0x0A:0xA9 K:817:0x0A:0xA9 K:818:0x0A:0xA9 ### For ncurses display module. ?:[EQU $SYS gcu] # Non-empty fountains: blue '_' F:2:0x06:0x5F # Permanent walls: brown '#' F:60:0x07:0x23 F:61:0x07:0x23 F:62:0x07:0x23 F:63:0x07:0x23 F:75:0x07:0x23 F:76:0x07:0x23 F:77:0x07:0x23 F:78:0x07:0x23 # Deep and shallow lava: red and dark red '~'. Makes them easier to pick # out in poorly lit rooms or under a Noxious Cloud. F:85:0x0C:0x7E F:86:0x04:0x7E # Small tree: green '%'. *Very* useful for getting around in Mirkwood. F:202:0x05:0x25 # Dead small tree: dark grey '%' F:212:0x08:0x25 # @#$%ing Death swords and Cloakers: purple '|' and '(' R:107:0x0A:0x7C R:243:0x0A:0x28 # Relic pieces: purple '®' K:814:0x0A:0xAE K:815:0x0A:0xAE K:816:0x0A:0xAE K:817:0x0A:0xAE K:818:0x0A:0xAE # Spider webs: yellow '±' F:16:0x0B:0xB1 # Dense mist: light grey '±' F:210:0x01:0xB1 # Hail-stone wall: white '#' F:211:0x09:0x23 # Glass wall: light blue '#' F:188:0x0E:0x23 # Dark pit: dark grey '#' F:87:0x08:0x23 ?:1 ### Various race/class-based and equipment-granted powers from the 'U' menu ### ('O' in roguelike mode; we use \U here, which should work for both). ### We don't bother conditioning on anything, since some powers can come ### from both race/class and equipment and we can't condition on equipment. ### This is incomplete, I add new powers as I need them. If you want to ### add powers that aren't already here, you'll need the number that ### appears next to them in the power menu listing; for a power with number ### NN, the macro action on the A: line will be '\e\e\e0NN\\U'. # Swap position, typically from Flare A:\e\e\e013\\U P:\[alt-Q]F # Stone to mud, typically from Magical diggers A:\e\e\e038\\U P:\[alt-Q]g # DeathMold powers. A:\e\e\e052\\U P:\[alt-Q]d # Hobbit's create-food power. A:\e\e\e035\\U P:\[alt-Q]f # Dwarf's secret-passages power. A:\e\e\e033\\U P:\[alt-Q]p # Beorning's bearform power. This also switches to Bearform combat, which # is necessary as of v2.3.5; we don't use the m@Change\smelee\sstyle\n # form, since (a) it doesn't appear to work, and (b) since that option has # index 0, it should always be in the 'a' slot if it's available. A:\e\e\e060\\U\e\emab P:\[alt-Q]b # Illuminate, typically from light sources of Illumination A:\e\e\e015\\U P:\[alt-Q]l # Grow-mold power, from eating Slime molds. A:\e\e\e020\\U P:\[alt-Q]m # Thunderlord powers. A:\e\e\e051\\U P:\[alt-Q]T # Petty dwarf's detect-doors/traps power. A:\e\e\e034\\U P:\[alt-Q]t # Magic mapping power, typically from light sources of the Magi. A:\e\e\e056\\U P:\[alt-Q]M # Midas-touch power from the Ring of Durin. A:\e\e\e019\\U P:\[alt-Q]$ # Web power from Mimicry spider form. A:\e\e\e064\\U P:\[alt-Q]w # Blink power, from Gnomes or Boots of Jumping. A:\e\e\e011\\U P:\[alt-Q]B # Priest's detect curses power. A:\e\e\e016\\U P:\[alt-Q]c # Berzerk power from Hammerhand. A:\e\e\e017\\U P:\[alt-Q]z # Vampires' vampiric drain. A:\e\e\e08\\U P:\[alt-Q]v # Rohanknight powers. A:\e\e\e050\\U P:\[alt-Q]r ### Miscellaneous junk # Floor inscriptions. So far the only one I use regularly enough to bother # making a macro for is 'ure nimir', but I'll leave this open-ended in case # I find another useful one. A:\e\e\e\\x\sure\snimir\n P:\[alt-J]l A:\e\e\e\\x\sBaruk\sKhazad!\sKhazad\saimenu!\n P:\[alt-J]d # A Sneaky Hack(TM) for traveling cross-country with a Deathmold using a # hit of FF Mimicry. At such a low skill level, cloak mimicry only lasts a # couple squares of overland travel, so I use this macro to duck down into # the wilderness, restart mimicry and return to overland mode. A:\e\e\e\e>m@Use\sMimicry\na\e< P:\[alt-W] ### Various skill-based powers from the 'm' menu. # Geomancy powers. ?:[GEQN [SKILL Geomancy] 1] A:\e\e\e\em@Use\sGeomancy\n P:\[alt-G] # Mindcraft powers. ?:[GEQN [SKILL Mindcraft] 1] A:\e\e\e\em@Use\sMindcraft\n P:\[alt-M] # Mimicry powers. ?:[GEQN [SKILL Mimicry] 1] A:\e\e\e\em@Use\sMimicry\n P:\[alt-I] # Symbiosis powers. ?:[GEQN [SKILL Symbiosis] 1] A:\e\e\e\em@Use\ssymbiotic\spowers\n P:\[alt-Y] # Summoning powers. ?:[GEQN [SKILL Summoning] 1] A:\e\e\e\em@Manipulate\stotems\n P:\[alt-U] # Necromancy powers. ?:[GEQN [SKILL Necromancy] 1] A:\e\e\e\em@Use\sNecromancy\n P:\[alt-N] # Antimagic powers. ?:[GEQN [SKILL Antimagic] 1] A:\e\e\e\em@Use\santimagic\n P:\[alt-X] # Runecraft spells. The $MODULE variable is from the 'tome-moreprf' patch # mentioned above; if you don't have that patch, you can just strip out # that conditional and remove the macro definition you don't need. ?:[AND [GEQN [SKILL Runecraft] 1] [NEQ $MODULE "ToME:Runecraft"] ] A:\e\e\e\em@Use\sRunespells\n P:\[alt-R] # New Runecraft spells, from my ToME:Runecraft module. ?:[AND [GEQN [SKILL Runecraft] 1] [EQU $MODULE "ToME:Runecraft"] ] A:\e\e\e\em@Use\sRunecraft\smagic\n P:\[alt-R] # Thaumaturgy spells. ?:[GEQN [SKILL Thaumaturgy] 1] A:\e\e\e\em@Cast\sa\sthaumaturgy\sspell\n P:\[alt-T] # Forge ammo. This uses the ABILITY expression from the 'tome-moreprf' # patch mentioned above; if you don't have that patch, you may want to # condition on having Archery skill level 10 or higher (or being an Archer # and level 2 or higher). ?:[ABILITY "Ammo creation"] A:\e\e\e\em@Forge\sammo\n P:\[alt-F] # Piercing shots. ?:[IOR [GEQN [SKILL Bow-mastery] 26] [GEQN [SKILL Sling-mastery] 26] [GEQN [SKILL Crossbow-mastery] 26] ] A:\e\e\e\em@Fire\spiercing\sshots\n P:\[alt-F]p # Boulder-making from the Boulder-throwing skill. ?:[GEQN [SKILL Boulder-throwing] 1] A:\e\e\e\em@Tear\sdown\sa\swall\sto\screate\sboulders\n P:\[alt-F]o # Far-reaching attacks from the Polearm-mastery skill. As above, this # requires the 'tome-moreprf' patch; if you don't have that patch, you # could condition on having Polearm-mastery and Combit skills at level 15 # or higher. ?:[ABILITY "Far reaching attack"] A:\e\e\e\em@Far\sreaching\sattack\n P:\[alt-H] # Alchemy skills. ?:[GEQN [SKILL Alchemy] 1] A:\e\e\e\em@Use\sAlchemy\n P:\[alt-A] # Possessor powers ?:[GEQN [SKILL Possession] 1] A:\e\e\e\em@Use\sthe\spossession\sskill\n P:\[alt-O] ### Castings spells from spellbooks and the like. Here we don't have the ### luxury of just assigning a single key to go to a menu of things to ### choose from, as we did above, and since there are *so* many spells, ### we're forced to revert to multi-character macro sequences; the sequence ### for Globe of Light, for instance, is m. You've got about a ### one-second leeway before the game assumes you're typing separate ### characters. Other things of note: ### ### - We make extensive use of the $GOD variable from the 'tome-moreprf' ### patch mentioned above. If you don't have that patch installed, you ### should edit out all the '[EQU $GOD "god name"]' expressions; you may ### also have to change some of the key sequences for the god spells to ### avoid collisions. ### ### - The macro for each spell is conditioned on having a sufficiently ### high skill level in at least one of the skills that provides the ### spell; thus, as your skill levels increase, you'll need to reload ### this file via the '@' menu (or save and reload your character) to ### enable the macros for the spells you can now cast. (I've debated ### conditioning the macros on simply having the necessary skill(s) at ### level 1 or higher, but I'm still undecided.) # God spells. We allow overlap of key sequences for spells from different # gods, since we can't have them at the same time. ?:[AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@See\sthe\sMusic\n P:\[alt-P]s ?:[AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 7] ] A:\e\e\e\em@Cast\sa\sspell\n@Listen\sto\sthe\sMusic\n P:\[alt-P]i ?:[AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 30] ] A:\e\e\e\em@Cast\sa\sspell\n@Know\sthe\sMusic\n P:\[alt-P]k ?:[AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 35] ] A:\e\e\e\em@Cast\sa\sspell\n@Lay\sof\sProtection\n P:\[alt-P]g ?:[AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@Divine\sAim\n P:\[alt-P]a ?:[AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Whirlwind\n P:\[alt-P]w ?:[AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Wave\sof\sPower\n P:\[alt-P]p ?:[AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@Manwe's\sBlessing\n P:\[alt-P]b ?:[AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Wind\sShield\n P:\[alt-P]w ?:[AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Manwe's\sCall\n P:\[alt-P]c ?:[AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 35] ] A:\e\e\e\em@Cast\sa\sspell\n@Avatar\n P:\[alt-P]a ?:[AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@Charm\sAnimal\n P:\[alt-P]c ?:[AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Grow\sGrass\n P:\[alt-P]g ?:[AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 15] ] A:\e\e\e\em@Cast\sa\sspell\n@Tree\sRoots\n P:\[alt-P]r ?:[AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Water\sBite\n P:\[alt-P]w ?:[AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 35] ] A:\e\e\e\em@Cast\sa\sspell\n@Uproot\n P:\[alt-P]u ?:[AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@Curse\n P:\[alt-P]c ?:[AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Corpse\sExplosion\n P:\[alt-P]e ?:[AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Mind\sSteal\n P:\[alt-P]m # Bard songs. ?:[GEQN [SKILL Music] 1] A:\e\e\e\em@Cast\sa\sspell\n@Stop\ssinging(I)\n P:\[alt-B]s A:\e\e\e\em@Cast\sa\sspell\n@Holding\sPattern(I)\n P:\[alt-B]o A:\e\e\e\em@Cast\sa\sspell\n@Song\sof\sthe\sSun(I)\n P:\[alt-B]l ?:[GEQN [SKILL Music] 4] A:\e\e\e\em@Cast\sa\sspell\n@Blow(I)\n P:\[alt-B]b ?:[GEQN [SKILL Music] 5] A:\e\e\e\em@Cast\sa\sspell\n@Illusion\sPattern(II)\n P:\[alt-B]u A:\e\e\e\em@Cast\sa\sspell\n@Flow\sof\sLife(II)\n P:\[alt-B]h ?:[GEQN [SKILL Music] 10] A:\e\e\e\em@Cast\sa\sspell\n@Heroic\sBallad(II)\n P:\[alt-B]a A:\e\e\e\em@Cast\sa\sspell\n@Stun\sPattern(IV)\n P:\[alt-B]n ?:[GEQN [SKILL Music] 14] A:\e\e\e\em@Cast\sa\sspell\n@Gush\sof\sWind(II)\n P:\[alt-B]w ?:[GEQN [SKILL Music] 20] A:\e\e\e\em@Cast\sa\sspell\n@Hobbit\sMelodies(III)\n P:\[alt-B]d A:\e\e\e\em@Cast\sa\sspell\n@Horns\sof\sYlmir(III)\n P:\[alt-B]q ?:[GEQN [SKILL Music] 25] A:\e\e\e\em@Cast\sa\sspell\n@Clairaudience(IV)\n P:\[alt-B]i A:\e\e\e\em@Cast\sa\sspell\n@Ambarkanta(IV)\n P:\[alt-B]r # Bard songs from my ToME:Bard module. Again, if you don't have the # 'tome-moreprf' patch installed for the $MODULE variable, you can just # edit out that conditional. ?:[AND [GEQN [SKILL Music] 1] [EQU $MODULE "ToME:Bard"] ] A:\e\e\e\em@Cast\sa\sspell\n@Stun\sPattern(III)\n P:\[alt-B]N A:\e\e\e\em@Cast\sa\sspell\n@Tremor\sPattern(IV)\n P:\[alt-B]T A:\e\e\e\em@Cast\sa\sspell\n@Shockwave(II)\n P:\[alt-B]S A:\e\e\e\em@Cast\sa\sspell\n@Blow\sHarder(III)\n P:\[alt-B]B A:\e\e\e\em@Cast\sa\sspell\n@Lay\sof\sthe Land(I)\n P:\[alt-B]D A:\e\e\e\em@Cast\sa\sspell\n@Passtune(II)\n P:\[alt-B]Y A:\e\e\e\em@Cast\sa\sspell\n@Flight\sof\sFancy(III)\n P:\[alt-B]F # Demonology spells ?:[GEQN [SKILL Demonology] 1] A:\e\e\e\em@Cast\sa\sspell\n@Demon\sBlade\n P:\[alt-D]b A:\e\e\e\em@Cast\sa\sspell\n@Doom\sShield\n P:\[alt-D]s ?:[GEQN [SKILL Demonology] 5] A:\e\e\e\em@Cast\sa\sspell\n@Summon\sDemon\n P:\[alt-D]u ?:[GEQN [SKILL Demonology] 10] A:\e\e\e\em@Cast\sa\sspell\n@Demon\sMadness\n P:\[alt-D]m A:\e\e\e\em@Cast\sa\sspell\n@Discharge\sMinion\n P:\[alt-D]i ?:[GEQN [SKILL Demonology] 20] A:\e\e\e\em@Cast\sa\sspell\n@Demon\sField\n P:\[alt-D]f A:\e\e\e\em@Cast\sa\sspell\n@Demon\sCloak\n P:\[alt-D]c ?:[GEQN [SKILL Demonology] 25] A:\e\e\e\em@Cast\sa\sspell\n@Unholy\sWord\n P:\[alt-D]w A:\e\e\e\em@Cast\sa\sspell\n@Control\sDemon\n P:\[alt-D]g # Assorted mage spells. We condition on either Sorcery or the # corresponding realm skill being high enough. We also check for gods that # give access to certain realms. I think this now covers everything except # multi-school spells. # Mana: ?:[IOR [GEQN [SKILL Mana] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 2 ] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Manathrust\n P:\[alt-S]m ?:[IOR [GEQN [SKILL Mana] 10] [GEQN [SKILL Sorcery] 10] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 20 ] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Remove\sCurses\n P:\[alt-S]R ?:[IOR [GEQN [SKILL Mana] 20] [GEQN [SKILL Sorcery] 20] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 40 ] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Elemental\sShield\n P:\[alt-S]E ?:[IOR [GEQN [SKILL Mana] 45] [GEQN [SKILL Sorcery] 45] ] A:\e\e\e\em@Cast\sa\sspell\n@Disruption\sShield\n P:\[alt-S]D # Fire: ?:[IOR [GEQN [SKILL Fire] 1] [GEQN [SKILL Sorcery] 1] ] A:\e\e\e\em@Cast\sa\sspell\n@Globe\sof\sLight\n P:\[alt-S]l ?:[IOR [GEQN [SKILL Fire] 10] [GEQN [SKILL Sorcery] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Fireflash\n P:\[alt-S]x ?:[IOR [GEQN [SKILL Fire] 20] [GEQN [SKILL Sorcery] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Fiery\sShield\n P:\[alt-S]F ?:[IOR [GEQN [SKILL Fire] 25] [GEQN [SKILL Sorcery] 25] ] A:\e\e\e\em@Cast\sa\sspell\n@Firewall\n P:\[alt-S]W # Water ?:[IOR [GEQN [SKILL Water] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 2] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Geyser\n P:\[alt-S]z ?:[IOR [GEQN [SKILL Water] 2] [GEQN [SKILL Sorcery] 2] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 4] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Vapor\n P:\[alt-S]v ?:[IOR [GEQN [SKILL Water] 6] [GEQN [SKILL Sorcery] 6] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 12] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Ent's\sPotion\n P:\[alt-S]f ?:[IOR [GEQN [SKILL Water] 16] [GEQN [SKILL Sorcery] 16] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 32] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Tidal\sWave\n P:\[alt-S]w ?:[IOR [GEQN [SKILL Water] 22] [GEQN [SKILL Sorcery] 22] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 44] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Ice\sStorm\n P:\[alt-S]I # Air: ?:[IOR [GEQN [SKILL Air] 3] [GEQN [SKILL Sorcery] 3] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 5] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Noxious\sCloud\n P:\[alt-S]c ?:[IOR [GEQN [SKILL Air] 12] [GEQN [SKILL Sorcery] 12] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 18] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Poison\sBlood\n P:\[alt-S]b ?:[IOR [GEQN [SKILL Air] 16] [GEQN [SKILL Sorcery] 16] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 24] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Invisibility\n P:\[alt-S]0 ?:[IOR [GEQN [SKILL Air] 20] [GEQN [SKILL Sorcery] 20] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 30] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Sterilize\n P:\[alt-S]Z # [These next two are multi-school, which has all the problems described # in Udun below...] ?:[IOR [GEQN [SKILL Air] 22] [GEQN [SKILL Sorcery] 22] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 33] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Wings\sof\sWinds\n P:\[alt-S]~ ?:[IOR [GEQN [SKILL Air] 25] [GEQN [SKILL Sorcery] 25] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 38] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Thunderstorm\n P:\[alt-S]" # Earth: ?:[IOR [GEQN [SKILL Earth] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 2] ] [AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 1] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Stone\sSkin\n P:\[alt-S]k ?:[IOR [GEQN [SKILL Earth] 12] [GEQN [SKILL Sorcery] 12] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 24] ] [AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 15] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Dig\n P:\[alt-S]g ?:[IOR [GEQN [SKILL Earth] 25] [GEQN [SKILL Sorcery] 25] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 50] ] [AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 32] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Stone\sPrison\n P:\[alt-S]P ?:[IOR [GEQN [SKILL Earth] 27] [GEQN [SKILL Sorcery] 27] [AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 34] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Shake\n P:\[alt-S]Q ?:[IOR [GEQN [SKILL Earth] 30] [GEQN [SKILL Sorcery] 30] [AND [EQU $GOD "Tulkas"] [GEQN [SKILL Prayer] 38] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Strike\n P:\[alt-S]K # Meta: ?:[IOR [GEQN [SKILL Meta] 5] [GEQN [SKILL Sorcery] 5] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 15] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Recharge\n P:\[alt-S]j ?:[IOR [GEQN [SKILL Meta] 15] [GEQN [SKILL Sorcery] 15] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 45] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Disperse\sMagic\n P:\[alt-S]X ?:[IOR [GEQN [SKILL Meta] 20] [GEQN [SKILL Sorcery] 20] ] A:\e\e\e\em@Cast\sa\sspell\n@Spellbinder\n P:\[alt-S]@ ?:[IOR [GEQN [SKILL Meta] 30] [GEQN [SKILL Sorcery] 30] ] A:\e\e\e\em@Cast\sa\sspell\n@Tracker\n P:\[alt-S]T ?:[IOR [GEQN [SKILL Meta] 37] [GEQN [SKILL Sorcery] 37] ] A:\e\e\e\em@Cast\sa\sspell\n@Inertia\sControl\n P:\[alt-S]n # Conveyance: ?:[IOR [GEQN [SKILL Conveyance] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 2] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Phase\sDoor\n P:\[alt-S]p ?:[IOR [GEQN [SKILL Conveyance] 3] [GEQN [SKILL Sorcery] 3] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 6] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Disarm\n P:\[alt-S]y ?:[IOR [GEQN [SKILL Conveyance] 10] [GEQN [SKILL Sorcery] 10] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 20] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Teleportation\n P:\[alt-S]e ?:[IOR [GEQN [SKILL Conveyance] 23] [GEQN [SKILL Sorcery] 23] [AND [EQU $GOD "Manwe Sulimo"] [GEQN [SKILL Prayer] 46] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Teleport\sAway\n P:\[alt-S]a ?:[IOR [GEQN [SKILL Conveyance] 30] [GEQN [SKILL Sorcery] 30] ] A:\e\e\e\em@Cast\sa\sspell\n@Recall\n P:\[alt-S]r ?:[IOR [GEQN [SKILL Conveyance] 35] [GEQN [SKILL Sorcery] 35] ] A:\e\e\e\em@Cast\sa\sspell\n@Probability\sTravel\n P:\[alt-S]% # Divination ?:[IOR [GEQN [SKILL Divination] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 2] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Sense\sMonsters\n P:\[alt-S]d ?:[IOR [GEQN [SKILL Divination] 5] [GEQN [SKILL Sorcery] 5] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 7] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Sense\sHidden\n P:\[alt-S]t ?:[IOR [GEQN [SKILL Divination] 8] [GEQN [SKILL Sorcery] 8] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 12] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Identify\n P:\[alt-S]i ?:[IOR [GEQN [SKILL Divination] 9] [GEQN [SKILL Sorcery] 9] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 14] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Reveal\sWays\n P:\[alt-S]o ?:[IOR [GEQN [SKILL Divination] 15] [GEQN [SKILL Sorcery] 15] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 23] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Vision\n P:\[alt-S]V ?:[IOR [GEQN [SKILL Divination] 35] [GEQN [SKILL Sorcery] 35]] A:\e\e\e\em@Cast\sa\sspell\n@Greater\sIdentify\n P:\[alt-S]* # Temporal ?:[IOR [GEQN [SKILL Temporal] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 6] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Magelock\n P:\[alt-S]L ?:[IOR [GEQN [SKILL Temporal] 10] [GEQN [SKILL Sorcery] 10] ] A:\e\e\e\em@Cast\sa\sspell\n@Slow\sMonster\n P:\[alt-S]O ?:[IOR [GEQN [SKILL Temporal] 15] [GEQN [SKILL Sorcery] 15] ] A:\e\e\e\em@Cast\sa\sspell\n@Essence\sof\sSpeed\n P:\[alt-S]s ?:[IOR [GEQN [SKILL Temporal] 30] [GEQN [SKILL Conveyance] 30] [GEQN [SKILL Sorcery] 30] ] A:\e\e\e\em@Cast\sa\sspell\n@Banishment\n P:\[alt-S]B # Mind ?:[IOR [GEQN [SKILL Mind] 1] [GEQN [SKILL Sorcery] 1] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 3] ] [AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 3] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Charm\n P:\[alt-S]C ?:[IOR [GEQN [SKILL Mind] 5] [GEQN [SKILL Sorcery] 5] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 15] ] [AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 15] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Confuse\n P:\[alt-S]? ?:[IOR [GEQN [SKILL Mind] 10] [GEQN [SKILL Sorcery] 10] [AND [EQU $GOD "Eru Iluvatar"] [GEQN [SKILL Prayer] 30] ] [AND [EQU $GOD "Melkor Bauglir"] [GEQN [SKILL Prayer] 30] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Armor\sof\sFear\n P:\[alt-S]! A:\e\e\e\em@Cast\sa\sspell\n@Stun\n P:\[alt-S]N # Nature: # [Technically this one is Nature/Temporal, but there's not really any # way to condition on that...] ?:[IOR [GEQN [SKILL Nature] 6] [GEQN [SKILL Sorcery] 6] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 12] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Grow\sTrees\n P:\[alt-S]# ?:[IOR [GEQN [SKILL Nature] 10] [GEQN [SKILL Sorcery] 10] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 20] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Healing\n P:\[alt-S]h ?:[IOR [GEQN [SKILL Nature] 15] [GEQN [SKILL Sorcery] 15] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 30] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Recovery\n P:\[alt-S]Y ?:[IOR [GEQN [SKILL Nature] 20] [GEQN [SKILL Sorcery] 20] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 40] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Regeneration\n P:\[alt-S]+ ?:[IOR [GEQN [SKILL Nature] 25] [GEQN [SKILL Sorcery] 25] [AND [EQU $GOD "Yavanna Kementari"] [GEQN [SKILL Prayer] 50] ] ] A:\e\e\e\em@Cast\sa\sspell\n@Summon\sAnimal\n P:\[alt-S]M # Udun. Since all Udun spells are multi-school, we can't even condition # this on Udun skill being >= 1, since even a fractional skill level is # enough to cast the spell if the other school level is high enough. Nor # can we condition on worshipping Melkor, since you don't lose your Udun # skill after destroying the Ring and being abandoned by Melkor. So we # just punt. [Actually, for the higher-level spells, Udun skill would # have to be above 1 anyway for the average to be high enough to cast the # spell, so we condition on the minum necessary Udun level.] ?:1 A:\e\e\e\em@Cast\sa\sspell\n@Drain\n P:\[alt-S]u A:\e\e\e\em@Cast\sa\sspell\n@Genocide\n P:\[alt-S]G ?:[GEQN [SKILL Udun] 10] A:\e\e\e\em@Cast\sa\sspell\n@Wraithform\n P:\[alt-S]A ?:[GEQN [SKILL Udun] 20] A:\e\e\e\em@Cast\sa\sspell\n@Flame\sof\sUdun\n P:\[alt-S]U ?:1