view plugins/xxsrdlinker.py @ 175:fd6415b8243e alpha

Traipse Alpha 'OpenRPG' {100112-01} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary (Keeping up with Beta) New Features: Added Bookmarks Added 'boot' command to remote admin Added confirmation window for sent nodes Minor changes to allow for portability to an OpenSUSE linux OS Miniatures Layer pop up box allows users to turn off Mini labels, from FlexiRPG Zoom Mouse plugin added Images added to Plugin UI Switching to Element Tree Map efficiency, from FlexiRPG Added Status Bar to Update Manager New TrueDebug Class in orpg_log (See documentation for usage) Portable Mercurial Tip of the Day added, from Core and community New Reference Syntax added for custom PC sheets New Child Reference for gametree New Parent Reference for gametree New Gametree Recursion method, mapping, context sensitivity, and effeciency.. New Features node with bonus nodes and Node Referencing help added Dieroller structure from Core Added 7th Sea die roller method; ie [7k3] = [7d10.takeHighest(3).open(10)] New 'Mythos' System die roller added Added new vs. die roller method for WoD; ie [3v3] = [3d10.vs(3)]. Includes support for Mythos roller New EZ_Tree Reference system. Push a button, Traipse the tree, get a reference (Alpha!!) Fixes: Fix to Text based Server Fix to Remote Admin Commands Fix to Pretty Print, from Core Fix to Splitter Nodes not being created Fix to massive amounts of images loading, from Core Fix to Map from gametree not showing to all clients Fix to gametree about menus Fix to Password Manager check on startup Fix to PC Sheets from tool nodes. They now use the tabber_panel Fixed Whiteboard ID to prevent random line or text deleting. Modified ID's to prevent non updated clients from ruining the fix. default_manifest.xml renamed to default_upmana.xml Fix to Update Manager; cleaner clode for saved repositories Fixes made to Settings Panel and no reactive settings when Ok is pressed Fixes to Alternity roller's attack roll. Uses a simple Tuple instead of a Splice Fix to Use panel of Forms and Tabbers. Now longer enters design mode
author sirebral
date Tue, 12 Jan 2010 19:51:39 -0600
parents 4385a7d0efd1
children
line wrap: on
line source

import os
import re
import string
import orpg.pluginhandler

class Plugin(orpg.pluginhandler.PluginHandler):
    # Initialization subroutine.
    #
    # !self : instance of self
    # !chat : instance of the chat window to write to
    def __init__(self, plugindb, parent):
        orpg.pluginhandler.PluginHandler.__init__(self, plugindb, parent)

        # The Following code should be edited to contain the proper information
        self.name = 'SRD Auto Linker'
        self.author = 'Digitalxero, Ulf'
        self.help = "This plugin automatically Links words to the proper section of the Online SRD"
        baseURL = 'http://d20srd.org/srd/'
        self.checklist = {

            # Skills
            'appraise':                         baseURL + "skills/appraise.htm",
            'autohypnosis':                     baseURL + "psionic/skills/autohypnosis.htm",
            'balance':                          baseURL + "skills/balance.htm",
            'bluff':                            baseURL + "skills/bluff.htm",
            'climb':                            baseURL + "skills/climb.htm",
            'concentration':                    baseURL + "psionic/skills/concentration.htm",
            'craft':                            baseURL + "skills/craft.htm",
            'decipher script':                  baseURL + "skills/decipherScript.htm",
            'diplomacy':                        baseURL + "skills/diplomacy.htm",
            'disable device':                   baseURL + "skills/disableDevice.htm",
            'disguise':                         baseURL + "skills/disguise.htm",
            'escape artist':                    baseURL + "skills/escapeArtist.htm",
            'forgery':                          baseURL + "skills/forgery.htm",
            'gather information':               baseURL + "skills/gatherInformation.htm",
            'handle animal':                    baseURL + "skills/handleAnimal.htm",
            'heal':                             baseURL + "skills/heal.htm",
            'hide':                             baseURL + "skills/hide.htm",
            'intimidate':                       baseURL + "skills/intimidate.htm",
            'jump':                             baseURL + "skills/jump.htm",
            'knowledge':                        baseURL + "skills/knowledge.htm",
            'listen':                           baseURL + "skills/listen.htm",
            'move silently':                    baseURL + "skills/moveSilently.htm",
            'open lock':                        baseURL + "skills/openLock.htm",
            'perform':                          baseURL + "skills/perform.htm",
            'profession':                       baseURL + "skills/profession.htm",
            'psicraft':                         baseURL + "psionic/skills/psicraft.htm",
            'ride':                             baseURL + "skills/ride.htm",
            'search':                           baseURL + "skills/search.htm",
            'sense motive':                     baseURL + "skills/senseMotive.htm",
            'sleight of hand':                  baseURL + "skills/sleightOfHand.htm",
            'speak language':                   baseURL + "skills/speakLanguage.htm",
            'spellcraft':                       baseURL + "skills/spellcraft.htm",
            'spot':                             baseURL + "skills/spot.htm",
            'survival':                         baseURL + "skills/survival.htm",
            'swim':                             baseURL + "skills/swim.htm",
            'tumble':                           baseURL + "skills/tumble.htm",
            'use magic device':                 baseURL + "skills/useMagicDevice.htm",
            'use psionic device':               baseURL + "psionic/skills/usePsionicDevice.htm",
            'use rope':                         baseURL + "skills/useRope.htm",

            # Feats
            'acrobatic':                        baseURL + 'feats.htm#acrobatic',
            'agile':                            baseURL + 'feats.htm#agile',
            'alertness':                        baseURL + 'feats.htm#alertness',
            'animal affinity':                  baseURL + 'feats.htm#animalAffinity',
            'antipsionic magic':                baseURL + 'psionic/psionicFeats.htm#antipsionicMagic',
            'armor proficiency (heavy)':        baseURL + 'feats.htm#armorProficiencyHeavy',
            'armor proficiency (light)':        baseURL + 'feats.htm#armorProficiencyLight',
            'armor proficiency (medium)':       baseURL + 'feats.htm#armorProficiencyMedium',
            'armor proficiency':                baseURL + 'feats.htm#armorProficiencyLight',
            'athletic':                         baseURL + 'feats.htm#athletic',
            'augment summoning':                baseURL + 'feats.htm#augmentSummoning',
            'autonomous':                       baseURL + 'psionic/psionicFeats.htm#autonomous',
            'blind-fight':                      baseURL + 'feats.htm#blindFight',
            'brew potion':                      baseURL + 'feats.htm#brewPotion',
            'chaotic mind':                                 baseURL + 'psionic/psionicFeats.htm#chaoticMind',
            'cleave':                           baseURL + 'feats.htm#cleave',
            'cloak dance':                                  baseURL + 'psionic/psionicFeats.htm#cloakDance',
            'combat casting':                   baseURL + 'feats.htm#combatCasting',
            'combat expertise':                 baseURL + 'feats.htm#combatExpertise',
            'combat reflexes':                  baseURL + 'feats.htm#combatReflexes',
            'craft magic arms and armor':       baseURL + 'feats.htm#craftMagicArmsAndArmor',
            'craft rod':                        baseURL + 'feats.htm#craftRod',
            'craft staff':                      baseURL + 'feats.htm#craftStaff',
            'craft wand':                       baseURL + 'feats.htm#craftWand',
            'craft wondrous item':              baseURL + 'feats.htm#craftWondrousItem',
            'deceitful':                        baseURL + 'feats.htm#deceitful',
            'deflect arrows':                   baseURL + 'feats.htm#deflectArrows',
            'deft hands':                       baseURL + 'feats.htm#deftHands',
            'diehard':                          baseURL + 'feats.htm#diehard',
            'diligent':                         baseURL + 'feats.htm#diligent',
            'dodge':                            baseURL + 'feats.htm#dodge',
            'empower spell':                    baseURL + 'feats.htm#empowerSpell',
            'endurance':                        baseURL + 'feats.htm#endurance',
            'enlarge spell':                    baseURL + 'feats.htm#enlargeSpell',
            'eschew materials':                 baseURL + 'feats.htm#eschewMaterials',
            'exotic weapon proficiency':        baseURL + 'feats.htm#exoticWeaponProficiency',
            'extend spell':                     baseURL + 'feats.htm#extendSpell',
            'extra turning':                    baseURL + 'feats.htm#extraTurning',
            'far shot':                         baseURL + 'feats.htm#farShot',
            'forge ring':                       baseURL + 'feats.htm#forgeRing',
            'great cleave':                     baseURL + 'feats.htm#greatCleave',
            'great fortitude':                  baseURL + 'feats.htm#greatFortitude',
            'greater spell focus':              baseURL + 'feats.htm#greaterSpellFocus',
            'greater spell penetration':        baseURL + 'feats.htm#greaterSpellPenetration',
            'greater two-weapon fighting':      baseURL + 'feats.htm#greaterTwoWeaponFighting',
            'greater weapon focus':             baseURL + 'feats.htm#greaterWeaponFocus',
            'greater weapon specialization':    baseURL + 'feats.htm#greaterWeaponSpecialization',
            'heighten spell':                   baseURL + 'feats.htm#heightenSpell',
            'improved bull rush':               baseURL + 'feats.htm#improvedBullRush',
            'improved counterspell':            baseURL + 'feats.htm#improvedCounterspell',
            'improved critical':                baseURL + 'feats.htm#improvedCritical',
            'improved disarm':                  baseURL + 'feats.htm#improvedDisarm',
            'improved familiar':                baseURL + 'feats.htm#improvedFamiliar',
            'improved feint':                   baseURL + 'feats.htm#improvedFeint',
            'improved grapple':                 baseURL + 'feats.htm#improvedGrapple',
            'improved initiative':              baseURL + 'feats.htm#improvedInitiative',
            'improved overrun':                 baseURL + 'feats.htm#improvedOverrun',
            'improved precise shot':            baseURL + 'feats.htm#improvedPreciseShot',
            'improved shield bash':             baseURL + 'feats.htm#improvedShieldBash',
            'improved sunder':                  baseURL + 'feats.htm#improvedSunder',
            'improved trip':                    baseURL + 'feats.htm#improvedTrip',
            'improved turning':                 baseURL + 'feats.htm#improvedTurning',
            'improved two-weapon fighting':     baseURL + 'feats.htm#improvedTwoWeaponFighting',
            'improved unarmed strike':          baseURL + 'feats.htm#improvedUnarmedStrike',
            'investigator':                     baseURL + 'feats.htm#investigator',
            'iron will':                        baseURL + 'feats.htm#ironWill',
            'leadership':                       baseURL + 'feats.htm#leadership',
            'lightning reflexes':               baseURL + 'feats.htm#lightningReflexes',
            'magical aptitude':                 baseURL + 'feats.htm#magicalAptitude',
            'manyshot':                         baseURL + 'feats.htm#manyshot',
            'martial weapon proficiency':       baseURL + 'feats.htm#martialWeaponProficiency',
            'maximize spell':                   baseURL + 'feats.htm#maximizeSpell',
            'mobility':                         baseURL + 'feats.htm#mobility',
            'mounted archery':                  baseURL + 'feats.htm#mountedArchery',
            'mounted combat':                   baseURL + 'feats.htm#mountedCombat',
            'natural spell':                    baseURL + 'feats.htm#naturalSpell',
            'negotiator':                       baseURL + 'feats.htm#negotiator',
            'nimble fingers':                   baseURL + 'feats.htm#nimbleFingers',
            'persuasive':                       baseURL + 'feats.htm#persuasive',
            'point blank shot':                 baseURL + 'feats.htm#pointBlankShot',
            'power attack':                     baseURL + 'feats.htm#powerAttack',
            'precise shot':                     baseURL + 'feats.htm#preciseShot',
            'quick draw':                       baseURL + 'feats.htm#quickDraw',
            'quicken spell':                    baseURL + 'feats.htm#quickenSpell',
            'rapid reload':                     baseURL + 'feats.htm#rapidReload',
            'rapid shot':                       baseURL + 'feats.htm#rapidShot',
            'ride-by attack':                   baseURL + 'feats.htm#rideByAttack',
            'run':                              baseURL + 'feats.htm#run',
            'scribe scroll':                    baseURL + 'feats.htm#scribeScroll',
            'self-sufficient':                  baseURL + 'feats.htm#selfSufficient',
            'shield proficiency':               baseURL + 'feats.htm#shieldProficiency',
            'shot on the run':                  baseURL + 'feats.htm#shotOnTheRun',
            'silent spell':                     baseURL + 'feats.htm#silentSpell',
            'simple weapon proficiency':        baseURL + 'feats.htm#simpleWeaponProficiency',
            'skill focus':                      baseURL + 'feats.htm#skillFocus',
            'snatch arrows':                    baseURL + 'feats.htm#snatchArrows',
            'spell focus':                      baseURL + 'feats.htm#spellFocus',
            'spell mastery':                    baseURL + 'feats.htm#spellMasterySpecial',
            'spell penetration':                baseURL + 'feats.htm#spellPenetration',
            'spirited charge':                  baseURL + 'feats.htm#spiritedCharge',
            'spring attack':                    baseURL + 'feats.htm#springAttack',
            'stealthy':                         baseURL + 'feats.htm#stealthy',
            'still spell':                      baseURL + 'feats.htm#stillSpell',
            'stunning fist':                    baseURL + 'feats.htm#stunningFist',
            'toughness':                        baseURL + 'feats.htm#toughness',
            'tower shield proficiency':         baseURL + 'feats.htm#towerShieldProficiency',
            'track':                            baseURL + 'feats.htm#track',
            'trample':                          baseURL + 'feats.htm#trample',
            'two-weapon defense':               baseURL + 'feats.htm#twoWeaponDefense',
            'two-weapon fighting':              baseURL + 'feats.htm#twoWeaponFighting',
            'weapon finesse':                   baseURL + 'feats.htm#weaponFinesse',
            'weapon focus':                     baseURL + 'feats.htm#weaponFocus',
            'weapon specialization':            baseURL + 'feats.htm#weaponSpecialization',
            'whirlwind attack':                 baseURL + 'feats.htm#whirlwindAttack',
            'widen spell':                      baseURL + 'feats.htm#widenSpell',

            # Druid special abilities.
            'animal companion' :                baseURL + "classes/druid.htm#animalCompanion",
            'wild empathy'     :                baseURL + "classes/druid.htm#wildEmpathy",
            'woodland stride'  :                baseURL + "classes/druid.htm#woodlandStride",
            'nature sense'     :                baseURL + "classes/druid.htm#natureSense",
            'trackless step'   :                baseURL + "classes/druid.htm#tracklessStep",
            "resist nature's lure":             baseURL + "classes/druid.htm#resistNaturesLure",
            'wild shape'       :                baseURL + "classes/druid.htm#wildShape",
            'venom immunity'   :                baseURL + "classes/druid.htm#venomImmunity",
            'a thousand faces' :                baseURL + "classes/druid.htm#aThousandFaces",
            'timeless body'    :                baseURL + "classes/druid.htm#druidTimelessBody",

            # Animal companion abilities.
            'link'             :                baseURL + "classes/druid.htm#link",
            'share spells'     :                baseURL + "classes/druid.htm#shareSpells",
            'devotion'         :                baseURL + "classes/druid.htm#devotion",
            'multiattack'      :                baseURL + "classes/druid.htm#multiattack",

            # Ranger special abilities.
            'wild empathy'     :                baseURL + "classes/ranger.htm#wildEmpathy",
            'favored enemy'    :                baseURL + "classes/ranger.htm#favoredEnemy",
            'combat style'     :                baseURL + "classes/ranger.htm#combatStyle",
            'animal companion' :                baseURL + "classes/druid.htm#animalCompanion",
            'improved combat style':            baseURL + "classes/ranger.htm#improvedCombatStyle",
            'woodland stride'  :                baseURL + "classes/ranger.htm#woodlandStride",
            'swift tracker'    :                baseURL + "classes/ranger.htm#swiftTracker",
            'combat style mastery':             baseURL + "classes/ranger.htm#combatStyleMastery",
            'camouflage'       :                baseURL + "classes/ranger.htm#camouflage",
            'hide in plain sight':              baseURL + "classes/ranger.htm#hideinPlainSight",

            # Rogue special abilities.
            'sneak attack'     :                baseURL + "classes/rogue.htm#sneakAttack",
            'trapfinding'      :                baseURL + "classes/rogue.htm#trapfinding",
            'trap sense'       :                baseURL + "classes/rogue.htm#trapSense",
            'uncanny dodge'    :                baseURL + "classes/rogue.htm#uncannyDodge",
            'improved uncanny dodge':           baseURL + "classes/rogue.htm#improvedUncannyDodge",

            # Wizard special abilities.
            'summon familiar'  :                baseURL + "classes/sorcererWizard.htm#wizardFamiliar",
            'scribe scroll'    :                baseURL + "classes/sorcererWizard.htm#scribeScroll",

            # Spells
            "acid arrow":                       baseURL + "spells/acidArrow.htm",
            "acid fog":                         baseURL + "spells/acidFog.htm",
            "acid splash":                      baseURL + "spells/acidSplash.htm",
            "aid":                              baseURL + "spells/aid.htm",
            "air walk":                         baseURL + "spells/airWalk.htm",
            "alarm":                            baseURL + "spells/alarm.htm",
            "align weapon":                     baseURL + "spells/alignWeapon.htm",
            "alter self":                       baseURL + "spells/alterSelf.htm",
            "analyze dweomer":                  baseURL + "spells/analyzeDweomer.htm",
            "animal growth":                    baseURL + "spells/animalGrowth.htm",
            "animal messenger":                 baseURL + "spells/animalMessenger.htm",
            "animal shapes":                    baseURL + "spells/animalShapes.htm",
            "animal trance":                    baseURL + "spells/animalTrance.htm",
            "animate dead":                     baseURL + "spells/animateDead.htm",
            "animate objects":                  baseURL + "spells/animateObjects.htm",
            "animate plants":                   baseURL + "spells/animatePlants.htm",
            "animate rope":                     baseURL + "spells/animateRope.htm",
            "antilife shell":                   baseURL + "spells/antilifeShell.htm",
            "antimagic field":                  baseURL + "spells/antimagicField.htm",
            "antipathy":                        baseURL + "spells/antipathy.htm",
            "antiplant shell":                  baseURL + "spells/antiplantShell.htm",
            "arcane eye":                       baseURL + "spells/arcaneEye.htm",
            "arcane lock":                      baseURL + "spells/arcaneLock.htm",
            "arcane mark":                      baseURL + "spells/arcaneMark.htm",
            "arcane sight":                     baseURL + "spells/arcaneSight.htm",
            "arcane sight, greater":            baseURL + "spells/arcaneSightGreater.htm",
            "astral projection":                baseURL + "spells/astralProjection.htm",
            "atonement":                        baseURL + "spells/atonement.htm",
            "augury":                           baseURL + "spells/augury.htm",
            "awaken":                           baseURL + "spells/awaken.htm",
            "baleful polymorph":                baseURL + "spells/balefulPolymorph.htm",
            "bane":                             baseURL + "spells/bane.htm",
            "banishment":                       baseURL + "spells/banishment.htm",
            "barkskin":                         baseURL + "spells/barkskin.htm",
            "bear's endurance":                 baseURL + "spells/bearsEndurance.htm",
            "bear's endurance, mass":           baseURL + "spells/bearsEnduranceMass.htm",
            "bestow curse":                     baseURL + "spells/bestowCurse.htm",
            "binding":                          baseURL + "spells/binding.htm",
            "black tentacles":                  baseURL + "spells/blackTentacles.htm",
            "blade barrier":                    baseURL + "spells/bladeBarrier.htm",
            "blasphemy":                        baseURL + "spells/blasphemy.htm",
            "bless":                            baseURL + "spells/bless.htm",
            "bless water":                      baseURL + "spells/blessWater.htm",
            "bless weapon":                     baseURL + "spells/blessWeapon.htm",
            "blight":                           baseURL + "spells/blight.htm",
            "blindness/deafness":               baseURL + "spells/blindnessDeafness.htm",
            "blink":                            baseURL + "spells/blink.htm",
            "blur":                             baseURL + "spells/blur.htm",
            "break enchantment":                baseURL + "spells/breakEnchantment.htm",
            "bull's strength":                  baseURL + "spells/bullsStrength.htm",
            "bull's strength, mass":            baseURL + "spells/bullsStrengthMass.htm",
            "burning hands":                    baseURL + "spells/burningHands.htm",
            "call lightning":                   baseURL + "spells/callLightning.htm",
            "call lightning storm":             baseURL + "spells/callLightningStorm.htm",
            "calm animals":                     baseURL + "spells/calmAnimals.htm",
            "calm emotions":                    baseURL + "spells/calmEmotions.htm",
            "cat's grace":                      baseURL + "spells/catsGrace.htm",
            "cat's grace, mass":                baseURL + "spells/catsGraceMass.htm",
            "cause fear":                       baseURL + "spells/causeFear.htm",
            "chain lightning":                  baseURL + "spells/chainLightning.htm",
            "changestaff":                      baseURL + "spells/changestaff.htm",
            "chaos hammer":                     baseURL + "spells/chaosHammer.htm",
            "charm animal":                     baseURL + "spells/charmAnimal.htm",
            "charm monster":                    baseURL + "spells/charmMonster.htm",
            "charm monster, mass":              baseURL + "spells/charmMonsterMass.htm",
            "charm person":                     baseURL + "spells/charmPerson.htm",
            "chill metal":                      baseURL + "spells/chillMetal.htm",
            "chill touch":                      baseURL + "spells/chillTouch.htm",
            "circle of death":                  baseURL + "spells/circleofDeath.htm",
            "clairaudience/clairvoyance":       baseURL + "spells/clairaudienceClairvoyance.htm",
            "clenched fist":                    baseURL + "spells/clenchedFist.htm",
            "cloak of chaos":                   baseURL + "spells/cloakofChaos.htm",
            "clone":                            baseURL + "spells/clone.htm",
            "cloudkill":                        baseURL + "spells/cloudkill.htm",
            "color spray":                      baseURL + "spells/colorSpray.htm",
            "command":                          baseURL + "spells/command.htm",
            "command, greater":                 baseURL + "spells/commandGreater.htm",
            "command plants":                   baseURL + "spells/commandPlants.htm",
            "command undead":                   baseURL + "spells/commandUndead.htm",
            "commune":                          baseURL + "spells/commune.htm",
            "commune with nature":              baseURL + "spells/communewithNature.htm",
            "comprehend languages":             baseURL + "spells/comprehendLanguages.htm",
            "cone of cold":                     baseURL + "spells/coneofCold.htm",
            "confusion":                        baseURL + "spells/confusion.htm",
            "confusion, lesser":                baseURL + "spells/confusionLesser.htm",
            "consecrate":                       baseURL + "spells/consecrate.htm",
            "contact other plane":              baseURL + "spells/contactOtherPlane.htm",
            "contagion":                        baseURL + "spells/contagion.htm",
            "contingency":                      baseURL + "spells/contingency.htm",
            "continual flame":                  baseURL + "spells/continualFlame.htm",
            "control plants":                   baseURL + "spells/controlPlants.htm",
            "control undead":                   baseURL + "spells/controlUndead.htm",
            "control water":                    baseURL + "spells/controlWater.htm",
            "control weather":                  baseURL + "spells/controlWeather.htm",
            "control winds":                    baseURL + "spells/controlWinds.htm",
            "create food and water":            baseURL + "spells/createFoodandWater.htm",
            "create greater undead":            baseURL + "spells/createGreaterUndead.htm",
            "create undead":                    baseURL + "spells/createUndead.htm",
            "create water":                     baseURL + "spells/createWater.htm",
            "creeping doom":                    baseURL + "spells/creepingDoom.htm",
            "crushing despair":                 baseURL + "spells/crushingDespair.htm",
            "crushing hand":                    baseURL + "spells/crushingHand.htm",
            "cure critical wounds":             baseURL + "spells/cureCriticalWounds.htm",
            "cure critical wounds, mass":       baseURL + "spells/cureCriticalWoundsMass.htm",
            "cure light wounds":                baseURL + "spells/cureLightWounds.htm",
            "cure light wounds, mass":          baseURL + "spells/cureLightWoundsMass.htm",
            "cure minor wounds":                baseURL + "spells/cureMinorWounds.htm",
            "cure moderate wounds":             baseURL + "spells/cureModerateWounds.htm",
            "cure moderate wounds, mass":       baseURL + "spells/cureModerateWoundsMass.htm",
            "cure serious wounds":              baseURL + "spells/cureSeriousWounds.htm",
            "cure serious wounds, mass":        baseURL + "spells/cureSeriousWoundsMass.htm",
            "curse water":                      baseURL + "spells/curseWater.htm",
            "dancing lights":                   baseURL + "spells/dancingLights.htm",
            "darkness":                         baseURL + "spells/darkness.htm",
            "darkvision":                       baseURL + "spells/darkvision.htm",
            "daylight":                         baseURL + "spells/daylight.htm",
            "daze":                             baseURL + "spells/daze.htm",
            "daze monster":                     baseURL + "spells/dazeMonster.htm",
            "death knell":                      baseURL + "spells/deathKnell.htm",
            "death ward":                       baseURL + "spells/deathWard.htm",
            "deathwatch":                       baseURL + "spells/deathwatch.htm",
            "deep slumber":                     baseURL + "spells/deepSlumber.htm",
            "deeper darkness":                  baseURL + "spells/deeperDarkness.htm",
            "delay poison":                     baseURL + "spells/delayPoison.htm",
            "delayed blast fireball":           baseURL + "spells/delayedBlastFireball.htm",
            "demand":                           baseURL + "spells/demand.htm",
            "desecrate":                        baseURL + "spells/desecrate.htm",
            "destruction":                      baseURL + "spells/destruction.htm",
            "detect animals or plants":         baseURL + "spells/detectAnimalsorPlants.htm",
            "detect chaos":                     baseURL + "spells/detectChaos.htm",
            "detect evil":                      baseURL + "spells/detectEvil.htm",
            "detect good":                      baseURL + "spells/detectGood.htm",
            "detect law":                       baseURL + "spells/detectLaw.htm",
            "detect magic":                     baseURL + "spells/detectMagic.htm",
            "detect poison":                    baseURL + "spells/detectPoison.htm",
            "detect scrying":                   baseURL + "spells/detectScrying.htm",
            "detect secret doors":              baseURL + "spells/detectSecretDoors.htm",
            "detect snares and pits":           baseURL + "spells/detectSnaresandPits.htm",
            "detect thoughts":                  baseURL + "spells/detectThoughts.htm",
            "detect undead":                    baseURL + "spells/detectUndead.htm",
            "dictum":                           baseURL + "spells/dictum.htm",
            "dimension door":                   baseURL + "spells/dimensionDoor.htm",
            "dimensional anchor":               baseURL + "spells/dimensionalAnchor.htm",
            "dimensional lock":                 baseURL + "spells/dimensionalLock.htm",
            "diminish plants":                  baseURL + "spells/diminishPlants.htm",
            "discern lies":                     baseURL + "spells/discernLies.htm",
            "discern location":                 baseURL + "spells/discernLocation.htm",
            "disguise self":                    baseURL + "spells/disguiseSelf.htm",
            "disintegrate":                     baseURL + "spells/disintegrate.htm",
            "dismissal":                        baseURL + "spells/dismissal.htm",
            "dispel chaos":                     baseURL + "spells/dispelChaos.htm",
            "dispel evil":                      baseURL + "spells/dispelEvil.htm",
            "dispel good":                      baseURL + "spells/dispelGood.htm",
            "dispel law":                       baseURL + "spells/dispelLaw.htm",
            "dispel magic":                     baseURL + "spells/dispelMagic.htm",
            "dispel magic, greater":            baseURL + "spells/dispelMagicGreater.htm",
            "displacement":                     baseURL + "spells/displacement.htm",
            "disrupt undead":                   baseURL + "spells/disruptUndead.htm",
            "disrupting weapon":                baseURL + "spells/disruptingWeapon.htm",
            "divination":                          baseURL + "spells/divination.htm",
            "divine favor":                        baseURL + "spells/divineFavor.htm",
            "divine power":                        baseURL + "spells/divinePower.htm",
            "dominate animal":                     baseURL + "spells/dominateAnimal.htm",
            "dominate monster":                    baseURL + "spells/dominateMonster.htm",
            "dominate person":                     baseURL + "spells/dominatePerson.htm",
            "doom":                                baseURL + "spells/doom.htm",
            "dream":                               baseURL + "spells/dream.htm",
            "eagle's splendor":                    baseURL + "spells/eaglesSplendor.htm",
            "eagle's splendor, mass":              baseURL + "spells/eaglesSplendorMass.htm",
            "earthquake":                          baseURL + "spells/earthquake.htm",
            "elemental swarm":                     baseURL + "spells/elementalSwarm.htm",
            "endure elements":                     baseURL + "spells/endureElements.htm",
            "energy drain":                        baseURL + "spells/energyDrain.htm",
            "enervation":                          baseURL + "spells/enervation.htm",
            "enlarge person":                      baseURL + "spells/enlargePerson.htm",
            "enlarge person, mass":                baseURL + "spells/enlargePersonMass.htm",
            "entangle":                            baseURL + "spells/entangle.htm",
            "enthrall":                            baseURL + "spells/enthrall.htm",
            "entropic shield":                     baseURL + "spells/entropicShield.htm",
            "erase":                               baseURL + "spells/erase.htm",
            "ethereal jaunt":                      baseURL + "spells/etherealJaunt.htm",
            "etherealness":                        baseURL + "spells/etherealness.htm",
            "expeditious retreat":                 baseURL + "spells/expeditiousRetreat.htm",
            "explosive runes":                     baseURL + "spells/explosiveRunes.htm",
            "eyebite":                             baseURL + "spells/eyebite.htm",
            "fabricate":                           baseURL + "spells/fabricate.htm",
            "faerie fire":                         baseURL + "spells/faerieFire.htm",
            "false life":                          baseURL + "spells/falseLife.htm",
            "false vision":                        baseURL + "spells/falseVision.htm",
            "fear":                                baseURL + "spells/fear.htm",
            "feather fall":                        baseURL + "spells/featherFall.htm",
            "feeblemind":                          baseURL + "spells/feeblemind.htm",
            "find the path":                       baseURL + "spells/findthePath.htm",
            "find traps":                          baseURL + "spells/findTraps.htm",
            "finger of death":                     baseURL + "spells/fingerofDeath.htm",
            "fire seeds":                          baseURL + "spells/fireSeeds.htm",
            "fire shield":                         baseURL + "spells/fireShield.htm",
            "fire storm":                          baseURL + "spells/fireStorm.htm",
            "fire trap":                           baseURL + "spells/fireTrap.htm",
            "fireball":                            baseURL + "spells/fireball.htm",
            "flame arrow":                         baseURL + "spells/flameArrow.htm",
            "flame blade":                         baseURL + "spells/flameBlade.htm",
            "flame strike":                        baseURL + "spells/flameStrike.htm",
            "flaming sphere":                      baseURL + "spells/flamingSphere.htm",
            "flare":                               baseURL + "spells/flare.htm",
            "flesh to stone":                      baseURL + "spells/fleshtoStone.htm",
            "fly":                                 baseURL + "spells/fly.htm",
            "floating disk":                       baseURL + "spells/floatingDisk.htm",
            "fog cloud":                           baseURL + "spells/fogCloud.htm",
            "forbiddance":                         baseURL + "spells/forbiddance.htm",
            "forcecage":                           baseURL + "spells/forcecage.htm",
            "forceful hand":                       baseURL + "spells/forcefulHand.htm",
            "foresight":                           baseURL + "spells/foresight.htm",
            "fox's cunning":                       baseURL + "spells/foxsCunning.htm",
            "fox's cunning, mass":                 baseURL + "spells/foxsCunningMass.htm",
            "freedom":                             baseURL + "spells/freedom.htm",
            "freedom of movement":                 baseURL + "spells/freedomofMovement.htm",
            "freezing sphere":                     baseURL + "spells/freezingSphere.htm",
            "gaseous form":                        baseURL + "spells/gaseousForm.htm",
            "gate":                                baseURL + "spells/gate.htm",
            "geas/quest":                          baseURL + "spells/geasQuest.htm",
            "geas, lesser":                        baseURL + "spells/geasLesser.htm",
            "gentle repose":                       baseURL + "spells/gentleRepose.htm",
            "ghost sound":                         baseURL + "spells/ghostSound.htm",
            "ghoul touch":                         baseURL + "spells/ghoulTouch.htm",
            "giant vermin":                        baseURL + "spells/giantVermin.htm",
            "glibness":                            baseURL + "spells/glibness.htm",
            "glitterdust":                         baseURL + "spells/glitterdust.htm",
            "globe of invulnerability":            baseURL + "spells/globeofInvulnerability.htm",
            "globe of invulnerability, lesser":    baseURL + "spells/globeofInvulnerabilityLesser.htm",
            "glyph of warding":                    baseURL + "spells/glyphofWarding.htm",
            "glyph of warding, greater":           baseURL + "spells/glyphofWardingGreater.htm",
            "goodberry":                           baseURL + "spells/goodberry.htm",
            "good hope":                           baseURL + "spells/goodHope.htm",
            "grasping hand":                       baseURL + "spells/graspingHand.htm",
            "grease":                              baseURL + "spells/grease.htm",
            "greater (spell name)":                baseURL + "spells/greaterSpellName.htm",
            "guards and wards":                    baseURL + "spells/guardsandWards.htm",
            "guidance":                            baseURL + "spells/guidance.htm",
            "gust of wind":                        baseURL + "spells/gustofWind.htm",
            "hallow":                              baseURL + "spells/hallow.htm",
            "hallucinatory terrain":               baseURL + "spells/hallucinatoryTerrain.htm",
            "halt undead":                         baseURL + "spells/haltUndead.htm",
            "harm":                                baseURL + "spells/harm.htm",
            "haste":                               baseURL + "spells/haste.htm",
            "heal":                                baseURL + "spells/heal.htm",
            "heal, mass":                          baseURL + "spells/healMass.htm",
            "heal mount":                          baseURL + "spells/healMount.htm",
            "heat metal":                          baseURL + "spells/heatMetal.htm",
            "helping hand":                        baseURL + "spells/helpingHand.htm",
            "heroes' feast":                       baseURL + "spells/heroesFeast.htm",
            "heroism":                             baseURL + "spells/heroism.htm",
            "heroism, greater":                    baseURL + "spells/heroismGreater.htm",
            "hide from animals":                   baseURL + "spells/hidefromAnimals.htm",
            "hide from undead":                    baseURL + "spells/hidefromUndead.htm",
            "hideous laughter":                    baseURL + "spells/hideousLaughter.htm",
            "hold animal":                         baseURL + "spells/holdAnimal.htm",
            "hold monster":                        baseURL + "spells/holdMonster.htm",
            "hold monster, mass":                  baseURL + "spells/holdMonsterMass.htm",
            "hold person":                         baseURL + "spells/holdPerson.htm",
            "hold person, mass":                   baseURL + "spells/holdPersonMass.htm",
            "hold portal":                         baseURL + "spells/holdPortal.htm",
            "holy aura":                           baseURL + "spells/holyAura.htm",
            "holy smite":                          baseURL + "spells/holySmite.htm",
            "holy sword":                          baseURL + "spells/holySword.htm",
            "holy word":                           baseURL + "spells/holyWord.htm",
            "horrid wilting":                          baseURL + "spells/horridWilting.htm",
            "hypnotic pattern":                    baseURL + "spells/hypnoticPattern.htm",
            "hypnotism":                           baseURL + "spells/hypnotism.htm",
            "ice storm":                           baseURL + "spells/iceStorm.htm",
            "identify":                                baseURL + "spells/identify.htm",
            "illusory script":                     baseURL + "spells/illusoryScript.htm",
            "illusory wall":                       baseURL + "spells/illusoryWall.htm",
            "imbue with spell ability":        baseURL + "spells/imbuewithSpellAbility.htm",
            "implosion":                           baseURL + "spells/implosion.htm",
            "imprisonment":                        baseURL + "spells/imprisonment.htm",
            "incendiary cloud":                    baseURL + "spells/incendiaryCloud.htm",
            "inflict critical wounds":             baseURL + "spells/inflictCriticalWounds.htm",
            "inflict critical wounds, mass":    baseURL + "spells/inflictCriticalWoundsMass.htm",
            "inflict light wounds":                baseURL + "spells/inflictLightWounds.htm",
            "inflict light wounds, mass":          baseURL + "spells/inflictLightWoundsMass.htm",
            "inflict minor wounds":                baseURL + "spells/inflictMinorWounds.htm",
            "inflict moderate wounds":             baseURL + "spells/inflictModerateWounds.htm",
            "inflict moderate wounds, mass":    baseURL + "spells/inflictModerateWoundsMass.htm",
            "inflict serious wounds":              baseURL + "spells/inflictSeriousWounds.htm",
            "inflict serious wounds, mass":     baseURL + "spells/inflictSeriousWoundsMass.htm",
            "insanity":                                baseURL + "spells/insanity.htm",
            "insect plague":                       baseURL + "spells/insectPlague.htm",
            "instant summons":                     baseURL + "spells/instantSummons.htm",
            "interposing hand":                    baseURL + "spells/interposingHand.htm",
            "invisibility":                        baseURL + "spells/invisibility.htm",
            "invisibility, greater":           baseURL + "spells/invisibilityGreater.htm",
            "invisibility, mass":                  baseURL + "spells/invisibilityMass.htm",
            "invisibility purge":                  baseURL + "spells/invisibilityPurge.htm",
            "invisibility sphere":                 baseURL + "spells/invisibilitySphere.htm",
            "iron body":                           baseURL + "spells/ironBody.htm",
            "ironwood":                                baseURL + "spells/ironwood.htm",
            "irresistible dance":                  baseURL + "spells/irresistibleDance.htm",
            "jump":                                    baseURL + "spells/jump.htm",
            "keen edge":                           baseURL + "spells/keenEdge.htm",
            "knock":                                   baseURL + "spells/knock.htm",
            "know direction":                          baseURL + "spells/knowDirection.htm",
            "legend lore":                             baseURL + "spells/legendLore.htm",
            "lesser (spell name)":                 baseURL + "spells/lesserSpellName.htm",
            "levitate":                                baseURL + "spells/levitate.htm",
            "light":                                   baseURL + "spells/light.htm",
            "lightning bolt":                          baseURL + "spells/lightningBolt.htm",
            "limited wish":                        baseURL + "spells/limitedWish.htm",
            "liveoak":                                 baseURL + "spells/liveoak.htm",
            "locate creature":                     baseURL + "spells/locateCreature.htm",
            "locate object":                       baseURL + "spells/locateObject.htm",
            "longstrider":                             baseURL + "spells/longstrider.htm",
            "lullaby":                                 baseURL + "spells/lullaby.htm",
            "mage armor":                              baseURL + "spells/mageArmor.htm",
            "mage hand":                           baseURL + "spells/mageHand.htm",
            "mage's disjunction":                  baseURL + "spells/magesDisjunction.htm",
            "mage's faithful hound":           baseURL + "spells/magesFaithfulHound.htm",
            "mage's lucubration":                  baseURL + "spells/magesLucubration.htm",
            "mage's magnificent mansion":          baseURL + "spells/magesMagnificentMansion.htm",
            "mage's private sanctum":              baseURL + "spells/magesPrivateSanctum.htm",
            "mage's sword":                        baseURL + "spells/magesSword.htm",
            "magic aura":                              baseURL + "spells/magicAura.htm",
            "magic circle against chaos":          baseURL + "spells/magicCircleagainstChaos.htm",
            "magic circle against evil":       baseURL + "spells/magicCircleagainstEvil.htm",
            "magic circle against good":       baseURL + "spells/magicCircleagainstGood.htm",
            "magic circle against law":        baseURL + "spells/magicCircleagainstLaw.htm",
            "magic fang":                              baseURL + "spells/magicFang.htm",
            "magic fang, greater":                 baseURL + "spells/magicFangGreater.htm",
            "magic jar":                           baseURL + "spells/magicJar.htm",
            "magic missile":                       baseURL + "spells/magicMissile.htm",
            "magic mouth":                             baseURL + "spells/magicMouth.htm",
            "magic stone":                             baseURL + "spells/magicStone.htm",
            "magic vestment":                          baseURL + "spells/magicVestment.htm",
            "magic weapon":                        baseURL + "spells/magicWeapon.htm",
            "magic weapon, greater":           baseURL + "spells/magicWeaponGreater.htm",
            "major creation":                          baseURL + "spells/majorCreation.htm",
            "major image":                             baseURL + "spells/majorImage.htm",
            "make whole":                              baseURL + "spells/makeWhole.htm",
            "mark of justice":                     baseURL + "spells/markofJustice.htm",
            "mass (spell name)":                   baseURL + "spells/massSpellName.htm",
            "maze":                                    baseURL + "spells/maze.htm",
            "meld into stone":                     baseURL + "spells/meldintoStone.htm",
            "mending":                                 baseURL + "spells/mending.htm",
            "message":                                 baseURL + "spells/message.htm",
            "meteor swarm":                        baseURL + "spells/meteorSwarm.htm",
            "mind blank":                              baseURL + "spells/mindBlank.htm",
            "mind fog":                                baseURL + "spells/mindFog.htm",
            "minor creation":                          baseURL + "spells/minorCreation.htm",
            "minor image":                             baseURL + "spells/minorImage.htm",
            "miracle":                                 baseURL + "spells/miracle.htm",
            "mirage arcana":                       baseURL + "spells/mirageArcana.htm",
            "mirror image":                        baseURL + "spells/mirrorImage.htm",
            "misdirection":                        baseURL + "spells/misdirection.htm",
            "mislead":                                 baseURL + "spells/mislead.htm",
            "mnemonic enhancer":                   baseURL + "spells/mnemonicEnhancer.htm",
            "modify memory":                       baseURL + "spells/modifyMemory.htm",
            "moment of prescience":                baseURL + "spells/momentofPrescience.htm",
            "mount":                                   baseURL + "spells/mount.htm",
            "move earth":                              baseURL + "spells/moveEarth.htm",
            "neutralize poison":                   baseURL + "spells/neutralizePoison.htm",
            "nightmare":                           baseURL + "spells/nightmare.htm",
            "nondetection":                        baseURL + "spells/nondetection.htm",
            "obscure object":                          baseURL + "spells/obscureObject.htm",
            "obscuring mist":                          baseURL + "spells/obscuringMist.htm",
            "open/close":                              baseURL + "spells/openClose.htm",
            "order's wrath":                       baseURL + "spells/ordersWrath.htm",
            "overland flight":                     baseURL + "spells/overlandFlight.htm",
            "owl's wisdom":                        baseURL + "spells/owlsWisdom.htm",
            "owl's wisdom, mass":                  baseURL + "spells/owlsWisdomMass.htm",
            "passwall":                                baseURL + "spells/passwall.htm",
            "pass without trace":                  baseURL + "spells/passwithoutTrace.htm",
            "permanency":                              baseURL + "spells/permanency.htm",
            "permanent image":                     baseURL + "spells/permanentImage.htm",
            "persistent image":                    baseURL + "spells/persistentImage.htm",
            "phantasmal killer":                   baseURL + "spells/phantasmalKiller.htm",
            "phantom steed":                       baseURL + "spells/phantomSteed.htm",
            "phantom trap":                        baseURL + "spells/phantomTrap.htm",
            "phase door":                              baseURL + "spells/phaseDoor.htm",
            "planar ally":                             baseURL + "spells/planarAlly.htm",
            "planar ally, greater":                baseURL + "spells/planarAllyGreater.htm",
            "planar ally, lesser":                 baseURL + "spells/planarAllyLesser.htm",
            "planar binding":                          baseURL + "spells/planarBinding.htm",
            "planar binding, greater":             baseURL + "spells/planarBindingGreater.htm",
            "planar binding, lesser":              baseURL + "spells/planarBindingLesser.htm",
            "plane shift":                             baseURL + "spells/planeShift.htm",
            "plant growth":                        baseURL + "spells/plantGrowth.htm",
            "poison":                                  baseURL + "spells/poison.htm",
            "polar ray":                           baseURL + "spells/polarRay.htm",
            "polymorph":                           baseURL + "spells/polymorph.htm",
            "polymorph any object":                baseURL + "spells/polymorphAnyObject.htm",
            "power word blind":                    baseURL + "spells/powerWordBlind.htm",
            "power word kill":                     baseURL + "spells/powerWordKill.htm",
            "power word stun":                     baseURL + "spells/powerWordStun.htm",
            "prayer":                                  baseURL + "spells/prayer.htm",
            "prestidigitation":                    baseURL + "spells/prestidigitation.htm",
            "prismatic sphere":                    baseURL + "spells/prismaticSphere.htm",
            "prismatic spray":                     baseURL + "spells/prismaticSpray.htm",
            "prismatic wall":                          baseURL + "spells/prismaticWall.htm",
            "produce flame":                       baseURL + "spells/produceFlame.htm",
            "programmed image":                    baseURL + "spells/programmedImage.htm",
            "project image":                       baseURL + "spells/projectImage.htm",
            "protection from arrows":              baseURL + "spells/protectionfromArrows.htm",
            "protection from chaos":           baseURL + "spells/protectionfromChaos.htm",
            "protection from energy":              baseURL + "spells/protectionfromEnergy.htm",
            "protection from evil":                baseURL + "spells/protectionfromEvil.htm",
            "protection from good":                baseURL + "spells/protectionfromGood.htm",
            "protection from law":                 baseURL + "spells/protectionfromLaw.htm",
            "protection from spells":              baseURL + "spells/protectionfromSpells.htm",
            "prying eyes":                             baseURL + "spells/pryingEyes.htm",
            "prying eyes, greater":                baseURL + "spells/pryingEyesGreater.htm",
            "purify food and drink":           baseURL + "spells/purifyFoodandDrink.htm",
            "pyrotechnics":                        baseURL + "spells/pyrotechnics.htm",
            "quench":                                  baseURL + "spells/quench.htm",
            "rage":                                    baseURL + "spells/rage.htm",
            "rainbow pattern":                     baseURL + "spells/rainbowPattern.htm",
            "raise dead":                              baseURL + "spells/raiseDead.htm",
            "ray of enfeeblement":                 baseURL + "spells/rayofEnfeeblement.htm",
            "ray of exhaustion":                   baseURL + "spells/rayofExhaustion.htm",
            "ray of frost":                        baseURL + "spells/rayofFrost.htm",
            "read magic":                              baseURL + "spells/readMagic.htm",
            "reduce animal":                       baseURL + "spells/reduceAnimal.htm",
            "reduce person":                       baseURL + "spells/reducePerson.htm",
            "reduce person, mass":                 baseURL + "spells/reducePersonMass.htm",
            "refuge":                                  baseURL + "spells/refuge.htm",
            "regenerate":                              baseURL + "spells/regenerate.htm",
            "reincarnate":                             baseURL + "spells/reincarnate.htm",
            "remove blindness/deafness":       baseURL + "spells/removeBlindnessDeafness.htm",
            "remove curse":                        baseURL + "spells/removeCurse.htm",
            "remove disease":                          baseURL + "spells/removeDisease.htm",
            "remove fear":                             baseURL + "spells/removeFear.htm",
            "remove paralysis":                    baseURL + "spells/removeParalysis.htm",
            "repel metal or stone":                baseURL + "spells/repelMetalorStone.htm",
            "repel vermin":                        baseURL + "spells/repelVermin.htm",
            "repel wood":                              baseURL + "spells/repelWood.htm",
            "repulsion":                           baseURL + "spells/repulsion.htm",
            "resilient sphere":                    baseURL + "spells/resilientSphere.htm",
            "resistance":                              baseURL + "spells/resistance.htm",
            "resist energy":                       baseURL + "spells/resistEnergy.htm",
            "restoration":                             baseURL + "spells/restoration.htm",
            "restoration, greater":                baseURL + "spells/restorationGreater.htm",
            "restoration, lesser":                 baseURL + "spells/restorationLesser.htm",
            "resurrection":                        baseURL + "spells/resurrection.htm",
            "reverse gravity":                     baseURL + "spells/reverseGravity.htm",
            "righteous might":                     baseURL + "spells/righteousMight.htm",
            "rope trick":                              baseURL + "spells/ropeTrick.htm",
            "rusting grasp":                       baseURL + "spells/rustingGrasp.htm",
            "sanctuary":                           baseURL + "spells/sanctuary.htm",
            "scare":                                   baseURL + "spells/scare.htm",
            "scintillating pattern":           baseURL + "spells/scintillatingPattern.htm",
            "scorching ray":                       baseURL + "spells/scorchingRay.htm",
            "screen":                                  baseURL + "spells/screen.htm",
            "scrying":                                 baseURL + "spells/scrying.htm",
            "scrying, greater":                    baseURL + "spells/scryingGreater.htm",
            "sculpt sound":                        baseURL + "spells/sculptSound.htm",
            "searing light":                       baseURL + "spells/searingLight.htm",
            "secret chest":                        baseURL + "spells/secretChest.htm",
            "secret page":                             baseURL + "spells/secretPage.htm",
            "secure shelter":                          baseURL + "spells/secureShelter.htm",
            "see invisibility":                    baseURL + "spells/seeInvisibility.htm",
            "seeming":                                 baseURL + "spells/seeming.htm",
            "sending":                                 baseURL + "spells/sending.htm",
            "sepia snake sigil":                   baseURL + "spells/sepiaSnakeSigil.htm",
            "sequester":                           baseURL + "spells/sequester.htm",
            "shades":                                  baseURL + "spells/shades.htm",
            "shadow conjuration":                  baseURL + "spells/shadowConjuration.htm",
            "shadow conjuration, greater":      baseURL + "spells/shadowConjurationGreater.htm",
            "shadow evocation":                    baseURL + "spells/shadowEvocation.htm",
            "shadow evocation, greater":       baseURL + "spells/shadowEvocationGreater.htm",
            "shadow walk":                             baseURL + "spells/shadowWalk.htm",
            "shambler":                                baseURL + "spells/shambler.htm",
            "shapechange":                             baseURL + "spells/shapechange.htm",
            "shatter":                                 baseURL + "spells/shatter.htm",
            "shield":                                  baseURL + "spells/shield.htm",
            "shield of faith":                     baseURL + "spells/shieldofFaith.htm",
            "shield of law":                       baseURL + "spells/shieldofLaw.htm",
            "shield other":                        baseURL + "spells/shieldOther.htm",
            "shillelagh":                              baseURL + "spells/shillelagh.htm",
            "shocking grasp":                          baseURL + "spells/shockingGrasp.htm",
            "shout":                                   baseURL + "spells/shout.htm",
            "shout, greater":                          baseURL + "spells/shoutGreater.htm",
            "shrink item":                             baseURL + "spells/shrinkItem.htm",
            "silence":                                 baseURL + "spells/silence.htm",
            "silent image":                        baseURL + "spells/silentImage.htm",
            "simulacrum":                              baseURL + "spells/simulacrum.htm",
            "slay living":                             baseURL + "spells/slayLiving.htm",
            "sleep":                                   baseURL + "spells/sleep.htm",
            "sleet storm":                             baseURL + "spells/sleetStorm.htm",
            "slow":                                    baseURL + "spells/slow.htm",
            "snare":                                   baseURL + "spells/snare.htm",
            "soften earth and stone":              baseURL + "spells/softenEarthandStone.htm",
            "solid fog":                           baseURL + "spells/solidFog.htm",
            "song of discord":                     baseURL + "spells/songofDiscord.htm",
            "soul bind":                           baseURL + "spells/soulBind.htm",
            "sound burst":                             baseURL + "spells/soundBurst.htm",
            "speak with animals":                  baseURL + "spells/speakwithAnimals.htm",
            "speak with dead":                     baseURL + "spells/speakwithDead.htm",
            "speak with plants":                   baseURL + "spells/speakwithPlants.htm",
            "spectral hand":                       baseURL + "spells/spectralHand.htm",
            "spell immunity":                          baseURL + "spells/spellImmunity.htm",
            "spell immunity, greater":             baseURL + "spells/spellImmunityGreater.htm",
            "spell resistance":                    baseURL + "spells/spellResistance.htm",
            "spellstaff":                              baseURL + "spells/spellstaff.htm",
            "spell turning":                       baseURL + "spells/spellTurning.htm",
            "spider climb":                        baseURL + "spells/spiderClimb.htm",
            "spike growth":                        baseURL + "spells/spikeGrowth.htm",
            "spike stones":                        baseURL + "spells/spikeStones.htm",
            "spiritual weapon":                    baseURL + "spells/spiritualWeapon.htm",
            "statue":                                  baseURL + "spells/statue.htm",
            "status":                                  baseURL + "spells/status.htm",
            "stinking cloud":                          baseURL + "spells/stinkingCloud.htm",
            "stone shape":                             baseURL + "spells/stoneShape.htm",
            "stoneskin":                           baseURL + "spells/stoneskin.htm",
            "stone tell":                              baseURL + "spells/stoneTell.htm",
            "stone to flesh":                          baseURL + "spells/stonetoFlesh.htm",
            "storm of vengeance":                  baseURL + "spells/stormofVengeance.htm",
            "suggestion":                              baseURL + "spells/suggestion.htm",
            "suggestion, mass":                    baseURL + "spells/suggestionMass.htm",
            "summon instrument":                   baseURL + "spells/summonInstrument.htm",
            "summon monster i":                    baseURL + "spells/summonMonsterI.htm",
            "summon monster ii":                   baseURL + "spells/summonMonsterII.htm",
            "summon monster iii":                  baseURL + "spells/summonMonsterIII.htm",
            "summon monster iv":                   baseURL + "spells/summonMonsterIV.htm",
            "summon monster v":                    baseURL + "spells/summonMonsterV.htm",
            "summon monster vi":                   baseURL + "spells/summonMonsterVI.htm",
            "summon monster vii":                  baseURL + "spells/summonMonsterVII.htm",
            "summon monster viii":                 baseURL + "spells/summonMonsterVIII.htm",
            "summon monster ix":                   baseURL + "spells/summonMonsterIX.htm",
            "summon nature's ally i":              baseURL + "spells/summonNaturesAllyI.htm",
            "summon nature's ally ii":             baseURL + "spells/summonNaturesAllyII.htm",
            "summon nature's ally iii":        baseURL + "spells/summonNaturesAllyIII.htm",
            "summon nature's ally iv":             baseURL + "spells/summonNaturesAllyIV.htm",
            "summon nature's ally v":              baseURL + "spells/summonNaturesAllyV.htm",
            "summon nature's ally vi":             baseURL + "spells/summonNaturesAllyVI.htm",
            "summon nature's ally vii":        baseURL + "spells/summonNaturesAllyVII.htm",
            "summon nature's ally viii":       baseURL + "spells/summonNaturesAllyVIII.htm",
            "summon nature's ally ix":             baseURL + "spells/summonNaturesAllyIX.htm",
            "summon swarm":                        baseURL + "spells/summonSwarm.htm",
            "sunbeam":                                 baseURL + "spells/sunbeam.htm",
            "sunburst":                                baseURL + "spells/sunburst.htm",
            "symbol of death":                     baseURL + "spells/symbolofDeath.htm",
            "symbol of fear":                          baseURL + "spells/symbolofFear.htm",
            "symbol of insanity":                  baseURL + "spells/symbolofInsanity.htm",
            "symbol of pain":                          baseURL + "spells/symbolofPain.htm",
            "symbol of persuasion":                baseURL + "spells/symbolofPersuasion.htm",
            "symbol of sleep":                     baseURL + "spells/symbolofSleep.htm",
            "symbol of stunning":                  baseURL + "spells/symbolofStunning.htm",
            "symbol of weakness":                  baseURL + "spells/symbolofWeakness.htm",
            "sympathetic vibration":           baseURL + "spells/sympatheticVibration.htm",
            "sympathy":                                baseURL + "spells/sympathy.htm",
            "telekinesis":                             baseURL + "spells/telekinesis.htm",
            "telekinetic sphere":                  baseURL + "spells/telekineticSphere.htm",
            "telepathic bond":                     baseURL + "spells/telepathicBond.htm",
            "teleport":                                baseURL + "spells/teleport.htm",
            "teleport object":                     baseURL + "spells/teleportObject.htm",
            "teleport, greater":                   baseURL + "spells/teleportGreater.htm",
            "teleportation circle":                baseURL + "spells/teleportationCircle.htm",
            "temporal stasis":                     baseURL + "spells/temporalStasis.htm",
            "time stop":                           baseURL + "spells/timeStop.htm",
            "tiny hut":                                baseURL + "spells/tinyHut.htm",
            "tongues":                                 baseURL + "spells/tongues.htm",
            "touch of fatigue":                    baseURL + "spells/touchofFatigue.htm",
            "touch of idiocy":                     baseURL + "spells/touchofIdiocy.htm",
            "transformation":                          baseURL + "spells/transformation.htm",
            "transmute metal to wood":             baseURL + "spells/transmuteMetaltoWood.htm",
            "transmute mud to rock":           baseURL + "spells/transmuteMudtoRock.htm",
            "transmute rock to mud":           baseURL + "spells/transmuteRocktoMud.htm",
            "transport via plants":                baseURL + "spells/transportviaPlants.htm",
            "trap the soul":                       baseURL + "spells/traptheSoul.htm",
            "tree shape":                              baseURL + "spells/treeShape.htm",
            "tree stride":                             baseURL + "spells/treeStride.htm",
            "true resurrection":                   baseURL + "spells/trueResurrection.htm",
            "true seeing":                             baseURL + "spells/trueSeeing.htm",
            "true strike":                             baseURL + "spells/trueStrike.htm",
            "undeath to death":                    baseURL + "spells/undeathtoDeath.htm",
            "undetectable alignment":              baseURL + "spells/undetectableAlignment.htm",
            "unhallow":                                baseURL + "spells/unhallow.htm",
            "unholy aura":                             baseURL + "spells/unholyAura.htm",
            "unholy blight":                       baseURL + "spells/unholyBlight.htm",
            "unseen servant":                          baseURL + "spells/unseenServant.htm",
            "vampiric touch":                          baseURL + "spells/vampiricTouch.htm",
            "veil":                                    baseURL + "spells/veil.htm",
            "ventriloquism":                       baseURL + "spells/ventriloquism.htm",
            "virtue":                                  baseURL + "spells/virtue.htm",
            "vision":                                  baseURL + "spells/vision.htm",
            "wail of the banshee":                 baseURL + "spells/wailoftheBanshee.htm",
            "wall of fire":                        baseURL + "spells/wallofFire.htm",
            "wall of force":                       baseURL + "spells/wallofForce.htm",
            "wall of ice":                             baseURL + "spells/wallofIce.htm",
            "wall of iron":                        baseURL + "spells/wallofIron.htm",
            "wall of stone":                       baseURL + "spells/wallofStone.htm",
            "wall of thorns":                          baseURL + "spells/wallofThorns.htm",
            "warp wood":                           baseURL + "spells/warpWood.htm",
            "water breathing":                     baseURL + "spells/waterBreathing.htm",
            "water walk":                              baseURL + "spells/waterWalk.htm",
            "waves of exhaustion":                 baseURL + "spells/wavesofExhaustion.htm",
            "waves of fatigue":                    baseURL + "spells/wavesofFatigue.htm",
            "web":                                     baseURL + "spells/web.htm",
            "weird":                                   baseURL + "spells/weird.htm",
            "whirlwind":                           baseURL + "spells/whirlwind.htm",
            "whispering wind":                     baseURL + "spells/whisperingWind.htm",
            "wind walk":                           baseURL + "spells/windWalk.htm",
            "wind wall":                           baseURL + "spells/windWall.htm",
            "wish":                                    baseURL + "spells/wish.htm",
            "wood shape":                              baseURL + "spells/woodShape.htm",
            "word of chaos":                       baseURL + "spells/wordofChaos.htm",
            "word of recall":                          baseURL + "spells/wordofRecall.htm",
            "zone of silence":                     baseURL + "spells/zoneofSilence.htm",
            "zone of truth":                       baseURL + "spells/zoneofTruth.htm",

            # Abilities
            'ability damage':                   baseURL + "naturalSpecialAbilities.htm#abilityDamage",
            'ability drain':                    baseURL + "naturalSpecialAbilities.htm#abilityDrain",
            'ability score loss':               baseURL + "naturalSpecialAbilities.htm#abilityScoreLoss",
            'alternate form':                   baseURL + "naturalSpecialAbilities.htm#alternateForm",
            'antimagic':                        baseURL + "naturalSpecialAbilities.htm#antimagic",
            'bite':                             baseURL + "naturalSpecialAbilities.htm#bite",
            'blindsense':                       baseURL + "naturalSpecialAbilities.htm#blindsightAndBlindsense",
            'blindsight':                       baseURL + "naturalSpecialAbilities.htm#blindsightAndBlindsense",
            'breath weapon':                    baseURL + "naturalSpecialAbilities.htm#breathWeapon",
            'burrow':                           baseURL + "naturalSpecialAbilities.htm#burrow",
            'change shape':                     baseURL + "naturalSpecialAbilities.htm#changeShape",
            'charm':                            baseURL + "naturalSpecialAbilities.htm#charmAndCompulsion",
            'claw':                             baseURL + "naturalSpecialAbilities.htm#claworTalon",
            'climb':                            baseURL + "naturalSpecialAbilities.htm#climb",
            'cold immunity':                    baseURL + "naturalSpecialAbilities.htm#coldImmunity",
            'compulsion':                       baseURL + "naturalSpecialAbilities.htm#charmAndCompulsion",
            'constrict':                        baseURL + "naturalSpecialAbilities.htm#constrict",
            'damage reduction':                 baseURL + "naturalSpecialAbilities.htm#damageReduction",
            'darkvision':                       baseURL + "naturalSpecialAbilities.htm#darkvision",
            'death attacks':                    baseURL + "naturalSpecialAbilities.htm#deathAttacks",
            'disease':                          baseURL + "naturalSpecialAbilities.htm#disease",
            'energy drain':                     baseURL + "naturalSpecialAbilities.htm#energyDrainAndNegativeLevels",
            'etherealness':                     baseURL + "naturalSpecialAbilities.htm#etherealness",
            'evasion':                          baseURL + "naturalSpecialAbilities.htm#evasionAndImprovedEvasion",
            'fast healing':                     baseURL + "naturalSpecialAbilities.htm#fastHealing",
            'fear aura':                        baseURL + "naturalSpecialAbilities.htm#fearAura",
            'fear cones':                       baseURL + "naturalSpecialAbilities.htm#fearConesSpandRays",
            'fear rays':                        baseURL + "naturalSpecialAbilities.htm#fearConesSpandRays",
            'fear':                             baseURL + "naturalSpecialAbilities.htm#fear",
            'fire immunity':                    baseURL + "naturalSpecialAbilities.htm#fireImmunity",
            'fly':                              baseURL + "naturalSpecialAbilities.htm#fly",
            'frightful presence':               baseURL + "naturalSpecialAbilities.htm#frightfulPresence",
            'gaseous form':                     baseURL + "naturalSpecialAbilities.htm#gaseousForm",
            'gaze attacks':                     baseURL + "naturalSpecialAbilities.htm#gazeAttacks",
            'gore':                             baseURL + "naturalSpecialAbilities.htm#gore",
            'improved evasion':                 baseURL + "naturalSpecialAbilities.htm#evasionAndImprovedEvasion",
            'improved grab':                    baseURL + "naturalSpecialAbilities.htm#improvedGrab",
            'incorporeality':                   baseURL + "naturalSpecialAbilities.htm#incorporeality",
            'invisibility':                     baseURL + "naturalSpecialAbilities.htm#invisibility",
            'level loss':                       baseURL + "naturalSpecialAbilities.htm#levelLoss",
            'low-light vision':                 baseURL + "naturalSpecialAbilities.htm#lowLightVision",
            'manufactured weapons':             baseURL + "naturalSpecialAbilities.htm#manufacturedWeapons",
            'movement modes':                   baseURL + "naturalSpecialAbilities.htm#movementModes",
            'natural weapons':                  baseURL + "naturalSpecialAbilities.htm#naturalWeapons",
            'negative levels':                  baseURL + "naturalSpecialAbilities.htm#energyDrainAndNegativeLevels",
            'nonabilities':                     baseURL + "naturalSpecialAbilities.htm#nonabilities",
            'paralysis':                        baseURL + "naturalSpecialAbilities.htm#paralysis",
            'poison':                           baseURL + "naturalSpecialAbilities.htm#poison",
            'polymorph':                        baseURL + "naturalSpecialAbilities.htm#polymorph",
            'pounce':                           baseURL + "naturalSpecialAbilities.htm#pounce",
            'powerful charge':                  baseURL + "naturalSpecialAbilities.htm#powerfulCharge",
            'psionics':                         baseURL + "naturalSpecialAbilities.htm#psionics",
            'rake':                             baseURL + "naturalSpecialAbilities.htm#rake",
            'rays':                             baseURL + "naturalSpecialAbilities.htm#rays",
            'regeneration':                     baseURL + "naturalSpecialAbilities.htm#regeneration",
            'resistance to energy':             baseURL + "naturalSpecialAbilities.htm#resistanceToEnergy",
            'scent':                            baseURL + "naturalSpecialAbilities.htm#scent",
            'slam':                             baseURL + "naturalSpecialAbilities.htm#slaporSlam",
            'slap':                             baseURL + "naturalSpecialAbilities.htm#slaporSlam",
            'sonic attacks':                    baseURL + "naturalSpecialAbilities.htm#sonicAttacks",
            'spell immunity':                   baseURL + "naturalSpecialAbilities.htm#spellImmunity",
            'spell resistance':                 baseURL + "naturalSpecialAbilities.htm#spellResistance",
            'spells':                           baseURL + "naturalSpecialAbilities.htm#spells",
            'sting':                            baseURL + "naturalSpecialAbilities.htm#sting",
            'summon':                           baseURL + "naturalSpecialAbilities.htm#summon",
            'swallow whole':                    baseURL + "naturalSpecialAbilities.htm#swallowWhole",
            'swim':                             baseURL + "naturalSpecialAbilities.htm#swim",
            'talon':                            baseURL + "naturalSpecialAbilities.htm#claworTalon",
            'telepathy':                        baseURL + "naturalSpecialAbilities.htm#telepathy",
            'tentacle':                         baseURL + "naturalSpecialAbilities.htm#tentacle",
            'trample':                          baseURL + "naturalSpecialAbilities.htm#trample",
            'tremorsense':                      baseURL + "naturalSpecialAbilities.htm#tremorsense",
            'turn resistance':                  baseURL + "naturalSpecialAbilities.htm#turnResistance",
            'vulnerability to energy':          baseURL + "naturalSpecialAbilities.htm#vulnerabilitytoEnergy",

            #Psionics

        }

    def plugin_enabled(self):
        reg = []
        reg2 = []
        reg3 = []
        for search_phrase in self.checklist.keys():
            if len(reg) < 300:
                reg.append("(?<![a-zA-Z0-9>/\#\-])" + search_phrase + "[s]*(?!\w+|[<])")
            elif len(reg2) < 300:
                reg2.append("(?<![a-zA-Z0-9>/\#\-])" + search_phrase + "[s]*(?!\w+|[<])")
            elif len(reg3) < 400:
                reg3.append("(?<![a-zA-Z0-9>/\#\-])" + search_phrase + "[s]*(?!\w+|[<])")

        reg = string.join(reg, "|")
        reg2 = string.join(reg2, "|")
        reg3 = string.join(reg3, "|")
        self.regex = re.compile(reg, re.I)
        self.regex2 = re.compile(reg2, re.I)
        self.regex3 = re.compile(reg3, re.I)

    def plugin_disabled(self):
        pass

    def regsub(self, m):
        term = m.group(0).lower()
        while not self.checklist.has_key(term) and len(term) > 1:
            term = term[:-1]
        return '<a href="' + self.checklist[term] + '">' + m.group(0) + '</a>'

    def replace(self, text):
        text = self.regex.sub(self.regsub, text)
        text = self.regex2.sub(self.regsub, text)
        text = self.regex3.sub(self.regsub, text)
        return text

    def pre_parse(self, text):
        text = self.replace(text)
        return text

    def plugin_incoming_msg(self, text, type, name, player):
        text = self.replace(text)
        return text, type, name