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.\} %;