WoTMUD Archives

A player-run forum for the Wheel of Time MUD
It is currently Sun Apr 05, 2020 6:05 pm

All times are UTC - 5 hours [ DST ]




Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 31 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
 Post subject: Re: House of Medakan
PostPosted: Mon Nov 09, 2015 5:20 pm 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
MOVED
see new location here: Table of Contents

-----Alt Tracker-----

Alt Tracker stores names grouped by main characters, all alts entered are associated with one main character.
You can use the commands below to see a list of all character names you have stored.
Anytime you Type whois <name> and you have that name saved it will automatically show you either associated main character or all of their alts.

Thanks to Mangler for the idea.

Type helpAltTracker to see help file

Type altAdd <mainName> <altName> to add an alt name to character name file.
--Example: Type altAdd Austin Kirtha to add Kirtha to Austin's alt file.

Type altNames for a list of all current characters and alts on file.

Type whois <name> as normal, if that character has an alt you know it will display it.

Type altRemove <name> to remove a character name from the file.

Code:
#CLASS {AltTracker}
#ALIAS helpAltTracker {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----Alt Tracker Commands-----"}
   #SHOW {""}
   #SHOW {"Type altAdd <mainName> <altName> to add an alt name to character name file."}
   #SHOW {"--Example: Type altAdd Austin Kirtha to add Kirtha to Austin's alt file."}
   #SHOW {""}
   #SHOW {"Type altNames for a list of all current characters and alts on file."}
   #SHOW {""}
   #SHOW {"Type whois <name> as normal, if that character has an alt you know it will display it."}
   #SHOW {""}
   #SHOW {"Type altRemove <name> to remove a character name from the file."}
   #SHOW {""}
   }
#ALIAS altAdd {
   #IF (%ismember(%proper(%1),@altCharName)) {#SHOW {""}} {
         #ADDITEM altCharName %proper(%1)
         #VAR %concat("alt",%proper(%1)) {} {_nodef} "AltTracker|AltFiles"
         #SHOW {""}
         #ECHO {%proper(%1) was added to the main character file.}
         }
   #IF (%ismember(%proper(%2),@altCharAlt)) {
      #ECHO {%proper(%2) is already a listed alt of a main character.}
      } {#IF (%len(%2) > 1) {#ADDITEM altCharAlt %proper(%2)}
         #IF (%len(%2) > 1) {#ADDITEM %concat("alt",%proper(%1)) %proper(%2)}
         #IF (%len(%2) > 1) {#ECHO {%proper(%2) is now an alt of %proper(%1).}}
         }
   }
#ALIAS altNames {
   #SHOW {""}
   #SHOW {""}
   #FORALL @altCharName {
      #VAR altNameLoop {%concat(~@,alt,%i)}
      #SHOW {%i "--->" @altNameLoop}
      }
   }
#ALIAS altRemove {
   #SHOW {""}
   #IF (%ismember(%proper(%1),@altCharName)) {
      #DELITEM altCharName %proper(%1)
      #UNVAR %concat("alt",%proper(%1)) "AltTracker|AltFiles"
      #ECHO {%proper(%1) was removed from the main character file.}
      }
   #IF (%ismember(%proper(%1),@altCharAlt)) {
      #DELITEM altCharAlt %proper(%1)
      #ECHO {%proper(%1) was removed from the alt character file.}
      }
   #FORALL @altCharName {
      #DELITEM %concat("alt",%i) %proper(%1)
      #DELITEM %concat("alt",%i) %null
      }
   }
#ALIAS altWhois {
   #IF (%ismember(%proper(@altNameWhois),@altCharName)) {
      #VAR altNameWho %concat(~@,alt,@altNameWhois)
      #ALARM +1 {
         #SHOW {""}
         #ECHO {Known alts: @altNameWho}
         }
      }
   #IF (%ismember(%proper(@altNameWhois),@altCharAlt)) {
      altWhoMain
      }
   }
#ALIAS altWhoMain {
   #FORALL @altCharName {
      #ADDITEM altNameFind {%concat(~@,alt,%i)}
      #VAR altNameFindLiteral {%concat(~"~@,alt,%i~")}
      #IF (%ismember(%proper(@altNameWhois),@altNameFind)) {
         #ALARM +1 {
            #SHOW {""}
            #ECHO {%proper(@altNameWhois) is an alt of %remove("@alt",@altNameFindLiteral).}
            #VAR altNameFind {}
            }
         #ABORT 1
         }
      #DELITEM altNameFind {%concat(~@,alt,%i)}
      }
   }
#ONINPUT {whois &%waltNameWhois} {
   altWhois
   }
#VAR altNameLoop {}
#VAR altNameWho {}
#VAR altNameWhois {}
#VAR altNameFind {}
#VAR altNameFindLiteral {}
#CLASS 0
#CLASS {AltTracker|AltFiles}
#VAR altCharName {}
#VAR altCharAlt {}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Wed May 03, 2017 2:54 am, edited 14 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Fri Nov 13, 2015 4:32 pm 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
OUTDATED
see new version here: Sailing

-----AutoSailing Script-----

My original version used arrays and I later found that arrays and zmud have some issues. I rewrote this version using string lists.

Sometimes timing/lag can cause the initial attempt to fail...
(first sail command goes through after the sailor emote causes second sail direction to fire, resulting in a "You can't sail that fast!" message and stalling out the script).
Sometimes manually inputting the next sail direction after a fresh emote can get it back on track without starting over.
Waiting for a fresh sailor emote before inputting your trip should avoid these issues completely. (keyword: should)

Type helpAutoSailing to get a list of commands
Type riversail <starting location> <destination>
Type oceansail <starting location> <destination>
Typing stopsailing will deactivate the AutoSailing Script

Starting Locations and Destinations can be abbreviated down to their first 3 letters
Example: riversail maradon illian -or- riversail mar ill
Example: oceansail tear tremalking -or- oceansail tea tre

This script includes maps of the ocean and river systems that were borrowed from an unknown author, they have been altered.
Type oceanmap -or- rivermap to view

---Destination names used in script---
River Arinelle:
Maradon, Whitebridge, Illian

River Erinin:
TarValon, Cairhien, Aringill, Tear

Aryth Ocean and the Sea of Storms:
BandarEban, Jafar, Falme, Tanchico, Tremalking, Amadacia, Altara, Illian, Tear, Mayene


Future update plans:
Script fails on second move sometimes... working on solution.
Adding confirmations to assist in sailing.
zMud map zone of all sail locations that follows as you sail.


Code:
#CLASS {AutoSailing}
#ALIAS helpAutoSailing {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----AutoSailing Script Commands-----"}
   #SHOW {""}
   #SHOW {"Type riversail <starting location> <destination>"}
   #SHOW {"Hint: Can abbreviate locations and destinations down to the first 3 letters."}
   #SHOW {"Example: riversail illian maradon -or- riversail ill mar"}
   #SHOW {""}
   #SHOW {"Type oceansail <starting location> <destination>"}
   #SHOW {"Hint: Can abbreviate locations and destinations down to the first 3 letters."}
   #SHOW {"Example: oceansail mayene bandar eban -or- oceansail may ban"}
   #SHOW {""}
   #SHOW {"Type oceanmap -or- rivermap"}
   #SHOW {"Note: shows map of water routes, destinations, and boat names."}
   #SHOW {""}
   #SHOW {"Type stopsailing"}
   #SHOW {"Note: deactivates the autoSailing script if something goes wrong or your trip is interrupted."}
   #SHOW {""}
   }
#VAR banfal {4|3|2}
#VAR banjaf {4|3|4|3}
#VAR bantan {4|3|3|2}
#VAR bantre {4|3|3|3|4|3}
#VAR banama {4|3|3|3|3}
#VAR banalt {4|3|3|3|2|1}
#VAR banill {4|3|3|3|2|2|1}
#VAR bantea {4|3|3|3|2|2|2|2|1}
#VAR banmay {4|3|3|3|2|2|2|2|2|1}
#VAR falban {4|1|2}
#VAR faljaf {4|4|3}
#VAR faltan {4|3|2}
#VAR faltre {4|3|3|4|3}
#VAR falama {4|3|3|3}
#VAR falalt {4|3|3|2|1}
#VAR falill {4|3|3|2|2|1}
#VAR faltea {4|3|3|2|2|2|2|1}
#VAR falmay {4|3|3|2|2|2|2|2|1}
#VAR tanban {4|1|1|2}
#VAR tanjaf {4|1|4|3}
#VAR tanfal {4|1|2}
#VAR tantre {4|3|4|3}
#VAR tanama {4|3|3}
#VAR tanalt {4|3|2|1}
#VAR tanill {4|3|2|2|1}
#VAR tantea {4|3|2|2|2|2|1}
#VAR tanmay {4|3|2|2|2|2|2|1}
#VAR treban {1|2|1|1|1|2}
#VAR trejaf {1|2|1|1|4|3}
#VAR trefal {1|2|1|1|2}
#VAR tretan {1|2|1|2}
#VAR treama {1|2|3}
#VAR trealt {1|2|2|1}
#VAR treill {1|2|2|2|1}
#VAR tretea {1|2|2|2|2|2|1}
#VAR tremay {1|2|2|2|2|2|2|1}
#VAR amaban {1|1|1|1|2}
#VAR amajaf {1|1|1|4|3}
#VAR amafal {1|1|1|2}
#VAR amatan {1|1|2}
#VAR amatre {1|4|3}
#VAR amaalt {1|2|1}
#VAR amaill {1|2|2|1}
#VAR amatea {1|2|2|2|2|1}
#VAR amamay {1|2|2|2|2|2|1}
#VAR altban {3|4|1|1|1|2}
#VAR altjaf {3|4|1|1|4|3}
#VAR altfal {3|4|1|1|2}
#VAR alttan {3|4|1|2}
#VAR alttre {3|4|4|3}
#VAR altama {3|4|3}
#VAR altill {3|2|1}
#VAR alttea {3|2|2|2|1}
#VAR altmay {3|2|2|2|2|1}
#VAR illban {3|4|4|1|1|1|2}
#VAR illjaf {3|4|4|1|1|4|3}
#VAR illfal {3|4|4|1|1|2}
#VAR illtan {3|4|4|1|2}
#VAR illtre {3|4|4|4|3}
#VAR illama {3|4|4|3}
#VAR illalt {3|4|1}
#VAR illtea {3|2|2|1}
#VAR illmay {3|2|2|2|1}
#VAR teaban {3|4|4|4|4|1|1|1|2}
#VAR teajaf {3|4|4|4|4|1|1|4|3}
#VAR teafal {3|4|4|4|4|1|1|2}
#VAR teatan {3|4|4|4|1|2}
#VAR teatre {3|4|4|4|4|4|3}
#VAR teaama {3|4|4|4|4|3}
#VAR teaalt {3|4|4|4|1}
#VAR teaill {3|4|4|1}
#VAR teamay {3|2|1}
#VAR mayban {3|4|4|4|4|4|1|1|1|2}
#VAR mayjaf {3|4|4|4|4|4|1|1|4|3}
#VAR mayfal {3|4|4|4|4|4|1|1|2}
#VAR maytan {3|4|4|4|4|1|2}
#VAR maytre {3|4|4|4|4|4|4|3}
#VAR mayama {3|4|4|4|4|4|3}
#VAR mayalt {3|4|4|4|4|1}
#VAR mayill {3|4|4|4|1}
#VAR maytea {3|4|1}
#VAR illwhi {1|1|2}
#VAR illmar {1|1|1|1}
#VAR whimar {4|1|1}
#VAR whiill {4|3|3}
#VAR marwhi {3|3|2}
#VAR marill {3|3|3|3}
#VAR teaari {1|1|4}
#VAR teacai {1|1|2|1}
#VAR teatar {1|1|1|1}
#VAR aritea {2|3|3}
#VAR aricai {2|2|1}
#VAR aritar {2|1|1}
#VAR tarcai {3|3|2|1}
#VAR tartea {3|3|3|3}
#VAR tarari {3|3|4}
#VAR caitea {3|4|3|3}
#VAR caiari {3|4|4}
#VAR caitar {3|4|1|1}
#VAR sailDir {sail north|sail east|sail south|sail west}
#VAR startSail {}
#VAR endSail {}
#VAR trip {}
#VAR tripEX {}
#VAR index {}
#VAR nextSail {}
#VAR moveShip {}
#ALIAS riverSail {
   #VAR startSail %copy(%1,1,3)
   #VAR endSail %copy(%2,1,3)
   #VAR trip %concat(@startSail,@endSail)
   #VAR index {1}
   #VAR tripEX %concat("@",@trip)
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@sailDir,@nextSail)
   #T+ {AutoSailing|RiverSailTrigger}
   @moveShip
   #SHOW {""}
   #SHOW {"AutoSailing Script ON. Sit back and enjoy the ride."}
   #SHOW {""}
   }
#ALIAS oceanSail {
   #VAR startSail %copy(%1,1,3)
   #VAR endSail %copy(%2,1,3)
   #VAR trip %concat(@startSail,@endSail)
   #VAR index {1}
   #VAR tripEX %concat("@",@trip)
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@sailDir,@nextSail)
   #T+ {AutoSailing|OceanSailTrigger}
   @moveShip
   #SHOW {""}
   #SHOW {"AutoSailing Script ON. Sit back and enjoy the ride."}
   #SHOW {""}
   }
#ALIAS stopSailing {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"AutoSailing Script OFF"}
   #SHOW {""}
   #VAR startSail {}
   #VAR endSail {}
   #VAR trip {}
   #VAR tripEX {}
   #VAR index {}
   #VAR nextSail {}
   #VAR moveShip {}
   #T- {AutoSailing|RiverSailTrigger}
   #T- {AutoSailing|OceanSailTrigger}
   }
#CLASS 0
#CLASS {AutoSailing|RiverSailTrigger} {disable}
#TRIGGER {^Sweeps churning the water steer the ship onto the river.} {
   #MATH index @index+1
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@saildir,@nextSail)
   }
#TRIGGER {^A sailor *} {@moveShip}
#COND {^Ropes are pulled to adjust the sail as the ship sails *} {
   #MATH index @index+1
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@saildir,@nextSail)
   }
#TRIGGER {^Sails are lowered *} {stopSailing}
#CLASS 0
#CLASS {AutoSailing|OceanSailTrigger} {disable}
#TRIGGER {^Sweeps steer the ship *} {
   #MATH index @index+1
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@sailDir,@nextSail)
   }
#TRIGGER {^A sailor *} {@moveShip}
#COND {^The ship sails *} {
   #MATH index @index+1
   #VAR nextSail %item(@tripEX,@index)
   #VAR moveShip %item(@sailDir,@nextSail)
   }
#TRIGGER {^The ship sails into the harbor of Mayene.} {stopSailing}
#TRIGGER {^The ship sails towards the shore of Tremalking.} {stopSailing}
#TRIGGER {^The ship sails into the harbor of Tear.} {stopSailing}
#TRIGGER {^The ship sails towards Falme.} {stopSailing}
#TRIGGER {^The ship sails towards Bandar Eban.} {stopSailing}
#TRIGGER {^The ship sails towards the shore of Jafar.} {stopSailing}
#TRIGGER {^The ship sails east to the docks of Tanchico.} {stopSailing}
#TRIGGER {^The ship sails into a sheltered cove.} {stopSailing}
#TRIGGER {^The ship sails towards the shore of Illian.} {stopSailing}
#TRIGGER {^The ship sails towards the coast of Altara.} {stopSailing}
#CLASS 0
#CLASS {AutoSailing|OceanMap}
#ALIAS oceanMap {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"         <font size=5>Ocean Ports Of the World</font>               "}
   #SHOW {""}
   #SHOW {"          [ ]---[X] Bandar Eban                                     "}
   #SHOW {"           ¦                                                        "}
   #SHOW {"           ¦   Falme                                   SHIPS        "}
   #SHOW {"   [ ]----[ ]---[X]                                Silver Sword     "}
   #SHOW {"    ¦      ¦                                       Dauntless        "}
   #SHOW {"    ¦      ¦  Tanchico                             Victory of Jafar "}
   #SHOW {"   [X]    [ ]---[X]                                Golden Tree      "}
   #SHOW {"  Jafar    ¦              Illian    Tear  Mayene   Windchaser       "}
   #SHOW {"           ¦  Altara [X]   [X]       [X]   [X]     Black Swan       "}
   #SHOW {"           ¦          ¦     ¦         ¦     ¦      Golden Leopard   "}
   #SHOW {"   [ ]----[ ]--------[ ]---[ ]--[ ]--[ ]---[ ]     Horn of Valere   "}
   #SHOW {"    ¦      ¦                                       Silverpike       "}
   #SHOW {"   [X]    [X] Amadacia                                              "}
   #SHOW {"Tremalking                                                          "}
   #SHOW {""}
}
#CLASS 0
#CLASS {AutoSailing|RiverMap}
#ALIAS riverMap {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"      <font size=5>River Ports Of the World</font>        "}
   #SHOW {""}
   #SHOW {" Maradon                          Tar Valon               "}
   #SHOW {"   [X]                               [X]                  "}
   #SHOW {"    ¦                                 ¦                   "}
   #SHOW {"    ¦                                 ¦    Cairhein       "}
   #SHOW {"   [ ]                               [ ]     [X]          "}
   #SHOW {"    ¦                                 ¦       ¦           "}
   #SHOW {"    ¦  White Bridge        Aringill   ¦       ¦           "}
   #SHOW {"   [ ]------[X]              [X]-----[ ]-----[ ]          "}
   #SHOW {"    ¦                                 ¦                   "}
   #SHOW {"    ¦                                 ¦          SHIPS    "}
   #SHOW {"   [ ]         SHIPS                 [ ]      River Flame "}
   #SHOW {"    ¦        Hummingbird              ¦       River Sun   "}
   #SHOW {"    ¦        Kingfisher               ¦       River Stork "}
   #SHOW {"   [X]       Swallow                 [X]      River Queen "}
   #SHOW {"  Illian    *Starling                Tear    *River Lady  "}
   #SHOW {""}
}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Tue Apr 04, 2017 11:10 pm, edited 11 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Tue Dec 08, 2015 2:13 am 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
OUTDATED
see new version here: Scan

-----AutoScan-----
*ScoreStat enables AutoScan automatically for rogue class characters only.

This simple script colors the directional words of a rogue's autoscan so that they stand out, it does not color the entire line.
Change the colors to suit your own preference (#CW foreground, background).

Code:
#CLASS {AutoScan} {disable}
#TRIGGER {^East:} {#CW "#FF8000,#FFFFFF"}
#TRIGGER {^West:} {#CW "#FF8000,#FFFFFF"}
#TRIGGER {^North:} {#CW "#FF8000,#FFFFFF"}
#TRIGGER {^South:} {#CW "#FF8000,#FFFFFF"}
#TRIGGER {^Down:} {#CW "#FF8000,#FFFFFF"}
#TRIGGER {^Up:} {#CW "#FF8000,#FFFFFF"}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Wed May 03, 2017 2:49 am, edited 17 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Thu Dec 10, 2015 1:42 am 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
OUTDATED
See new version here: Tracking

-----AutoTrack Script-----
*ScoreStat enables AutoTrack automatically for hunter class characters only.

I used the {ColorCode|Track} script by Zain as my base and re-wrote the color features, I also added an upper/lower case function.

Sarryn asked for some help fixing his colors so this is the end product of that fix.

Type helpAutoTrack for a list of commands.

You must set ttColor and tbColor (foreground and background) to your current default text colors for this script to work.
Example: type tbColor black to set text background color to black.

You can change the color of human, trolloc, seanchan, myrddraal, dreadlord, ridden mount, and all other generic names(like a humanoid).

You can change human, trolloc, seanchan, myrddraal, and dreadlord between upper and lower case.

You can change the color of north, east, south, west, up, and down as well as their upper or lower case.

You can change the color of the direction characters that surround their coordinating cardinal directions << >> ^^ vv ++ -- and even make them blink!

You can underline, make blink, and bold any color selection.

You can change the color and case of BLOODY TRACES.

The default color scheme is set up for my preferences, they will need to be adjusted to fit your preferences.

Code:
#CLASS {AutoTrack} {disable}
#ALIAS helpAutoTrack {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----AutoTrack Script Commands-----"}
   #SHOW {""}
   #SHOW {"Recognized color names: black, blue, green, cyan, red, magenta, brown, gray, yellow, white."}
   #SHOW {"-Example: typing ttrollcolor red will change the forground text color of Trolloc in an autotrack line to red."}
   #SHOW {"--Note: You can also modify the fore and back attributes with the strings: high, bold, blink, and under."}
   #SHOW {"-Example: <command> <color,string> = tnamecolor cyan,under (track name color will be underlined and the color cyan)."}
   #SHOW {""}
   #SHOW {"Type ttColor <color> to change text foreground color to your default text color"}
   #SHOW {"--Note: Must be set to the same color as your default foreground text color."}
   #SHOW {""}
   #SHOW {"Type tbColor <color> to change text background color to your default background color."}
   #SHOW {"--Note: Must be set to the same color as your default background color."}
   #SHOW {""}
   #SHOW {"Type tcColor <color> to change text color of the directional symbols that encompass track direction."}
   #SHOW {"-Example: tccolor red,blink will change the symbols to the color red and will blink."}
   #SHOW {""}
   #SHOW {"Type tdColor <color> to change text color of the directional word (north, south, east, west. up, down)."}
   #SHOW {"-Example: tdcolor cyan,under will change the color of the directional word to cyan and underline it."}
   #SHOW {""}
   #SHOW {"Type tNameColor <color> to change the text color for tracking generic names (like 'a humanoid')."}
   #SHOW {""}
   #SHOW {"Type tHumanColor <color> to change the text color for tracking Humans."}
   #SHOW {""}
   #SHOW {"Type tTrollColor <color> to change the text color for tracking Trollocs."}
   #SHOW {""}
   #SHOW {"Type tFadeColor <color> to change the text color for tracking Myrddraals."}
   #SHOW {""}
   #SHOW {"Type tDLordColor <color> to change the text color for tracking Dreadlords."}
   #SHOW {""}
   #SHOW {"Type tMountColor <color> to change the text color for tracking RiddenMounts."}
   #SHOW {""}
   #SHOW {"Type bloodyCaps to toggle the upper and lower cases of bloody traces."}
   #SHOW {""}
   #SHOW {"Type directionCaps to toggle the upper and lower cases of the cardinal directions ."}
   #SHOW {""}
   #SHOW {"Type humanCaps to toggle the upper and lower cases of human."}
   #SHOW {""}
   #SHOW {"Type trollCaps to toggle the upper and lower cases of trolloc."}
   #SHOW {""}
   #SHOW {"Type seanchanCaps to toggle the upper and lower cases of seanchan."}
   #SHOW {""}
   #SHOW {"Type fadeCaps to toggle the upper and lower cases of myrddraal."}
   #SHOW {""}
   #SHOW {"Type dlordCaps to toggle the upper and lower cases of dreadlord."}
   #SHOW {""}
   }
#ALIAS ttColor {
   #VAR trackTextColor %1
   #ECHO {%1 is now set as your trackTextColor.}
   }    
#ALIAS tbColor {
   #VAR trackBackColor %1
   #ECHO {%1 is now set as your trackBackColor.}
   }    
#ALIAS tcColor {
   #VAR trackCharColor %1
   #ECHO {%1 is now set as your trackCharColor.}
   }    
#ALIAS tdColor {
   #VAR trackDirColor %1
   #ECHO {%1 is now set as your trackDirColor.}
   }
#ALIAS tNameColor {
   #VAR trackNameColor %1
   #ECHO {%1 is now set as your trackNameColor.}
   }    
#ALIAS tHumanColor {
   #VAR trackHumanColor %1
   #ECHO {%1 is now set as your trackHumanColor.}
   }
#ALIAS tTrollColor {
   #VAR trackTrollocColor %1
   #ECHO {%1 is now set as your trackTrollColor.}
   }
#ALIAS tSeanchanColor {
   #VAR trackSeanchanColor %1
   #ECHO {%1 is now set as your trackSeanchanColor.}
   }    
#ALIAS tFadeColor {
   #VAR trackMyrddraalColor %1
   #ECHO {%1 is now set as your trackFadeColor.}
   }
#ALIAS tDLordColor {
   #VAR trackDreadlordColor %1
   #ECHO {%1 is now set as your trackDLordColor.}
   }
#ALIAS tMountColor {
   #VAR trackRiddenMountColor %1
   #ECHO {%1 is now set as your trackRiddenMountColor.}
   }       
#ALIAS GetDir {
   #IF (%1=north) {#VAR dirchar @northchar}
   #IF (%1=east) {#VAR dirchar @eastchar}
   #IF (%1=south) {#VAR dirchar @southchar}
   #IF (%1=west) {#VAR dirchar @westchar}
   #IF (%1=up) {#VAR dirchar @upchar}
   #IF (%1=down) {#VAR dirchar @downchar}
   }
#ALIAS bloodyCaps {
   #IF (@capBloody=1) {capBloody=0} {capBloody=1}
   #IF (@capBloody=1) {#ECHO {BLOODY TRACES are now upper case.}} {#ECHO {bloody traces are now lower case.}}
   }
#ALIAS directionCaps {
   #IF (@capDirection=1) {capDirection=0} {capDirection=1}
   #IF (@capDirection=1) {#ECHO {NORTH, EAST, SOUTH, WEST, UP and DOWN are now upper case.}} {#ECHO {north, east, south, west, up, and down are now lower case.}}
   }
#ALIAS humanCaps {
   #IF (@capHuman=1) {capHuman=0} {capHuman=1}
   #IF (@capHuman=1) {#ECHO {HUMAN is now upper case.}} {#ECHO {human is now lower case.}}
   }
#ALIAS trollCaps {
   #IF (@capTrolloc=1) {capTrolloc=0} {capTrolloc=1}
   #IF (@capTrolloc=1) {#ECHO {TROLLOC is now upper case.}} {#ECHO {trolloc is now lower case.}}
   }
#ALIAS seanchanCaps {
   #IF (@capSeanchan=1) {capSeanchan=0} {capSeanchan=1}
   #IF (@capSeanchan=1) {#ECHO {SEANCHAN is now upper case.}} {#ECHO {seanchan is now lower case.}}
   }
#ALIAS fadeCaps {
   #IF (@capMyrddraal=1) {capMyrddraal=0} {capMyrddraal=1}
   #IF (@capMyrddraal=1) {#ECHO {MYRDDRAAL is now upper case.}} {#ECHO {myrddraal is now lower case.}}
   }
#ALIAS dlordCaps {
   #IF (@capDreadlord=1) {capDreadlord=0} {capDreadlord=1}
   #IF (@capDreadlord=1) {#ECHO {DREADLORD is now upper case.}} {#ECHO {dreadlord is now lower case.}}
   }
#VAR dirchar {}
#VAR westchar {<<}
#VAR eastchar {>>}
#VAR northchar {^^}
#VAR southchar {vv}
#VAR upchar {++}
#VAR downchar {--}
#VAR trackTextColor {black}
#VAR trackBackColor {white}
#VAR trackDirColor {cyan}
#VAR trackCharColor {red}
#VAR trackNameColor {black}
#VAR trackHumanColor {cyan}
#VAR trackTrollocColor {red}
#VAR trackSeanchanColor {magenta}
#VAR trackMyrddraalColor {red,bold}
#VAR trackDreadlordColor {red,bold}
#VAR trackRiddenMountColor {blue}
#VAR trackBloodyColor {red,bold}
#VAR capBloody {0}
#VAR capDirection {0}
#VAR capHuman {0}
#VAR capTrolloc {0}
#VAR capSeanchan {0}
#VAR capMyrddraal {0}
#VAR capDreadlord {0}
#TRIGGER {^There are some (bloody traces) of a (dreadlord) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackDreadlordColor,@trackBackColor)%if(@capDreadlord%upper(%2),%lower(%2)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some (bloody traces) of a (myrddraal) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackMyrddraalColor,@trackBackColor)%if(@capMyrddraal,%upper(%2),%lower(%2)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some (bloody traces) of a (seanchan) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackSeanchanColor,@trackBackColor)%if(@capSeanchan,%upper(%2),%lower(%2)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some (bloody traces) of a (trolloc) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackTrollocColor,@trackBackColor)%if(@capTrolloc,%upper(%2),%lower(%2)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some (bloody traces) of a (human) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackHumanColor,@trackBackColor)%if(@capHuman,%upper(%2),%lower(%2)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some (bloody traces) of (*) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %3
   #SUB {There are some %ansi(@trackBloodyColor,@trackBackColor)%if(@capBloody,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)of %ansi(@trackNameColor,@trackBackColor)%2 %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%3),%lower(%3))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (ridden mount) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackRiddenMountColor,@trackBackColor)%1 %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (dreadlord) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackDreadlordColor,@trackBackColor)%if(@capDreadlord%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (myrddraal) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackMyrddraalColor,@trackBackColor)%if(@capMyrddraal,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (seanchan) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackSeanchanColor,@trackBackColor)%if(@capSeanchan,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (trolloc) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackTrollocColor,@trackBackColor)%if(@capTrolloc,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of a (human) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of a %ansi(@trackHumanColor,@trackBackColor)%if(@capHuman,%upper(%1),%lower(%1)) %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#TRIGGER {^There are some {tracks} of (*) leaving (%w).} {
   #COLOR @trackTextColor
   GetDir %2
   #SUB {There are some tracks of %ansi(@trackNameColor,@trackBackColor)%1 %ansi(@trackTextColor,@trackBackColor)leaving %ansi(@trackCharColor,@trackBackColor)@dirchar%ansi(@trackDirColor,@trackBackColor)%if(@capDirection,%upper(%2),%lower(%2))%ansi(@trackCharColor,@trackBackColor)@dirchar}
   }
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Tue May 02, 2017 8:33 pm, edited 5 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Thu Dec 10, 2015 6:50 pm 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
OUTDATED
view new version here: Colors

-----Colors Script-----

This script colors lines of text for easier identification. Weaves, Melee hits, and other important messages.
Must have color complete on for ansi color triggers to work for cross race (colored names inside of asterisk) triggers.
Cross race coloring is not perfect, there are some interesting coloring variations I could not figure out.
Not all triggers have been tested. Please mail me for any issues.

Script basics originally came from Alayla's website and has been rewritten and edited heavily.

Type helpColors for list of commands.

Type colorMeleeHit fore,back to set colors for when you land a hit in combat against a mob or SameSide opponent.
Type colorCrossRaceHit fore,back to set colors for when you land a hit in combat against a CrossRace opponent.
Type colorAttacked fore,back to set colors for when you are hit in combat.
Type colorWeave fore,back to set colors for weaves targeted at you.
Type colorWeave2 fore,back to set colors for weaves you target.
Type colorWeave3 fore,back to set colors for weaves you see others target.
Type colorAlertHigh fore,back to set colors for high priority messages.
Type colorAlertMed fore,back to set colors for medium priority messages.
Type colorAlertLow fore,back to set colors for low priority messages.

Script colors narrates, chats, and yells.
Type colorNarrates fore,back to set colors for your narrate messages.
Type colorChats fore,back to set colors for your chat messages.
Type colorBellows fore,back to set colors for your yell messages.

fore = foreground text color.
back = background color.
Default colors are set to my preferences.

Code:
#CLASS {Colors}
#ALIAS helpColors {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----Colors Settings-----"}
   #SHOW {""}
   #SHOW {"Modify color choices by separating forground and background values with a comma."}
   #SHOW {"-Example: Type colorAttackedHit red,black to have melee attack lines forground text colored red with a black background."}
   #SHOW {""}
   #SHOW {"Type colorMeleeHit fore,back to set colors for when you land a hit against a mob or SameSide PC."}
   #SHOW {"-Note: Leave variable empty if you just want native color scheme."}
   #SHOW {""}
   #SHOW {"Type colorMeleeAttacked fore,back to set colors for when you are hit by a mob or SameSide PC."}
   #SHOW {"-Note: Leave variable empty if you just want native color scheme."}
   #SHOW {""}   
   #SHOW {"Type colorCrossRaceHit fore,back to set colors for when you land a hit against CrossRace PC."}
   #SHOW {""}
   #SHOW {"Type colorCrossRaceAttacked fore,back to set colors for when you are hit in combat by a CrossRace PC."}
   #SHOW {""}
   #SHOW {"Type colorWeave fore,back to set colors for weaves targeted at you."}
   #SHOW {""}
   #SHOW {"Type colorWeave2 fore,back to set colors for weaves you target."}
   #SHOW {""}
   #SHOW {"Type colorWeave3 fore,back to set colors for weaves you see others target."}
   #SHOW {""}
   #SHOW {"Type colorAlertHigh fore,back to set colors for high priority messages."}
   #SHOW {""}
   #SHOW {"Type colorAlertMed fore,back to set colors for medium priority messages."}
   #SHOW {""}
   #SHOW {"Type colorAlertLow fore,back to set colors for low priority messages."}
   #SHOW {""}
   #SHOW {"Type colorNarrates fore,back to set colors for your narrate messages."}
   #SHOW {""}
   #SHOW {"Type colorChats fore,back to set colors for your chat messages."}
   #SHOW {""}
   #SHOW {"Type colorBellows fore,back to set colors for your yell messages."}
   #SHOW {""}
   #SHOW {"Alert priorities are different for everyone, edit variables and triggers in script for personal preference."}
   #SHOW {""}
   }
#ALIAS colorMeleeHit {
   #VAR attackMeleeColor %1
   #ECHO {%1 is now set as your Melee Hit color.}
   }
#ALIAS colorMeleeAttacked {
   #VAR attackedMeleeColor %1
   #ECHO {%1 is now set as your Melee Attacked color.}
   }
#ALIAS colorCrossRaceHit {
   #VAR attackCrossRaceColor %1
   #ECHO {%1 is now set as your Cross Race Hit color.}
   }
#ALIAS colorCrossRaceAttacked {
   #VAR attackedCrossRaceColor %1
   #ECHO {%1 is now set as your Cross Race Attacked color.}
   }
#ALIAS colorWeave {
   #VAR weaveColor %1
   #ECHO {%1 is now set as your WeaveColor.}
   }
#ALIAS colorWeave2 {
   #VAR weaveColor2 %1
   #ECHO {%1 is now set as your WeaveColor2.}
   }
#ALIAS colorWeave3 {
   #VAR weaveColor3 %1
   #ECHO {%1 is now set as your WeaveColor3.}
   }
#ALIAS colorAlertHigh {
   #VAR alertColorHigh %1
   #ECHO {%1 is now set as your AlertColorHigh.}
   }
#ALIAS colorAlertMed {
   #VAR alertColorMedium %1
   #ECHO {%1 is now set as your AlertColorMedium.}
   }
#ALIAS colorAlertLow {
   #VAR alertColorLow %1
   #ECHO {%1 is now set as your AlertColorLow.}
   }
#ALIAS colorNarrates {
   #VAR colorNarrate %1
   #ECHO {%1 is now set as your Narrate color.}
   }
#ALIAS colorChats {
   #VAR colorChat %1
   #ECHO {%1 is now set as your Chat color.}
   }
#ALIAS colorBellows {
   #VAR colorBellow %1
   #ECHO {%1 is now set as your Yell color.}
   }
#VAR attackMeleeColor {green,white}
#VAR attackedMeleeColor {red,white}
#VAR attackCrossRaceColor {high,cyan,white}
#VAR attackedCrossRaceColor {high,red,white}
#VAR weaveColor {high,red,darkgray}
#VAR weaveColor2 {high,blue,darkgray}
#VAR weaveColor3 {high,green,darkgray}
#VAR alertColorHigh {red,darkgray}
#VAR alertColorMedium {blue,darkgray}
#VAR alertColorLow {darkgreen,darkgray}
#VAR colorNarrate {saddlebrown,white}
#VAR colorChat {olive,white}
#VAR colorBellow {forestgreen,white}
#VAR attack {barely|blast|cleave|crush|hack|hit|lance|pierce|pound|scythe|shoot|slash|slice|smite|stab|sting|strike|tickle|whip}
#VAR attacks {barely|blasts|cleaves|crushes|hacks|hits|lances|pierces|pounds|scythes|shoots|slashes|slices|smites|stabs|stings|strikes|tickles|whips}
#CLASS 0
#CLASS {Colors|Comms}
#TRIGGER {* chats '*'$} {#COLOR {@colorChat}}
#TRIGGER {* bellows '*'$} {#COLOR {@colorBellow}}
#TRIGGER {* narrates '*'$} {#COLOR {@colorNarrate}}
#CLASS 0
#CLASS {Colors|Melee}
#TRIGGER {%e[31m*{@attacks} your*} {#CW @attackedMeleeColor} "" {color}
#TRIGGER {%e[31m*{@attacks} {@attacks} your*} {#CW @attackedMeleeColor} "" {color}
#TRIGGER {%e[32mYou {@attack}*} {#CW @attackMeleeColor} "" {color}
#TRIGGER {%e[32mYou {@attack} {@attack}*} {#CW @attackMeleeColor} "" {color}
#CLASS 0
#CLASS {Colors|Melee|CrossRace}
#TRIGGER {(You {@attack}) ~*%e[31m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {(You {@attack} {@attack}) ~*%e[31m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {(You {@attack}) ~*%e[35m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {(You {@attack} {@attack}) ~*%e[35m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {(You {@attack}) ~*%e[36m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {(You {@attack} {@attack}) ~*%e[36m(%w)(%e[0m~*~'s *)} {
   #PCOL @attackCrossRaceColor %x1
   #PCOL @attackCrossRaceColor %x3
   } "" {color}
#TRIGGER {~*%e[31m(%w)(%e[0m~* {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#TRIGGER {~*%e[31m(%w)(%e[0m~* {@attacks} {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#TRIGGER {~*%e[35m(%w)(%e[0m~* {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#TRIGGER {~*%e[35m(%w)(%e[0m~* {@attacks} {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#TRIGGER {~*%e[36m(%w)(%e[0m~* {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#TRIGGER {~*%e[36m(%w)(%e[0m~* {@attacks} {@attacks} your*)} {#PCOL @attackedCrossRaceColor %x2} "" {color}
#CLASS 0
#CLASS {Colors|Melee|Skills}
#TRIGGER {^Your bash at * sends * sprawling!} {#CW @alertColorHigh}
#TRIGGER {^(Your bash at )~*%e[31m(%w)(%e[0m~* sends * sprawling!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^(Your bash at )~*%e[35m(%w)(%e[0m~* sends * sprawling!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^(Your bash at )~*%e[36m(%w)(%e[0m~* sends * sprawling!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^As * avoids your bash, you topple over and fall to the ground!} {#CW @alertColorLow}
#TRIGGER {^(As )~*%e[31m(%w)(%e[0m~* avoids your bash, you topple over and fall to the ground!)} {
   #PCOL @alertColorLow %x1
   #PCOL @alertColorLow %x3
   } "" {color}
#TRIGGER {^(As )~*%e[35m(%w)(%e[0m~* avoids your bash, you topple over and fall to the ground!)} {
   #PCOL @alertColorLow %x1
   #PCOL @alertColorLow %x3
   } "" {color}
#TRIGGER {^(As )~*%e[36m(%w)(%e[0m~* avoids your bash, you topple over and fall to the ground!)} {
   #PCOL @alertColorLow %x1
   #PCOL @alertColorLow %x3
   } "" {color}
#TRIGGER {^* sends * sprawling with a powerful bash!} {#CW @alertColorLow}
#TRIGGER {^* sends you sprawling with a powerful bash!} {#CW @alertColorHigh}
#TRIGGER {^~*%e[31m(%w)(%e[0m~* sends * sprawling with a powerful bash!)} {#PCOL @alertColorLow %x2} "" {color}
#TRIGGER {^~*%e[35m(%w)(%e[0m~* sends * sprawling with a powerful bash!)} {#PCOL @alertColorLow %x2} "" {color}
#TRIGGER {^~*%e[36m(%w)(%e[0m~* sends * sprawling with a powerful bash!)} {#PCOL @alertColorLow %x2} "" {color}
#TRIGGER {^~*%e[31m(%w)(%e[0m~* sends you sprawling with a powerful bash!)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {^~*%e[35m(%w)(%e[0m~* sends you sprawling with a powerful bash!)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {^~*%e[36m(%w)(%e[0m~* sends you sprawling with a powerful bash!)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {^Suddenly * places * in your back!} {#CW @alertColorHigh}
#TRIGGER {^(Suddenly )~*%e[31m(%w)(%e[0m~* places * in your back!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^(Suddenly )~*%e[35m(%w)(%e[0m~* places * in your back!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^(Suddenly )~*%e[36m(%w)(%e[0m~* places * in your back!)} {
   #PCOL @alertColorHigh %x1
   #PCOL @alertColorHigh %x3
   } "" {color}
#TRIGGER {^* clumsily approaches you with *, but you fend off the attack.} {#CW @alertColorMedium}
#TRIGGER {^~*%e[31m(%w)(%e[0m~* clumsily approaches you with *, but you fend off the attack.)} {#PCOL @alertColorMedium %x2} "" {color}
#TRIGGER {^~*%e[35m(%w)(%e[0m~* clumsily approaches you with *, but you fend off the attack.)} {#PCOL @alertColorMedium %x2} "" {color}
#TRIGGER {^~*%e[36m(%w)(%e[0m~* clumsily approaches you with *, but you fend off the attack.)} {#PCOL @alertColorMedium %x2} "" {color}
#TRIGGER {^* starts barreling down on you, a * aimed at your chest.} {#CW @alertColorHigh}
#TRIGGER {^~*%e[31m(%w)(%e[0m~* starts barreling down on you, * aimed at your chest.)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {^~*%e[35m(%w)(%e[0m~* starts barreling down on you, * aimed at your chest.)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {^~*%e[36m(%w)(%e[0m~* starts barreling down on you, * aimed at your chest.)} {#PCOL @alertColorHigh %x2} "" {color}
#TRIGGER {wipes * boots in your face} {#CW @alertColorLow}
#TRIGGER {You're hit in solar plexus, wow, this is breathtaking} {#CW @alertColorLow}
#CLASS 0
#CLASS {Colors|Weaves}
#TRIGGER {^A violent storm erupts and fierce winds blow through the area.} {#CW @weaveColor}
#TRIGGER {^The earth trembles and shivers beneath your feet..!} {#CW @weaveColor}
#TRIGGER {^* hands weave a bright red flame...} {#CW @weaveColor}
#TRIGGER {^Arrrgggh!!! Your body is on FIRE! You have precious few moments to save your sorry life!} {#CW @weaveColor}
#TRIGGER {^You gasp in pain as streaks of fire from * burn your body!} {#CW @weaveColor}
#TRIGGER {^(You gasp in pain as streaks of fire from )~*%e[31m(%w)(%e[0m~* burn your body!)} {
   #PCOL @weaveColor %x1
   #PCOL @weaveColor %x3
   } "" {color}
#TRIGGER {^(You gasp in pain as streaks of fire from )~*%e[36m(%w)(%e[0m~* burn your body!)} {
   #PCOL @weaveColor %x1
   #PCOL @weaveColor %x3
   } "" {color}
#TRIGGER {^Your body is pierced by razor sharp ice spikes sent by*} {#CW @weaveColor}
#TRIGGER {^(Your body is pierced by razor sharp ice spikes sent by )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^(Your body is pierced by razor sharp ice spikes sent by )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^Your body is pierced by sharp but melting ice spikes sent by *} {#CW @weaveColor}
#TRIGGER {^(Your body is pierced by sharp but melting ice spikes sent by )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^(Your body is pierced by sharp but melting ice spikes sent by )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^The air around your eyes seems to catch fire, blinding you} {#CW @weaveColor}
#TRIGGER {^* gestures and you begin to lose your balance.} {#CW @weaveColor}
#TRIGGER {^*%e[31m(%w)(%e[0m~* gestures and you begin to lose your balance.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* gestures and you begin to lose your balance.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^* calls lightning from the sky to strike you, sizzling your insides!} {#CW @weaveColor}
#TRIGGER {^*%e[31m(%w)(%e[0m~* calls lightning from the sky to strike you, sizzling your insides!)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* calls lightning from the sky to strike you, sizzling your insides!)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^The impact of an unseen force sends you sprawling!} {#CW @weaveColor}
#TRIGGER {^Your body is burned by a tremendous fireball sent by *} {#CW @weaveColor}
#TRIGGER {^(Your body is burned by a tremendous fireball sent by )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^(Your body is burned by a tremendous fireball sent by )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^Your body is burned by a weakened fireball sent by *} {#CW @weaveColor}
#TRIGGER {^(Your body is burned by a weakened fireball sent by )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^(Your body is burned by a weakened fireball sent by )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^* gazes deeply into your soul.. very chilling.} {#CW @weaveColor}
#TRIGGER {^*%e[31m(%w)(%e[0m~* gazes deeply into your soul.. very chilling.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* gazes deeply into your soul.. very chilling.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^A strangled cough racks your lungs, causing agony!} {#CW @weaveColor}
#TRIGGER {^You shiver from an icy cold force sent by *} {#CW @weaveColor}
#TRIGGER {^(You shiver from an icy cold force sent by )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^(You shiver from an icy cold force sent by )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor %x1} "" {color}
#TRIGGER {^* waves at you, and a cold sweat begins attacking your every muscle.} {#CW @weaveColor}
#TRIGGER {^*%e[31m(%w)(%e[0m~* waves at you, and a cold sweat begins attacking your every muscle.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* waves at you, and a cold sweat begins attacking your every muscle.)} {#PCOL @weaveColor %x2} "" {color}
#TRIGGER {^* has been blinded!} {#CW @weaveColor2}
#TRIGGER {^*%e[31m(%w)(%e[0m~* has been blinded!)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[35m(%w)(%e[0m~* has been blinded!)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* has been blinded!)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^* shivers from the icy cold force sent by you.} {#CW @weaveColor2}
#TRIGGER {^*%e[31m(%w)(%e[0m~* shivers from the icy cold force sent by you.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[35m(%w)(%e[0m~* shivers from the icy cold force sent by you.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* shivers from the icy cold force sent by you.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^Beads of cold sweat emerge from * face!} {#CW @weaveColor2}
#TRIGGER {^(Beads of cold sweat emerge from )*%e[31m(%w)(%e[0m~* face!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Beads of cold sweat emerge from )*%e[35m(%w)(%e[0m~* face!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Beads of cold sweat emerge from )*%e[36m(%w)(%e[0m~* face!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^Your flows of Air harden in * ears, deafening *} {#CW @weaveColor2}
#TRIGGER {^(Your flows of Air harden in )*%e[31m(%w)(%e[0m~* ears, deafening *)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Your flows of Air harden in )*%e[35m(%w)(%e[0m~* ears, deafening *)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Your flows of Air harden in )*%e[36m(%w)(%e[0m~* ears, deafening *)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^* looks very strange, glaring about with a sense of panic.} {#CW @weaveColor2}
#TRIGGER {^*%e[31m(%w)(%e[0m~* looks very strange, glaring about with a sense of panic.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[35m(%w)(%e[0m~* looks very strange, glaring about with a sense of panic.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* looks very strange, glaring about with a sense of panic.)} {#PCOL @weaveColor2 %x2} "" {color}
#TRIGGER {^You mold flows of Air into a tight stream, and smite *} {#CW @weaveColor2}
#TRIGGER {^(You mold flows of Air into a tight stream, and smite )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(You mold flows of Air into a tight stream, and smite )*%e[35m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(You mold flows of Air into a tight stream, and smite )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^You mold flows of Air into a tight stream, sending * sprawling!} {#CW @weaveColor2}
#TRIGGER {^(You mold flows of Air into a tight stream, sending )*%e[31m(%w)(%e[0m~* sprawling!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(You mold flows of Air into a tight stream, sending )*%e[35m(%w)(%e[0m~* sprawling!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(You mold flows of Air into a tight stream, sending )*%e[36m(%w)(%e[0m~* sprawling!)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^Spikes of solid ice form in your hands, which you launch at *} {#CW @weaveColor2}
#TRIGGER {^(Spikes of solid ice form in your hands, which you launch at )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(Spikes of solid ice form in your hands, which you launch at )*%e[35m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(Spikes of solid ice form in your hands, which you launch at )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^Spikes of ice form in your hands, but melt a bit as you launch them at *} {#CW @weaveColor2}
#TRIGGER {^(Spikes of ice form in your hands, but melt a bit as you launch them at )*%e[31m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(Spikes of ice form in your hands, but melt a bit as you launch them at )*%e[35m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^(Spikes of ice form in your hands, but melt a bit as you launch them at )*%e[36m(%w)%e[0m~*} {#PCOL @weaveColor2 %x1} "" {color}
#TRIGGER {^Your icy spikes shred * guts, causing * insides to flow outside.} {#CW @weaveColor2}
#TRIGGER {^(Your icy spikes shred )*%e[31m(%w)(%e[0m~* guts, causing * insides to flow outside.)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Your icy spikes shred )*%e[35m(%w)(%e[0m~* guts, causing * insides to flow outside.)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^(Your icy spikes shred )*%e[36m(%w)(%e[0m~* guts, causing * insides to flow outside.)} {
   #PCOL @weaveColor2 %x1
   #PCOL @weaveColor2 %x3
   } "" {color}
#TRIGGER {^* unleashes a flurry of icy spikes at *, who is stabbed repeatedly.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~* unleashes a flurry of icy spikes at *, who is stabbed repeatedly.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* unleashes a flurry of icy spikes at *, who is stabbed repeatedly.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^* icy spikes shred *, whose insides now flow freely to the ground.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~*'s icy spikes shred *, whose insides now flow freely to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~*'s icy spikes shred *, whose insides now flow freely to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^* releases streaks of Fire at *, who screams in pain.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~* releases streaks of Fire at *, who screams in pain.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* releases streaks of Fire at *, who screams in pain.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^* throws streaks of Fire at *, whose freshly charred corpse crumples to the ground.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~* throws streaks of Fire at *, whose freshly charred corpse crumples to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* throws streaks of Fire at *, whose freshly charred corpse crumples to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^* calls lightning from the sky, striking * dead on.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~* calls lightning from the sky, striking * dead on.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[36m(%w)(%e[0m~* calls lightning from the sky, striking * dead on.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^* calls lightning from the sky to strike *, dropping * sizzling corpse to the ground.} {#CW @weaveColor3}
#TRIGGER {^*%e[31m(%w)(%e[0m~* calls lightning from the sky to strike *, dropping * sizzling corpse to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#TRIGGER {^*%e[31m(%w)(%e[0m~* calls lightning from the sky to strike *, dropping * sizzling corpse to the ground.)} {#PCOL @weaveColor3 %x2} "" {color}
#CLASS 0
#CLASS {Colors|Misc}
#TRIGGER {You aren't in touch with * to channel it.} {#CW @alertColorMedium}
#TRIGGER {You are unable to sense the True Source at all from here.} {#CW @alertColorMedium}
#TRIGGER {You feel isolated from the Source!} {#CW @alertColorMedium}
#TRIGGER {You lose all sense of the True Source here.} {#CW @alertColorMedium}
#TRIGGER {You sense * connecting to the True Source.} {#CW @alertColorLow}
#TRIGGER {You sense * is channeling *.} {#CW @alertColorLow}
#TRIGGER {You sense a hidden life form in the area...} {#CW @alertColorMedium}
#TRIGGER {~*KERBOOM~* The explosion rips you from the ground and tosses you through the air.} {#CW @alertColorHigh}
#TRIGGER {The ancient greatsword, Justice of * begins to glow...} {#CW @alertColorLow}
#TRIGGER {Malfeasor, the twin bladed scythe of blood ebony of * begins to glow...} {#CW @alertColorLow}
#TRIGGER {PANIC!  You couldn't escape!} {#CW @alertColorHigh}
#TRIGGER {You wish that your wounds would stop BLEEDING so much!} {#CW @alertColorHigh}
#TRIGGER {* thrown from your hands as you are struck.} {#CW @alertColorMedium}
#TRIGGER {You fumble * as you are struck.} {#CW @alertColorMedium}
#TRIGGER {Ouch! That Really did HURT!} {#CW @alertColorHigh}
#TRIGGER {No way!  You're fighting for your life!} {#CW @alertColorMedium}
#TRIGGER {You panic and attempt to flee!} {#CW @alertColorMedium}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Sun Jul 23, 2017 1:59 am, edited 7 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Sat Dec 12, 2015 2:44 am 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
-----Combat Script-----

Thanks again to Markus for making all of his map scripts.
For the flee return functions to work you need to have Markus's Flee and Doubleline 1.4 script installed.
Flee return functions rely on your map being in the proper room at time of flee to function.

Combat script currently contains five functions: (place alias in macro)
bashRepeat
bashWeave
fleeReturnStab
fleeReturnWeave
fleeReturnCharge

Bash Repeat will continue to send the bash command after a succesful bash lands.

Bash Weave will cast a weave at target after you land a succesful bash.

Flee Return Stab, Weave, and Charge will flee from combat and return to the same room and send command.

Any interruptions will cancel scripts and disable function until you use it again.

Targets and defaults are set to my preferences and need to be changed to suit yours.

Type helpCombat for list of commands.

Type frBackstabTarget <name> to set your fleeReturnStab target
Type frChargeTarget <name> to set your fleeReturnCharge target.
Type frWeaveTarget <name> to set your fleeReturnWeave target.
Type frWeave <weaveName> to set your fleeReturnWeave weave.
Note--use weave name without 'punctuation'
Type weaveBash <weaveName> to set weave after landing bash.
Note--use weave name without 'punctuation'

If placing a variable inside a variable via one of the above commands use this syntax as an example:
frWeaveTarget "@target3" -or- frBackstabTarget "@yourVariableHere"

Code:
#CLASS {Combat}
#ALIAS helpCombat {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----Combat Script Settings-----"}
   #SHOW {""}
   #SHOW {"Type frBackstabTarget <name> to set your fleeReturnStab target."}
   #SHOW {""}
   #SHOW {"Type frChargeTarget <name> to set your fleeReturnCharge target."}
   #SHOW {""}
   #SHOW {"Type frWeaveTarget <name> to set your fleeReturnWeave target."}
   #SHOW {""}
   #SHOW {"Type frWeave <weaveName> to set your fleeReturnWeave weave."}
   #SHOW {"Note--use weave name without 'punctuation'"}
   #SHOW {"Example: frWeave ~"@currentWeave~" -or- frWeave ice spikes"}
   #SHOW {"Note--use @ before variable name to expand if using variable in a variable"}
   #SHOW {"------also must have ~"~" around @variable to work."}
   #SHOW {""}
   #SHOW {"Type weaveBash <weaveName> to set weave after landing bash."}
   #SHOW {"Note--use weave name without 'punctuation'"}
   #SHOW {""}
   #SHOW {"Note--place alias in a macro to use."}
   #SHOW {"Example: #KEY F1 {bashRepeat} -or- #KEY ADD {fleeReturnStab}"}
   #SHOW {""}
   #SHOW {"Alias list:"}
   #SHOW {"bashRepeat"}
   #SHOW {"bashWeave"}
   #SHOW {"fleeReturnStab"}
   #SHOW {"fleeReturnWeave"}
   #SHOW {"fleeReturnCharge"}
   #SHOW {""}
   }
#ALIAS bashRepeat {
   #T+ {Combat|BashRepeat}
   bash
   }
#ALIAS bashWeave {
   #T+ {Combat|BashWeave}
   bash
   }
#ALIAS fleeReturnStab {
   #T+ {Combat|FleeReturnStab}
   flee
   }
#ALIAS fleeReturnCharge {
   #T+ {Combat|FleeReturnCharge}
   flee
   }
#ALIAS fleeReturnWeave {
   #T+ {Combat|FleeReturnWeave}
   flee
   }
#ALIAS frBackstabTarget {
   #VAR bsTarget %1
   #ECHO {%1 is now set as your backstab target.}
   }
#ALIAS frChargeTarget {
   #VAR chargeTarget %1
   #ECHO {%1 is now set as your charge target.}
   }
#ALIAS frWeaveTarget {
   #VAR weaveTarget %1
   #ECHO {%1 is now set as your weave target.}
   }
#ALIAS frWeave {
   #IF (%len(%2)) {#VAR frWeave %concat(%1," ",%2)} {#VAR frWeave %1}
   #ECHO {@frWeave is now set as your flee return weave.}
   }
#ALIAS weaveBash {
   #IF (%len(%2)) {#VAR bashWeave %concat(%1," ",%2)} {#VAR bashWeave %1}
   #ECHO {@bashweave is now set as your weave after a bash.}
   }
#VAR bsTarget {}
#VAR weaveTarget {}
#VAR chargeTarget {}
#VAR frWeave {}
#VAR bashWeave {}
#CLASS 0
#CLASS {Combat|BashRepeat} {disable}
#TRIGGER {Your bash * sprawling!} {bash}
#TRIGGER {Cancelled.} {#T- {Combat|BashRepeat}}
#TRIGGER {As * avoids your bash, you topple over and fall to the ground!} {#T- {Combat|BashRepeat}}
#TRIGGER {They're not here anymore!} {#T- {Combat|BashRepeat}}
#TRIGGER {Bash who?} {#T- {Combat|BashRepeat}}
#TRIGGER {They already seem to be stunned.} {bash}
#CLASS 0
#CLASS {Combat|FleeReturnStab} {disable}
#TRIGGER {PANIC!  You couldn't escape!} {
   #ABORT 1
   #T- {Combat|FleeReturnStab}
   }
#TRIGGER {^*obvious exits: * ]$} {
   #WALK @FleeFromId
   hide
   backstab @bsTarget
   #T- {Combat|FleeReturnStab}
   }
#CLASS 0
#CLASS {Combat|FleeReturnWeave} {disable}
#TRIGGER {PANIC!  You couldn't escape!} {
   #ABORT 1
   #T- {Combat|FleeReturnWeave}
   }
#TRIGGER {^*obvious exits: * ]$} {
   #WALK @FleeFromId
   channel '@frWeave'
   #T- {Combat|FleeReturnWeave}
   }
#CLASS 0
#CLASS {Combat|BashWeave} {disable}
#TRIGGER {Your bash * sprawling!} {
   channel '@bashWeave'
   #T- {Combat|BashWeave}
   }
#TRIGGER {Bash who?} {#T- {Combat|BashWeave}}
#TRIGGER {They already seem to be stunned.} {#T- {Combat|BashWeave}}
#TRIGGER {As * avoids your bash, you topple over and fall to the ground!} {#T- {Combat|BashWeave}}
#TRIGGER {Cancelled.} {#T- {Combat|BashWeave}}
#TRIGGER {They're not here anymore!} {#T- {Combat|BashWeave}}
#CLASS 0
#CLASS {Combat|FleeReturnCharge} {disable}
#TRIGGER {PANIC!  You couldn't escape!} {
   #ABORT 1
   #T- {Combat|FleeReturnCharge}
   }
#TRIGGER {^*obvious exits: * ]$} {
   #WALK @FleeFromId
   charge @chargeTarget
   #T- {Combat|FleeReturnCharge}
   }
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Sun Mar 27, 2016 4:02 pm, edited 11 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Sun Dec 13, 2015 7:45 am 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
-----Communications-----

This script takes all chats, narrates, yells, tells, says, hisses, and drawls placing them into a separate window called communications.
The script leaves the original copies in the main window.

Type helpCommunications to view help file.

Type toggleComms to toggle from just globals and tells to all communications.

To change font type and size, make Communications window active and click prefs button.
-select fonts from the left side preferences list.
--deselect "Use Output font from Inherited settings file" box.
---change font type and size in "Output Window Font"
----click apply.

To add time stamp to each communication captured in window, select Communications window as active and click the settings button.
-click "New" button side arrow (select trigger)
--place ^ as the pattern.
---place following code as value:
Code:
#SUB {~[%time(t)~]" " }


Code:
#CLASS {Communications}
#ALIAS helpCommunications {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----Communications Window Commands-----"}
   #SHOW {""}
   #SHOW {"Type toggleComms to toggle from globals and tells to all communications."}
   #SHOW {""}
   }
#ALIAS toggleComms {
   #IF (@toggleComms=1) {toggleComms=0} {toggleComms=1}
   #IF (@toggleComms=1) {
      #ECHO {Comms window is set to capture all communications.}
      #T+ Communications|ToggleComms
      } {
      #ECHO {Comms window is set to capture only gobals and tells.}
      #T- Communications|ToggleComms
      }
   }
#VAR toggleComms {0}
#TRIGGER {%w narrates '*'$} {#CAPTURE Communications}
#TRIGGER {%w chats '*'$} {#CAPTURE Communications}
#TRIGGER {%w tells you '*'$} {#CAPTURE Communications}
#TRIGGER {%w answers your prayer '*'$} {#CAPTURE Communications}
#TRIGGER {%w speaks from the * '*'$} {#CAPTURE Communications}
#TRIGGER {You narrate '*'$} {#CAPTURE Communications}
#TRIGGER {You chat '*'$} {#CAPTURE Communications}
#TRIGGER {You reply to %w '*'$} {#CAPTURE Communications}
#TRIGGER {You tell %w '*'$} {#CAPTURE Communications}
#TRIGGER {You pray '*'$} {#CAPTURE Communications}
#CLASS 0
#CLASS {Communications|ToggleComms}
#TRIGGER {%w bellows '*'$} {#CAPTURE Communications}
#TRIGGER {You bellow '*'$} {#CAPTURE Communications}
#TRIGGER {You hiss '*'$} {#CAPTURE Communications}
#TRIGGER {You say '*'$} {#CAPTURE Communications}
#TRIGGER {You drawl '*'$} {#CAPTURE Communications}
#TRIGGER {%w hisses '*'$} {#CAPTURE Communications}
#TRIGGER {%w says '*'$} {#CAPTURE Communications}
#TRIGGER {%w drawls '*'$} {#CAPTURE Communications}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Mon Apr 25, 2016 6:42 pm, edited 3 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Sat Dec 26, 2015 12:18 am 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
NO LONGER SUPPORTED

-----DamageTesting-----

Damage Testing Script Primer

UPDATES:
[5/3/2016]
Fixed small bug.
[5/19/2016]
Added Multiplier message to saved data if multiplier was greater than 1 at time of testing.
Added disconnect protection, script will now save data automatically if disconnected/re-connection.
-Must add command: dmgDisconnect to your atdisconnect alias. If you don't know what this is follow the following steps:
--In main settings window create a new alias. Name Alias atdisconnect. Place dmgDisconnect as value.
---zMUD automatically calls any commands saved in this alias when you disconnect from the mud.


Code:
#CLASS {DamageTesting}
#ALIAS helpDamageTesting {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----DamageTesting Commands and Settings-----"}
   #SHOW {""}
   #SHOW {"Type helpDTdata to view DamageTesting help file #2 (data)."}
   #SHOW {""}
   #SHOW {"DamageTesting requires installation of HoM ScoreStat, Beep, Practices, and WeaponType scripts."}
   #SHOW {"All dmgTest alias' auto target saplings if more than one exist in room."}
   #SHOW {"Begin all tests with the test weapon equipped that you want to test."}
   #SHOW {""}
   #SHOW {"Place the dmgTest alias's in a macro or type out command to begin testing."}
   #SHOW {""}
   #SHOW {"Type dmgTest <testType> to test a weapon."}
   #SHOW {"-Note: test types are: charge, stab, melee, projectile."}
   #SHOW {"--Example: dmgTest charge to test charge damage."}
   #SHOW {""}
   #SHOW {"Type dmgAutoTest <#> to set test number. (feature disabled on installation by default)"}
   #SHOW {"-Example: dmgAutoTest 50 will set counter for 50 successful tests."}
   #SHOW {"-Hint: can type a number after dmgTest command to shortcut dmgAutoTest function."}
   #SHOW {"--Example: type dmgTest Melee 50 to have script run automatically until 50 successful tests."}
   #SHOW {"---Due to botting rules @WoTmud use dmgAutoTest feature responsibly and at your own risk."}
   #SHOW {""}
   #SHOW {"Type dmgSetMulti <#> to set multiplier when exp is modified."}
   #SHOW {"-A trigger will automatically set multiplier on connection if an exp multiplier is present and detected."}
   #SHOW {""}
   #SHOW {"Type toggleAutoMend to toggle automatic weapon mending function on/off. (default off)"}
   #SHOW {"Type toggleAutoTest to toggle automatic test function on/off. (default off)"}
   #SHOW {"Type toggleAutoSteal to toggle automatic steal projectile function on/off. (default off)"}
   #SHOW {"Type toggleDamageResults to toggle if damage results will be shown in window. (default on)"}
   #SHOW {"Type toggleDamageWindow to toggle Damage Testing Results window on/off. (default off)"}
   #SHOW {""}
   #SHOW {"Note: type dmgToggleAuto to shortcut all Auto-Function toggles on or off. (mend, test, and steal)"}
   #SHOW {""}
   }
#ALIAS helpDTdata {
   #SHOW {""}
   #SHOW {""}
   #SHOW {"-----DamageTesting Data Help File-----"}
   #SHOW {""}
   #SHOW {"---View and Save test data results---"}
   #SHOW {"*Use dmgSave commands when finished testing -OR- switching tests to finalize the process."}
   #SHOW {"-Note: using the AutoTest feature automatically saves on completion of testing."}
   #SHOW {""}
   #SHOW {"Type dmgSave <testType>"}
   #SHOW {"-Example: dmgSave melee (will save results for a melee test and show in DTR window if enabled.)"}
   #SHOW {"--Note: testTypes include charge, stab, melee, and projectile."}
   #SHOW {"---Note: saving any of the above test data also saves testData.txt file."}
   #SHOW {""}
   #SHOW {"Type dmgView <fileType> to view the associated .txt file in main window."}
   #SHOW {"-Example: dmgView charge (will read the testChargeDamage.txt file in main window.)"}
   #SHOW {"--File types: charge, projectile, melee, stab."}
   #SHOW {""}
   #SHOW {"---Delete test data results---"}
   #SHOW {""}
   #SHOW {"Type dmgDelete <fileType> to delete the associated .txt file."}
   #SHOW {"-Example: dmgDelete charge will delete the testChargeDamage.txt file."}
   #SHOW {"--File types: charge, projectile, melee, stab, data."}
   #SHOW {""}
   #SHOW {"All test.txt files are located in the current directory containing your zMUD.EXE file."}
   #SHOW {""}
   }
#ALIAS toggleAutoSteal {
   #IF (@toggleAutoSteal=1) {toggleAutoSteal=0} {toggleAutoSteal=1}
   #IF (@toggleAutoSteal=1) {#ECHO {Auto steal projectile is turned on.}} {#ECHO {Auto steal projectile is turned off.}}
   }
#ALIAS toggleAutoMend {
   #IF (@toggleAutoMend=1) {toggleAutoMend=0} {toggleAutoMend=1}
   #IF (@toggleAutoMend=1) {#ECHO {Automatic mending turned on.}} {#ECHO {Automatic mending turned off.}}
   }
#ALIAS toggleAutoTest {
   #IF (@toggleAutoTest=1) {toggleAutoTest=0} {toggleAutoTest=1}
   #IF (@toggleAutoTest=1) {#ECHO {Automatic testing turned on.}} {#ECHO {Automatic testing turned off.}}
   }
#ALIAS dmgToggleAuto {
   #IF (@toggleAutoMend AND @toggleAutoSteal AND @toggleAutoTest) {} {
      toggleAutoMend=0
      toggleAutoSteal=0
      toggleAutoTest=0
      }
   #IF (@toggleAutoSteal=1) {toggleAutoSteal=0} {toggleAutoSteal=1}
   #IF (@toggleAutoSteal=1) {#ECHO {Auto steal projectile is turned on.}} {#ECHO {Auto steal projectile is turned off.}}
   #IF (@toggleAutoMend=1) {toggleAutoMend=0} {toggleAutoMend=1}
   #IF (@toggleAutoMend=1) {#ECHO {Automatic mending turned on.}} {#ECHO {Automatic mending turned off.}}
   #IF (@toggleAutoTest=1) {toggleAutoTest=0} {toggleAutoTest=1}
   #IF (@toggleAutoTest=1) {#ECHO {Automatic testing turned on.}} {#ECHO {Automatic testing turned off.}}
   }
#ALIAS toggleDamageResults {
   #IF (@toggleDamageResults=1) {toggleDamageResults=0} {toggleDamageResults=1}
   #IF (@toggleDamageResults=1) {#ECHO {Damage results will be shown in window.}} {#ECHO {Damage results will NOT be shown in window.}}
   }
#ALIAS toggleDamageWindow {
   #IF (@toggleDamageWindow=1) {toggleDamageWindow=0} {toggleDamageWindow=1}
   #IF (@toggleDamageWindow=1) {#ECHO {Damage Testing Window is turned on.}} {#ECHO {Damage Testing Window is turned off.}}
   }
#ALIAS dmgTest {
   #IF (%ismember(%lower(%1),@dmgTestTypes)) {
      %concat(dmg,%1,Test) %if(%isnumber(%2),%2,"")
   #IF (%lower(%1)=charge) {
      dmgCurrentFile=1
      #FILE @dmgCurrentFile testChargeDamage.txt
      } {}
   #IF (%lower(%1)=stab) {
      dmgCurrentFile=3
      #FILE @dmgCurrentFile testStabDamage.txt
      } {}
   #IF (%lower(%1)=projectile) {
      dmgCurrentFile=2
      #FILE @dmgCurrentFile testProjectileDamage.txt
      } {}
   #IF (%lower(%1)=melee) {
      dmgCurrentFile=4
      #FILE @dmgCurrentFile testWeaponDamage.txt
      } {}
      } {
      #ECHO {}
      #ECHO {dmgTest ~<testType~> ~<testAmount~>}
      #ECHO {Valid test types: charge, projectile, melee, stab.}
      #ECHO {Shortcut dmgAutoTest function by adding the number of tests after the type.}
      beepRepeat
      }
   }
#ALIAS dmgChargeTest {
   #IF (%isnumber(%1)) {dmgAutoTest %1}
   #IF (@dmgMultiplier>1) {#ALARM +2 {#ECHO {Multiplier function is on. Multiplier set at @dmgMultiplier}}} {}
   #SHOW {Running charge test...}
   dmgAutoTarget charge
   }
#ALIAS dmgProjectileTest {
   #IF (%isnumber(%1)) {dmgAutoTest %1}
   #IF (@dmgMultiplier>1) {#ALARM +2 {#ECHO {Multiplier function is on. Multiplier set at @dmgMultiplier}}} {}
   #SHOW {Running projectile test...}
   dmgAutoTarget throw
   }
#ALIAS dmgStabTest {
   #IF (%isnumber(%1)) {dmgAutoTest %1}
   #IF (@dmgMultiplier>1) {#ALARM +2 {#ECHO {Multiplier function is on. Multiplier set at @dmgMultiplier}}} {}
   #SHOW {Running stab test...}
   #VAR dmgHideCount {0}
   #T+ dmgHideTrigger
   #T+ {DamageTesting|TestCancelled}
   #T+ dmgScoreTrigger
   score
   hide
   }
#ALIAS dmgMeleeTest {
   #IF (%isnumber(%1)) {dmgAutoTest %1}
   #IF (@dmgMultiplier>1) {#ALARM +2 {#ECHO {Multiplier function is on. Multiplier set at @dmgMultiplier}}} {}
   #SHOW {Running melee test...}
   #IF (@dmgWeaponName=@weaponCurrentName AND %len(@dmgWeaponName)) {dmgAutoTarget kill} {dmgSetWeapon set}
   }
#ALIAS dmgSave {
   #IF (%ismember(%lower(%1),@dmgTestTypes)) {
      #IF (@toggleDamageWindow) {
         #WINDOW DamageTestingResults
         #EXECUTE :DamageTestingResults:%concat(dmg,%1,Results)
         } {%concat(dmg,%1,Results)}
      } {
      #ECHO {}
      #ECHO {dmgSave ~<testType~>}
      #ECHO {Valid test types: charge, projectile, melee, stab.}
      beepRepeat
      }
   }
#ALIAS dmgChargeResults {
   dmgSetData5
   #MATH dmgAverage @dmgTotal/@dmgEvent
   #FILE @dmgCurrentFile testChargeDamage.txt
   #WRITE @dmgCurrentFile {~#MATH dmgAverage @dmgTotal/@dmgEvent}
   #WRITE @dmgCurrentFile {~#SHOW ~{Minimum damage done:@dmgMin~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Maximum damage done:@dmgMax~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Average damage done:@dmgAverage~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Tests this session:@dmgEvent~}}
   #IF (@dmgMultiplier>1) {#WRITE @dmgCurrentFile {~#SHOW ~{Damage Testing multiplier set to @dmgMultiplier~}}} {}
   #WRITE @dmgCurrentFile {dmgTotal=0}
   #WRITE @dmgCurrentFile {dmgEvent=0}
   #WRITE @dmgCurrentFile {dmgMin=1000}
   #WRITE @dmgCurrentFile {dmgMax=0}
   #IF (@toggleDamageWindow) {#EXECUTE :@scoreName:dmgTestReset} {dmgTestReset}
   #CLOSE @dmgCurrentFile
   #IF (@toggleDamageResults) {#READ testChargeDamage.txt} {}
   }
#ALIAS dmgProjectileResults {
   dmgSetData5
   #MATH dmgAverage @dmgTotal/@dmgEvent
   #MATH dmgCritAverage @dmgCritTotal/@dmgCritEvent
   #MATH dmgTotalEvent @dmgEvent+@dmgCritEvent
   #FILE @dmgCurrentFile testProjectileDamage.txt
   #WRITE @dmgCurrentFile {~#MATH dmgAverage @dmgTotal/@dmgEvent}
   #WRITE @dmgCurrentFile {~#MATH dmgCritAverage @dmgCritTotal/@dmgCritEvent}
   #WRITE @dmgCurrentFile {~#MATH dmgTotalEvent @dmgEvent+@dmgCritEvent}
   #WRITE @dmgCurrentFile {~#SHOW ~{Minimum damage done:@dmgMin~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Maximum damage done:@dmgMax~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Average damage done:@dmgAverage~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Minimum critical damage done:@dmgCritMin~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Maximum critical damage done:@dmgCritMax~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Average critical damage done:@dmgCritAverage~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Critical hits this session:@dmgCritEvent~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Total number of tests this session:@dmgTotalEvent~}}
   #IF (@dmgMultiplier>1) {#WRITE @dmgCurrentFile {~#SHOW ~{Damage Testing multiplier set to @dmgMultiplier~}}} {}
   #WRITE @dmgCurrentFile {dmgTotal=0}
   #WRITE @dmgCurrentFile {dmgEvent=0}
   #WRITE @dmgCurrentFile {dmgCritTotal=0}
   #WRITE @dmgCurrentFile {dmgCritEvent=0}
   #WRITE @dmgCurrentFile {dmgMin=1000}
   #WRITE @dmgCurrentFile {dmgMax=0}
   #WRITE @dmgCurrentFile {dmgCritMin=1000}
   #WRITE @dmgCurrentFile {dmgCritMax=0}
   #IF (@toggleDamageWindow) {#EXECUTE :@scoreName:dmgTestReset} {dmgTestReset}
   #CLOSE @dmgCurrentFile
   #IF (@toggleDamageResults) {#READ testProjectileDamage.txt} {}
   }
#ALIAS dmgStabResults {
   dmgSetData5
   #MATH dmgAverage @dmgTotal/@dmgEvent
   #FILE @dmgCurrentFile testStabDamage.txt
   #WRITE @dmgCurrentFile {~#MATH dmgAverage @dmgTotal/@dmgEvent}
   #WRITE @dmgCurrentFile {~#SHOW ~{Minimum damage done:@dmgMin~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Maximum damage done:@dmgMax~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Average damage done:@dmgAverage~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Tests this session:@dmgEvent~}}
   #IF (@dmgMultiplier>1) {#WRITE @dmgCurrentFile {~#SHOW ~{Damage Testing multiplier set to @dmgMultiplier~}}} {}
   #WRITE @dmgCurrentFile {dmgTotal=0}
   #WRITE @dmgCurrentFile {dmgEvent=0}
   #WRITE @dmgCurrentFile {dmgMin=1000}
   #WRITE @dmgCurrentFile {dmgMax=0}
   #IF (@toggleDamageWindow) {#EXECUTE :@scoreName:dmgTestReset} {dmgTestReset}
   #CLOSE @dmgCurrentFile
   #IF (@toggleDamageResults) {#READ testStabDamage.txt} {}
   }
#ALIAS dmgMeleeResults {
   dmgSetData5
   #MATH dmgAverage @dmgTotal/@dmgEvent
   #FILE @dmgCurrentFile testWeaponDamage.txt
   #WRITE @dmgCurrentFile {~#MATH dmgAverage @dmgTotal/@dmgEvent}
   #WRITE @dmgCurrentFile {~#SHOW ~{Minimum damage done:@dmgMin~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Maximum damage done:@dmgMax~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Average damage done:@dmgAverage~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{Tests this session:@dmgEvent~}}
   #IF (@dmgMultiplier>1) {#WRITE @dmgCurrentFile {~#SHOW ~{Damage Testing multiplier set to @dmgMultiplier~}}} {}
   #WRITE @dmgCurrentFile {dmgTotal=0}
   #WRITE @dmgCurrentFile {dmgEvent=0}
   #WRITE @dmgCurrentFile {dmgMin=1000}
   #WRITE @dmgCurrentFile {dmgMax=0}
   #IF (@toggleDamageWindow) {#EXECUTE :@scoreName:dmgTestReset} {dmgTestReset}
   #CLOSE @dmgCurrentFile
   #IF (@toggleDamageResults) {#READ testWeaponDamage.txt} {}
   }
#ALIAS dmgSetData5 {
   dmgSetPracs
   #FILE 5 testData.txt
   #WRITE 5 {@dmgTestType ~[@dmgWeaponName~] %time(c)}
   #IF (@dmgMultiplier>1) {#WRITE {Experience multiplier detected at @dmgMultiplier times normal.}} {}
   #WRITE 5 {@statClass STR:@statSTR INT:@statINT WIL:@statWIL DEX:@statDEX CON:@statCON}
   #IF (%lower(@dmgTestType)=charge) {#WRITE 5 {@dmgPracCharge @dmgPracLances @dmgPracSpears @dmgPracRide}} {}
   #IF (%lower(@dmgTestType)=stab) {#WRITE 5 {@dmgPracBackstab @dmgPracShortBlades @dmgPracJavelins}} {}
   #IF (%lower(@dmgTestType)=projectile) {#WRITE 5 {@dmgPracProjectiles @dmgPracPalm @dmgPracBackstab}} {}
   #IF (%lower(@dmgTestType)=projectile) {#WRITE 5 {@dmgPracShortBlades @dmgPracSpears @dmgPracJavelins}} {}
   #IF (@dmgMultiplier>1) {#WRITE @dmgCurrentFile {~#SHOW ~{Damage Testing multiplier set to @dmgMultiplier~}}} {}
   #FORALL @dmgDataList {#WRITE 5 {%i}}
   #CLOSE 5
   }
#ALIAS dmgDelete {
   #IF (%ismember(%lower(%1),@dmgFileTypes)) {%concat(dmg,%1,Delete)} {
      #ECHO {}
      #ECHO {dmgDelete ~<fileType~>}
      #ECHO {Valid file types: charge, projectile, melee, stab, data.}
      beepRepeat
      }
   }
#ALIAS dmgChargeDelete {
   #FILE 1 testChargeDamage.txt
   #ERASE 1
   }
#ALIAS dmgProjectileDelete {
   #FILE 2 testProjectileDamage.txt
   #ERASE 2
   }
#ALIAS dmgStabDelete {
   #FILE 3 testStabDamage.txt
   #ERASE 3
   }
#ALIAS dmgMeleeDelete {
   #FILE 4 testWeaponDamage.txt
   #ERASE 4
   }
#ALIAS dmgDataDelete {
   #FILE 5 testData.txt
   #ERASE 5
   }
#ALIAS dmgView {
   #IF (%ismember(%lower(%1),@dmgFileTypes)) {%concat(dmg,%1,Read)} {
      #ECHO {}
      #ECHO {dmgView ~<fileType~>}
      #ECHO {Valid file types: charge, projectile, melee, stab.}
      beepRepeat
      }
   }
#ALIAS dmgChargeRead {#READ testChargeDamage.txt}
#ALIAS dmgProjectileRead {#READ testProjectileDamage.txt}
#ALIAS dmgStabRead {#READ testStabDamage.txt}
#ALIAS dmgMeleeRead {#READ testWeaponDamage.txt}
#ALIAS dmgSetMulti {
   #VAR dmgMultiplier {%1}
   #ECHO {Damage Testing multiplier set to @dmgMultiplier.}
   }
#ALIAS dmgSetPracs {
   #GVARIABLE dmgPracBackstab %additem(%concat("backstab","(",%eval(%concat("@prac",@scoreName,backstab)),"%)"))
   #GVARIABLE dmgPracCharge %additem(%concat("charge","(",%eval(%concat("@prac",@scoreName,charge)),"%)"))
   #GVARIABLE dmgPracJavelins %additem(%concat("javelins","(",%eval(%concat("@prac",@scoreName,javelins)),"%)"))
   #GVARIABLE dmgPracLances %additem(%concat("lances","(",%eval(%concat("@prac",@scoreName,lances)),"%)"))
   #GVARIABLE dmgPracPalm %additem(%concat("palm","(",%eval(%concat("@prac",@scoreName,palm)),"%)"))
   #GVARIABLE dmgPracProjectiles %additem(%concat("projectiles","(",%eval(%concat("@prac",@scoreName,projectiles)),"%)"))
   #GVARIABLE dmgPracRide %additem(%concat("ride","(",%eval(%concat("@prac",@scoreName,ride)),"%)"))
   #GVARIABLE dmgPracShortBlades %additem(%concat("shortblades","(",%eval(%concat("@prac",@scoreName,shortblades)),"%)"))
   #GVARIABLE dmgPracSpears %additem(%concat("spears","(",%eval(%concat("@prac",@scoreName,spears)),"%)"))
   }
#ALIAS dmgAutoTest {
   #IF (@toggleAutoTest) {   
      #VAR dmgTestCount {0}
      #VAR dmgCounter %1
      #SHOW {""}
      #ECHO {AutoTest counter set to @dmgCounter}
      #SHOW {""}
      } {#ECHO {Automatic testing is turned off...}}
   }
#ALIAS dmgRetestFunction {
   #T- {DamageTesting|TestCancelled}
   #IF (@toggleAutoTest) {%concat("dmg",@dmgTestType,"Test")} {}
   }
#ALIAS dmgCountCompletion {
   #ECHO {You have reached you goal of @dmgCounter successful damage tests.}
   beepRepeat
   #T- {DamageTesting|TestCancelled}
   #T- dmgMeleeTrigger
   #T- dmgMeleeTrigger2
   dmgCountTrigs off
   #ALARM +3 {dmgSave @dmgTestType}
   #T+ dmgFinalWield
   }
#ALIAS dmgAutoTarget {
   #VAR dmgTestTypeAttack {%1}
   #IF (%1=charge) {
      #T+ dmgScoreTrigger
      #T+ dmgChargeTrigger
      score
      } {}
   #IF (%1=throw) {
      #T+ dmgScoreTrigger
      dmgThrowTrigs on
      score
      } {}
   #IF (%1=backstab) {#T+ dmgBackstabTrigger} {}
   #IF (%1=kill) {
      #T+ dmgScoreTrigger
      #T+ dmgMeleeTrigger
      #T+ dmgMeleeTrigger2
      score
      } {}
   #T+ {DamageTesting|TestCancelled}
   #VAR dmgHitCount {0}
   #VAR dmgSaplingRoomCount {0}
   #T+ dmgSaplingTrigger
   look
   }
#ALIAS dmgSetWeapon {
   #IF (%1=set) {
      #T+ dmgWeaponTrigger1
      equipment
      } {}
   #IF (%1=weapon) {
      #ALARM +.5 {
         #ECHO {Current test weapon ~[@dmgWeaponName~]}
         dmgAutoTarget kill
         }
      #VAR dmgWeaponName {@weaponCurrentName}
      #VAR dmgWeaponKeyword {@weaponCurrentKeyword}
      #WRITE @dmgCurrentFile {~#SHOW ~{~}}
      #WRITE @dmgCurrentFile {~#SHOW ~{~[@dmgWeaponName~] %time(c)~}}
      #IF (@dmgMultiplier>1) {#WRITE {~#SHOW ~{Experience multiplier detected at @dmgMultiplier times normal.~}}} {}
      #WRITE @dmgCurrentFile {~#SHOW ~{@statClass STR:@statSTR INT:@statINT WIL:@statWIL DEX:@statDEX CON:@statCON~}}
      #T+ dmgMeleeTrigger
      #T+ dmgMeleeTrigger2
      dmgWeaponTrigs off
      } {}
   }
#ALIAS dmgMendWeapon {
   #IF (@toggleAutoMend) {
      dmgMendTrigs on
      #IF (%lower(%1)="charge") {
         dismount
         remove %2
         mend %2
         } {}
      #IF (%lower(%1)="projectile") {mend %2} {}
      #IF (%lower(%1)="stab") {
         remove %2
         mend %2
         } {}
      #IF (%lower(%1)="melee") {
         remove %2
         mend %2
         } {}
      } {#ECHO {AutoMend function is turned off...}}
   }
#ALIAS dmgTestCancelled {
   beepRepeat
   #CLOSE @dmgCurrentFile
   #IF (@dmgCounter>0) {dmgAutoTest 0} {}
   #SHOW {dmgTest Cancelled.}
   #T- {DamageTesting|TestCancelled}
   #T- dmgMeleeTrigger
   #T- dmgMeleeTrigger2
   dmgCountTrigs off
   dmgMendTrigs off
   dmgSaplingTrigs off
   dmgStealTrigs off
   dmgWeaponTrigs off
   }
#ALIAS dmgDisconnect {#IF (%numitems(@dmgDataList)) {dmgSave @dmgTestType} {}}
#ALIAS dmgTestReset {
   #T- {DamageTesting|TestCancelled}
   #T- dmgMeleeTrigger
   #T- dmgMeleeTrigger2
   dmgCountTrigs off
   dmgMendTrigs off
   dmgSaplingTrigs off
   dmgStealTrigs off
   dmgWeaponTrigs off
   #RESET DamageTesting
   }
#ALIAS dmgCountTrigs {
   #IF (%1=on) {
      #T+ dmgCountTrigger
      #T+ dmgCountTrigger2
      } {}
   #IF (%1=off) {
      #T- dmgCountTrigger
      #T- dmgCountTrigger2
      } {}
   }
#ALIAS dmgMendTrigs {
   #IF (%1=on) {
      #T+ dmgMendTrigger
      #T+ dmgMendTrigger2
      } {}
   #IF (%1=off) {
      #T- dmgMendTrigger
      #T- dmgMendTrigger2
      } {}
   }
#ALIAS dmgSaplingTrigs {
   #IF (%1=off) {
      #T- dmgSaplingTrigger
      #T- dmgSaplingTrigger2
      #T- dmgSaplingTrigger3
      } {}
   }
#ALIAS dmgStealTrigs {
   #IF (%1=on) {
      #T+ dmgStealTrigger
      #T+ dmgStealFailTrigger
      #T+ dmgStealNoItem
      #T+ dmgStealNoItem2
      } {}
   #IF (%1=off) {
      #T- dmgStealTrigger
      #T- dmgStealFailTrigger
      #T- dmgStealNoItem
      #T- dmgStealNoItem2
      } {}
   }
#ALIAS dmgThrowTrigs {
   #IF (%1=on) {
      #T+ dmgThrowTrigger
      #T+ dmgThrowTrigger1
      #T+ dmgThrowTrigger2
      #T+ dmgThrowTrigger3
      } {}
   #IF (%1=off) {
      #T- dmgThrowTrigger
      #T- dmgThrowTrigger1
      #T- dmgThrowTrigger2
      #T- dmgThrowTrigger3
      } {}
   }
#ALIAS dmgWeaponTrigs {
   #IF (%1=on) {
      #T+ dmgWeaponTrigger2
      #T+ dmgWeaponTrigger3
      #T+ dmgWeaponTrigger4
      } {}
   #IF (%1=off) {
      #T- dmgWeaponTrigger2
      #T- dmgWeaponTrigger3
      #T- dmgWeaponTrigger4
      } {}
   }
#GVARIABLE dmgAverage {0} {0}
#GVARIABLE dmgCritAverage {0} {0}
#GVARIABLE dmgCritEvent {0} {0}
#GVARIABLE dmgCritMax {0} {0}
#GVARIABLE dmgCritMin {1000} {1000}
#GVARIABLE dmgCritTotal {0} {0}
#GVARIABLE dmgEvent {0} {0}
#GVARIABLE dmgMax {0} {0}
#GVARIABLE dmgMin {1000} {1000}
#GVARIABLE dmgPracBackstab {} {}
#GVARIABLE dmgPracCharge  {} {}
#GVARIABLE dmgPracJavelins {} {}
#GVARIABLE dmgPracLances {} {}
#GVARIABLE dmgPracPalm {} {}
#GVARIABLE dmgPracProjectiles {} {}
#GVARIABLE dmgPracRide {} {}
#GVARIABLE dmgPracShortBlades {} {}
#GVARIABLE dmgPracSpears {} {}
#GVARIABLE dmgTotal {0} {0}
#GVARIABLE dmgTotalEvent {0} {0}
#VAR dmgCounter {0} {0}
#VAR dmgCurrentFile {}
#VAR dmgDataList {} {}
#VAR dmgFileType {} {}
#VAR dmgFileTypes {charge|projectile|melee|stab|data} {charge|projectile|melee|stab|data}
#VAR dmgHideCount {0} {0}
#VAR dmgHitCount {0} {0}
#VAR dmgMultiplier {1}
#VAR dmgSaplingCount {1} {1}
#VAR dmgSaplingRoomCount {0} {0}
#VAR dmgSaplingTarget {0} {0}
#VAR dmgStealCount {0} {0}
#VAR dmgTemp1 {0} {0}
#VAR dmgTemp2 {0} {0}
#VAR dmgTemp3 {0} {0}
#VAR dmgTemp4 {0} {0}
#VAR dmgTestCount {0} {0}
#VAR dmgTestType {} {}
#VAR dmgTestTypeAttack {} {}
#VAR dmgTestTypes {charge|projectile|melee|stab} {charge|projectile|melee|stab}
#VAR dmgWeaponKeyword {} {}
#VAR dmgWeaponName {} {}
#VAR dmgWeaponSave {} {}
#VAR toggleAutoMend {0}
#VAR toggleAutoSteal {0}
#VAR toggleAutoTest {0}
#VAR toggleDamageResults {1}
#VAR toggleDamageWindow {0}
#TRIGGER {^Welcome to the Wheel of Time!  Type 'help' for information.$} {#VAR dmgMultiplier {1}}
#TRIGGER {^SPECIAL FEATURE! Today's XP multiplier is (%d). Enjoy!$} {
   #VAR dmgMultiplier {%1}
   #ECHO {Damage Testing multiplier set to @dmgMultiplier.}
   }
#TRIGGER {Running &%wdmgTestType test...} {
   #T- dmgSuccessTrigger
   #IF (@toggleAutoTest) {#IF (@dmgCounter>1) {dmgCountTrigs on} {dmgCountTrigs off}} {}
   }
#TRIGGER {&%wdmgTestType test complete.} {
   #IF (%ismember(Projectile,@dmgTestType)) {
      #IF (@toggleAutoSteal) {
         #VAR dmgStealCount {0}
         dmgStealTrigs on
         steal @dmgWeaponKeyword @{dmgSaplingTarget}.sapling
         } {#ECHO {AutoSteal is turned off...}}
      } {dmgMendWeapon @dmgTestType @dmgWeaponKeyword}
   #T- dmgDoubleHitTrigger
   #T- {DamageTesting|TestCancelled}
   }
#TRIGGER "dmgWeaponTrigger1" {^You are using:} {
   dmgWeaponTrigs on
   #T- dmgWeaponTrigger1
   } "" {disable}
#TRIGGER "dmgWeaponTrigger2" {^~<wielded~>%s%1%s$} {
   dmgSetWeapon weapon
   } "" {disable}
#TRIGGER "dmgWeaponTrigger3" {^~<wielded two-handed~>%s%1%s$} {
   dmgSetWeapon weapon
   } "" {disable}
#TRIGGER "dmgWeaponTrigger4" {HP:%w(*)MV:%w } {
   #IF (@dmgWeaponName=@weaponCurrentName AND %len(@dmgWeaponName)) {} {   
      #ECHO {}
      #ECHO {No weapon equiped...}
      beepRepeat
      dmgTestCancelled
      }
   dmgWeaponTrigs off
   } "" {disable|prompt|nocr}
#TRIGGER "dmgSaplingTrigger" {^~[ obvious exits: * ~]$} {
   #ADD dmgSaplingCount 1
   #T+ dmgSaplingTrigger2
   #T+ dmgSaplingTrigger3
   #T- dmgSaplingTrigger
   } "" {disable}
#TRIGGER "dmgSaplingTrigger2" {^A young leatherleaf begins to thicken with age.$} {
   #ADD dmgSaplingRoomCount 1
   } "" {disable}
#TRIGGER "dmgSaplingTrigger3" {HP:%w(*)MV:%w } {
   #IF (@dmgSaplingRoomCount>1) {   
      #IF (@dmgSaplingCount>@dmgSaplingRoomCount) {
         #VAR dmgSaplingCount {2}
         #VAR dmgSaplingTarget {2}
         @dmgTestTypeAttack @{dmgSaplingTarget}.sapling
         } {
         #VAR dmgSaplingTarget {@dmgSaplingCount}
         @dmgTestTypeAttack @{dmgSaplingTarget}.sapling
         }
      } {
      dmgTestCancelled
      #ECHO {No available targets located...}
      }
   #T- dmgSaplingTrigger2
   #T- dmgSaplingTrigger3
   } "" {disable|prompt|nocr}
#TRIGGER "dmgMendTrigger" {^You begin finishing off the edges of %1...$} {
   #T- dmgCancelledTrigger
   #T+ dmgMendTrigger3
   stand
   #IF (%lower(@dmgTestType)=charge) {
      ride horse
      wield @dmgWeaponKeyword
      } {}
   #IF (%lower(@dmgTestType)=projectile) {
      wield @dmgWeaponKeyword
      } {}
   #IF (%lower(@dmgTestType)=stab) {
      wield @dmgWeaponKeyword
      } {}
   #IF (%lower(@dmgTestType)=melee) {
      wield @dmgWeaponKeyword
      } {}
   dmgMendTrigs off
   } "" {disable}
#TRIGGER "dmgMendTrigger2" {But it is not even scratched!$} {
   wield @dmgWeaponKeyword
   dmgMendTrigs off
   } "" {disable}
#TRIGGER "dmgMendTrigger3" {^You stand up.$} {
   #T+ dmgCancelledTrigger
   #T- dmgMendTrigger3
   } "" {disable}
#TRIGGER "dmgStealTrigger" {^Got it!$} {
   dmgMendWeapon @dmgTestType @dmgWeaponKeyword
   dmgStealTrigs off
   } "" {disable}
#TRIGGER "dmgStealFailTrigger" {^Oops..$} {
   #ADD dmgStealCount 1
   #IF (@dmgStealCount>10) {
      #SHOW {Steal failed %eval(@dmgStealCount-1) times. Test halted.}
      beepRepeat
      dmgStealTrigs off
      } {steal @dmgWeaponKeyword @{dmgSaplingTarget}.sapling}
   } "" {disable}
#TRIGGER "dmgStealNoItem" {^It hasn't got that item.$} {
   get @dmgWeaponKeyword all.corpse
   dmgMendWeapon @dmgTestType @dmgWeaponKeyword
   dmgStealTrigs off
   } "" {disable}
#TRIGGER "dmgStealNoItem2" {Steal what from who?$} {
   get @dmgWeaponKeyword all.corpse
   dmgMendWeapon @dmgTestType @dmgWeaponKeyword
   dmgStealTrigs off
   } "" {disable}
#TRIGGER "dmgCountTrigger" {You wield @dmgWeaponName} {
   #IF (@dmgTestCount<@dmgCounter) {
      #ALARM +.5 {%concat("dmg",@dmgTestType,"Test")}
      } {}
   dmgCountTrigs off
   } "" {disable}
#TRIGGER "dmgCountTrigger2" {This is beyond your ability to repair...$} {
   dmgTestCancelled
   dmgSave @dmgTestType
   } "" {disable}
#TRIGGER "dmgScoreTrigger" {^You have scored &dmgTemp1 experience points and %d quest points.$} {
   #T- dmgScoreTrigger
   } "" {disable}
#TRIGGER "dmgSuccessTrigger" {^You have scored &dmgTemp2 experience points and %d quest points.$} {
   #MATH dmgTemp3 (@dmgTemp2 - @dmgTemp1)
   #MATH dmgTemp4 (@dmgTemp3 / 6)
   #MATH dmgTemp4 (@dmgTemp4 / @dmgMultiplier)
   #IF (@dmgTemp4>0) {
      #VAR dmgDataList %additem(@dmgTemp4,@dmgDataList)
      #WRITE @dmgCurrentFile {~#ADD dmgTotal @dmgTemp4}
      #WRITE @dmgCurrentFile {~#ADD dmgEvent 1}
      #ADD dmgTotal @dmgTemp4
      #ADD dmgEvent 1
      #IF (@dmgTemp4>@dmgMax) {
         #VAR dmgMax @dmgTemp4
         #WRITE @dmgCurrentFile {~#VAR dmgMax @dmgTemp4}
         }
      #IF (@dmgTemp4<@dmgMin) {
         #VAR dmgMin @dmgTemp4
         #WRITE @dmgCurrentFile {~#VAR dmgMin @dmgTemp4}
         }
      #ADD dmgTestCount 1
      } {}
   #ALARM +1 {
      #ECHO {}
      #ECHO {@dmgTemp4 points of @dmgTestType damage. ~[@dmgWeaponName~] %if(@dmgCounter>0,@dmgTestCount out of @dmgCounter successful tests.,"")}
      #IF (@dmgTemp4=0) {dmgTestCancelled} {#SHOW {%proper(@dmgTestType) test complete.}}
      #IF (@dmgTestCount=@dmgCounter AND @dmgCounter>0) {dmgCountCompletion} {}
      }
   #T- dmgSuccessTrigger
   } "" {disable}
#TRIGGER "dmgCriticalTrigger" {^You have scored &dmgTemp2 experience points and %d quest points.$} {
   #MATH dmgTemp3 (@dmgTemp2 - @dmgTemp1)
   #MATH dmgTemp4 (@dmgTemp3 / 6)
   #MATH dmgTemp4 (@dmgTemp4 / @dmgMultiplier)
   #IF (@dmgTemp4>0) {
      #VAR dmgDataList %additem(%concat(@dmgTemp4," crit"),@dmgDataList)
      #WRITE @dmgCurrentFile {~#ADD dmgCritTotal @dmgTemp4}
      #WRITE @dmgCurrentFile {~#ADD dmgCritEvent 1}
      #ADD dmgCritTotal @dmgTemp4
      #ADD dmgCritEvent 1
      #IF (@dmgTemp4>@dmgCritMax) {
         #VAR dmgCritMax @dmgTemp4
         #WRITE @dmgCurrentFile {~#VAR dmgCritMax @dmgTemp4}
         }
      #IF (@dmgTemp4<@dmgCritMin) {
         #VAR dmgCritMin @dmgTemp4
         #WRITE @dmgCurrentFile {~#VAR dmgCritMin @dmgTemp4}
         }
      #ADD dmgTestCount 1
      } {}
   #ALARM +1 {
      #ECHO {}
      #ECHO {@dmgTemp4 points of critical @dmgTestType damage. ~[@dmgWeaponName~] %if(@dmgCounter>0,@dmgTestCount out of @dmgCounter successful tests.,"")}
      #IF (@dmgTemp4=0) {dmgTestCancelled} {#SHOW {%proper(@dmgTestType) test complete.}}
      #IF (@dmgTestCount=@dmgCounter AND @dmgCounter>0) {dmgCountCompletion} {}
      }
   #T- dmgCriticalTrigger
   } "" {disable}
#TRIGGER "dmgThrowTrigger" {You throw &dmgWeaponName at %2.$} {
   #IF (@dmgWeaponName=%lower(@dmgWeaponSave)) {} {#T+ dmgSaveThrown}
   #T- dmgThrowTrigger
   } "" {disable}
#TRIGGER "dmgSaveThrown" {^&dmgWeaponSave arcs through the air.$} {
   #VAR dmgWeaponKeyword {@weaponThrownKeyword}
   dmgSetPracs
   #WRITE @dmgCurrentFile {~#SHOW ~{~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{~[%lower(@dmgWeaponSave)~] %time(c)~}}
   #IF (@dmgMultiplier>1) {#WRITE {~#SHOW ~{Experience multiplier detected at @dmgMultiplier times normal.~}}} {}
   #WRITE @dmgCurrentFile {~#SHOW ~{@statClass STR:@statSTR INT:@statINT WIL:@statWIL DEX:@statDEX CON:@statCON~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{@dmgPracProjectiles @dmgPracPalm @dmgPracBackstab~}}
   #WRITE @dmgCurrentFile {~#SHOW ~{@dmgPracShortBlades @dmgPracSpears @dmgPracJavelins~}}
   #T- dmgSaveThrown
   } "" {disable}
#TRIGGER "dmgThrowTrigger1" {^%1 grunts in pain as %2 is struck by %3.$} {
   #T+ dmgSuccessTrigger
   score
   dmgThrowTrigs off
   } "" {disable}
#TRIGGER "dmgThrowTrigger2" {^%1 rips through %2 guts as it collapses to the ground.$} {
   #T+ dmgSuccessTrigger
   score
   dmgThrowTrigs off
   } "" {disable}
#TRIGGER "dmgThrowTrigger3" {^%1 spasms in excruciating pain as %2 is struck by %3.$} {
   #T+ dmgCriticalTrigger
   score
   dmgThrowTrigs off
   } "" {disable}
#TRIGGER "dmgChargeTrigger" {^Chaaaaarrrge!! %1 bleeds profusely as you skewer %2 with %3!$} {
   disengage
   #T+ dmgSuccessTrigger
   #T+ dmgDoubleHitTrigger
   #T+ dmgDoubleHitTrigger2
   #IF (%ismember(%3,@dmgWeaponName)) {} {
      dmgSetPracs
      #VAR dmgWeaponName {@weaponCurrentName}
      #VAR dmgWeaponKeyword {@weaponCurrentKeyword}
      #WRITE @dmgCurrentFile {~#SHOW ~{~}}
      #WRITE @dmgCurrentFile {~#SHOW ~{~[@dmgWeaponName~] %time(c)~}}
      #IF (@dmgMultiplier>1) {#WRITE {~#SHOW ~{Experience multiplier detected at @dmgMultiplier times normal.~}}} {}
      #WRITE @dmgCurrentFile {~#SHOW ~{@statClass STR:@statSTR INT:@statINT WIL:@statWIL DEX:@statDEX CON:@statCON~}}
      #WRITE @dmgCurrentFile {~#SHOW ~{@dmgPracCharge @dmgPracLances @dmgPracSpears @dmgPracRide~}}
      }
   score
   #T- dmgChargeTrigger
   } "" {disable}
#TRIGGER "dmgHideTrigger" {You attempt to hide yourself.} {
   #VAR dmgHideCount {0}
   dmgAutoTarget backstab
   #T- dmgHideTrigger
   } "" {disable}
#TRIGGER "dmgBackstabTrigger" {^%1 makes a strange sound as you place %2 in %3 back!$} {
   disengage
   #T+ dmgSuccessTrigger
   #T+ dmgDoubleHitTrigger
   #T+ dmgDoubleHitTrigger2
   #IF (%ismember(%2,@dmgWeaponName)) {} {
      dmgSetPracs
      #VAR dmgWeaponName {@weaponCurrentName}
      #VAR dmgWeaponKeyword {@weaponCurrentKeyword}
      #WRITE @dmgCurrentFile {~#SHOW ~{~}}
      #WRITE @dmgCurrentFile {~#SHOW ~{~[@dmgWeaponName~] %time(c)~}}
      #IF (@dmgMultiplier>1) {#WRITE {~#SHOW ~{Experience multiplier detected at @dmgMultiplier times normal.~}}} {}
      #WRITE @dmgCurrentFile {~#SHOW ~{@statClass STR:@statSTR INT:@statINT WIL:@statWIL DEX:@statDEX CON:@statCON~}}
      #WRITE @dmgCurrentFile {~#SHOW ~{@dmgPracBackstab @dmgPracShortBlades @dmgPracJavelins~}}
      }
   score
   #T- dmgBackstabTrigger
   } "" {disable}
#TRIGGER "dmgDoubleHitTrigger" {You * a stout young sapling's *$} {
   #T- dmgSuccessTrigger
   #ECHO {Double hit detected...}
   dmgMendWeapon @dmgTestType @dmgWeaponKeyword
   #T- dmgDoubleHitTrigger
   #T- dmgDoubleHitTrigger2
   } "" {disable}
#TRIGGER "dmgDoubleHitTrigger2" {^A stout young sapling is dead!  R.I.P.$} {
   #T- dmgDoubleHitTrigger
   #T- dmgDoubleHitTrigger2
   } "" {disable}
#TRIGGER "dmgMeleeTrigger" {You * a stout young sapling's *$} {
   #IF (@dmgHitCount=1) {} {disengage}
   #ADD dmgHitCount 1
   #IF (@dmgHitCount>1) {
      #ECHO {Double hit detected...}
      dmgMendWeapon @dmgTestType @dmgWeaponKeyword
      #T- dmgMeleeTrigger
      } {#T+ dmgSuccessTrigger}
   } "" {disable}
#TRIGGER "dmgMeleeTrigger2" {^You disengage from the fight.} {
   #IF (@dmgHitCount>1) {#T- dmgSuccessTrigger} {score}
   #T- dmgMeleeTrigger2
   } "" {disable}
#TRIGGER "dmgFinalWield" {^You stand up.$} {
   #IF (%lower(@dmgTestType)=projectile) {wield @weaponThrownKeyword} {wield @weaponLastKeyword}
   #T- dmgFinalWield
   } "" {disable}
#CLASS 0
#CLASS {DamageTesting|TestCancelled} {disable}
#TRIGGER {You can't find anything to conceal yourself with.$} {
   #ADD dmgHideCount 1
   #IF (@dmgHideCount<10) {hide} {dmgTestCancelled}
   }
#TRIGGER {You look around for somewhere to conceal yourself, but to no avail.$} {
   #ADD dmgHideCount 1
   #IF (@dmgHideCount<10) {hide} {dmgTestCancelled}
   }
#TRIGGER {^Oops. Your lame efforts cause you to miss.$} {
   disengage
   dmgRetestFunction
   }
#TRIGGER {^%1 just misses %2 and falls to the ground.$} {
   get @dmgWeaponKeyword
   wield @dmgWeaponKeyword
   sheath @dmgWeaponKeyword
   draw @dmgWeaponKeyword
   dmgRetestFunction
   }
#TRIGGER {^%1 deflects %2 that was thrown at %3.$} {
   get @dmgWeaponKeyword
   wield @dmgWeaponKeyword
   sheath @dmgWeaponKeyword
   draw @dmgWeaponKeyword
   dmgRetestFunction
   }
#TRIGGER {^Ooops. Your clumsy execution broadcasts your intentions.$} {
   disengage
   dmgRetestFunction
   }
#TRIGGER "dmgCancelledTrigger" {^Cancelled.$} {
   #IF (@dmgTestType=charge) {#T- dmgChargeTrigger} {}
   #IF (@dmgTestType=stab) {#T- dmgBackstabTrigger} {}
   dmgTestCancelled
   } "" {disable}
#TRIGGER {You should be sitting on the ground to do this...$} {
   dismount
   mend @dmgWeaponKeyword
   }
#TRIGGER {They aren't here.$} {dmgTestCancelled}
#TRIGGER {You do the best you can!$} {dmgTestCancelled}
#TRIGGER {Backstab who?$} {dmgTestCancelled}
#TRIGGER {Backstab them?!? They are in the throes of battle!$} {dmgTestCancelled}
#TRIGGER {^You can't backstab a fighting person, too alert!$} {dmgTestCancelled}
#TRIGGER {^Only stabbing or piercing weapons can be used for backstabbing.$} {dmgTestCancelled}
#TRIGGER {Throw at who?$} {dmgTestCancelled}
#TRIGGER {You need to wield a weapon to make it a success.$} {dmgTestCancelled}
#TRIGGER {The fighting is too thick for you to be able to aim properly!$} {dmgTestCancelled}
#TRIGGER {You don't have anything to throw!$} {dmgTestCancelled}
#TRIGGER {You can't throw that!$} {dmgTestCancelled}
#TRIGGER {Charge who?$} {dmgTestCancelled}
#TRIGGER {It would help to be riding a mount.$} {dmgTestCancelled}
#TRIGGER {There's not nearly enough room to maneuver your mount here!$} {dmgTestCancelled}
#TRIGGER {Charge them?!? They are in the throes of battle!$} {dmgTestCancelled}
#TRIGGER {^Only lancing or spear weapons can be used for charging.$} {dmgTestCancelled}
#TRIGGER {^You can't charge a fighting person, you might hit the wrong target!$} {dmgTestCancelled}
#TRIGGER {No way!  You're fighting for your life!$} {dmgTestCancelled}
#TRIGGER {It is pitch black...$} {dmgTestCancelled}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Wed May 03, 2017 2:58 am, edited 19 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Thu Jan 07, 2016 5:53 pm 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
MOVED
see new location here: Table of Contents

-----DiagnoseCondition-----

This script takes the pattern received by the diagnose (examine or look) command and gives the corresponding condition.
Thanks goes to Ominas for the idea and Thuvia for the patterns posted on WoTMUD Wiki.

Note: shows (Healthy) for equipment in excellent condition when examined...

Example: diag Taziar
Taziar has a few scratches. (Scratched)

Code:
#CLASS {DiagnoseCondition}
#TRIGGER {^(*) is in excellent condition.$} {#SUB {%1 is in excellent condition. ~(Healthy~)}}
#TRIGGER {^(*) has a few scratches.$} {#SUB {%1 has a few scratches. ~(Scratched~)}}
#TRIGGER {^(*) has some small wounds and bruises.} {#SUB {%1 has some small wounds and bruises. ~(Hurt~)}}
#TRIGGER {^(*) has quite a few wounds.} {#SUB {%1 has quite a few wounds. ~(Wounded~)}}
#TRIGGER {^(*) has some big nasty wounds and scratches.} {#SUB {%1 has some big nasty wounds and scratches. ~(Battered~)}}
#TRIGGER {^(*) looks pretty hurt.} {#SUB {%1  looks pretty hurt. ~(Beaten~)}}
#TRIGGER {^(*) is in awful condition.} {#SUB {%1 is in awful condition. ~(Critical~)}}
#TRIGGER {^(*) is lying here, stunned.} {#SUB {%1 is lying here, stunned. ~(Stunned!~)}}
#TRIGGER {^(*) is bleeding awfully from big wounds.} {#SUB {%1 is bleeding awfully from big wounds. ~(INCAPACITATED!!~)}}
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Wed May 03, 2017 2:55 am, edited 5 times in total.

Top
 Profile  
 
 Post subject: Re: House of Medakan
PostPosted: Wed Jan 20, 2016 2:10 pm 
Offline

Joined: Tue Apr 07, 2015 8:24 pm
Posts: 156
Location: Seattle
Horse Scripts

-----Razor Script-----

This script is a revised version of a script I wrote to make Razors in Bandar Eban.

type 'makeRazor' 1n Bandar Eban palace stable, script will do the rest.

Code:
#CLASS {Razor}
#ALIAS makeRazor {
   #T+ Razor|razorTrigger
   fetch shovel
   }
#CLASS 0
#CLASS {Razor|razorTrigger} {disable}
#TRIGGER {You fetch a shovel.} {get shovel}
#TRIGGER {You get a shovel.} {muckout stable}
#TRIGGER {You can continue to shovel straw.} {
   shovel straw
   #T+ Razor|razorTrigger2
   }
#CLASS {Razor|razorTrigger2} {disable}
#TRIGGER {You gather another shovel of straw and deposit it in the wheelbarrow.} {shovel straw}
#TRIGGER {You deposit the last shovelful in the wheelbarrow and cart it off.} {
   #T+ Razor|razorTrigger3
   #T- Razor|razorTrigger2
   }
#CLASS 0
#CLASS {Razor|razorTrigger3} {disable}
#TRIGGER {You can continue working and groom a horse.} {groom horse}
#COND {You can continue working and clean the tack.} {
   clean tack
   #T- Razor|razorTrigger3
   #T- Razor|razorTrigger
   }
#CLASS 0


-----HorseNumberingScript-----

Have used this scrip for years and forget where I got it originally, the author is unknown to me.
I have modified this script from the original.

This script places a number in front of horse/shadow/torm/raken names and room descriptions to aid in targeting.

Code:
#CLASS {HorseNumberingScript}
#VAR horsecount {0}
#VAR tormcount {0}
#VAR rakencount {0}
#VAR shadowcount {0}
#VAR horselist {warhorse|wild stallion|gray palfrey|roan charger|black stallion|shaggy brown mare|draft horse|dust-colored gelding|bloodstock stallion|dun mare|brown stallion|prancing palomino mare|domani razor}
#TRIGGER {obvious exits:} {
   #VAR horsecount 0
   #VAR tormcount 0
   #VAR rakencount 0
   #VAR shadowcount 0
   }
#TRIGGER {here, riding a (*).} {
   #IF %ismember( %1, @horselist)>0 {
      #MATH horsecount @horsecount+1
      #SUB {here, riding a ~|@horsecount~|~.%1~.}
      }
   }
#TRIGGER {here, riding a raken.} {
   #MATH rakencount @rakencount+1
   #SUB {here, riding a ~<color purple>~|@rakencount~|~.~</color>raken.}
   }
#TRIGGER {here, riding a torm.} {
   #MATH tormcount @tormcount+1
   #SUB {here, riding a ~<color purple>~|@tormcount~|~.~</color>torm.}
   }
#TRIGGER {A massive three-eyed reptile gazes at you} {
   #MATH tormcount @tormcount+1
   #SUB {~<color purple>~|@tormcount~|~.~</color>A massive three-eyed reptile gazes at you}
   }
#TRIGGER {here, riding a shadow stallion.} {
   #MATH shadowcount @shadowcount+1
   #SUB {here, riding a ~<color red>~|@shadowcount~|~.~</color>shadow stallion.}
   }
#TRIGGER {A black shadow stallion paws the ground here, fiery-red eyes shining with evil} {
   #MATH shadowcount @shadowcount+1
   #SUB {~<color red>~|@shadowcount~|~.~</color>A black shadow stallion paws the ground here, fiery-red eyes shining with evil}
   }
#TRIGGER {here, riding an Illianer steed.} {
   #MATH horsecount @horsecount+1
   #SUB {here, riding an ~|@horsecount~|~.Illianer steed.}
   }
#TRIGGER {A gray palfrey prances skittishly nearby} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A gray palfrey prances skittishly nearby}
   }
#TRIGGER {A warhorse is here, stamping his feet impatiently} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A warhorse is here, stamping his feet impatiently}
   }
#TRIGGER {A wild stallion bucks madly} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A wild stallion bucks madly}
   }
#TRIGGER {A draft horse is here} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A draft horse is here}
   }
#TRIGGER {A shaggy brown mare stands here} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A shaggy brown mare stands here}
   }
#TRIGGER {An Illianer steed stands here proudly, its black mane glistening} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.An Illianer steed stands here proudly, its black mane glistening}
   }
#TRIGGER {A dun mare is here, snorting angrily} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A dun mare is here, snorting angrily}
   }
#TRIGGER {A tall dust-colored gelding prances in a circle here} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A tall dust-colored gelding prances in a circle here}
   }
#TRIGGER {A Tairen bloodstock stallion stands here, tail swaying with the breeze} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A Tairen bloodstock stallion stands here, tail swaying with the breeze}
   }
#TRIGGER {Prancing about on dainty feet, a palomino mare stands here} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.Prancing about on dainty feet, a palomino mare stands here}
   }
#TRIGGER {A black stallion prances about} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.A black stallion prances about}
   }
#TRIGGER {Eyes keen, a Domani razor stands here swishing its tail} {
   #MATH horsecount @horsecount+1
   #SUB {~|@horsecount~|~.Eyes keen, a Domani razor stands here swishing its tail}
   }
#CLASS 0


Table of Contents

_________________
House of Medakan cMUD Scripts: Table of Contents

House of Medakan zMUD Scripts: Table of Contents


Last edited by Taziar on Sun Mar 27, 2016 4:04 pm, edited 4 times in total.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 31 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group