Download Game! Currently 97 players and visitors. Last logged in:DrifterFonkensembleDerfelDeric

BatMUD Forums > General game-related chat >

 
23 Oct 2008 13:01
  
Here are my new prot triggers which use "show effects".
Feel free to use! (Tf is pretty strict on trailing spaces and forums probably ate all space sensitive stuff, so cut&paste might not work straight away)
If you find missing or bugging prots, post a comment, thanks! :)
Oh, and I suck at tf so any improvements are also welcomed. :)
Resist dispel stuff is still missing since I've got no clue what it'll look like....


CODE
;;
;; The "new" prot trigs that show time left on prots rather than time gone.
;; Made by Nosunrise, use/change/own/ignore as you wish. :)
;;
;; Contains most prots, but if a prot is missing add it to three places:
;; 1. The "allprotnames" variable
;; 2. The "doprotstring" trigger
;; 3. Up and Down triggers for the prot's messages
;;
;; You can edit the format in which prots are reported in the "gagprotendline"
;; trigger.
;;

;; Your name Here
/set your_name=Nosunrise

;;
;; Aliases for reporting on party channel or echoing just for yourself.
;;
/alias PP /set protecho=false %;/showprotsleft
/alias PPE /set protecho=true %;/showprotsleft

;;
;; Tweaker.
;;
/def -p1 -mregexp -t'([A-Z][a-z]+) tweaks your nose mischievously.' tweaker= \
  pp %;

;;
;;All protnames as shown in 'show effects' separated by a |
;;
/set allprotnames=Acid shield|Agility accelerator|Air shield|Amnesia|Arches favour|Armour of aether|\
Artificial intelligence|Aura of hate|Aura of power|Aura of wind|Awareness|\
Beacon of enlightenment|Bless|Blessing of tarmalen|Blurred image|\
Clandestine thoughts|Cold tolerance|Corrosion shield|Cryptozoological protection|Curse of ogre|\
Darkness|Degenerate person|Disease|Displacement|\
Earth blood|Earth skin|Earth power|Energy channeling|Enhance vision|Enhanced awareness|Enrage|Enwize|Ether boundary|\
Feeblemind|Fire walking|Flame shield|Flex shield|Floating|Frost insulation|Frost shield|Force absorption|Force shield|Forget|\
Giant strength|Granitize|Greater darkness|Greater light|\
Haste|Hallucination|Heat reduction|Heavenly protection|Heavy weight|Infravision|Intelligize|Invisibility|Iron will|\
Kinemortological protection|Levitation|Life link|Lift of load|Light|Lightning shield|\
Magic dispersion|Mana shield|Melodical embracement|Mesmeric threshold|Minor protection|Mirror image|\
Pain threshold|Protection by sacrifice|Protection from good|Protection from evil|Psionic phalanx|Psionic shield|Psychic sanctuary|\
Quicksilver|Racial protection|Regeneration|Repulsor aura|Resist disintegrate|Resist entropy|Resist gaseous form|\
See invisible|See magic|Shield of detoxification|Shield of faith|Shield of protection|Soul hold|Soul shield|\
Speed|Spell empathy|Spider touch|Spider walk|Strengthen|\
Toxic dilution|Toxic immunity|Transmute self|Unpain|Unstable mutation|Unstun|\
Vine mantle|War ensemble|Water walking|Wither|Zoological protection


;;
;;All protnames and their shortnames. Edit the "/_echo xxx" line to your liking.
;;The last /if will print all missing prots in their entirety.
;;
/def doprotstring=\
  /let protname=%{*} %;\
  /if ({protname}=~"Acid shield") /_echo GAcid %;/endif %;\
  /if ({protname}=~"Agility accelerator") /_echo +Dex %;/endif %;\
  /if ({protname}=~"Air shield") /_echo AS %;/endif %;\
  /if ({protname}=~"Amnesia") /_echo -Wis %;/endif %;\
  /if ({protname}=~"Arches favour") /_echo AF %;/endif %;\
  /if ({protname}=~"Armour of aether") /_echo AoA %;/endif %;\
  /if ({protname}=~"Artificial intelligence") /_echo +Int %;/endif %;\
  /if ({protname}=~"Aura of hate") /_echo AoH %;/endif %;\
  /if ({protname}=~"Aura of power") /_echo +Con %;/endif %;\
  /if ({protname}=~"Aura of wind") /_echo GAsphyx %;/endif %;\
  /if ({protname}=~"Awareness") /_echo +Wis %;/endif %;\
  /if ({protname}=~"Beacon of enlightenment") /_echo Boe %;/endif %;\
  /if ({protname}=~"Bless") /_echo Bless %;/endif %;\
  /if ({protname}=~"Blessing of tarmalen") /_echo BoT %;/endif %;\
  /if ({protname}=~"Blurred image") /_echo Blur %;/endif %;\
  /if ({protname}=~"Clandestine thoughts") /_echo ClandT %;/endif %;\
  /if ({protname}=~"Cold tolerance") /_echo ColdTol %;/endif %;\
  /if ({protname}=~"Corrosion shield") /_echo LAcid %;/endif %;\
  /if ({protname}=~"Cryptozoological protection") /_echo CryptProt %;/endif %;\
  /if ({protname}=~"Curse of ogre") /_echo -Str %;/endif %;\
  /if ({protname}=~"Darkness") /_echo Dark %;/endif %;\
  /if ({protname}=~"Degenerate person") /_echo Degen %;/endif %;\
  /if ({protname}=~"Disease") /_echo -Con %;/endif %;\
  /if ({protname}=~"Displacement") /_echo Disp %;/endif %;\
  /if ({protname}=~"Earth blood") /_echo EBlood %;/endif %;\
  /if ({protname}=~"Earth skin") /_echo ESkin %;/endif %;\
  /if ({protname}=~"Earth power") /_echo EPower %;/endif %;\
  /if ({protname}=~"Energy channeling") /_echo LElec %;/endif %;\
  /if ({protname}=~"Enhance vision") /_echo EVision %;/endif %;\
  /if ({protname}=~"Enhanced awareness") /_echo EAwa %;/endif %;\
  /if ({protname}=~"Enrage") /_echo Enrage %;/endif %;\
  /if ({protname}=~"Enwize") /_echo +Wis %;/endif %;\
  /if ({protname}=~"Ether boundary") /_echo LAsphyx %;/endif %;\
  /if ({protname}=~"Feeblemind") /_echo -Int %;/endif %;\
  /if ({protname}=~"Fire walking") /_echo FWalk %;/endif %;\
  /if ({protname}=~"Flame shield") /_echo GFire %;/endif %;\
  /if ({protname}=~"Flex shield") /_echo Flex %;/endif %;\
  /if ({protname}=~"Floating") /_echo Float %;/endif %;\
  /if ({protname}=~"Frost insulation") /_echo LCold %;/endif %;\
  /if ({protname}=~"Frost shield") /_echo GCold %;/endif %;\
  /if ({protname}=~"Force absorption") /_echo Fabs %;/endif %;\
  /if ({protname}=~"Force shield") /_echo FS %;/endif %;\
  /if ({protname}=~"Forget") /_echo Forget %;/endif %;\
  /if ({protname}=~"Giant strength") /_echo +Str %;/endif %;\
  /if ({protname}=~"Granitize") /_echo +Con %;/endif %;\
  /if ({protname}=~"Greater darkness") /_echo GDark %;/endif %;\
  /if ({protname}=~"Greater light") /_echo GLight %;/endif %;\
  /if ({protname}=~"Haste") /_echo Haste %;/endif %;\
  /if ({protname}=~"Hallucination") /_echo Hallu %;/endif %;\
  /if ({protname}=~"Heat reduction") /_echo LFire %;/endif %;\
  /if ({protname}=~"Heavenly protection") /_echo HProt %;/endif %;\
  /if ({protname}=~"Heavy weight") /_echo HW %;/endif %;\
  /if ({protname}=~"Infravision") /_echo Infra %;/endif %;\
  /if ({protname}=~"Intelligize") /_echo Int %;/endif %;\
  /if ({protname}=~"Invisibility") /_echo Invis %;/endif %;\
  /if ({protname}=~"Iron will") /_echo IW %;/endif %;\
  /if ({protname}=~"Kinemortological protection") /_echo KineProt %;/endif %;\
  /if ({protname}=~"Levitation") /_echo Levi %;/endif %;\
  /if ({protname}=~"Life link") /_echo Link %;/endif %;\
  /if ({protname}=~"Lift of load") /_echo LoL %;/endif %;\
  /if ({protname}=~"Light") /_echo Light %;/endif %;\
  /if ({protname}=~"Lightning shield") /_echo GElec %;/endif %;\
  /if ({protname}=~"Magic dispersion") /_echo LMana %;/endif %;\
  /if ({protname}=~"Mana shield") /_echo ManaSh %;/endif %;\
  /if ({protname}=~"Melodical embracement") /_echo MEmbr %;/endif %;\
  /if ({protname}=~"Mesmeric threshold") /_echo MeTrsh %;/endif %;\
  /if ({protname}=~"Minor protection") /_echo MinorProt %;/endif %;\
  /if ({protname}=~"Mirror image") /_echo Mirrors %;/Endif %;\
  /if ({protname}=~"Pain threshold") /_echo PainT %;/endif %;\
  /if ({protname}=~"Protection by sacrifice") /_echo PBS %;/endif %;\
  /if ({protname}=~"Protection from good") /_echo PFG %;/endif %;\
  /if ({protname}=~"Protection from evil") /_echo PFE %;/endif %;\
  /if ({protname}=~"Psionic phalanx") /_echo GPsi %;/endif %;\
  /if ({protname}=~"Psionic shield") /_echo PsiSh %;/endif %;\
  /if ({protname}=~"Psychic sanctuary") /_echo LPsi %;/endif %;\
  /if ({protname}=~"Quicksilver") /_echo QS %;/endif %;\
  /if ({protname}=~"Racial protection") /_echo RaceProt %;/endif %;\
  /if ({protname}=~"Regeneration") /_echo Regen %;/endif %;\
  /if ({protname}=~"Repulsor aura") /_echo GMana %;/endif %;\
  /if ({protname}=~"Resist disintegrate") /_echo RDisint %;/endif %;\
  /if ({protname}=~"Resist entropy") /_echo REntro %;/endif %;\
  /if ({protname}=~"Resist gaseous form") /_echo RGasForm %;/endif %;\
  /if ({protname}=~"See invisible") /_echo SeeInvis %;/endif %;\
  /if ({protname}=~"See magic") /_echo SeeMagic %;/endif %;\
  /if ({protname}=~"Shield of detoxification") /_echo GPoison %;/endif %;\
  /if ({protname}=~"Shield of faith") /_echo SoF %;/endif %;\
  /if ({protname}=~"Shield of protection") /_echo SoP %;/endif %;\
  /if ({protname}=~"Soul hold") /_echo SoulH %;/endif %;\
  /if ({protname}=~"Soul shield") /_echo SS %;/endif %;\
  /if ({protname}=~"Speed") /_echo +Dex %;/endif %;\
  /if ({protname}=~"Spell empathy") /_echo SpellE %;/endif %;\
  /if ({protname}=~"Spider touch") /_echo STouch %;/endif %;\
  /if ({protname}=~"Spider walk") /_echo SWalk %;/endif %;\
  /if ({protname}=~"Strengthen") /_echo +Str %;/endif %;\
  /if ({protname}=~"Toxic dilution") /_echo LPoison %;/endif %;\
  /if ({protname}=~"Toxic immunity") /_echo TxcImm %;/endif %;\
  /if ({protname}=~"Transmute self") /_echo Transm %;/endif %;\
  /if ({protname}=~"Unpain") /_echo Unp %;/endif %;\
  /if ({protname}=~"Unstable mutation") /_echo Mutate %;/endif %;\
  /if ({protname}=~"Unstun") /_echo Us %;/endif %;\
  /if ({protname}=~"Vine mantle") /_echo VMant %;/endif %;\
  /if ({protname}=~"War ensemble") /_echo WarE %;/endif %;\
  /if ({protname}=~"Water walking") /_echo WW %;/endif %;\
  /if ({protname}=~"Wither") /_echo -Dex %;/endif %;\
  /if ({protname}=~"Zoological protection") /_echo ZooProt %;/endif %;\
  /if (strstr({allprotnames},{protname})<0) \
    /_echo %{protname} %;\
  /endif %;

;;
;; Do a time string from 'show effects' time. Currently [123min45s]
;;
/def dotimestring=\
  /let prottime=%{*} %;\
  /let timestring= %;\
  /if ({prottime}!~"For now")\
    /let hourpos=$[strstr({prottime},"h")] %;\
    /let minutespos=$[strstr({prottime},"min")] %;\
    /let secondspos=$[strstr({prottime},"s")] %;\
    /let separatorpos=$[strstr({prottime},"and")] %;\
    /let separatorpos2=$[strstr({prottime},",")] %;\
    /if ({hourpos}>0)\
      /let timestring=$[substr({prottime},0,{hourpos}+1)] %;\
      /if ({minutespos}>0)\
        /if ({separatorpos2}>0)\
          /let timestring=$[strcat({timestring},substr({prottime},{separatorpos2}+2,{minutespos}-{separatorpos2}-1))] %;\
        /else \
          /let timestring=$[strcat({timestring},substr({prottime},{separatorpos}+4,{minutespos}-{separatorpos}-3))] %;\
        /endif %;\
      /endif %;\
    /else \
      /if ({minutespos}>0)\
        /let timestring=$[substr({prottime},0,{minutespos}+1)] %;\
      /endif %;\
      /if ({separatorpos}>0)\
        /let timestring=$[strcat({timestring},substr({prottime},{separatorpos}+4))] %;\
      /else \
        /let timestring=$[strcat({timestring},substr({prottime},0,{secondspos}+1))] %;\
      /endif %;\
    /endif %;\
  /endif %;\
  /if (strlen({timestring})>0)\
    /_echo [%{timestring}] %;\
  /else \
    /_echo %{timestring} %;\
  /endif %;

;;
;; Shows all prots left with times.
;;
/def showprotsleft=\
  /edit -c100 doprotmajik %;\
  /edit -ag doprotmajik %;\
  show effects %;

;;
;;Shows time left on a prot given as parameter.
;;
/def reporttimeleft=\
  /set showthisprot=%{*} %;\
  /if (strlen({showthisprot})>1) \
    /edit -c100 doprotmajik %;\
    /edit -ag doprotmajik %;\
    show effects %;\
  /endif %;\

;;
;; The main shite. Basically creates a bunch of gags and a trigger to make
;; one string out of all effects. The last line of 'show effects' triggers
;; a removal of all of these so that user can still do 'show effects' on his
;; own.
;;
/def -an -c0 -F -p1 -mregexp -t'^,\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\.$' doprotmajik=\
  /set protsleftstring= %;\
  /def -ag -F -1 -mregexp -t'^\\| Effect                 ' gagprotheadline %;\
  /def -ag -F -1 -mregexp -t'^\\|=========================' gagprotmidline %;\
/def -ag -F -1 -mregexp -t'^\\`\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\´' gagprotendline=\
    /undef protsleft %%;\
    /edit -c0 doprotmajik %%;\
    /edit -an doprotmajik %%;\
    /if (strlen({showthisprot})>1) \
      party report \\{%%{showthisprot}%%{showthisprottime} up!\\} %%;\
      /set showthisprot= %%;\
      /set showthisprottime= %%;\
    /else \
      /if ({protecho}!~"true")\
        party report \\{PROTS LEFT:%%{protsleftstring}\\} %%;\
      /else \
        /echo -aCwhite PROTS LEFT:%%{protsleftstring} %%;\
      /endif %%;\
    /endif %;\
  /def -ag -p1 -F -mregexp -t'^\\| (%{allprotnames})([ ]+)\\| \
(For now|\
[0-9]+h, [0-9]+min and [0-9]+s|\
[0-9]+h and [0-9]+min|\
[0-9]+h and [0-9]+s|\
[0-9]+min and [0-9]+s|\
[0-9]+min  |\
[0-9]+s  ) ' protsleft=\
    /let shortprotname=$$(/doprotstring %%{P1}) %%;\
    /let shortprottime=$$(/dotimestring %%{P3}) %%;\
    /if ({P1}=~{showthisprot})\
      /set showthisprottime=%%{shortprottime} %%;\
    /endif %%;\
    /set protsleftstring=%%{protsleftstring} %%{shortprotname}%%{shortprottime} %;

;;
;; Aliases for repoting on party channel or echoning just for yourself.
;;
/alias PP /set protecho=false %;/showprotsleft
/alias PPE /set protecho=true %;/showprotsleft

;;
;; Tweaker.
;;
/def -p1 -mregexp -t'([A-Z][a-z]+) tweaks your nose mischievously.' tweaker= \
  pp %;

/def -p1 -mregexp -t'^No effects to show.$' noprotsleftonme=\
  party report \{NO PROTS!\} %;


;;
;; All prots and their UP and DOWN messages.
;;

;; Resist Dispel
/set sticky=0
/def -F -p4 -mregexp -t'^You feel extra sticky for protection.$' stickytrig=\
  /set sticky=1 %;\
  party report \{Sticky Activated.\} %;

;; Acid Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) bubbling yellow shield fade into existance around you.' acid_shield_on=\
  /reporttimeleft Acid shield %;
/def -F -p5 -mregexp -t'^Your bubbling yellow shield fades out.$' acid_shield_off=\
  party report \{Acid Shield Expired.\}

;; Arches Favour
/def -F -p4 -mregexp -t'^You feel optimistic about your near future!$' arches_favour_on=\
  /reporttimeleft Arches favour %;

;; Armour of Aether
/def -F -p4 -mregexp -t'^You see (a|an extra) crystal clear shield fade into existance around you.' armour_of_aether_on=\
  /reporttimeleft Armour of aether %;
/def -F -p5 -mregexp -t'^Your crystal clear shield fades out.$' armour_of_aether_off=\
  party report \{Armour of Aether Expired.\}

;; Aura of Wind
/def -F -p4 -mregexp -t'^You see (a|an extra) swirling foggy white shield fade into existance around you.$' aura_of_wind_on=\
  /reporttimeleft Aura of wind %;
/def -F -p5 -mregexp -t'^Your swirling foggy white shield fades out.$' aura_of_wind_off=\
  party report \{Aura of Wind Expired.\}

;; Aura of Hate
/def -F -p20 -mregexp -t'^You feel your anger and hate of the world recede.$' aura_of_hate_off=\
  party report \{Aura of Hate Expired.\} %;
/def -F -p1 -mregexp -t'^You feel burning hatred and rage erupt within you!$' aura_of_hate_on=\
  /reporttimeleft Aura of hate %;

;; Beacon of Enlightenment
/def -F -p4 -mregexp -t'^You feel lost as all beacons of enlightenment around you die out.$' beacon_of_enlightenment_off
/def -F -p4 -mregexp -t'^Everything seems clearer under the inspiration of your own magic.$' beacon_of_enlightenment_on=\
  /reporttimeleft Beacon of enlightenment %;

;; Blessing of tarmalen
/def -F -p4 -mregexp -t' like you could carry the whole flat world on your back!$' blessing_of_tarmalen_on=\
  /reporttimeleft Blessing of tarmalen %;
/def -F -p5 -mregexp -t'^You feel weaker.$' blessing_of_tarmalen_off=\
  party report \{Blessing of Tarmalen Expired.\} %;

;; Blurred Image
/def -F -p5 -mregexp -t'\'ziiiuuuuns wiz\'' blurred_image_cast=\
  /edit -c100 blurred_image_on %;\
  /repeat -1 1 /edit -c0 blurred_image_on %;
/def -F -p5 -c0 -mregexp -t'^You feel a powerful aura.$' blurred_image_on=\
  /reporttimeleft Blurred image %;
/def -F -p5 -mregexp -t'^You feel less invisible.' blurred_image_off=\
  party report \{Blurred Image Expired.\} %;

;; Clandestine Thoughts
/def -F -p5 -mregexp -t'^\[clandestine thought\]: activated. Snooping activities will be terminated and reported.$' clandestine_thoughts_on=\
  /reporttimeleft Clandestine thoughts %;
/def -F -p5 -mregexp -t'^\[clandestine thought\]: scanning ended. Shielding from snoopers no longer active.$'  clandestine_thoughts_off=\
  party report \{Clandestine Thoughts Expired.\}

;; Cold Tolerance
/def -F -p5 -mregexp -t'^You begin to concentrate on cold tolerance.$' cold_tolerance_on=\
  /reporttimeleft Cold tolerance %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from cold.$' cold_tolerance_off=\
  party report \{Cold Tolerance Expired\} %;

;; Corrosion Shield
/def -F -p5 -mregexp -t'\'sulphiraidzik hydrochloodriz gidz zuf\'' corrosion_shield_cast=\
  /edit -c100 corrosion_shield_on%;\
  /repeat -1 1 /edit -c0 corrosion_shield_on
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' corrosion_shield_on =\
  /reporttimeleft Corrosion shield %;
/def -F -p5 -mregexp -t'^A disgusting yellow flash momentarily surrounds you and then vanishes.$' corrosion_shield_off=\
  party report \{Corrosion Shield Expired.\} %;
    
;; Cryptozoological Protection
/def -F -p5 -mregexp -t'^You feel protected from mythical creatures.$' cryptozoological_protection_on=\
  /reporttimeleft Cryptozoological protection %;
/def -F -p5 -mregexp -t'^The cryptozoological protection fades away.$' cryptozoological_protection_off=\
  party report \{Cryptozoological Protection Expired\} %;

;; Darkness
/def -F -p5 -mregexp -t'\'na ful\'' darkness_cast=\
  /edit -c100 darkness_on %;\
  /repeat -1 1 /edit -c0 darkness_on %;
/def -F -c0 -p5 -mregexp -t'^You summon a circle of darkness that absorbs light.$' darkness_on=\
  /reporttimeleft Darkness %;
/def -F -p5 -mregexp -t'^Your darkness spell dissolves.$' darkness_off=\
  party report \{Darkness Expired\} %;

;; Degenerate Person
/def -F -p5 -mregexp -t'^You suddenly feel feeble and old.$' degenerate_person_on=\
  /reporttimeleft Degenerate person %;

;; Displacement
/def -F -p5 -mregexp -t'\'diiiiuuunz aaanziz\'' displacement_cast=\
  /edit -c100 displacement_on %;\
  /repeat -1 1 /edit -c0 displacement_on %;
/def -F -p5 -c0 -mregexp -t'^You feel a powerful aura.$' displacement_on=\
  /reporttimeleft Displacement %;
/def -F -p5 -mregexp -t'^You feel much less invisible.' displacement_off=\
  party report \{Displacement Expired.\} %;

;; Earth Blood
/def -F -p5 -mregexp -t'^An icy chill runs through your veins.$' earth_blood_on=\
  /reporttimeleft Earth blood %;
/def -F -p5 -mregexp -t'^The runic sigla \'!\( \*\)\' fade away.. leaving you feeling strange.' earth_blood_off=\
  party report \{Earth blood Expired.\} %;

;; Earth Power
/def -F -p5 -mregexp -t'^You feel your strength changing. You flex you muscles experimentally.$' earth_power_on=\
  /reporttimeleft Earth power %;
/def -F -p5 -mregexp -t'^The runic sigla \'% !^\' fade away.. leaving you feeling strange.' earth_power_off=\
  party report \{Earth Power Expired.\} %;

;; Earth Skin
/def -F -p5 -mregexp -t'^You feel your skin harden.$' earth_skin_on=\
  /set prot_earth_skin=$[{prot_earth_skin}+1] %;\
  /reporttimeleft Earth skin %;\
  party report \{Earth skin \[%{prot_earth_skin}\].\} %;
/def -F -p4 -mregexp -t'^Your skin feels softer.$' earth_skin_off=\
  /if ({prot_earth_skin}>1)\
    /set prot_earth_skin=$[{prot_earth_skin}-1]%;\
  /else \
    /set prot_earth_skin=0 %;\
    party report \{Earth Skin Expired.\} %;\
  /endif %;

;; Energy Channeling
/def -F -p5 -mregexp -t'\'kablaaaammmmm bliitz zundfer\'' energy_channeling_cast=\
  /edit -c100 energy_channeling_on%;\
  /repeat -1 1 /edit -c0 energy_channeling_on
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' energy_channeling_on=\
  /reporttimeleft Energy channeling %;
/def -F -p5 -mregexp -t'^A crackling blue flash momentarily surrounds you and then vanishes.$' energy_channeling_off=\
  party report \{Energy Channeling Expired\}%;

;; Enhance Vision
/def -F -p5 -mregexp -t'^You have enhanced vision.$' enhance_vision_on=\
  /reporttimeleft Enhance vision %;
/def -F -p5 -mregexp -t'^You lose part of your sight.$' enhance_vision_off=\
  party report \{Enhance Vision Expired.\}


;; Enhanced Awareness
/def -F -p5 -mregexp -t'^You feel more aware of your surroundings.$' enhanced_awareness_on=\
  /reporttimeleft Enhanced awareness %;
/def -F -p5 -mregexp -t'^You feel your enhanced awareness subside.$' enhanced_awareness_off=\
  party report \{Enhanced Awareness Expired.\}

;; Enrage
/def -F -p1 -mregexp -t'^Holy CRAP! OH what a RUSH!$' enrage_on1= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^Your blood is boiling of rage!$' enrage_on2= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel TOTALLY ENRAGED and ready to KICK ASS!$' enrage_on3= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You are maddened with rage!$' enrage_on4= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You tremble uncontrollably and feel completely ENRAGED!$' enrage_on5= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You are ENRAGED! Your body ACHES for action!$' enrage_on6= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel the adrenaline BURST into your veins!$' enrage_on7= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel mildly enraged.$' enrage_on8= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^YOU FEEL AS IF YOU WERE GROO HIMSELF!$' enrage_on9= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel your barbarian rage stir up.$' enrage_on10= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You no longer feel enraged.$' enrage_off= party report \{Enrage Expired.\}%;

;; Ether Boundary
/def -F -p5 -mregexp -t'\'qor monoliftus\'' ether_boundary_cast=\
  /edit -c100 ether_boundary_on%;\
  /repeat -1 1 /edit -c0 ether_boundary_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' ether_boundary_on=\
  /reporttimeleft Ether boundary %;
/def -F -p5 -mregexp -t'^A dull black flash momentarily surrounds you and then vanishes.$' ether_boundary_off=\
  party report \{Ether Boundary Expired.\}%;

;; Fire Walking
/def -F -p5 -mregexp -t'^You begin to concentrate on fire walking.$' fire_walking_on=\
  /reporttimeleft Fire walking %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from fire.$' fire_walking_off=\
  party report \{Fire Walking Expired.\} %;

;; Flex Shield
/def -F -p4 -mregexp -t'^You sense a flex shield covering your body like a second skin.$' flex_shield_on=\
  /reporttimeleft Flex shield %;
/def -F -p4 -mregexp -t'^Your flex shield wobbles, PINGs and vanishes.$' flex_shield_off=\
  party report \{Flex Shield Expired.\}
/def -F -p100 -mregexp -t'^You die.$' flex_shield_off3=\
  party report \{Flex Shield Expired.\} %;

;; Floating
/def -F -p4 -mregexp -t'^You feel light, and rise into the air.$' floating_on=\
  /reporttimeleft Floating %;
/def -F -p4 -mregexp -t'^You slowly descend until your feet are on the ground.$' floating_off=\
  party report \{Floating Expired.\} %;

;; Force absorption
/def -F -p10000 -mregexp -t'\'ztonez des deckers\'' force_absorption_cast=\
  /edit -c100 force_absorption_on%;\
  /repeat -1 1 /edit -c0 force_absorption_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' force_absorption_on=\
  /reporttimeleft Force absorption %;
/def -F -p5 -mregexp -t'^A skin brown flash momentarily surrounds you and then vanishes.$' force_absorption_off=\
  party report \{Force Absorption Expired.\}%;

;; Force shield
/def -F -p5 -mregexp -t'^You form a psionic shield of force around your body.$' force_shield_on2=\
  /force_shield_on %;
/def -F -p5 -mregexp -t' forms a shield of force around you.' force_shield_on=\
  /reporttimeleft Force shield %;
/def -F -p5 -mregexp -t'^Your armour feels thinner.$' force_shield_off=\
  party report \{Force Shield Expired.\}%;

;; Forget
/def -F -p5 -mregexp -t'^You feel rather empty-headed.$' forget_on=\
  /reporttimeleft Forget %;
/def -F -p5 -mregexp -t'^A fog lifts from your mind. You can remember things clearly now.$' forget_off=\
  party report \{Forget Expired.\} %;

;; Flame Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) crackling red-orange shield fade into existance around you.$' flame_shield_on=\
  /reporttimeleft Flame shield %;
/def -F -p5 -mregexp -t'^Your crackling red-orange shield fades out.$' flame_shield_off=\
  party report \{Flame Shield Expired.\}%;

;; Frost insulation
/def -F -p5 -mregexp -t'\'skaki barictos yetz fiil\'' frost_insulation_cast=\
  /edit -c100 frost_insulation_on%;\
  /repeat -1 1 /edit -c0 frost_insulation_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' frost_insulation_on=\
  /reporttimeleft Frost insulation %;
/def -F -p5 -mregexp -t'^A cold white flash momentarily surrounds you and then vanishes.$' frost_insulation_off=\
  party report \{Frost Insulation Expired.\}%;\
  /edit -c0 frost_insulation_on %;

;; Frost Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) frosty blue-white shield fade into existance around you.$' frost_shield_on=\
  /reporttimeleft Frost shield %;
/def -F -p5 -mregexp -t'^Your frosty blue-white shield fades out.$' frost_shield_off=\
  party report \{Frost Shield Expired.\} %;

;; Greater Darkness
/def -F -p5 -mregexp -t'\'vas na ful\'' greater_darkness_cast=\
  /edit -c100 greater_darkness_on %;\
  /repeat -1 1 /edit -c0 greater_darkness_on %;
/def -F -p5 -c0 -mregexp -t'^You summon a circle of darkness that absorbs light.$' greater_darkness_on=\
  /reporttimeleft Greater darkness %;
/def -F -p5 -mregexp -t'^Your greater darkness spell dissolves.$' greater_darkness_off=\
  party report \{Greater Darkness Expired\} %;

;; Greater Light
/def -F -p5 -mregexp -t'\'vas ful\'' greater_light_cast=\
  /edit -c100 greater_light_on %;\
  /repeat -1 1 /edit -c0 greater_light_on %;
/def -F -p5 -c0 -mregexp -t'^A small ball of light starts following you.$' greater_light_on=\
  /reporttimeleft Greater light %;
/def -F -p5 -mregexp -t'^Your greater light spell flickers briefly and disappears.$' greater_light_off=\
  party report \{Greater Light Expired\} %;

;; Haste
/def -F -p4 -mregexp -t'^The world seems to speed up.$' haste_on=\
  /reporttimeleft Haste %;
/def -F -p4 -mregexp -t'^The world seems to slow down.$' haste_off=\
  party report \{Haste Expired.\}%;

;; Hallucination
/def -F -p4 -mregexp -t'The world around you changes.$' hallucination_on=\
  /reporttimeleft Hallucination %;
/def -F -p4 -mregexp -t'^Your mind clears.$' hallucination_off=\
  party report \{Hallucination Expired.\}%;

;; Heat reduction
/def -F -p5 -mregexp -t'\'hot hot not zeis daimons\'' heat_reduction_cast=\
  /edit -c100 heat_reduction_on%;\
  /repeat -1 1 /edit -c0 heat_reduction_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' heat_reduction_on =\
  /reporttimeleft Heat reduction %;
/def -F -p5 -mregexp -t'^A burning red flash momentarily surrounds you and then vanishes.$' heat_reduction_off=\
  party report \{Heat Reduction Expired.\}%;

;;Heavenly Protection
/def -F -p5 -mregexp -t'dazzling white particles dancing enchantedly around your body.$' heavenly_protection_on=\
  /reporttimeleft Heavenly protection %;
/def -F -p5 -mregexp -t'^Holy particles slow down, rapidly fading away.$' heavenly_protection_off=\
  party report \{Heavenly Protection Expired.\}

;; Heavy weight
/def -F -p5 -mregexp -t'^You suddenly feel magically heavier.$' heavy_weight_on=\
  /reporttimeleft Heavy weight %;
/def -F -p5 -mregexp -t'^You feel lighter, but it doesn\'t seem to affect your weight!$' heavy_weight_off=\
  party report \{Heavy Weight Expired.\}%;

;; Infravision
/def -F -p5 -mregexp -t'^You have infravision.$' infravision_on=\
  /reporttimeleft Infravision %;
/def -F -p5 -mregexp -t'^Everything no longer seems so red.$' infravision_off=\
  party report \{Infravision Expired.\} %;

;; Invisibility
/def -F -p5 -mregexp -t'^You suddenly can\'t see yourself.$' invisibility_on=\
  /reporttimeleft Invisibility %;
/def -F -p5 -mregexp -t'^You turn visible.$' invisibility_off=\
  party report \{Visible again\}%;

;; Iron Will
/def -F -p5 -mregexp -t'^You feel protected from being stunned.$' iron_will_on=\
  /reporttimeleft Iron will %;
/def -F -p5 -mregexp -t'^You feel no longer protected from being stunned.$' iron_will_off=\
  party report \{Iron Will Expired.\} %;

;; Kinemortological protection
/def -F -p5 -mregexp -t'^You feel protected from undeads.$' kinemortological_protection_on=\
  /reporttimeleft Kinemortological protection %;
/def -F -p5 -mregexp -t'^The kinemortological protection fades away.$' kinemortological_protection_off=\
  party report \{Kinemortological Protection Expired.\} %;

;; Levitation
/def -F -p5 -mregexp -t'^You slowly rise from the ground and start levitating.$' levitation_on=\
  /reporttimeleft Levitation %;
/def -F -p5 -mregexp -t'^You decide that you have levitated enough and slowly descend to the ground.$' levitation_off=\
  party report \{Levitation Expired.\} %;

;; Light
/def -F -p5 -mregexp -t'\'ful\'' light_cast=\
  /edit -c100 light_on %;\
  /repeat -1 1 /edit -c0 light_on %;
/def -F -p5 -c0 -mregexp -t'^A small ball of light starts following you.$' light_on=\
  /reporttimeleft Light %;
/def -F -p5 -mregexp -t'^Your light spell flickers briefly and disappears.$' light_off=\
  party report \{Light Expired\} %;

;; Lightning Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) neon purple shield fade into existance around you.$' lightning_shield_on=\
  /reporttimeleft Lightning shield %;
/def -F -p5 -mregexp -t'^Your neon purple shield fades out.$' lightning_shield_off=\
  party report \{Lightning Shield Expired.\}

;; Life link
/def -F -p5 -mregexp -t'^You feel somehow linked to ([A-Z][a-z]*)!$' life_link_on=\
  /set life_link=$[tolower({P1})] %;\
  /reporttimeleft Life link %;\
  party report \{Linked with %{life_link}\} %;
/def -F -p5 -mregexp -t'^You succeed. You create a link to ([A-Z][a-z]+).$' life_link_on2=\
  /reporttimeleft Life link %;\
  party report \{Linked with %{life_link}\}%;
/def -F -p5 -mregexp -t'^You hear a loud snap like sound!$' life_link_off=\
  party report \{My Link with %{life_link} snapped!\}%;

;; Lift of Load
/def -F -p5 -mregexp -t'^You feel odd. Not stronger, but...$' lift_of_load_on=\
  /reporttimeleft Lift of load %;
/def -F -p5 -mregexp -t'^You feel odd. Not weaker, but...$' lift_of_load_off=\
  party report \{Lift of Load Expired.\} %;

;; Magic Dispersion
/def -F -p5 -mregexp -t'\'meke tul magic\'' magic_dispersion_cast=\
  /edit -c100 magic_dispersion_on%;\
  /repeat -1 1 /edit -c0 magic_dispersion_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' magic_dispersion_on=\
  /reporttimeleft Magic dispersion %;
/def -F -p5 -mregexp -t'^A golden flash momentarily surrounds you and then vanishes.$' magic_dispersion_off=\
  party report \{Magick Dispersion Expired.\}%;

;; Mana Shield
/def -F -p5 -mregexp -t'^You feel your magical power expanding.$' mana_shield_on=\
  /reporttimeleft Mana shield %;
/def -F -p5 -mregexp -t'^Your life force seems weaker.$' mana_shield_off=\
  party report \{Mana Shield Expired.\}

;;Melodical Embracement
/def -p1 -mregexp -t' wraps you into an embracing melody' melodical_embracement_on=\
  /reporttimeleft Melodical embracement %;
/def -p4 -mregexp -t'The embracing melody subsides, leaving you longing for more.' melodical_embracement_off=\
  party report \{Melodical Embracement Expired.\}%;

;; Mesmeric Threshold
/def -F -p5 -mregexp -t'^You feel too mesmerized to know pain as a supernatural trance takes over you.$' mesmeric_threshold_on=\
  /reporttimeleft Mesmeric threshold %;
/def -F -p5 -mregexp -t'^The dreamlike feeling improving your concentration subsides.$' mesmeric_threshold_off=\
  party report \{Mesmeric Threshold Expired.\}

;; Mind Store
/def -F -p5 -mregexp -t'^The location \'([A-z0-9 ]+)\' wanes from your memory' mind_store_off=\
  party report \{Mind Store Expired.\}

;; Minor protection
/def -F -p5 -mregexp -t'^You feel slightly protected.$' minor_protection_on=\
  /reporttimeleft Minor protection %;
/def -F -p5 -mregexp -t'^The minor protection fades away.$' minor_protection_off=\
  party report \{Minor Protection Expired.\} %;

;; Mirror Image (assumes 13 is "many")
/def -F -p5 -mregexp -t'^Suddenly (many|[0-9]+) images of yourself appear.$' mirrors_on=\
  /if ({P1}=~"many")\
    /set mirror_images=13 %;\
  /else \
    /set mirror_images=%{P1} %;\
  /endif %;
/def -p100 -F -mregexp -t'^An image of ([A-Z][a-z]+) vanishes.$' mirror_off=\
  /if ({P1}=~{your_name})\
    /set mirror_images=$[{mirror_images}-1] %;\
    /if ({mirror_images}>0)\
      /set str=%*%;/substitute -p %{str} (@{Cyellow}%{mirror_images} left@{n}) %;\
    /else \
      /set str=%*%;/substitute -p %{str} (@{Cyellow}None left!@{n}) %;\
    /endif %;\
  /endif %;
/def -F -p5 -mregexp -t'^All of your images vanish!$' all_mirrors_off=\
  /set mirror_images=0 %;\
  party report \{Mirror Image Expired.\} %;

;; Pain Threshold
/def -F -p5 -mregexp -t'^You begin to concentrate on pain threshold.$' pain_threshold_on=\
  /reporttimeleft Pain threshold %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from physical damage.$' pain_threshold_off=\
  party report \{Pain Threshold Expired.\} %;

;; Protection by sacrifice
/def -F -p4 -mregexp -t'^You kneel in front of ([A-Z][a-z]+) and whisper ' protection_by_sacrifice_on=\
  /reporttimeleft Protection by sacrifice %;\
  party report \{Protecting %{P1}.\} %;
/def -F -p4 -mregexp -t'^You no longer protect ([A-Z][a-z]+)$' protection_by_sacrifice_off=\
  party report \{I no longer protect %{P1}.\} %;
/def -F -p4 -mregexp -t'^([A-Z][a-z]+) kneels before you and whispers ' protection_by_sacrifice_on2=\
  /reporttimeleft Protection by sacrifice %;\
  party report \{Protected by %{P1}.\} %;
/def -F -p4 -mregexp -t'^([A-Z][a-z]+) no longer protects you.$' protection_by_sacrifice_off2=\
  party report \{Protection by Sacrifice Expired.\} %;

;; Protection from evil
/def -F -p5 -mregexp -t'^You no longer have a white aura around you.$' protection_from_evil_off=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p6 -mregexp -t'^You feel more vulnerable to evil$' protection_from_evil_off2=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p4 -mregexp -t'^You suddenly feel more vulnerable to evil.$' protection_from_exil_off3=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p5 -mregexp -t'sanctus Exzordus' protection_from_evil_cast=\
  /edit -c100 protection_from_evil_on%;\
  /repeat -1 2 /edit -c0 protection_from_evil_on %;
/def -F -p5 -c0 -mregexp -t'with sheer power as you are' protection_from_evil_on=\
  /reporttimeleft Protection from evil %;

;; Protection from good
/def -p1 -mregexp -t'A vile black aura surrounds you.' protection_from_good_on=\
  /reporttimeleft Protection from good %;
/def -p1 -mregexp -t'You no longer have a vile black aura around you.' protection_from_good_off=\
  party report \{Protection From Good Expired.\} %;

;; Psionic Phalanx
/def -F -p4 -mregexp -t'^You see (a|an extra) misty pale blue shield fade into existance around you.$' psionic_phalanx_on=\
  /reporttimeleft Psionic phalanx %;
/def -F -p5 -mregexp -t'^Your misty pale blue shield fades out.$' psionic_phalanx_off=\
  party report \{Psionic Phalanx Expired.\} %;

;; Psionic Shield
/def -F -p4 -mregexp -t'^Psionic waves surge through your body and mind!$' psionic_shield_on=\
  /reporttimeleft Psionic shield %;
/def -F -p5 -mregexp -t'^The psionic shield vanishes.$' psionic_shield_off=\
  party report \{Psionic Shield Expired.\} %;

;; Psychic Santuary
/def -F -p5 -mregexp -t'\'toughen da mind reeez un biis\'' psychc_sanctuary_cast=\
  /edit -c100 psychic_sanctuary_on %;\
  /repeat -1 1 /edit -c0 psychic_sanctuary_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' psychic_sanctuary_on=\
  /reporttimeleft Psychic sanctuary %;
/def -F -p5 -mregexp -t'^A transparent flash momentarily surrounds you and then vanishes.$' psychic_sanctuary_off=\
  party report \{Psychic Santuary Expired.\} %;

;; Quicksilver
/def -F -p5 -mregexp -t'^You feel more agile.$' quicksilver_on=\
  /reporttimeleft Quicksilver %;
/def -F -p5 -mregexp -t'^You feel less agile.$' quicksilver_off=\
  party report \{Quicksilver Expired.\}%;

;; Racial Protection
/def -F -p5 -mregexp -t'^You feel protected from ([a-z]+).$' racial_protection_on=\
  /reporttimeleft Racial protection %;\
  party report \{Protected from %{P1}.\} %;
/def -F -p5 -mregexp -t'^The racial protection fades away.$' racial_protection_off=\                    
  party report \{Racial Protection Expired.\} %;

;; Regeneration
/def -F -p5 -mregexp -t'^You feel your metabolism speed up.$' regeneration_on=\
  /reporttimeleft Regeneration %;
/def -F -p5 -mregexp -t'^You no longer have a active regeneration spell on you.$' regeneration_off=\
  party report \{Regeneration Expired.\} %;

;; Repulsor Aura
/def -F -p4 -mregexp -t'^You see (a|an extra) flickering golden shield fade into existance around you.$' repulsor_aura_on=\
  /reporttimeleft Repulsor aura %;
/def -F -p5 -t"Your flickering golden shield fades out." repulsor_aura_off=\
  party report \{Repulsor Aura Expired.\} %;

;;Resist Disintegrate
/def -F -p5 -mregexp -t'^You feel very firm.$' resist_disintegrate_on=\
  /reporttimeleft Resist disintegrate %;
/def -F -p5 -mregexp -t'^You feel somewhat weaker.$' resist_disintegrate_off=\
  party report \{Resist Disintegrate Expired.\} %;

;; Resist Entropy
/def -F -p5 -mregexp -t'^You feel your life force expanding.$' resist_entropy_on=\
  /reporttimeleft Resist entropy %;
/def -F -p5 -mregexp -t'^You feel your hair is getting grayer.$' resist_entropy_off=\
  party report \{Resist Entropy Expired.\} %;

;; Resist Gaseous Form
/def -F -p5 -mregexp -t'^You feel very$' resist_gaseousform_on=\
  /reporttimeleft Resist gaseous form %;
/def -F -p5 -mregexp -t'^You feel some$' resist_gaseousform_off=\
  party report \{Resist Gaseous Form Expired.\} %;

;; See invisible
/def -F -p5 -mregexp -t'^You feel you can see more than ever.$' see_invisible_on=\
  /reporttimeleft See invisible %;
/def -F -p5 -mregexp -t'^Your vision is less sensitive now.$' see_invisible_off=\
  party report \{See Invisible Expired.\} %;

;; See magic
/def -F -p5 -mregexp -t'^You can now see magical things.$' see_magic_on=\
  /reporttimeleft See magic %;
/def -F -p5 -mregexp -t'^You are no longer sensitive to magical things.$' see_magic_off=\
  party report \{See Magic Expired.\} %;

;; Shield of Detoxification
/def -F -p4 -mregexp -t'^You see (a|an extra) slimy olive green shield fade into existance around you.' shield_of_detoxification_on=\
  /reporttimeleft Shield of detoxification %;
/def -F -p5 -mregexp -t'^Your slimy olive green shield fades out.$' shield_of_detoxification_off=\
  party report \{Shield of Detoxification Expired.\}

;;Shield of Faith
/def -F -p5 -mregexp -t'^You are surrounded by divine glow!$' shield_of_faith_on=\
  /reporttimeleft Shield of faith %;
/def -F -p5 -mregexp -t'^Your glow disappears.$' shield_of_faith_off=\
  party report \{Shield of Faith Expired.\} %;

;; Shield of Protection
/def -F -p5 -mregexp -t'^You feel a slight tingle.$' shield_of_protection_on=\
  /reporttimeleft Shield of protection %;
/def -F -p5 -mregexp -t'^You feel more vulnerable now.$' shield_of_protection_off=\
  party report \{Shield of Protection Expired.\} %;

;; Soul hold
/def -F -p5 -mregexp -t' spell tingles you all around...' soul_hold_on=\
  /reporttimeleft Soul hold %;

;; Soul Shield
/def -F -p5 -mregexp -t'hand over you and blesses your soul in the name of Las.$' soul_shield_on=\
  /reporttimeleft Soul shield %;
/def -F -p5 -mregexp -t'^Your soul feels suddenly more vulnerable.$' soul_shield_off=\
  party report \{Soul Shield Expired.\} %;

;; Spell Empathy
/def -F -p4 -mregexp -t'^Finally you find what you were looking for, the feeling' spell_empathy_on=\
  /reporttimeleft Spell empathy %;
/def -F -p4 -mregexp -t'^The empathic feeling, which allowed you to cast' spell_empathy_off=\
  party report \{Spell Empathy Expired.\} %;

;; Spider Touch
/def -F -p4 -mregexp -t'^Suddenly you don\'t feel too good. Your blood feels like it is on fire.$' spider_touch_on=\
  /reporttimeleft Spider touch %;
/def -F -p4 -mregexp -t'^Your blood does not burn anymore.$' spider_touch_off=\
  party report \{Spider Touch Expired.\} %;

;; Spider Walk
/def -F -p5 -mregexp -t'^For some reason you want to run on the walls for a little while.$' spider_walk_on=\
  /reporttimeleft Spider walk %;
/def -F -p5 -mregexp -t'^The walls don\'t look so inviting anymore.$' spider_walk_off=\
  party report \{Spider Walk Expired.\}%;

;; Stat curses
/def -F -p5 -mregexp -t'^You shiver and feel strange.$' stat_curse_off=\
  party report \{Stat Curse Expired.\} %;

;;Transmute Self
/def -F -p5 -mregexp -t'^You feel like the illusion around you lifted.$' transmute_self_off=\
  party report \{Transmute Self Expired.\} %;

;; Toxic Dilution
/def -F -p5 -mregexp -t'\'morri nam pantoloosa\'' toxic_dilution_cast=\
/edit -c100 toxic_dilution_on%;\
/repeat -1 1 /edit -c0 toxic_dilution_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' toxic_dilution_on=\
  /reporttimeleft Toxic dilution %;
/def -F -p5 -mregexp -t'^A green flash momentarily surrounds you and then vanishes.$' toxic_dilution_off=\
  party report \{Toxic Dilution Expired.\} %;

;; Toxic Immunity
/def -F -p5 -mregexp -t'^You begin to concentrate on toxic immunity.$' toxic_immunity_on=\
  /reporttimeleft Toxic immunity %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from poison.$' toxic_immunity_off=\
  party report \{Toxic Immunity Expired.\} %;

;; Unpain
/def -F -p4 -mregexp -t'^You feel your will getting stronger.$' unpain_on=\
  /reporttimeleft Unpain %;
/def -F -p4 -mregexp -t'^You feel your will returning normal.$' unpain_off=\
  party report \{Unpain Expired.\} %;

;; Unstun
/def -F -p4 -mregexp -t'\'s chanting appears to do absolutely nothing.$' unstun_on=\
  /reporttimeleft Unstun %;
/def -F -p4 -mregexp -t'^It doesn\'t hurt as much as it normally does!$' unstun_off=\
  party report \{Unstun Expired.\} %;
/def -F -p4 -mregexp -t'^Nosunrise is aided by the higher powers and resists the stun!$' unstun_off2=\
  party report \{Unstun Expired.\} %;
/def -F -p4 -mregexp -t'^It doesn\'t hurt at all!$' unstun_off3=\
  party report \{Unstun Expired.\} %;

;; Vine Mantle
/def -F -p4 -mregexp -t'^Vines entangle your body.$' vine_mantle_on=\
  /reporttimeleft Vine mantle %;
/def -F -p4 -mregexp -t'^The vines crumble to dust.$' vine_mantle_off=\
  party report \{Vine Mantle Expired.\} %;

;; War Ensemble
/def -p4 -mregexp -t'^You feel full of battle rage' war_ensemble_on=\
  /reporttimeleft War ensemble %;
/def -p4 -mregexp -t'^The effect of war ensemble wears off.$' war_ensemble_off=\
  party report \{War Ensemble Expired.\} %;

;; Water walking
/def -F -p5 -mregexp -t'^You feel light.$' water_walking_on=\
  /reporttimeleft Water walking %;
/def -F -p5 -mregexp -t'^You feel heavier.$' water_walking_off=\
  party report \{Water Walking Expired.\} %;

;; Zoological protection
/def -F -p5 -mregexp -t'^You feel protected from animals.$' zoological_protection_on=\
  /reporttimeleft Zoological protection %;
/def -F -p5 -mregexp -t'^The zoological protection fades away.$' zoological_protection_off=\
  party report \{Zoological Protection Expired.\} %;


;;,------------------------------------------.
;;| Effect                   | Lasts         |
;;|==========================================|
;;| Unstun                   | For now       |
;;| Force absorption         | 1min and 15s  |
;;| Mesmeric threshold       | For now       |
;;`------------------------------------------´
Nosunrise
W i z a r d
8y, 135d, 1h, 21m, 13s old
Level:
50 [Wizard]
 
02 Mar 2009 11:28
  
Okies heres a new version. Has more prots listed and an experimental "jesters trivia" type reporter for entire party.
Feel free to use, suggest improvements, flame, change, whatever.


CODE
;;
;; Usage.
;; 1. Someone can 'tweak' you and you report your prots to party report channel.
;; 2. You can report your/someones prots to party report channel with "pp" or "pp <name>"
;; 3. You can echo your/someones prots to yourself with "ppe" or "ppe <name>"
;; 4. You can emote everyones prots with "ppa"
;; 5. You can emote tank row's prots with "ppt"
;; 6. You can echo everyones prots to yourself with "ppae"
;; 7. You can echo tank row's prots to yourself with "ppte"
;;
;; You can define which party prots to report in initpartyprotvars
;; You can define shortnames for prots in doprotstring
;;

;;
;;All protnames as shown in 'show effects' separated by a |
;;
/set allprotnames=Acid shield|Agility accelerator|Air shield|Airsteel|Amnesia|Arches favour|Armour of aether|\
Artificial intelligence|Aura of hate|Aura of power|Aura of wind|Awareness|\
Bastardly balm|Beacon of enlightenment|Bearskin|Bless|Blessing of intoxication|Blessing of tarmalen|Blurred image|\
Camouflage|Camping|Ceremony|Clandestine thoughts|Cold tolerance|\
Conjure lesser \(Air\)|Conjure lesser \(Electric\)|Conjure lesser \(Poison\)|Conjure lesser \(Magic\)|\
Conjure lesser \(Acid\)|Conjure lesser \(Fire\)|Conjure lesser \(Cold\)|\
Conjure element \(Poison\)|Conjure element \(Air\)|Conjure element \(Acid\)|\
Conjure element \(Fire\)|Conjure element\(Electric\)|Conjure element \(Cold\)|Conjure element \(Magic\)|\
Corrosion shield|Crimson mist|Cryptozoological protection|Curse of ogre|\
Dark meditation|Darkness|Degenerate person|Destructive rage|Disease|Displacement|Drunken stupor|\
Earth blood|Earth skin|Earth power|Energy channeling|Enhance vision|Enhanced awareness|Enhanced vitality|Enrage|Enwize|Ether boundary|\
Feeblemind|Fire walking|Flame fists|Flame shield|Flex shield|Floating|Floating disc|Frost insulation|Frost shield|\
Force absorption|Force shield|Forget|Frenzy|\
Giant strength|Glory of destruction|Granitize|Greater darkness|Greater light|Grounding point|\
Haste|Hallucination|Heat reduction|Heavenly protection|Heavy weight|Hiding|Holding pattern|\
Indoors disguise|Infravision|Intelligize|Invisibility|Iron will|\
Kinemortological protection|\
Lessen poison|Levitation|Life link|Lift of load|Light|Lightning shield|Lure|\
Magic dispersion|Mana barrier|Mana shield|Meditation|Melodical embracement|Melody of the misadventurer|Mesmeric threshold|\
Mind development|Mind store|Minor protection|Mirror image|\
Nocturnal charm|\
Pain threshold|Paralyze|Paranoia|Personal force field|Polymorph spawn|Polymorph owl|\
Protection by sacrifice|Protection from aging|Protection from good|Protection from evil|\
Psionic phalanx|Psionic shield|Psychic purge|Psychic sanctuary|Psychic shackles|\
Quicksilver|Racial protection|Regeneration|Repulsor aura|\
Resist dispel|Resist disintegrate|Resist entropy|Resist gaseous form|\
Searing fervor|See invisible|See magic|Shadow armour|\
Shield of detoxification|Shield of faith|Shield of protection|Soul hold|Soul shield|\
Speed|Spell empathy|Spellteaching|Spider touch|Spider walk|Spirit drain|Stoneskin|Strengthen|\
Stun|Suppress magic|Swashbuckling|\
Touch of glacial winds|Toxic dilution|Toxic immunity|Transmute self|Unpain|Unstable mutation|Unstun|\
Vine mantle|War ensemble|Water walking|Wither|Zoological protection

;;
;;All protnames and their shortnames. Edit the "/_echo xxx" line to your liking.
;;The last /if will print all missing prots in their entirety.
;;
/def doprotstring=\
  /let protname=%{*} %;\
  /if ({protname}=~"Acid shield") /_echo GAcid %;/endif %;\
  /if ({protname}=~"Agility accelerator") /_echo +Dex %;/endif %;\
  /if ({protname}=~"Air shield") /_echo AS %;/endif %;\
  /if ({protname}=~"Airsteel") /_echo AirS %;/endif %;\
  /if ({protname}=~"Amnesia") /_echo -Wis %;/endif %;\
  /if ({protname}=~"Arches favour") /_echo AF %;/endif %;\
  /if ({protname}=~"Armour of aether") /_echo AoA %;/endif %;\
  /if ({protname}=~"Artificial intelligence") /_echo +Int %;/endif %;\
  /if ({protname}=~"Aura of hate") /_echo AoH %;/endif %;\
  /if ({protname}=~"Aura of power") /_echo +Con %;/endif %;\
  /if ({protname}=~"Aura of wind") /_echo GAsphyx %;/endif %;\
  /if ({protname}=~"Awareness") /_echo +Wis %;/endif %;\
  /if ({protname}=~"Bastardly balm") /_echo BB %;/endif %;\
  /if ({protname}=~"Beacon of enlightenment") /_echo Boe %;/endif %;\
  /if ({protname}=~"Bearskin") /_echo BSkin %;/endif %;\
  /if ({protname}=~"Bless") /_echo Bless %;/endif %;\
  /if ({protname}=~"Blessing of intoxication") /_echo BoI %;/endif %;\
  /if ({protname}=~"Blessing of tarmalen") /_echo BoT %;/endif %;\
  /if ({protname}=~"Blurred image") /_echo Blur %;/endif %;\
  /if ({protname}=~"Camouflage") /_echo Camo %;/endif %;\
  /if ({protname}=~"Camping") /_echo Camp %;/endif %;\
  /if ({protname}=~"Ceremony") /_echo Cere %;/endif %;\
  /if ({protname}=~"Clandestine thoughts") /_echo ClandT %;/endif %;\
  /if ({protname}=~"Cold tolerance") /_echo ColdTol %;/endif %;\
  /if ({protname}=~"Conjure lesser (Air)") /_echo CLE(Air) %;/endif %;\
  /if ({protname}=~"Conjure lesser (Acid)") /_echo CLE(Acid) %;/endif %;\
  /if ({protname}=~"Conjure lesser (Cold)") /_echo CLE(Cold) %;/endif %;\
  /if ({protname}=~"Conjure lesser (Fire)") /_echo CLE(Fire) %;/endif %;\
  /if ({protname}=~"Conjure lesser (Electric)") /_echo CLE(Elec) %;/endif %;\
  /if ({protname}=~"Conjure lesser (Magic)") /_echo CLE(Mana) %;/endif %;\  
  /if ({protname}=~"Conjure lesser (Poison)") /_echo CLE(Poison) %;/endif %;\
  /if ({protname}=~"Conjure element (Air)") /_echo CE(Air) %;/endif %;\
  /if ({protname}=~"Conjure element (Acid)") /_echo CE(Acid) %;/endif %;\
  /if ({protname}=~"Conjure element (Cold)") /_echo CE(Cold) %;/endif %;\
  /if ({protname}=~"Conjure element (Fire)") /_echo CE(Fire) %;/endif %;\
  /if ({protname}=~"Conjure element(Electric)") /_echo CE(Elec) %;/endif %;\
  /if ({protname}=~"Conjure element (Magic)") /_echo CE(Mana) %;/endif %;\  
  /if ({protname}=~"Conjure element (Poison)") /_echo CE(Poison) %;/endif %;\
  /if ({protname}=~"Corrosion shield") /_echo LAcid %;/endif %;\
  /if ({protname}=~"Crimson mist") /_echo Mist %;/endif %;\
  /if ({protname}=~"Cryptozoological protection") /_echo CryptProt %;/endif %;\
  /if ({protname}=~"Curse of ogre") /_echo -Str %;/endif %;\
  /if ({protname}=~"Dark meditation") /_echo DM %;/endif %;\
  /if ({protname}=~"Darkness") /_echo Dark %;/endif %;\
  /if ({protname}=~"Degenerate person") /_echo Degen %;/endif %;\
  /if ({protname}=~"Destructive rage") /_echo DRage %;/endif %;\
  /if ({protname}=~"Disease") /_echo -Con %;/endif %;\
  /if ({protname}=~"Displacement") /_echo Disp %;/endif %;\
  /if ({protname}=~"Drunken stupor") /_echo Drunk %;/endif %;\
  /if ({protname}=~"Earth blood") /_echo EBlood %;/endif %;\
  /if ({protname}=~"Earth skin") /_echo ESkin %;/endif %;\
  /if ({protname}=~"Earth power") /_echo EPower %;/endif %;\
  /if ({protname}=~"Energy channeling") /_echo LElec %;/endif %;\
  /if ({protname}=~"Enhance vision") /_echo EVision %;/endif %;\
  /if ({protname}=~"Enhanced awareness") /_echo EAwa %;/endif %;\
  /if ({protname}=~"Enhanced vitality") /_echo EV %;/endif %;\
  /if ({protname}=~"Enrage") /_echo Enrage %;/endif %;\
  /if ({protname}=~"Enwize") /_echo +Wis %;/endif %;\
  /if ({protname}=~"Ether boundary") /_echo LAsphyx %;/endif %;\
  /if ({protname}=~"Feeblemind") /_echo -Int %;/endif %;\
  /if ({protname}=~"Fire walking") /_echo FWalk %;/endif %;\
  /if ({protname}=~"Flame fists") /_echo FF %;/endif %;\
  /if ({protname}=~"Flame shield") /_echo GFire %;/endif %;\
  /if ({protname}=~"Flex shield") /_echo Flex %;/endif %;\
  /if ({protname}=~"Floating") /_echo Float %;/endif %;\
  /if ({protname}=~"Floating disc") /_echo Disc %;/endif %;\
  /if ({protname}=~"Frost insulation") /_echo LCold %;/endif %;\
  /if ({protname}=~"Frost shield") /_echo GCold %;/endif %;\
  /if ({protname}=~"Force absorption") /_echo Fabs %;/endif %;\
  /if ({protname}=~"Force shield") /_echo FS %;/endif %;\
  /if ({protname}=~"Forget") /_echo Forget %;/endif %;\
  /if ({protname}=~"Frenzy") /_echo Frenzy %;/endif %;\
  /if ({protname}=~"Giant strength") /_echo +Str %;/endif %;\
  /if ({protname}=~"Glory of destruction") /_echo GoD %;/endif %;\
  /if ({protname}=~"Granitize") /_echo +Con %;/endif %;\
  /if ({protname}=~"Greater darkness") /_echo GDark %;/endif %;\
  /if ({protname}=~"Greater light") /_echo GLight %;/endif %;\
  /if ({protname}=~"Grounding point") /_echo GP %;/endif %;\
  /if ({protname}=~"Haste") /_echo Haste %;/endif %;\
  /if ({protname}=~"Hallucination") /_echo Hallu %;/endif %;\
  /if ({protname}=~"Heat reduction") /_echo LFire %;/endif %;\
  /if ({protname}=~"Heavenly protection") /_echo HProt %;/endif %;\
  /if ({protname}=~"Heavy weight") /_echo HW %;/endif %;\
  /if ({protname}=~"Hiding") /_echo Hide %;/endif %;\
  /if ({protname}=~"Holding pattern") /_echo HP %;/endif %;\
  /if ({protname}=~"Indoors disguise") /_echo ID %;/endif %;\
  /if ({protname}=~"Infravision") /_echo Infra %;/endif %;\
  /if ({protname}=~"Intelligize") /_echo +Int %;/endif %;\
  /if ({protname}=~"Invisibility") /_echo Invis %;/endif %;\
  /if ({protname}=~"Iron will") /_echo IW %;/endif %;\
  /if ({protname}=~"Kinemortological protection") /_echo KineProt %;/endif %;\
  /if ({protname}=~"Lessen poison") /_echo LP %;/endif %;\
  /if ({protname}=~"Levitation") /_echo Levi %;/endif %;\
  /if ({protname}=~"Life link") /_echo Link %;/endif %;\
  /if ({protname}=~"Lift of load") /_echo LoL %;/endif %;\
  /if ({protname}=~"Light") /_echo Light %;/endif %;\
  /if ({protname}=~"Lightning shield") /_echo GElec %;/endif %;\
  /if ({protname}=~"Lure") /_echo Lure %;/endif %;\
  /if ({protname}=~"Magic dispersion") /_echo LMana %;/endif %;\
  /if ({protname}=~"Mana barrier") /_echo MB %;/endif %;\
  /if ({protname}=~"Mana shield") /_echo ManaSh %;/endif %;\
  /if ({protname}=~"Meditation") /_echo Medi %;/endif %;\
  /if ({protname}=~"Melodical embracement") /_echo MEmbr %;/endif %;\
  /if ({protname}=~"Melody of the misadventurer") /_echo Mis %;/endif %;\
  /if ({protname}=~"Mesmeric threshold") /_echo MeTrsh %;/endif %;\
  /if ({protname}=~"Mind development") /_echo MD %;/endif %;\
  /if ({protname}=~"Mind store") /_echo MS %;/endif %;\
  /if ({protname}=~"Minor protection") /_echo MiPr %;/endif %;\
  /if ({protname}=~"Mirror image") /_echo Mirrors %;/Endif %;\
  /if ({protname}=~"Nocturnal charm") /_echo NC %;/endif %;\
  /if ({protname}=~"Pain threshold") /_echo PainT %;/endif %;\
  /if ({protname}=~"Paralyze") /_echo Para %;/endif %;\
  /if ({protname}=~"Paranoia") /_echo Paranoid %;/endif %;\
  /if ({protname}=~"Personal force field") /_echo PFF %;/endif %;\
  /if ({protname}=~"Polymorph owl") /_echo Owl %;/endif %;\
  /if ({protname}=~"Polymorph spawn") /_echo Spawn %;/endif %;\
  /if ({protname}=~"Protection by sacrifice") /_echo PBS %;/endif %;\
  /if ({protname}=~"Protection from aging") /_echo Age %;/endif %;\
  /if ({protname}=~"Protection from good") /_echo PFG %;/endif %;\
  /if ({protname}=~"Protection from evil") /_echo PFE %;/endif %;\
  /if ({protname}=~"Psionic phalanx") /_echo GPsi %;/endif %;\
  /if ({protname}=~"Psionic shield") /_echo PsiSh %;/endif %;\
  /if ({protname}=~"Psychic purge") /_echo Purge %;/endif %;\
  /if ({protname}=~"Psychic sanctuary") /_echo LPsi %;/endif %;\
  /if ({protname}=~"Psychic shackles") /_echo Shackled %;/endif %;\
  /if ({protname}=~"Quicksilver") /_echo QS %;/endif %;\
  /if ({protname}=~"Racial protection") /_echo RcP %;/endif %;\
  /if ({protname}=~"Regeneration") /_echo Regen %;/endif %;\
  /if ({protname}=~"Repulsor aura") /_echo GMana %;/endif %;\
  /if ({protname}=~"Resist dispel") /_echo Glue %;/endif %;\
  /if ({protname}=~"Resist disintegrate") /_echo RDisint %;/endif %;\
  /if ({protname}=~"Resist entropy") /_echo REntro %;/endif %;\
  /if ({protname}=~"Resist gaseous form") /_echo RGasForm %;/endif %;\
  /if ({protname}=~"Searing fervor") /_echo SF %;/endif %;\
  /if ({protname}=~"See invisible") /_echo SeeInvis %;/endif %;\
  /if ({protname}=~"See magic") /_echo SeeMagic %;/endif %;\
  /if ({protname}=~"Shadow armour") /_echo SA %;/endif %;\
  /if ({protname}=~"Shield of detoxification") /_echo GPoison %;/endif %;\
  /if ({protname}=~"Shield of faith") /_echo SoF %;/endif %;\
  /if ({protname}=~"Shield of protection") /_echo SoP %;/endif %;\
  /if ({protname}=~"Soul hold") /_echo SoulH %;/endif %;\
  /if ({protname}=~"Soul shield") /_echo SS %;/endif %;\
  /if ({protname}=~"Speed") /_echo +Dex %;/endif %;\
  /if ({protname}=~"Spell empathy") /_echo SpellE %;/endif %;\
  /if ({protname}=~"Spellteaching") /_echo SpellT %;/endif %;\
  /if ({protname}=~"Spider touch") /_echo STouch %;/endif %;\
  /if ({protname}=~"Spider walk") /_echo SWalk %;/endif %;\
  /if ({protname}=~"Spirit drain") /_echo SDrain %;/endif %;\
  /if ({protname}=~"Stoneskin") /_echo SSkin %;/endif %;\
  /if ({protname}=~"Strengthen") /_echo +Str %;/endif %;\
  /if ({protname}=~"Stun") /_echo Stun %;/endif %;\
  /if ({protname}=~"Suppress magic") /_echo Sup %;/endif %;\
  /if ({protname}=~"Swashbuckling") /_echo Swash %;/endif %;\
  /if ({protname}=~"Touch of glacial winds") /_echo Gwinds %;/endif %;\
  /if ({protname}=~"Toxic dilution") /_echo LPoison %;/endif %;\
  /if ({protname}=~"Toxic immunity") /_echo TxcImm %;/endif %;\
  /if ({protname}=~"Transmute self") /_echo XMute %;/endif %;\
  /if ({protname}=~"Unpain") /_echo Unp %;/endif %;\
  /if ({protname}=~"Unstable mutation") /_echo Mutate %;/endif %;\
  /if ({protname}=~"Unstun") /_echo Uns %;/endif %;\
  /if ({protname}=~"Vine mantle") /_echo VMant %;/endif %;\
  /if ({protname}=~"War ensemble") /_echo WarE %;/endif %;\
  /if ({protname}=~"Water walking") /_echo WW %;/endif %;\
  /if ({protname}=~"Wither") /_echo -Dex %;/endif %;\
  /if ({protname}=~"Zoological protection") /_echo ZooProt %;/endif %;\
  /if ( (strstr({allprotnames},{protname})<0) & (strstr({protname},"Conjure")<0) )\
    /_echo %{protname} %;\
  /endif %;

;;
;; Do a time string from 'show effects' time. Currently [23:45]
;;
/def dotimestring=\
  /let prottime=%{*} %;\
  /let timestring= %;\
  /if ({prottime}!~"For now")\
    /let hourpos=$[strstr({prottime},"h")] %;\
    /let minutespos=$[strstr({prottime},"min")] %;\
    /let secondspos=$[strstr({prottime},"s")] %;\
    /let separatorpos=$[strstr({prottime},"and")] %;\
    /let separatorpos2=$[strstr({prottime},",")] %;\
    /if ({hourpos}>0)\
      /let timestring=$[substr({prottime},0,{hourpos}+1)] %;\
      /if ({minutespos}>0)\
        /if ({separatorpos2}>0)\
          /let timestring=$[strcat({timestring},substr({prottime},{separatorpos2}+2,{minutespos}-{separatorpos2}-1))] %;\
        /else \
          /let timestring=$[strcat({timestring},substr({prottime},{separatorpos}+4,{minutespos}-{separatorpos}-3))] %;\
        /endif %;\
      /endif %;\
    /else \
      /if ({minutespos}>0)\
        /let timestring=$[substr({prottime},0,{minutespos}+1)] %;\
      /endif %;\
      /if ({separatorpos}>0)\
        /let timestring=$[strcat({timestring},substr({prottime},{separatorpos}+4))] %;\
      /else \
        /let timestring=$[strcat({timestring},substr({prottime},0,{secondspos}+1))] %;\
      /endif %;\
    /endif %;\
  /endif %;\
  /if (strstr({timestring},"m")>0)\
    /if (strstr({timestring},"s")<0)\
      /let timestring=$[replace("m",":00",{timestring})] %;\
    /else \
      /let timestring=$[replace("m5s",":05",{timestring})] %;\
      /let timestring=$[replace("m",":",{timestring})] %;\
      /let timestring=$[replace("s","",{timestring})] %;\
    /endif %;\
  /endif %;\
  /if (strlen({timestring})>0)\
    /_echo [%{timestring}] %;\
  /else \
    /_echo %{timestring} %;\
  /endif %;

;;
;; Decide which prots to display for partyprtos and init variables here.
;;
/def initpartyprotvars=\
  /set partyprot1=Unstun %;\
  /set partyprot2=Unpain %;\
  /set partyprot3=Flex shield %;\
  /set partyprot4=War ensemble %;\
  /set partyprot5=Armour of aether %;\
  /set partyprot6=Aura of hate %;\
  /set partyprotmisc=|Corrosion shield|Frost shield|Acid shield|Lightning shield|\
Shield of detoxification|Repulsor aura|Aura of wind|Flame shield|Psionic phalanx|\
Psychic sanctuary|Energy channeling|Toxic dilution|Heat reduction|Ether boundary|\
Frost insulation|Magic dispersion|Force absorption|Iron will|Shield of protection|\
Protection from evil|Protection from good|Heavy weight|Minor protection|\
Racial protection|Earth skin|Vine mantle %;\
  /let i=1 %;\
  /while ({i}<=6)\
    /set pp_11_prot%{i}= %;\
    /set pp_12_prot%{i}= %;\
    /set pp_13_prot%{i}= %;\
    /set pp_21_prot%{i}= %;\
    /set pp_22_prot%{i}= %;\
    /set pp_23_prot%{i}= %;\
    /set pp_31_prot%{i}= %;\
    /set pp_32_prot%{i}= %;\
    /set pp_33_prot%{i}= %;\
    /let i=$[{i}+1] %;\
  /done %;\
  /set pp_11_misc= %;\
  /set pp_12_misc= %;\
  /set pp_13_misc= %;\
  /set pp_21_misc= %;\
  /set pp_22_misc= %;\
  /set pp_23_misc= %;\
  /set pp_31_misc= %;\
  /set pp_32_misc= %;\
  /set pp_33_misc= %;

;;
;; Formats party prots from longname into shortname and set them into
;; members personal variables.
;;
/def formatpartyprots=\
  /if (strlen({shortprottime})>1)\
    /let pptime=%{shortprottime} %;\
  /else \
    /let pptime=UP %;\
  /endif %;\
  /let i=1 %;\
  /while ({i}<=6)\
    /let pptmp=partyprot%{i} %;\
    /test pptmp:=%pptmp %;\
    /if ({longprotname}=~{pptmp}) \
      /set pp_%{protrow}%{protcolumn}_prot%{i}=%{pptime} %;\
      /let i=7 %;\
    /endif %;\
    /let i=$[{i}+1] %;\
  /done %;\
  /if ((strstr({partyprotmisc},{longprotname})>0) & ({longprotname}!~"Light"))\
    /let pptmp=pp_%{protrow}%{protcolumn}_misc %;\
    /test pptmp:=%pptmp %;\
    /let ppmisc=$(/doprotstring %{longprotname} ) %;\
    /set pp_%{protrow}%{protcolumn}_misc=%{ppmisc} %{pptmp} %;\
  /endif %;

;;
;; Prints prot header as predefined here.
;;
/def printprotheader=\
  /let spp1=$(/doprotstring %{partyprot1} ) %;\
  /let spp2=$(/doprotstring %{partyprot2} ) %;\
  /let spp3=$(/doprotstring %{partyprot3} ) %;\
  /let spp4=$(/doprotstring %{partyprot4} ) %;\
  /let spp5=$(/doprotstring %{partyprot5} ) %;\
  /let spp6=$(/doprotstring %{partyprot6} ) %;\
  /let partyheader=$[strcat("|",pad(" ",-10),"|",pad({spp1},-5),"|",pad({spp2},-5),"|",pad({spp3},-5),"|",\
  pad({spp4},-5),"|",pad({spp5},-5),"|",pad({spp6},-5),"|",pad("Misc",-20),"|")] %;\
  /if ({protecho}=~"true")\
    /echo +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
    /echo %{partyheader} %;\
    /echo +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
  /else \
    emote +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
    emote %{partyheader} %;\
    emote +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
  /endif %;

;;
;; Print final line of spam.
;;
/def printendingline=\
  /if ({protecho}=~"true")\
    /echo +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
  /else \
    emote +----------+-----+-----+-----+-----+-----+-----+--------------------+ %;\
  /endif %;


;;
;; Prints prots for each member here.
;;
/def printmemberprots=\
  /let protstring=$[strcat("|",pad(substr({partyprotmember},0,10),-10),"|")] %;\
  /let i=1 %;\
  /while ({i}<=6)\
    /let pptmp=pp_%{protrow}%{protcolumn}_prot%{i} %;\
    /test pptmp:=%pptmp %;\
    /if (strlen({pptmp})>0) \
      /let pptmp=$[replace("[","",{pptmp})] %;\
      /let pptmp=$[replace("]","",{pptmp})] %;\
      /let protstring=$[strcat({protstring},pad({pptmp},-5),"|")] %;\
    /else \
      /let protstring=$[strcat({protstring},pad(" ",-5),"|")] %;\
    /endif %;\
    /let i=$[{i}+1] %;\
  /done %;\
  /let pptmp=pp_%{protrow}%{protcolumn}_misc %;\
  /test pptmp:=%pptmp %;\
  /if (strlen({pptmp})>0) \
    /let protstring=$[strcat({protstring},pad({pptmp},-20),"|")] %;\
  /else \
    /let protstring=$[strcat({protstring},pad(" ",-20),"|")] %;\
  /endif %;\
  /if ({protecho}=~"true")\
    /echo %{protstring} %;\
  /else \
    emote %{protstring} %;\
  /endif %;

;;
;; Advances row and column for slots
;;
/def advanceslots=\
  /if ({protcolumn}==3) \
    /set protcolumn=1 %;\
    /set protrow=$[{protrow}+1] %;\
  /else \
    /set protcolumn=$[{protcolumn}+1] %;\
  /endif %;

;;
;; Loops through given party members ("all" or "tanks") and displays prots as predefined.
;;
/def showpartyprotsleft=\
  /set doingpartyprots=true %;\
  /initpartyprotvars %;\
  /if ({1}=~"tanks")\
    /set maxprotrow=1 %;\
  /else \
    /set maxprotrow=3 %;\
  /endif %;\
  /set protrow=1 %;\
  /set protcolumn=1 %;\
  /printprotheader %;\
  /getpartyprots %;

;;
;; Loop through all slots and get prots for each member.
;;
/def getpartyprots=\
  /if ({protrow}<={maxprotrow})\
    /showprotsleft %;\
  /else \
    /printendingline %;\
    /set doingpartyprots=false %;\
    /set partyprotmember= %;\
  /endif %;

;;
;; Shows all prots left with times for a partymember.
;;
/def showprotsleft=\
  /edit -ag -c100 doprotmajik %;\
  /if ({doingpartyprots}=~"true")\
    /edit -ag -c100 nosuchplayer %;\
    /edit -ag -c100 noeffecttoshow %;\
    /edit -ag -c100 notargettoshow %;\
    show effects %{protrow},%{protcolumn} %;\
  /else \
    /set protperson=$[toupper({*})] %;\
    show effects %{*} %;\
  /endif %;

;;
;;Shows time left on a prot given as parameter.
;;
/def reporttimeleft=\
  /set showthisprot=%{*} %;\
  /if (strlen({showthisprot})>1) \
    /edit -ag -c100 doprotmajik %;\
    show effects %;\
  /endif %;\

;;
;; The main shite. Basically creates a bunch of gags and a trigger to make
;; one string out of all effects. The last line of 'show effects' triggers
;; a removal of all of these so that user can still do 'show effects' on his
;; own.
;;

/def -an -c0 -F -p1000 -mregexp -t'^No such player' nosuchplayer =\
  /edit -c0 -an doprotmajik %;\
  /edit -c0 -an nosuchplayer %;\
  /edit -c0 -an noeffecttoshow %;\
  /edit -c0 -an notargettoshow %;\
  /getpartyprots %;

/def -an -c0 -p1000 -mregexp -t'^No target in that position.' notargettoshow=\
  /edit -c0 -an doprotmajik %;\
  /edit -c0 -an nosuchplayer %;\
  /edit -c0 -an noeffecttoshow %;\
  /edit -c0 -an notargettoshow %;\
  /advanceslots %;\
  /getpartyprots %;

/def -an -c0 -p1000 -mregexp -t'^No effects to show. \(([A-z ]+)\)' noeffecttoshow =\
  /edit -c0 -an doprotmajik %;\
  /edit -c0 -an nosuchplayer %;\
  /edit -c0 -an noeffecttoshow %;\
  /edit -c0 -an notargettoshow %;\
  /set partyprotmember=%{P1} %;\
  /printmemberprots %;\
  /advanceslots %;\
  /getpartyprots %;

/def -an -c0 -F -p1 -mregexp -t'^,\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\.$' doprotmajik=\
  /set protsleftstring= %;\
  /def -ag -F -mregexp -t'UNKNOWN SPELL' gagunknownspell %;\
  /def -ag -F -1 -mregexp -t'^\\| Effects \\(([A-z ]+)\\) ' gagprotheadline=\
     /set partyprotmember=%%{P1} %;\
  /def -ag -F -1 -mregexp -t'^\\|=========================' gagprotmidline %;\
  /def -ag -F -1 -mregexp -t'^\\`\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\´' gagprotendline=\
    /undef protsleft %%;\
    /undef gagunknownspell %%;\
    /edit -c0 -an doprotmajik %%;\
    /edit -c0 -an nosuchplayer %%;\
    /edit -c0 -an noeffecttoshow %%;\
    /if (strlen({showthisprot})>1) \
      party report \\{%%{showthisprot}%%{showthisprottime} up!\\} %%;\
      /set showthisprot= %%;\
      /set showthisprottime= %%;\
    /else \
      /if ({protecho}!~"true")\
        /if ({doingpartyprots}!~"true")\
          party report \\{%{protperson} PROTS:%%{protsleftstring}\\} %%;\
        /else \
          /printmemberprots %%;\
        /endif %%;\
      /else \
        /if ({doingpartyprots}!~"true")\
          /echo -aCwhite %{protperson} PROTS:%%{protsleftstring} %%;\
        /else \
          /printmemberprots %%;\
        /endif %%;\
      /endif %%;\
          /advanceslots %%;\
      /if ({doingpartyprots}=~"true")\
        /getpartyprots %%;\
      /endif %%;\
    /endif %;\
  /def -ag -p1 -F -mregexp -t'^\\| (%{allprotnames})([ ]*)\\| \
(For now|\
[0-9]+h, [0-9]+min and [0-9]+s|\
[0-9]+h and [0-9]+min|\
[0-9]+h and [0-9]+s|\
[0-9]+min and [0-9]+s|\
[0-9]+min  |\
[0-9]+s  ) ' protsleft=\
    /set longprotname=%%{P1} %%;\
    /set shortprotname=$$(/doprotstring %%{P1}) %%;\
    /set shortprottime=$$(/dotimestring %%{P3}) %%;\
    /if ({P1}=~{showthisprot})\
      /set showthisprottime=%%{shortprottime} %%;\
    /endif %%;\
    /if ({doingpartyprots}=~"true")\
      /formatpartyprots %%;\
    /else \
      /set protsleftstring=%%{protsleftstring} %%{shortprotname}%%{shortprottime} %%;\
    /endif %;

;;
;; Aliases for reporting on party channel, emote or echoing just for yourself.
;;
/alias PP /set protecho=false %;/showprotsleft
/alias PPE /set protecho=true %;/showprotsleft
/alias PPT /set protecho=false %;/showpartyprotsleft tanks
/alias PPA /set protecho=false %;/showpartyprotsleft all
/alias PPTE /set protecho=true %;/showpartyprotsleft tanks
/alias PPAE /set protecho=true %;/showpartyprotsleft all

;;
;; Tweaker.
;;
/def -p1 -mregexp -t'([A-Z][a-z]+) tweaks your nose mischievously.' tweaker= \
  /if (regmatch({P1}, {party_members}))\
    pp %;\
  /endif %;

/def -p1 -mregexp -t'^No effects to show.$' noprotsleftonme=\
  party report \{NO PROTS!\} %;

;;
;; All prots and their UP and DOWN messages.
;;

;; Resist Dispel
/set sticky=0
/def -F -p4 -mregexp -t'^You feel extra sticky for protection.$' stickytrig=\
  /set sticky=1 %;\
  party report \{Sticky Activated.\} %;

;; Acid Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) bubbling yellow shield fade into existance around you.' acid_shield_on=\
  /reporttimeleft Acid shield %;
/def -F -p5 -mregexp -t'^Your bubbling yellow shield fades out.$' acid_shield_off=\
  party report \{Acid Shield Expired.\}

;;Air Shield
/def -F -p4 -mregexp -t'^The circle forms an air mask before your face.$' air_shield_on=\
  /reporttimeleft Air shield %;

;; Arches Favour
/def -F -p4 -mregexp -t'^You feel optimistic about your near future!$' arches_favour_on=\
  /reporttimeleft Arches favour %;

;; Armour of Aether
/def -F -p4 -mregexp -t'^You see (a|an extra) crystal clear shield fade into existance around you.' armour_of_aether_on=\
  /reporttimeleft Armour of aether %;
/def -F -p5 -mregexp -t'^Your crystal clear shield fades out.$' armour_of_aether_off=\
  party report \{Armour of Aether Expired.\}

;; Aura of Wind
/def -F -p4 -mregexp -t'^You see (a|an extra) swirling foggy white shield fade into existance around you.$' aura_of_wind_on=\
  /reporttimeleft Aura of wind %;
/def -F -p5 -mregexp -t'^Your swirling foggy white shield fades out.$' aura_of_wind_off=\
  party report \{Aura of Wind Expired.\}

;; Aura of Hate
/def -F -p20 -mregexp -t'^You feel your anger and hate of the world recede.$' aura_of_hate_off=\
  party report \{Aura of Hate Expired.\} %;
/def -F -p1 -mregexp -t'^You feel burning hatred and rage erupt within you!$' aura_of_hate_on=\
  /reporttimeleft Aura of hate %;

;; Beacon of Enlightenment
/def -F -p4 -mregexp -t'^You feel lost as all beacons of enlightenment around you die out.$' beacon_of_enlightenment_off
/def -F -p4 -mregexp -t'^Everything seems clearer under the inspiration of your own magic.$' beacon_of_enlightenment_on=\
  /reporttimeleft Beacon of enlightenment %;

;; Blessing of tarmalen
/def -F -p4 -mregexp -t' like you could carry the whole flat world on your back!$' blessing_of_tarmalen_on=\
  /reporttimeleft Blessing of tarmalen %;
/def -F -p5 -mregexp -t'^You feel weaker.$' blessing_of_tarmalen_off=\
  party report \{Blessing of Tarmalen Expired.\} %;

;; Blurred Image
/def -F -p5 -mregexp -t'\'ziiiuuuuns wiz\'' blurred_image_cast=\
  /edit -c100 blurred_image_on %;\
  /repeat -1 1 /edit -c0 blurred_image_on %;
/def -F -p5 -c0 -mregexp -t'^You feel a powerful aura.$' blurred_image_on=\
  /reporttimeleft Blurred image %;
/def -F -p5 -mregexp -t'^You feel less invisible.' blurred_image_off=\
  party report \{Blurred Image Expired.\} %;

;; Clandestine Thoughts
/def -F -p5 -mregexp -t'^\[clandestine thought\]: activated. Snooping activities will be terminated and reported.$' clandestine_thoughts_on=\
  /reporttimeleft Clandestine thoughts %;
/def -F -p5 -mregexp -t'^\[clandestine thought\]: scanning ended. Shielding from snoopers no longer active.$'  clandestine_thoughts_off=\
  party report \{Clandestine Thoughts Expired.\} %;

;; Cold Tolerance
/def -F -p5 -mregexp -t'^You begin to concentrate on cold tolerance.$' cold_tolerance_on=\
  /reporttimeleft Cold tolerance %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from cold.$' cold_tolerance_off=\
  party report \{Cold Tolerance Expired\} %;

;; Corrosion Shield
/def -F -p5 -mregexp -t'\'sulphiraidzik hydrochloodriz gidz zuf\'' corrosion_shield_cast=\
  /edit -c100 corrosion_shield_on%;\
  /repeat -1 1 /edit -c0 corrosion_shield_on
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' corrosion_shield_on =\
  /reporttimeleft Corrosion shield %;
/def -F -p5 -mregexp -t'^A disgusting yellow flash momentarily surrounds you and then vanishes.$' corrosion_shield_off=\
  party report \{Corrosion Shield Expired.\} %;

;; Cryptozoological Protection
/def -F -p5 -mregexp -t'^You feel protected from mythical creatures.$' cryptozoological_protection_on=\
  /reporttimeleft Cryptozoological protection %;
/def -F -p5 -mregexp -t'^The cryptozoological protection fades away.$' cryptozoological_protection_off=\
  party report \{Cryptozoological Protection Expired\} %;

;; Darkness
/def -F -p5 -mregexp -t'\'na ful\'' darkness_cast=\
  /edit -c100 darkness_on %;\
  /repeat -1 1 /edit -c0 darkness_on %;
/def -F -c0 -p5 -mregexp -t'^You summon a circle of darkness that absorbs light.$' darkness_on=\
  /reporttimeleft Darkness %;
/def -F -p5 -mregexp -t'^Your darkness spell dissolves.$' darkness_off=\
  party report \{Darkness Expired\} %;

;; Degenerate Person
/def -F -p5 -mregexp -t'^You suddenly feel feeble and old.$' degenerate_person_on=\
  /reporttimeleft Degenerate person %;
    
;; Displacement
/def -F -p5 -mregexp -t'\'diiiiuuunz aaanziz\'' displacement_cast=\
  /edit -c100 displacement_on %;\
  /repeat -1 1 /edit -c0 displacement_on %;
/def -F -p5 -c0 -mregexp -t'^You feel a powerful aura.$' displacement_on=\
  /reporttimeleft Displacement %;
/def -F -p5 -mregexp -t'^You feel much less invisible.' displacement_off=\
  party report \{Displacement Expired.\} %;

;; Earth Blood
/def -F -p5 -mregexp -t'^An icy chill runs through your veins.$' earth_blood_on=\
  /reporttimeleft Earth blood %;
/def -F -p5 -mregexp -t'^The runic sigla \'!\( \*\)\' fade away.. leaving you feeling strange.' earth_blood_off=\
  party report \{Earth blood Expired.\} %;

;; Earth Power
/def -F -p5 -mregexp -t'^You feel your strength changing. You flex you muscles experimentally.$' earth_power_on=\
  /reporttimeleft Earth power %;
/def -F -p5 -mregexp -t'^The runic sigla \'% !^\' fade away.. leaving you feeling strange.' earth_power_off=\
  party report \{Earth Power Expired.\} %;

;; Earth Skin
/def -F -p5 -mregexp -t'^You feel your skin harden.$' earth_skin_on=\
  /set prot_earth_skin=$[{prot_earth_skin}+1] %;\
  /reporttimeleft Earth skin %;\
  party report \{Earth skin \[%{prot_earth_skin}\].\} %;
/def -F -p4 -mregexp -t'^Your skin feels softer.$' earth_skin_off=\
  /if ({prot_earth_skin}>1)\
    /set prot_earth_skin=$[{prot_earth_skin}-1]%;\
  /else \
    /set prot_earth_skin=0 %;\
    party report \{Earth Skin Expired.\}%;\
  /endif %;

;; Energy Channeling
/def -F -p5 -mregexp -t'\'kablaaaammmmm bliitz zundfer\'' energy_channeling_cast=\
  /edit -c100 energy_channeling_on%;\
  /repeat -1 1 /edit -c0 energy_channeling_on
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' energy_channeling_on=\
  /reporttimeleft Energy channeling %;
/def -F -p5 -mregexp -t'^A crackling blue flash momentarily surrounds you and then vanishes.$' energy_channeling_off=\
  party report \{Energy Channeling Expired\}%;

;; Enhance Vision
/def -F -p5 -mregexp -t'^You have enhanced vision.$' enhance_vision_on=\
  /reporttimeleft Enhance vision %;
/def -F -p5 -mregexp -t'^You lose part of your sight.$' enhance_vision_off=\
  party report \{Enhance Vision Expired.\}

;; Enhanced Awareness
/def -F -p5 -mregexp -t'^You feel more aware of your surroundings.$' enhanced_awareness_on=\
  /reporttimeleft Enhanced awareness %;
/def -F -p5 -mregexp -t'^You feel your enhanced awareness subside.$' enhanced_awareness_off=\
  party report \{Enhanced Awareness Expired.\}

;; Enrage
/def -F -p1 -mregexp -t'^Holy CRAP! OH what a RUSH!$' enrage_on1= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^Your blood is boiling of rage!$' enrage_on2= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel TOTALLY ENRAGED and ready to KICK ASS!$' enrage_on3= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You are maddened with rage!$' enrage_on4= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You tremble uncontrollably and feel completely ENRAGED!$' enrage_on5= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You are ENRAGED! Your body ACHES for action!$' enrage_on6= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel the adrenaline BURST into your veins!$' enrage_on7= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel mildly enraged.$' enrage_on8= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^YOU FEEL AS IF YOU WERE GROO HIMSELF!$' enrage_on9= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You feel your barbarian rage stir up.$' enrage_on10= /reporttimeleft Enrage %;
/def -F -p1 -mregexp -t'^You no longer feel enraged.$' enrage_off= party report \{Enrage Expired.\}%;

;; Ether Boundary
/def -F -p5 -mregexp -t'\'qor monoliftus\'' ether_boundary_cast=\
  /edit -c100 ether_boundary_on%;\
  /repeat -1 1 /edit -c0 ether_boundary_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' ether_boundary_on=\
  /reporttimeleft Ether boundary %;
/def -F -p5 -mregexp -t'^A dull black flash momentarily surrounds you and then vanishes.$' ether_boundary_off=\
  party report \{Ether Boundary Expired.\}%;

;; Fire Walking
/def -F -p5 -mregexp -t'^You begin to concentrate on fire walking.$' fire_walking_on=\
  /reporttimeleft Fire walking %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from fire.$' fire_walking_off=\
  party report \{Fire Walking Expired.\}%;

;; Flex Shield
/def -F -p4 -mregexp -t'^You sense a flex shield covering your body like a second skin.$' flex_shield_on=\
  /reporttimeleft Flex shield %;
/def -F -p4 -mregexp -t'^Your flex shield wobbles, PINGs and vanishes.$' flex_shield_off=\
  party report \{Flex Shield Expired.\}
/def -F -p100 -mregexp -t'^You die.$' flex_shield_off3=\
  party report \{Flex Shield Expired.\}%;

;; Force absorption
/def -F -p10000 -mregexp -t'\'ztonez des deckers\'' force_absorption_cast=\
  /edit -c100 force_absorption_on%;\
  /repeat -1 1 /edit -c0 force_absorption_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' force_absorption_on=\
  /reporttimeleft Force absorption %;
/def -F -p5 -mregexp -t'^A skin brown flash momentarily surrounds you and then vanishes.$' force_absorption_off=\
  party report \{Force Absorption Expired.\} %;

;; Force shield
/def -F -p5 -mregexp -t'^You form a psionic shield of force around your body.$' force_shield_on2=\
  /force_shield_on %;
/def -F -p5 -mregexp -t' forms a shield of force around you.' force_shield_on=\
  /reporttimeleft Force shield %;
/def -F -p5 -mregexp -t'^Your armour feels thinner.$' force_shield_off=\
  party report \{Force Shield Expired.\} %;

;; Forget
/def -F -p5 -mregexp -t'^You feel rather empty-headed.$' forget_on=\
  /reporttimeleft Forget %;
/def -F -p5 -mregexp -t'^A fog lifts from your mind. You can remember things clearly now.$' forget_off=\
  party report \{Forget Expired.\} %;

;; Flame Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) crackling red-orange shield fade into existance around you.$' flame_shield_on=\
  /reporttimeleft Flame shield %;
/def -F -p5 -mregexp -t'^Your crackling red-orange shield fades out.$' flame_shield_off=\
  party report \{Flame Shield Expired.\} %;

;; Floating
/def -F -p4 -mregexp -t'^You feel light, and rise into the air.$' floating_on=\
  /reporttimeleft Floating %;
/def -F -p4 -mregexp -t'^You slowly descend until your feet are on the ground.$' floating_off=\
  party report \{Floating Expired.\}%;

;; Frost insulation
/def -F -p5 -mregexp -t'\'skaki barictos yetz fiil\'' frost_insulation_cast=\
  /edit -c100 frost_insulation_on%;\
  /repeat -1 1 /edit -c0 frost_insulation_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' frost_insulation_on=\
  /reporttimeleft Frost insulation %;
/def -F -p5 -mregexp -t'^A cold white flash momentarily surrounds you and then vanishes.$' frost_insulation_off=\
  party report \{Frost Insulation Expired.\}%;\
  /edit -c0 frost_insulation_on %;

;; Frost Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) frosty blue-white shield fade into existance around you.$' frost_shield_on=\
  /reporttimeleft Frost shield %;
/def -F -p5 -mregexp -t'^Your frosty blue-white shield fades out.$' frost_shield_off=\
  party report \{Frost Shield Expired.\} %;

;; Greater Darkness
/def -F -p5 -mregexp -t'\'vas na ful\'' greater_darkness_cast=\
  /edit -c100 greater_darkness_on %;\
  /repeat -1 1 /edit -c0 greater_darkness_on %;
/def -F -p5 -c0 -mregexp -t'^You summon a circle of darkness that absorbs light.$' greater_darkness_on=\
  /reporttimeleft Greater darkness %;
/def -F -p5 -mregexp -t'^Your greater darkness spell dissolves.$' greater_darkness_off=\
  party report \{Greater Darkness Expired\} %;

;; Greater Light
/def -F -p5 -mregexp -t'\'vas ful\'' greater_light_cast=\
  /edit -c100 greater_light_on %;\
  /repeat -1 1 /edit -c0 greater_light_on %;
/def -F -p5 -c0 -mregexp -t'^A small ball of light starts following you.$' greater_light_on=\
  /reporttimeleft Greater light %;
/def -F -p5 -mregexp -t'^Your greater light spell flickers briefly and disappears.$' greater_light_off=\
  party report \{Greater Light Expired\} %;

;; Haste
/def -F -p4 -mregexp -t'^The world seems to speed up.$' haste_on=\
  /reporttimeleft Haste %;
/def -F -p4 -mregexp -t'^The world seems to slow down.$' haste_off=\
  party report \{Haste Expired.\}%;

;; Hallucination
/def -F -p4 -mregexp -t'The world around you changes.$' hallucination_on=\
  /reporttimeleft Hallucination %;
/def -F -p4 -mregexp -t'^Your mind clears.$' hallucination_off=\
  party report \{Hallucination Expired.\}%;

;; Heat reduction
/def -F -p5 -mregexp -t'\'hot hot not zeis daimons\'' heat_reduction_cast=\
  /edit -c100 heat_reduction_on%;\
  /repeat -1 1 /edit -c0 heat_reduction_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' heat_reduction_on =\
  /reporttimeleft Heat reduction %;
/def -F -p5 -mregexp -t'^A burning red flash momentarily surrounds you and then vanishes.$' heat_reduction_off=\
  party report \{Heat Reduction Expired.\}%;

;;Heavenly Protection
/def -F -p5 -mregexp -t'dazzling white particles dancing enchantedly around your body.$' heavenly_protection_on=\
  /reporttimeleft Heavenly protection %;
/def -F -p5 -mregexp -t'^Holy particles slow down, rapidly fading away.$' heavenly_protection_off=\
  party report \{Heavenly Protection Expired.\}

;; Heavy weight
/def -F -p5 -mregexp -t'^You suddenly feel magically heavier.$' heavy_weight_on=\
  /reporttimeleft Heavy weight %;
/def -F -p5 -mregexp -t'^You feel lighter, but it doesn\'t seem to affect your weight!$' heavy_weight_off=\
  party report \{Heavy Weight Expired.\}%;

;; Holding pattern
/def -F -p5 -mregexp -t'^You enter a trance, ready to unleash your powers.$' holding_pattern_on=\
  /reporttimeleft Holding pattern %;
/def -F -p5 -mregexp -t'^You can\'t concentrate anymore, the trance ends.$' holding_pattern_off=\
  party report \{Holding Pattern Expired.\}%;

;; Infravision
/def -F -p5 -mregexp -t'^You have infravision.$' infravision_on=\
  /reporttimeleft Infravision %;
/def -F -p5 -mregexp -t'^Everything no longer seems so red.$' infravision_off=\
  party report \{Infravision Expired.\} %;

;; Invisibility
/def -F -p5 -mregexp -t'^You suddenly can\'t see yourself.$' invisibility_on=\
  /reporttimeleft Invisibility %;
/def -F -p5 -mregexp -t'^You turn visible.$' invisibility_off=\
  party report \{Visible again\}%;

;; Iron Will
/def -F -p5 -mregexp -t'^You feel protected from being stunned.$' iron_will_on=\
  /reporttimeleft Iron will %;
/def -F -p5 -mregexp -t'^You feel no longer protected from being stunned.$' iron_will_off=\
  party report \{Iron Will Expired.\} %;

;; Kinemortological protection
/def -F -p5 -mregexp -t'^You feel protected from undeads.$' kinemortological_protection_on=\
  /reporttimeleft Kinemortological protection %;
/def -F -p5 -mregexp -t'^The kinemortological protection fades away.$' kinemortological_protection_off=\
  party report \{Kinemortological Protection Expired.\} %;

;; Levitation
/def -F -p5 -mregexp -t'^You slowly rise from the ground and start levitating.$' levitation_on=\
  /reporttimeleft Levitation %;
/def -F -p5 -mregexp -t'^You decide that you have levitated enough and slowly descend to the ground.$' levitation_off=\
  party report \{Levitation Expired.\} %;

;; Light
/def -F -p5 -mregexp -t'\'ful\'' light_cast=\
  /edit -c100 light_on %;\
  /repeat -1 1 /edit -c0 light_on %;
/def -F -p5 -c0 -mregexp -t'^A small ball of light starts following you.$' light_on=\
  /reporttimeleft Light %;
/def -F -p5 -mregexp -t'^Your light spell flickers briefly and disappears.$' light_off=\
  party report \{Light Expired\} %;

;; Lightning Shield
/def -F -p4 -mregexp -t'^You see (a|an extra) neon purple shield fade into existance around you.$' lightning_shield_on=\
  /reporttimeleft Lightning shield %;
/def -F -p5 -mregexp -t'^Your neon purple shield fades out.$' lightning_shield_off=\
  party report \{Lightning Shield Expired.\}

;; Life link
/def -F -p5 -mregexp -t'^You feel somehow linked to ([A-Z][a-z]*)!$' life_link_on=\
  /set life_link=$[tolower({P1})] %;\
  /reporttimeleft Life link %;\
  party report \{Linked with %{life_link}\} %;
/def -F -p5 -mregexp -t'^You succeed. You create a link to ([A-Z][a-z]+).$' life_link_on2=\
  /reporttimeleft Life link %;\
  party report \{Linked with %{life_link}\}%;
/def -F -p5 -mregexp -t'^You hear a loud snap like sound!$' life_link_off=\
  party report \{My Link with %{life_link} snapped!\}%;

;; Lift of Load
/def -F -p5 -mregexp -t'^You feel odd. Not stronger, but...$' lift_of_load_on=\
  /reporttimeleft Lift of load %;
/def -F -p5 -mregexp -t'^You feel odd. Not weaker, but...$' lift_of_load_off=\
  party report \{Lift of Load Expired.\} %;

;; Magic Dispersion
/def -F -p5 -mregexp -t'\'meke tul magic\'' magic_dispersion_cast=\
  /edit -c100 magic_dispersion_on%;\
  /repeat -1 1 /edit -c0 magic_dispersion_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' magic_dispersion_on=\
  /reporttimeleft Magic dispersion %;
/def -F -p5 -mregexp -t'^A golden flash momentarily surrounds you and then vanishes.$' magic_dispersion_off=\
  party report \{Magick Dispersion Expired.\}%;

;; Mana barrier
/def -F -p5 -mregexp -t'^A glimmering white barrier surrounds you!$' mana_barrier_on=\
  /reporttimeleft Mana barrier %;
/def -F -p5 -mregexp -t'^The white barrier surrounding you sparkles and bursts into thousands of tiny stars!$' mana_barrier_off=\
  party report \{Mana Barrier Expired.\}%;

;; Mana Shield
/def -F -p5 -mregexp -t'^You feel your magical power expanding.$' mana_shield_on=\
  /reporttimeleft Mana shield %;
/def -F -p5 -mregexp -t'^Your life force seems weaker.$' mana_shield_off=\
  party report \{Mana Shield Expired.\}

;;Melodical Embracement
/def -p1 -mregexp -t' wraps you into an embracing melody' melodical_embracement_on=\
  /reporttimeleft Melodical embracement %;
/def -p4 -mregexp -t'The embracing melody subsides, leaving you longing for more.' melodical_embracement_off=\
  party report \{Melodical Embracement Expired.\}%;

;; Mesmeric Threshold
/def -F -p5 -mregexp -t'^You feel too mesmerized to know pain as a supernatural trance takes over you.$' mesmeric_threshold_on=\
  /reporttimeleft Mesmeric threshold %;
/def -F -p5 -mregexp -t'^The dreamlike feeling improving your concentration subsides.$' mesmeric_threshold_off=\
  party report \{Mesmeric Threshold Expired.\} %;

;; Mind development
/def -F -p5 -mregexp -t'^You feel your mind developing.$' mind_development_on=\
  /reporttimeleft Mind development %;
/def -F -p5 -mregexp -t'^Your brain suddenly seems smaller..$' mind_development_off=\
  party report \{Mind development Expired.\}%;

;; Mind Store
/def -F -p5 -mregexp -t'^You study your surroundings carefully, ' mind_store_on=\
  /reporttimeleft Mind store %;
/def -F -p5 -mregexp -t'^The location \'([A-z0-9 ]+)\' wanes from your memory' mind_store_off=\
  party report \{Mind Store Expired.\} %;

;; Minor protection
/def -F -p5 -mregexp -t'^You feel slightly protected.$' minor_protection_on=\
  /reporttimeleft Minor protection %;
/def -F -p5 -mregexp -t'^The minor protection fades away.$' minor_protection_off=\
  party report \{Minor Protection Expired.\} %;

;; Mirror Image  (assumes "many" is 13)
/def -F -p5 -mregexp -t'^(Many|[0-9]+) images of ([A-z ]+) suddenly appear.$' mirrorsup1=\
  /if ({P1}=~"Many")\
    /let mirrors=13 %;\
  /else \
    /let mirrors=${P1} %;\
  /endif %;\
  /let mirtarget=$[replace(" ","_",{P2})]%;\
  /set %{mirtarget}_images=%{mirrors} %;\

/def -p100 -F -mregexp -t'^An image of ([A-z ]+) vanishes.$' mirrordown=\
  /let mirtarget=$[replace(" ","_",{P1})]%;\
  /let mirrors=%{mirtarget}_images %;\
  /test mirrors:=%mirrors %;\
  /if ({mirrors}>1) \
    /set %{mirtarget}_images=$[{mirrors}-1] %;\
  /else \
    /if ({mirrors}==1)\
      /unset %{mirtarget}_images %;\
    /else \
      /set %{mirtarget}_images=12 %;\
    /endif %;\
  /endif %;\

/def -p1 -F -mregexp -t'^An image of ([A-z ]+) vanishes.$' mirrordown2 =\
  /let mirtarget=$[replace(" ","_",{P1})]%;\
  /let mirrors=%{mirtarget}_images %;\
  /test mirrors:=%mirrors %;\
  /if ({mirrors}>0)\
    /set str=%*%;/substitute -p %{str} (@{Cyellow}%{mirrors} left@{n}) %;\
  /else \
    /set str=%*%;/substitute -p %{str} (@{Cyellow}None left!@{n}) %;\
  /endif %;

/def -F -p5 -mregexp -t'^All images of ([A-z ]+) vanish!$' allmirrorsdown=\
  /let mirtarget=$[replace(" ","_",{P1})]%;\
  /unset %{mirtarget}_images %;\

;; Pain Threshold
/def -F -p5 -mregexp -t'^You begin to concentrate on pain threshold.$' pain_threshold_on=\
  /reporttimeleft Pain threshold %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from physical damage.$' pain_threshold_off=\
  party report \{Pain Threshold Expired.\} %;

;; Protection by sacrifice
/def -F -p4 -mregexp -t'^You kneel in front of ([A-Z][a-z]+) and whisper ' protection_by_sacrifice_on=\
  /reporttimeleft Protection by sacrifice %;\
  party report \{Protecting %{P1}.\} %;
/def -F -p4 -mregexp -t'^You no longer protect ([A-Z][a-z]+)$' protection_by_sacrifice_off=\
  party report \{I no longer protect %{P1}.\} %;
/def -F -p4 -mregexp -t'^([A-Z][a-z]+) kneels before you and whispers ' protection_by_sacrifice_on2=\
  /reporttimeleft Protection by sacrifice %;\
  party report \{Protected by %{P1}.\} %;
/def -F -p4 -mregexp -t'^([A-Z][a-z]+) no longer protects you.$' protection_by_sacrifice_off2=\
  party report \{Protection by Sacrifice Expired.\} %;

;; Protection from aging

;; Protection from evil
/def -F -p5 -mregexp -t'^You no longer have a white aura around you.$' protection_from_evil_off=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p6 -mregexp -t'^You feel more vulnerable to evil$' protection_from_evil_off2=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p4 -mregexp -t'^You suddenly feel more vulnerable to evil.$' protection_from_exil_off3=\
  party report \{Protection from Evil Expired.\} %;
/def -F -p5 -mregexp -t'sanctus Exzordus' protection_from_evil_cast=\
  /edit -c100 protection_from_evil_on%;\
  /repeat -1 2 /edit -c0 protection_from_evil_on %;
/def -F -p5 -c0 -mregexp -t'with sheer power as you are' protection_from_evil_on=\
  /reporttimeleft Protection from evil %;

;; Protection from good
/def -p1 -mregexp -t'A vile black aura surrounds you.' protection_from_good_on=\
  /reporttimeleft Protection from good %;
/def -p1 -mregexp -t'You no longer have a vile black aura around you.' protection_from_good_off=\
  party report \{Protection From Good Expired.\} %;

;; Psionic Phalanx
/def -F -p4 -mregexp -t'^You see (a|an extra) misty pale blue shield fade into existance around you.$' psionic_phalanx_on=\
  /reporttimeleft Psionic phalanx %;
/def -F -p5 -mregexp -t'^Your misty pale blue shield fades out.$' psionic_phalanx_off=\
  party report \{Psionic Phalanx Expired.\} %;

;; Psionic Shield
/def -F -p4 -mregexp -t'^Psionic waves surge through your body and mind!$' psionic_shield_on=\
  /reporttimeleft Psionic shield %;
/def -F -p5 -mregexp -t'^The psionic shield vanishes.$' psionic_shield_off=\
  party report \{Psionic Shield Expired.\} %;

;; Psychic Santuary
/def -F -p5 -mregexp -t'\'toughen da mind reeez un biis\'' psychc_sanctuary_cast=\
  /edit -c100 psychic_sanctuary_on %;\
  /repeat -1 1 /edit -c0 psychic_sanctuary_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' psychic_sanctuary_on=\
  /reporttimeleft Psychic sanctuary %;
/def -F -p5 -mregexp -t'^A transparent flash momentarily surrounds you and then vanishes.$' psychic_sanctuary_off=\
  party report \{Psychic Santuary Expired.\} %;

;; Psychic Shackles
/def -F -p4 -mregexp -t'^Your cognitive senses feel shackled.$' psychic_shackles_on=\
  /reporttimeleft Psychic shackles %;
/def -F -p5 -mregexp -t'^You dismantle the psychic shackles restraining your mind.$' psychic_shackles_off=\
  party report \{Psychic Shackles Expired.\} %;

;; Quicksilver
/def -F -p5 -mregexp -t'^You feel more agile.$' quicksilver_on=\
  /reporttimeleft Quicksilver %;
/def -F -p5 -mregexp -t'^You feel less agile.$' quicksilver_off=\
  party report \{Quicksilver Expired.\}%;

;; Racial Protection
/def -F -p5 -mregexp -t'^You feel protected from ([a-z]+).$' racial_protection_on=\
  /reporttimeleft Racial protection %;\
  party report \{Protected from %{P1}.\} %;
/def -F -p5 -mregexp -t'^The racial protection fades away.$' racial_protection_off=\
  party report \{Racial Protection Expired.\} %;

;; Regeneration
/def -F -p5 -mregexp -t'^You feel your metabolism speed up.$' regeneration_on=\
  /reporttimeleft Regeneration %;
/def -F -p5 -mregexp -t'^You no longer have a active regeneration spell on you.$' regeneration_off=\
  party report \{Regeneration Expired.\} %;

;; Repulsor Aura
/def -F -p4 -mregexp -t'^You see (a|an extra) flickering golden shield fade into existance around you.$' repulsor_aura_on=\
  /reporttimeleft Repulsor aura %;
/def -F -p5 -t"Your flickering golden shield fades out." repulsor_aura_off=\
  party report \{Repulsor Aura Expired.\} %;

;; Resist Disintegrate
/def -F -p5 -mregexp -t'^You feel very firm.$' resist_disintegrate_on=\
  /reporttimeleft Resist disintegrate %;
/def -F -p5 -mregexp -t'^You feel somewhat weaker.$' resist_disintegrate_off=\
  party report \{Resist Disintegrate Expired.\} %;

;; Resist Entropy
/def -F -p5 -mregexp -t'^You feel your life force expanding.$' resist_entropy_on=\
  /reporttimeleft Resist entropy %;
/def -F -p5 -mregexp -t'^You feel your hair is getting grayer.$' resist_entropy_off=\
  party report \{Resist Entropy Expired.\} %;

;; Resist Gaseous Form
/def -F -p5 -mregexp -t'^You feel very$' resist_gaseousform_on=\
  /reporttimeleft Resist gaseous form %;
/def -F -p5 -mregexp -t'^You feel some$' resist_gaseousform_off=\
  party report \{Resist Gaseous Form Expired.\} %;

;; See invisible
/def -F -p5 -mregexp -t'^You feel you can see more than ever.$' see_invisible_on=\
  /reporttimeleft See invisible %;
/def -F -p5 -mregexp -t'^Your vision is less sensitive now.$' see_invisible_off=\
  party report \{See Invisible Expired.\} %;

;; See magic
/def -F -p5 -mregexp -t'^You can now see magical things.$' see_magic_on=\
  /reporttimeleft See magic %;
/def -F -p5 -mregexp -t'^You are no longer sensitive to magical things.$' see_magic_off=\
  party report \{See Magic Expired.\} %;

;; Shield of Detoxification
/def -F -p4 -mregexp -t'^You see (a|an extra) slimy olive green shield fade into existance around you.' shield_of_detoxification_on=\
  /reporttimeleft Shield of detoxification %;
/def -F -p5 -mregexp -t'^Your slimy olive green shield fades out.$' shield_of_detoxification_off=\
  party report \{Shield of Detoxification Expired.\}

;;Shield of Faith
/def -F -p5 -mregexp -t'^You are surrounded by divine glow!$' shield_of_faith_on=\
  /reporttimeleft Shield of faith %;
/def -F -p5 -mregexp -t'^Your glow disappears.$' shield_of_faith_off=\
  party report \{Shield of Faith Expired.\} %;

;; Shield of Protection
/def -F -p5 -mregexp -t'^You feel a slight tingle.$' shield_of_protection_on=\
  /reporttimeleft Shield of protection %;
/def -F -p5 -mregexp -t'^You feel more vulnerable now.$' shield_of_protection_off=\
  party report \{Shield of Protection Expired.\} %;

;; Soul hold
/def -F -p5 -mregexp -t' spell tingles you all around...' soul_hold_on=\
  /reporttimeleft Soul hold %;

;; Soul Shield
/def -F -p5 -mregexp -t'hand over you and blesses your soul in the name of Las.$' soul_shield_on=\
  /reporttimeleft Soul shield %;
/def -F -p5 -mregexp -t'^Your soul feels suddenly more vulnerable.$' soul_shield_off=\
  party report \{Soul Shield Expired.\} %;

;; Spell Empathy
/def -F -p4 -mregexp -t'^Finally you find what you were looking for, the feeling' spell_empathy_on=\
  /reporttimeleft Spell empathy %;
/def -F -p4 -mregexp -t'^The empathic feeling, which allowed you to cast' spell_empathy_off=\
  party report \{Spell Empathy Expired.\} %;

;; Spider Touch
/def -F -p4 -mregexp -t'^Suddenly you don\'t feel too good. Your blood feels like it is on fire.$' spider_touch_on=\
  /reporttimeleft Spider touch %;
/def -F -p4 -mregexp -t'^Your blood does not burn anymore.$' spider_touch_off=\
  party report \{Spider Touch Expired.\} %;

;; Spider Walk
/def -F -p5 -mregexp -t'^For some reason you want to run on the walls for a little while.$' spider_walk_on=\
  /reporttimeleft Spider walk %;
/def -F -p5 -mregexp -t'^The walls don\'t look so inviting anymore.$' spider_walk_off=\
  party report \{Spider Walk Expired.\}%;

;; Stat curses
/def -F -p5 -mregexp -t'^You shiver and feel strange.$' stat_curse_off=\
  party report \{Stat Curse Expired.\} %;

;; Suppress magic
/def -F -p5 -mregexp -t'^Your feel excruciating pain in your head.$' suppress_magic_on=\
  /reporttimeleft Suppress magic %;
/def -F -p5 -mregexp -t'^You feel relieved.$' suppress_magic_off=\
  party report \{Suppress Magic Expired.\} %;

;;Transmute Self
/def -F -p5 -mregexp -t'^There is a puff of logic!$' transmute_self_on=\
  /reporttimeleft Transmute self %;
/def -F -p5 -mregexp -t'^You feel like the illusion around you lifted.$' transmute_self_off=\
  party report \{Transmute Self Expired.\} %;

;; Toxic Dilution
/def -F -p5 -mregexp -t'\'morri nam pantoloosa\'' toxic_dilution_cast=\
/edit -c100 toxic_dilution_on%;\
/repeat -1 1 /edit -c0 toxic_dilution_on %;
/def -F -p5 -c0 -mregexp -t'^You sense (a|an extra) powerful protective aura around you.$' toxic_dilution_on=\
  /reporttimeleft Toxic dilution %;
/def -F -p5 -mregexp -t'^A green flash momentarily surrounds you and then vanishes.$' toxic_dilution_off=\
  party report \{Toxic Dilution Expired.\} %;

;; Toxic Immunity
/def -F -p5 -mregexp -t'^You begin to concentrate on toxic immunity.$' toxic_immunity_on=\
  /reporttimeleft Toxic immunity %;
/def -F -p5 -mregexp -t'^Your concentration breaks and you feel less protected from poison.$' toxic_immunity_off=\
  party report \{Toxic Immunity Expired.\} %;

;; Unpain
/def -F -p4 -mregexp -t'^You feel your will getting stronger.$' unpain_on=\
  /reporttimeleft Unpain %;
/def -F -p4 -mregexp -t'^You feel your will returning normal.$' unpain_off=\
  party report \{Unpain Expired.\} %;

;; Unstable Mutation
/def -F -p4 -mregexp -t'^Your mind and body expand! You almost go unconscious from the shock.$' unstable_mutation_on=\
  /reporttimeleft Unstable mutation %;
/def -F -p4 -mregexp -t'^The unstable mutation is gone.$' unstable_mutation_off=\
  party report \{Unstable Mutation Expired.\} %;

;; Unstun
/def -F -p4 -mregexp -t'\'s chanting appears to do absolutely nothing.$' unstun_on=\
  /reporttimeleft Unstun %;
/def -F -p4 -mregexp -t'^It doesn\'t hurt as much as it normally does!$' unstun_off=\
  party report \{Unstun Expired.\} %;
/def -F -p4 -mregexp -t'^Nosunrise is aided by the higher powers and resists the stun!$' unstun_off2=\
  party report \{Unstun Expired.\} %;
/def -F -p4 -mregexp -t'^It doesn\'t hurt at all!$' unstun_off3=\
  party report \{Unstun Expired.\} %;

;; Vine Mantle
/def -F -p4 -mregexp -t'^Vines entangle your body.$' vine_mantle_on=\
  /reporttimeleft Vine mantle %;
/def -F -p4 -mregexp -t'^The vines crumble to dust.$' vine_mantle_off=\
  party report \{Vine Mantle Expired.\} %;

;; War Ensemble
/def -p4 -mregexp -t'^You feel full of battle rage' war_ensemble_on=\
  /reporttimeleft War ensemble %;
/def -p4 -mregexp -t'^The effect of war ensemble wears off.$' war_ensemble_off=\
  party report \{War Ensemble Expired.\} %;

;; Water walking
/def -F -p5 -mregexp -t'^You feel light.$' water_walking_on=\
  /reporttimeleft Water walking %;
/def -F -p5 -mregexp -t'^You feel heavier.$' water_walking_off=\
  party report \{Water Walking Expired.\} %;

;; Zoological protection
/def -F -p5 -mregexp -t'^You feel protected from animals.$' zoological_protection_on=\
  /reporttimeleft Zoological protection %;
/def -F -p5 -mregexp -t'^The zoological protection fades away.$' zoological_protection_off=\
  party report \{Zoological Protection Expired.\} %;
Nosunrise
W i z a r d
8y, 135d, 1h, 21m, 13s old
Level:
50 [Wizard]