BowCombat (script)

From Elanthipedia
Jump to navigation Jump to search
BowCombat (script)
Category combat,Warrior Mage
Front-end StormFront
Author Deke


Warrior Mage bow hunting script

# TO DO
# Set up to use variable to loot or not loot.
# Lots of misc clean-up


DEBUG OFF

SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable WEAPON %WLBOW%
SetVariable CBTGETWEAPON CBTGETWLBOW
SetVariable CBTGETNEXTWEAPON CBTGETWSBOW
SetVariable WEAPEXP long bow
SetVariable CRIT1 [critter you want to hunt]
SetVariable SKINTYPE hide

# This variable dictates whether or not you get full aim or just snap fire.
# Set to AIM1RETREATFIRE for full aim, FIRE1 will just launch the missle.
SetVariable FIRETYPE AIM1RETREATFIRE

# This variable keeps the script from repeating the CHECKWEAPONINHAND section after a kill.
# It only does the CHECKWEAPONINHAND section the first time through.
SetVariable INCASTLOOP CHECKWEAPONINHAND

# Set LOOK1 to LOOK1 to disarm critters, set to GETBOWRETREAT for critters without weapons.
SetVariable LOOK1 GETBOWRETREAT

# This is the the variable that contains the what to look for string to disarm critters.
SetVariable WHAT2LOOK4 /It is carrying.*(sapling|shield)/i

SetVariable SHIELDDESTINATION SH2HAND
SetVariable MOVESHIELDRETURN SCRINITSTANCE
GoTo FINDSHIELD

SCRINITSTANCE:
SetVariable SSRETURN CRITTERLOOK
SetVariable STANCETYPE shield
GoTo SETSTANCE

CRITTERLOOKW:
Pause 1
CRITTERLOOK:
Matchre LOOKCOUNT /%CRIT1%(,|\.|\sand|\sthat)/i
Matchre EXIT /You're very beat up|You're beat up|You're badly hurt|You're smashed|You're terribly wounded|near death/i
Matchre WAITFORCRITTERS /Obvious\s(exits|paths)/i
Matchre CRITTERLOOKW /Sorry,|\.\.\.wait/i
put look
MatchWait

WAITFORCRITTERSW:
Pause 1
WAITFORCRITTERS:
Matchre %LOOK1% /pole weapon range on you|melee range on you|pads heavily into the area|begins to advance on you|%CRIT1% just arrived|(menacingly|tromps) into view|tromps in|\.\]/i
Matchre EXIT /You're very beat up|You're beat up|You're badly hurt|You're smashed|You're terribly wounded|near death/i
#Matchre CLEANJUNK /You gesture|don't have a spell prepared/i
Matchre WAITFORCRITTERSW /Sorry,|\.\.\.wait/i
put cast
MatchWait

LOOKCOUNTW:
Pause 1
LOOKCOUNT:
put retreat
Matchre ESCAPE /%CRIT1%(,|\.|\sand|\sthat).*%CRIT1%(,|\.|\sand|\sthat).*%CRIT1%(,|\.|\sand|\sthat).*%CRIT1%(,|\.|\sand|\sthat).*%CRIT1%(,|\.|\sand|\sthat).*%CRIT1%(,|\.|\sand|\sthat)/i
Matchre %LOOK1% /%CRIT1%(,|\.|\sand|\sthat)/i
Matchre LOOKCOUNTW /Sorry,|\.\.\.wait/i
put look
MatchWait

LOOK1:
SetVariable LOOKNEXT LOOK2
SetVariable LC first %CRIT1%
GoTo LOOK4WEAPONS

LOOK2:
SetVariable LOOKNEXT LOOK3
SetVariable LC second %CRIT1%
GoTo LOOK4WEAPONS

LOOK3:
SetVariable LOOKNEXT LOOK4
SetVariable LC third %CRIT1%
GoTo LOOK4WEAPONS

LOOK4:
SetVariable LOOKNEXT LOOK5
SetVariable LC fourth %CRIT1%
GoTo LOOK4WEAPONS

LOOK5:
SetVariable LOOKNEXT LOOK6
SetVariable LC fifth %CRIT1%
GoTo LOOK4WEAPONS

LOOK6:
SetVariable LOOKNEXT LOOK7
SetVariable LC sixth %CRIT1%
GoTo LOOK4WEAPONS

LOOK7:
SetVariable LOOKNEXT ESCAPE
SetVariable LC seventh %CRIT1%
GoTo LOOK4WEAPONS

LOOK4WEAPONSW:
Pause 1
LOOK4WEAPONS:
put retreat
SetVariable TINGLERETURN %LOOKNEXT
Matchre PREPTINGLE %WHAT2LOOK4%
Match GETBOWRETREAT It is carrying nothing
Match CRITTERLOOK what you were referring to
Matchre LOOK4WEAPONSW /Sorry,|\.\.\.wait/i
put look %LC
MatchWait

PREPTINGLEW:
Pause 1
PREPTINGLE:
Match RELEASEGETBOWRETREAT aren't sure you can get enough to cast
Match PREHARNESSRETREAT You trace an arcane sigil in the air
Match TINGLERELEASE You are already preparing
Matchre PREPTINGLEW /Sorry,|\.\.\.wait/i
put prep tingle 8
MatchWait

RELEASEGETBOWRETREAT:
put release
GoTo GETBOWRETREAT

TINGLERELEASEW:
Pause 1
TINGLERELEASE:
Match PREPTINGLE RELEASE HELP
Match TINGLERELEASEW /Sorry,|\.\.\.wait/i
put release
MatchWait

PREHARNESSRETREAT:
SetVariable RETREATRETURN TINGLEHARNESS
GoTo RETREAT

TINGLEHARNESSW:
Pause 1
TINGLEHARNESS:
Match PRECASTRETREAT Roundtime
Match TINGLECAST cannot harness that much power
Matchre TINGLEHARNESSW /Sorry,|\.\.\.wait/i
put harness 3
MatchWait

PRECASTRETREAT:
SetVariable RETREATRETURN TINGLECAST
GoTo RETREAT

TINGLECASTW:
Pause 1
TINGLECAST:
Match %TINGLERETURN You gesture
Matchre TINGLECASTW /Sorry,|\.\.\.wait/i
put cast %LC
MatchWait

GETBOWRETREAT:
SetVariable RETREATRETURN %INCASTLOOP
GoTo RETREAT

CHECKWEAPONINHANDW:
Pause 1
CHECKWEAPONINHAND:
Matchre SETSTANCEEVASION /%WSBOW%|%WLBOW%|%WCBOW%|%WHX%|%WLX%|%WSLING%|%WSSLING%/i
Matchre SHEATHEWEAPON /%W2HE%|%WHE%|%WME%|%WLE%/i
Matchre %CBTGETWEAPON% /glance down at your empty hands|shield in your (left|right) hand/i
Matchre CHECKWEAPONINHANDW /Sorry,|\.\.\.wait/i
put glance
MatchWait

SHEATHEWEAPONW:
Pause 1
SHEATHEWEAPON:
Match %CBTGETWEAPON You sheathe
Matchre SHEATHEWEAPONW /Sorry,|\.\.\.wait/i
put sheathe r
MatchWait

#**************************************************************************************

SETSTANCEEVASION:
SetVariable STANCETYPE evasion
SetVariable SSRETURN RETREATTOFIGHT
GoTo SETSTANCE

RETREATTOFIGHT:
SetVariable RETREATRETURN WEARSHIELD1
GoTo RETREAT
 
WEARSHIELD1:
SetVariable MOVESHIELDRETURN RETREATLOAD
SetVariable DUMMY %SHIELDLOCATION%-SH2SHOULDER
GoTo %DUMMY%

RETREATLOAD:
SetVariable SPELL2CAST ES
SetVariable INCASTLOOP %SPELL2CAST
SetVariable RETREATRETURN LOADANDFIRE
SetVariable FIRECAST FIRE1
GoTo RETREAT

TW:
#Set MANABADRETURN to LOADANDFIRE for quick fire
SetVariable MANAGOODRETURN BOWBUFF
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable RETREATRETURN BOWBUFFMANACHECK
SetVariable HARNESSAMOUNT 15
SetVariable PREPAMOUNT 15
SetVariable SPELL2CAST TW
SetVariable INCASTLOOP %SPELL2CAST
GoTo RETREAT

ES:
#Set MANABADRETURN to LOADANDFIRE for quick fire
SetVariable MANAGOODRETURN BOWBUFF
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable RETREATRETURN BOWBUFFMANACHECK
SetVariable HARNESSAMOUNT 15
SetVariable PREPAMOUNT 15
SetVariable SPELL2CAST ES
SetVariable INCASTLOOP %SPELL2CAST
GoTo RETREAT

SUF:
#Set MANABADRETURN to LOADANDFIRE for quick fire
SetVariable MANAGOODRETURN BOWBUFF
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable RETREATRETURN BOWBUFFMANACHECK
SetVariable HARNESSAMOUNT 15
SetVariable PREPAMOUNT 15
SetVariable SPELL2CAST SUF
SetVariable INCASTLOOP %SPELL2CAST
GoTo RETREAT

SW:
#Set MANABADRETURN to LOADANDFIRE for quick fire
SetVariable MANAGOODRETURN BOWBUFF
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable RETREATRETURN BOWBUFFMANACHECK
SetVariable HARNESSAMOUNT 15
SetVariable PREPAMOUNT 15
SetVariable SPELL2CAST SW
SetVariable INCASTLOOP %SPELL2CAST
GoTo RETREAT

YS:
#Set MANABADRETURN to LOADANDFIRE for quick fire
SetVariable MANAGOODRETURN BOWBUFF
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREAT2LOAD RETREAT2LOAD
SetVariable RETREATRETURN BOWBUFFMANACHECK
SetVariable HARNESSAMOUNT 15
SetVariable PREPAMOUNT 15
SetVariable SPELL2CAST YS
SetVariable INCASTLOOP %SPELL2CAST
GoTo RETREAT

LOADANDFIRE:
SetVariable FIRECAST FIRE1
GoTo LOADQUICKFIRE

BOWBUFFMANACHECKW:
Pause 1
BOWBUFFMANACHECK:
Match %MANAGOODRETURN >50
Matchre %MANABADRETURN% /_50|\|50/
Matchre BOWBUFFMANACHECKW /Sorry,|\.\.\.wait/i
put harness
MatchWait

BOWBUFFW:
Pause 1
BOWBUFF:
SetVariable FIRECAST RETCAST
Match RETREAT2HARNESS You trace an arcane sigil in the air
Match FASTCAST You are already preparing
Matchre BOWBUFFW /Sorry,|\.\.\.wait/i
put prep %SPELL2CAST %PREPAMOUNT
MatchWait

FASTCASTW:
Pause 1
FASTCAST:
Match RETREAT2LOAD you gesture
Match FASTCASTW  /Sorry,|\.\.\.wait/i
put cast
MatchWait

RETREAT2HARNESS:
SetVariable RETREATRETURN BOWBUFFHARNESS
GoTo RETREAT

BOWBUFFHARNESSW:
Pause 1
BOWBUFFHARNESS:
Match %RETREAT2LOAD Roundtime:
Matchre BOWBUFFHARNESSW /Sorry,|\.\.\.wait/i
put harness %HARNESSAMOUNT
MatchWait

TARGETHEAD:
put target head
GoTo RETREAT2LOAD

RETREAT2LOAD:
SetVariable RETREATRETURN LOAD
GoTo RETREAT

LOADW:
Pause 1
put retreat
LOAD:
Matchre RETREAT2AIM /roundtime|is already loaded/i
Matchre SETBOWTYPEWHX /load the.*%WHX% with/i
Matchre SETBOWTYPEWLX /load the.*%WLX% with/i
Matchre SETBOWTYPEWLBOW /load the.*%WLBOW% with/i
Matchre SETBOWTYPEWSBOW /load the.*%WSBOW% with/i
Matchre SETBOWTYPEWCBOW /load the.*%WCBOW% with/i
Matchre SETBOWTYPEWSLING /load the.*%WSLING% with/i
Matchre SETBOWTYPEWSSLING /load the.*%WSSLING% with/i
Match UNLOADSTOWGLANCE You don't have the proper ammunition readily available
Matchre LOADW /Sorry,|\.\.\.wait/i
put load
MatchWait

LOADQUICKFIREW:
Pause 1
LOADQUICKFIRE:
SetVariable FIRETYPE FIRE1
Matchre RETAIMQUICKFIRECBOW /load the.*%WCBOW% with/i
Matchre RETREAT2AIM /roundtime|is already loaded/i
Match UNLOADSTOWGLANCE You don't have the proper ammunition readily available
Matchre LOADQUICKFIREW /Sorry,|\.\.\.wait/i
put load
MatchWait

# Example to use the aiming loop>> SetVariable FIRETYPE AIM1RETREATFIRE ,SetVariable FIRETYPE FIRE1 will just launch the missle.

RETAIMQUICKFIRECBOW:
SetVariable RETREATRETURN QUICKFIRECBOWAIM
GoTo RETREAT

QUICKFIRECBOWAIMW:
Pause 1
QUICKFIRECBOWAIM:
SetVariable CRIT2SKINRETURN QUICKFIRECBOW
Match SAVECRIT2SKIN1 %CRIT1
Match %FIRETYPE% already targetting that
Matchre DEADCRITTERCHECK /what you were referring to|are you trying to aim|you cannot face it|is already quite dead/i
Matchre QUICKFIRECBOWAIMW /Sorry,|\.\.\.wait/i
put aim
MatchWait

QUICKFIRECBOW:
Matchre %FIRECAST% /You think you have your best shot possible now|you feel fully prepared/i
Matchre RETREAT2FATIGUECHECK /concentrating intently on something|searches the area|growling a spell|advance on you|pole weapon range on you|melee range on you|to shake violently|\.\]/i
Matchre RETREAT2UNLOAD /all movement\.|lies still\.|collapses with a heavy thud\./i
Matchre AIM1RETREATFIREW /Sorry,|\.\.\.wait/i
#put look
MatchWait

RETREAT2FATIGUECHECK:
SetVariable RETREATRETURN FATIGUECHECK
GoTo RETREAT

FATIGUECHECKW:
Pause 1
FATIGUECHECK:
Matchre QUICKFIRECBOWRETREAT /advance on you|You are somewhat tired|You are slightly fatigued|pole weapon range on you|melee range on you|\.\]/i
Matchre %FIRECAST% /You think you have your best shot possible now|You are completely rested/i
Matchre FATIGUECHECKW /Sorry,|\.\.\.wait/i
put fatigue
MatchWait

QUICKFIRECBOWRETREAT:
SetVariable RETREATRETURN QUICKFIRECBOW
GoTo QUICKFIRECBOW

SETBOWTYPEWHX:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWLX:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWLBOW:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWSBOW:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWCBOW:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWSLING:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

SETBOWTYPEWSSLING:
SetVariable FIRETYPE AIM1RETREATFIRE
GoTo RETREAT2AIM

RETREAT2AIM:
SetVariable RETREATRETURN AIM
GoTo RETREAT

AIMW:
Pause 1
put retreat
AIM:
SetVariable CRIT2SKINRETURN %FIRETYPE%
Match SAVECRIT2SKIN1 %CRIT1
Match %FIRETYPE% You are already targetting that
Matchre DEADCRITTERCHECK /what you were referring to|are you trying to aim|you cannot face it|is already quite dead/i
Matchre AIMW /Sorry,|\.\.\.wait/i
put aim
MatchWait

# This is only here for clarity, the actual section exists in common script section.
# SAVECRIT2SKIN1:
# SetVariable CRITTER2SKIN %CRIT1
# GoTo %CRIT2SKINRETURN

#******** Need to aim use this ********

AIM1RETREATFIRE:
Save %c
Counter set 0
RETCYCLE0:
RETCYCLE1:
RETCYCLE2:
RETCYCLE3:
#RETCYCLE4:
SetVariable CRIT2SKINRETURN RETREAT2UNLOAD
Matchre %FIRECAST% /You think you have your best shot possible now|you feel fully prepared/i
Matchre RETREATAIMCYCLE /pole weapon range on you|melee range on you|\.\]/i
Matchre RETREAT2UNLOAD /all movement\.|lies still\.|collapses with a heavy thud\.|falls dead to the ground|as it expires/i
Matchre AIM1RETREATFIREW /Sorry,|\.\.\.wait/i
#put look
MatchWait

AIM1RETREATFIREW:
Pause 1
GoTo RETCYCLE%c

RETREATAIMCYCLE:
Matchre %FIRECAST% /You think you have your best shot possible now|you feel fully prepared/i
Matchre RETADDCOUNTER /You retreat from combat|as far away as you can get/i
Matchre RETREATAIMCYCLE /You retreat back to pole range|You try to back away/i
Matchre RETREAT2UNLOAD /all\smovement\.|lies still\.collapses with a heavy thud\.|falls dead to the ground|as it expires/i
Matchre RETREATAIMCYCLEW /Sorry,|\.\.\.wait/i
put retreat
MatchWait

RETREATAIMCYCLEW:
Pause 1
GoTo RETREATAIMCYCLE

RETADDCOUNTER:
Counter add 1
GoTo RETCYCLE%c

RETCYCLE4:
GoTo %FIRECAST

RETCASTW:
Pause 1
RETCAST:
Matchre RETCASTRELEASE /Your secondary spell pattern dissipates|You are unable to harness|You don't have a spell prepared|targeted elsewhere/i
Matchre POST%SPELL2CAST /You gesture|Roundtime/i
Matchre RETCASTW /Sorry,|\.\.\.wait/i
put cast
MatchWait

POSTES:
SetVariable SPELL2CAST SUF
GoTo FIRE1

POSTSUF:
SetVariable SPELL2CAST YS
GoTo FIRE1

POSTYS:
SetVariable SPELL2CAST SW
GoTo FIRE1

POSTSW:
SetVariable SPELL2CAST TW
GoTo FIRE1

POSTTW:
SetVariable SPELL2CAST SUF
GoTo FIRE1

RETCASTRELEASEW:
Pause 1
RETCASTRELEASE:
Match FIRE1 RELEASE HELP
Matchre RETCASTRELEASEW /Sorry,|\.\.\.wait/i
put release
MatchWait

FIRE1W:
Pause 1
FIRE1:
Matchre SKINSTART /all\smovement\.|lies still\.|collapses with a heavy thud\./i
Matchre LOOKCOUNT /%CRIT1%.*medium shield/i
Matchre DEADCRITTERCHECK /but you fire anyway|you were referring to|already quite dead|you turn/i
Match %SPELL2CAST roundtime
Matchre FIRE1W /Sorry,|\.\.\.wait/i
put fire
MatchWait


#**********************************************************************
# this section unloads and bow drops the bolt, arrow, rock.
#**********************************************************************

RETREAT2UNLOAD:
SetVariable RETREATRETURN UNLOADBOW
GoTo RETREAT

UNLOADBOWW:
Pause 1
UNLOADBOW:
Match UNLOADEMPTY You unload
Matchre SKINSTART /falls from your|falls to the ground|isn't loaded/i
Matchre UNLOADBOW /Sorry,|\.\.\.wait/i
put unload
MatchWait

UNLOADEMPTYW:
Pause 1
UNLOADEMPTY:
Matchre SKINSTART /hand is already empty|You drop/i
Matchre UNLOADEMPTYW /Sorry,|\.\.\.wait/i
put empty left
MatchWait


#***************************************************************************
# Critter dead begin skin and or search sequence
#***************************************************************************

SKINSTARTRELEASEW:
Pause 1
SKINSTARTRELEASE:
Match SKINSTART RELEASE HELP
Match SKINSTARTRELEASEW /Sorry,|\.\.\.wait/i
put release
MatchWait

SKINSTART:
SetVariable RETREATRETURN SKINGETSHIELD
GoTo RETREAT

SKINGETSHIELDW:
Pause 1
SKINGETSHIELD:
SetVariable MOVESHIELDRETURN SKINSETSTANCE
SetVariable DUMMY %SHIELDLOCATION%-SH2HAND
GoTo %DUMMY%

SKINSETSTANCE:
SetVariable SSRETURN SKINSTOW%CBTGETWEAPON
SetVariable STANCETYPE shield
GoTo SETSTANCE

SKINSTOWW:
Pause 1
SKINSTOWCBTGETW2HE:
SKINSTOWCBTGETWHE:
SKINSTOWCBTGETWME:
SKINSTOWCBTGETWLE:
SKINSTOWCBTGETW2HB:
SKINSTOWCBTGETWHB:
SKINSTOWCBTGETWMB:
SKINSTOWCBTGETWLB:
SKINSTOWCBTGETWSSLING:
SKINSTOWCBTGETWLBOW:
SKINSTOW:
Matchre RETREAT2UNLOAD /You need to unload|You should unload/i
Matchre SHEATH2CONTAINER /to fit in the|There isn't any more room/i
Match SKINGETKNIFE You sheathe
Matchre SKINSTOWW /Sorry,|\.\.\.wait/i
put sheathe my %WEAPON%
MatchWait

SHEATH2CONTAINERW:
Pause 1
SKINSTOWCBTGETWSBOW:
SKINSTOWCBTGETWCBOW:
SKINSTOWCBTGETWHX:
SKINSTOWCBTGETWLX:
SKINSTOWCBTGETWSLING:
SHEATH2CONTAINER:
Matchre RETREAT2UNLOAD /You need to unload|You should unload/i
Match SKINGETKNIFE You sheathe
Matchre SHEATH2CONTAINERW /Sorry,|\.\.\.wait/i
put sheathe my %WEAPON% in my %CONTAINER%
MatchWait

#SKINSTOWWLBOWW:
#Pause 1
#SKINSTOWWLBOW:
#Match STOWBOWGLANCE already wearing that
#Matchre RETREAT2UNLOAD /You need to unload|You should unload/i
#Match SKINGETKNIFE over your shoulder
#Matchre SKINSTOWWLBOWW /Sorry,|\.\.\.wait/i
#put wear my %WLBOW
#MatchWait

SKINGETKNIFEW:
Pause 1
SKINGETKNIFE:
Match GOTKNIFE You draw
Matchre SKINGETKNIFEW /Sorry,|\.\.\.wait/i
put wield my %SKINKNIFE
MatchWait

GOTKNIFE:
put retreat
SetVariable SSRETURN WEARSHTOSKIN
SetVariable STANCETYPE parry
GoTo SETSTANCE

WEARSHTOSKIN:
SetVariable MOVESHIELDRETURN RETREAT2SKINIT
SetVariable DUMMY %SHIELDLOCATION%-SH2SHOULDER
GoTo %DUMMY%

RETREAT2SKINIT:
SetVariable RETREATRETURN SKINIT
GoTo RETREAT

#****************************

SKINIT:
Matchre NOSKIN /to that of mud|destroying the skin|never live this down|Maybe next time|beyond recognition|good, long while|it went wrong|left to salvage|you approach .*'s kill|already been skinned|Skin what|being flayed alive|butter knife|dripping tatters|teeth and nails|There isn't another/i
Matchre SKINNED /You skillfully peel|nearly ruining it|fluids from the carcass|splashing of gore|flesh beneath it/i
Matchre SKINIT /Sorry,|\.\.\.wait/i
put Skin %CRITTER2SKIN
MatchWait

SKINNED:
Match NOSKIN you drop
Matchre SKINNED /Sorry,|\.\.\.wait/i
put drop %SKINTYPE
MatchWait

NOSKIN:
SetVariable MOVESHIELDRETURN SKINSTANCESHIELD
SetVariable DUMMY %SHIELDLOCATION%-SH2HAND
GoTo %DUMMY%

SKINSTANCESHIELD:
SetVariable SSRETURN SKINDONERETREAT
SetVariable STANCETYPE shield
GoTo SETSTANCE

SKINDONERETREAT:
SetVariable RETREATRETURN SKINDONESEARCH
GoTo RETREAT

SKINDONESEARCH:
Matchre SETGETARROW /You move over to.*kill|razor-edged arrow|basilisk head arrow|silver-tipped arrow/i
Matchre SETGETCOIN /(copper|bronze|silver|gold|platinum)\scoin|You also find/i
Matchre SETBURDENCHECK /picked clean of anything it might have had|carried nothing of interest|you were referring to|It's not dead yet/i
Matchre SKINDONESEARCH /Sorry,|\.\.\.wait/i
put search %CRITTER2SKIN
MatchWait

SETGETARROW:
SetVariable SHEATHESKINKNIFERETURN GARETREAT
GoTo SHEATHESKINKNIFE

SETGETCOIN:
SetVariable SHEATHESKINKNIFERETURN GETCOINRETREAT
GoTo SHEATHESKINKNIFE

SETBURDENCHECK:
SetVariable SHEATHESKINKNIFERETURN BURDENCHECKRETREAT
GoTo SHEATHESKINKNIFE

SHEATHESKINKNIFEW:
Pause 1
SHEATHESKINKNIFE:
Match %SHEATHESKINKNIFERETURN you sheathe
Matchre SHEATHESKINKNIFEW /Sorry,|\.\.\.wait/i
put sheathe my knife
MatchWait

#***************************************************************
#Unload and stow bows to get ammo when running out in combat.

UNLOADSTOWGLANCE:
Match UNLOADWEARLONG1 %WLBOW
Match UNLOADSHEATHSLING1 %WSSLING
Match UNLOADSTOWSLING1 %WSLING
Matchre GASTOWSHIELDGET1 /%WSBOW%|%WCBOW%|%WHX%|%WLX%|%WSLING/i
Matchre UNLOADSTOWGLANCE /Sorry,|\.\.\.wait/i
put glance
MatchWait

UNLOADSHEATHSLING1:
put sheathe my staff sling in my %SHEATH
WaitFor You sheathe
GoTo GARETREAT

UNLOADSTOWSLING1:
put stow my sling
WaitFor in your
GoTo GARETREAT

GASTOWSHIELDGET1:
SetVariable MOVESHIELDRETURN UNLOADSTANCESHIELD1
SetVariable DUMMY %SHIELDLOCATION%-SH2HAND
GoTo %DUMMY%

UNLOADSTANCESHIELD1:
SetVariable SSRETURN UNLOADSTOWWEARBOW1
SetVariable STANCETYPE shield
GoTo SETSTANCE

UNLOADSTOWWEARBOW1:
Match GARETREAT in your
Match UNLOADWEARLONG1 is too long to fit
Matchre UNLOADSTOWWEARBOW1 /Sorry,|\.\.\.wait/i
put stow r
MatchWait

UNLOADWEARLONG1:
Match GARETREAT You sheath
Matchre UNLOADWEARLONG1 /Sorry,|\.\.\.wait/i
put sheathe my %WLBOW
MatchWait

#***************************************************************
#Get arrows, bolt or rocks

GARETREAT:
SetVariable RETREATRETURN GETALOOK
GoTo RETREAT

COUNTARROWSW:
Pause 1
COUNTARROWS:
Matchre GETCOINRETREAT /(thirty-.*|fourty-.*|fifty-.*)left/i
Matchre GETALOOK /left\.|you were referring to/i
Matchre COUNTARROWSW /Sorry,|\.\.\.wait/i
put count arrows in my %SHEATHE
MatchWait

GETALOOK:
Save %c
SetVariable GAC 0
SetVariable GBC 0
SetVariable GRC 0
#ECHO >>>> GETALOOK: <<<<
#Matchre SETARROWTYPE1 /stone-tipped arrow/i
Matchre SETARROWTYPE2 /razor-edged arrow/i
Matchre SETARROWTYPE3 /silver-tipped arrow/i
#Matchre SETARROWTYPE4 /broad-barbed arrow/i
#Matchre SETARROWTYPE5 /warhead arrow/i
Matchre SETARROWTYPE6 /basilisk head arrow/i
Match GETBOLT0 crossbow bolt
#Matchre GETROCK0 /a large rock|a small rock/i
Matchre GETALOOK /Sorry,|\.\.\.wait/i
Matchre GETCOINRETREAT /Obvious (paths:|exits)/i
put look
MatchWait

SETARROWTYPE1:
SetVariable ARROW2GET stone-tipped arrow
GoTo GETARROW0

SETARROWTYPE2:
SetVariable ARROW2GET razor-edged arrow
GoTo GETARROW0

SETARROWTYPE3:
SetVariable ARROW2GET silver-tipped arrow
GoTo GETARROW0

SETARROWTYPE4:
SetVariable ARROW2GET broad-barbed arrow
GoTo GETARROW0

SETARROWTYPE5:
SetVariable ARROW2GET warhead arrow
GoTo GETARROW0

SETARROWTYPE6:
SetVariable ARROW2GET basilisk arrow
GoTo GETARROW0

GETARROW0:
GETARROW1:
GETARROW2:
GETARROW3:
Match ARROWQUIVFINAL from inside your
Matchre GAQUIVARROW /You pick up|You pull/i
Match GETCOINRETREAT arrow is not yours
Matchre GETARROW%GAC /Sorry,|\.\.\.wait/i
put get %ARROW2GET
MatchWait

GETARROW4:
put retreat
put retreat
SetVariable GAC 0
GoTo GETARROW%GAC 

GETBOLT0:
GETBOLT1:
GETBOLT2:
GETBOLT3:
Match BOLTQUIVFINAL from inside your
Matchre GAQUIVBOLT /You pick up|You pull/i
Matchre GETBOLT%GBC /Sorry,|\.\.\.wait/i
put get bolt
MatchWait

GETBOLT4:
put retreat
put retreat
SetVariable GBC 0
GoTo GETBOLT%GBC 

GETROCK0:
GETROCK1:
GETROCK2:
GETROCK3:
Match STOWROCKFINAL from inside your
Matchre GASTOWROCK /You pick up|You pull/i
Matchre GETROCK%GRC /Sorry,|\.\.\.wait/i
put get rock
MatchWait

GETROCK4:
put retreat
put retreat
SetVariable GRC 0
GoTo GETROCK%GRC 

GAQUIVARROW:
Counter set %GAC
Counter add 1
SetVariable GAC %c
Match GETARROW%GAC You put your
Matchre GAQUIVARROW /Sorry,|\.\.\.wait/i
put put my arrow in my %QUIVER
MatchWait

ARROWQUIVFINAL:
#ECHO >>>> ARROWQUIVFINAL: <<<<
Match GETALOOK You put your
Matchre ARROWQUIVFINAL /Sorry,|\.\.\.wait/i
put put my arrow in my %QUIVER
MatchWait

GAQUIVBOLT:
Counter set %GBC
Counter add 1
SetVariable GBC %c
Match GETBOLT%GBC You put your
Matchre GAQUIVBOLT /Sorry,|\.\.\.wait/i
put put my bolt in my %QUIVER
MatchWait

BOLTQUIVFINAL:
Match GETALOOK You put your
Matchre BOLTQUIVFINAL /Sorry,|\.\.\.wait/i
put put my bolt in my %QUIVER
MatchWait

GASTOWROCK:
Counter set %GRC
Counter add 1
SetVariable GRC %c
Match GETROCK%GRC in your
Matchre GASTOWROCK /Sorry,|\.\.\.wait/i
put stow my rock
MatchWait

STOWROCKFINAL:
Match LOOTCHECK in your
Matchre GASTOWROCK /Sorry,|\.\.\.wait/i
put stow my rock
MatchWait


#**********************************************************************
# Loot section standing, shield stance set and right hand empty

GETCOINRETREAT:
Counter Set %s
SetVariable RETREATRETURN GETCOIN
GoTo RETREAT

GETCOINW:
Pause 1
GETCOIN:
Match GETCOIN You pick up
Match LOOTCHECK What were you referring to
Matchre GETCOINW /(Sorry,|\.*wait)/
put get coin
MatchWait

LOOTCHECKW:
Pause 1
LOOTCHECK:
SetVariable POSTLOOT BURDENCHECKRETREAT
Put retreat
Matchre GETSTRONGBOX /strongbox,|strongbox and|strongbox\./i
Matchre GETCHEST /chest,|chest and|chest\./i
Matchre GETSKIPPET /skippet,|skippet and|skippet\./i
Matchre GETCADDY /caddy,|caddy and|caddy\./i
Matchre GETTRUNK /trunk,|trunk and|trunk\./i
Matchre GETCRATE /crate,|crate and|crate\./i
Matchre GETCASKET /casket,|casket and|casket\./i
Matchre GETCOFFER /coffer,|coffer and|coffer\./i
Matchre GETABOX /\sbox,|\sbox and|\sbox\./i
# ***** Items out of place so as not to be mistaken for gems *****
Match GETEARRING earring
Match GETBAND diamond band
# ***** Items out of place so as not to be mistaken for gems *****
Match GETAMETHYST amethyst
Match GETDIOP diopside
Match GETBLOOD bloodstone
Match GETCRYSTAL rock crystal
Match GETZIRCON zircon
Match GETJASPER jasper
Match GETQUARTZ quartz
Match GETGEM aquamarine gem
Match GETALEXANDRITE alexandrite
Match GETEMERALD emerald
Match GETTOPAZ topaz
Match GETRUBY ruby
Match GETBLOODGEM bloodgem
Match GETDIAMOND diamond
Match GETEGG alabaster egg
Match GETONYX chunk of onyx
Match GETLAZULI lapis lazuli
Match GETPEBBLE glass pebble
Match GETSUNSTONE glowing sunstone
Match GETMOONSTONE milky moonstone
Matchre GETBEAD /\sbead/i
Matchre GETOPAL /(fire|draconic)\sopal/i
Matchre GETSTONE /(malachite|turquoise)\sstone/i
Matchre GETAMBER /lump of.*amber/i
Matchre GETPEARL /(freshwater|white|black)\spearl/i
Matchre GETSAPPHIRE /(yellow|star|flawed)\ssapphire/i
Matchre GETGLEAMINGAQUAMARINE /(glossy|glittering|gleaming)\saquamarine/i
Matchre GETMALACHITE /(glossy|glittering|gleaming|green)\smalachite/i
Matchre GETMINERALS /(glossy|glittering|gleaming)\sminerals/i
Matchre GLITTERINGGOLDSTONE /(glossy|glittering|gleaming)\sgoldstone/i
Matchre GETSBAR /(silver|gold|platinum)\sbar/i
Matchre GETNUGGET /(gold|silver|platinum)\snugget/i
Match GETIVORYTOOTH ivory tooth

#^^^^^^^^^^^^^^^ All above, go in Gem pouch in %BAG, to %CONTAINER if pouch full.

Matchre GETSCROLL /parchment scroll|scroll/i
Match GETPAPYRUS Papyrus roll 
Match GETOSTRACON Ostracon
Match GETSCROLLLEAF Seishaka leaf
Match GETBARK Hhr'lav'geluhh bark
Match GETVELLUM vellum
Match GETTABLET tablet
Match GETPARCHMENT parchment
Match GETRUNESTONE runestone
Matchre GETCARD /(Faces|Immortal|Guildleader|crest|Aftermath|Birds|Charger|Figure|Kitchen|Dragon).*card/i
#Match GETEARRING earring
Matchre GETRING /(iron|copper|bronze|pewter|gold|silver|platinum|eyebrow|nose)\sring/i
Matchre GETSTONES /(lasmodi|sjatmal|lantholite|waermodi|kyanite|jadeite)\sstones/i
Match GETSKINKNIFELOOT skinning knife
Match GETPOTION potion
Match GETSTYLUS ivory stylus

#^^^^^^^^^^^^^^^ All above, go in thigh bag, to %CONTAINER if bag full.

Match GETBERRIES blocil berries
Match GETJADICE jadice flower
Match GETSALVE salve
Matchre GETLEAF /(plovik|riolur)\sleaf/i
Matchre GETROOT /(yelith|nemoih)\sroot/i
Match GETSAP sufil sap
Match GETTOBACCO tobacco
Match GETCIGAR cigar

#^^^^^^^^^^^^^^^ All above, go in %HERBPOUCH, to %CONTAINER if pouch full.

Matchre %POSTLOOT% /Obvious\s(exits:|paths:)/i
Matchre LOOTCHECKW /Sorry,|\.\.\.wait/i
put look
MatchWait

GETSTRONGBOX:
SetVariable BOX2GET strongbox
GoTo GETBOX

GETCHEST:
SetVariable BOX2GET chest
GoTo GETBOX

GETSKIPPET:
SetVariable BOX2GET skippet
GoTo GETBOX

GETCADDY:
SetVariable BOX2GET caddy
GoTo GETBOX

GETTRUNK:
SetVariable BOX2GET trunk
GoTo GETBOX

GETCRATE:
SetVariable BOX2GET crate
GoTo GETBOX

GETCASKET:
SetVariable BOX2GET casket
GoTo GETBOX

GETCOFFER:
SetVariable BOX2GET coffer
GoTo GETBOX

GETABOX:
SetVariable BOX2GET box
GoTo GETBOX

GETBOXW:
Pause 1
GETBOX:
Match STOWBOX you pick up
Matchre %POSTLOOT% /you referring to|is not yours/i
Matchre GETBOXW /Sorry,|\.\.\.wait/i
Put get %BOX2GET
MatchWait

STOWBOX:
SetVariable ITEM2BAG %BOX2GET%
SetVariable GO2BAG %CONTAINER%
SetVariable BAGITRETURN LOOTCHECK
GoTo BAGIT

#***************************************************
#Begin pouch gem section

GETPEBBLE:
SetVariable GEM2POUCH pebble
GoTo GETPOUCHGEM

GETBEAD:
SetVariable GEM2POUCH bead
GoTo GETPOUCHGEM

GETAMETHYST:
SetVariable GEM2POUCH amethyst
GoTo GETPOUCHGEM

GETDIOP:
SetVariable GEM2POUCH diopside
GoTo GETPOUCHGEM

GETBLOOD:
SetVariable GEM2POUCH bloodstone
GoTo GETPOUCHGEM

GETCRYSTAL:
SetVariable GEM2POUCH crystal
GoTo GETPOUCHGEM

GETZIRCON:
SetVariable GEM2POUCH zircon
GoTo GETPOUCHGEM

GETJASPER:
SetVariable GEM2POUCH jasper
GoTo GETPOUCHGEM

GETQUARTZ:
SetVariable GEM2POUCH quartz
GoTo GETPOUCHGEM

GETGEM:
SetVariable GEM2POUCH gem
GoTo GETPOUCHGEM

GETALEXANDRITE:
SetVariable GEM2POUCH alexandrite
GoTo GETPOUCHGEM

GETEMERALD:
SetVariable GEM2POUCH emerald
GoTo GETPOUCHGEM

GETTOPAZ:
SetVariable GEM2POUCH topaz
GoTo GETPOUCHGEM

GETRUBY:
SetVariable GEM2POUCH ruby
GoTo GETPOUCHGEM

GETBLOODGEM:
SetVariable GEM2POUCH bloodgem
GoTo GETPOUCHGEM

GETDIAMOND:
SetVariable GEM2POUCH diamond
GoTo GETPOUCHGEM

GETEGG:
SetVariable GEM2POUCH egg
GoTo GETPOUCHGEM

GETONYX:
SetVariable GEM2POUCH onyx
GoTo GETPOUCHGEM

GETLAZULI:
SetVariable GEM2POUCH lazuli
GoTo GETPOUCHGEM

GETOPAL:
SetVariable GEM2POUCH opal
GoTo GETPOUCHGEM

GETSTONE:
SetVariable GEM2POUCH stone
GoTo GETPOUCHGEM

GETAMBER:
SetVariable GEM2POUCH amber
GoTo GETPOUCHGEM

GETPEARL:
SetVariable GEM2POUCH pearl
GoTo GETPOUCHGEM

GETSAPPHIRE:
SetVariable GEM2POUCH sapphire
GoTo GETPOUCHGEM

GETGLEAMINGAQUAMARINE:
SetVariable GEM2POUCH aquamarine
GoTo GETPOUCHGEM

GETMALACHITE:
SetVariable GEM2POUCH malachite
GoTo GETPOUCHGEM

GETMINERALS:
SetVariable GEM2POUCH minerals
GoTo GETPOUCHGEM

GLITTERINGGOLDSTONE:
SetVariable GEM2POUCH goldstone
GoTo GETPOUCHGEM

GETSBAR:
SetVariable GEM2POUCH silver bar
GoTo GETPOUCHGEM

GETGBAR:
SetVariable GEM2POUCH gold bar
GoTo GETPOUCHGEM

GETPBAR:
SetVariable GEM2POUCH plat bar
GoTo GETPOUCHGEM

GETNUGGET:
SetVariable GEM2POUCH nugget
GoTo GETPOUCHGEM

GETIVORYTOOTH:
SetVariable GEM2POUCH ivory tooth
GoTo GETPOUCHGEM

GETSUNSTONE:
SetVariable GEM2POUCH sunstone
GoTo GETPOUCHGEM

GETMOONSTONE:
SetVariable GEM2POUCH moonstone
GoTo GETPOUCHGEM

GETPOUCHGEMW:
Pause 1
GETPOUCHGEM:
Matchre POUCHBIGGEM /huge|sapphire|ruby|diamond|(large|medium)\samethyst|(large|medium)\saquamarine gem|large rose quartz/i
Matchre POUCHGEM /you pick up|You get/i
Matchre %POSTLOOT% /you referring to|is not yours/i
Matchre GETPOUCHGEMW /Sorry,|\.\.\.wait/i
Put get %GEM2POUCH
MatchWait

POUCHBIGGEM:
SetVariable ITEM2BAG %GEM2POUCH%
SetVariable GO2BAG gem pouch
SetVariable BAGITRETURN LOOTCHECK
GoTo BAGIT

POUCHGEM:
SetVariable ITEM2BAG %GEM2POUCH%
SetVariable GO2BAG pouch in my %BAG
SetVariable BAGITRETURN LOOTCHECK
GoTo BAGIT

# End pouch gem section
#***************************************************

#***************************************************
#Begin stuff to bag section

GETPAPYRUS:
SetVariable ITEM2BAG roll
GoTo GETBAGITEM

GETOSTRACON:
SetVariable ITEM2BAG Ostracon
GoTo GETBAGITEM

GETSCROLLLEAF:
SetVariable ITEM2BAG leaf
GoTo GETBAGITEM

GETBARK:
SetVariable ITEM2BAG bark
GoTo GETBAGITEM

GETVELLUM:
SetVariable ITEM2BAG vellum
GoTo GETBAGITEM

GETTABLET:
SetVariable ITEM2BAG tablet
GoTo GETBAGITEM

GETPARCHMENT:
SetVariable ITEM2BAG parchment
GoTo GETBAGITEM

GETRUNESTONE:
SetVariable ITEM2BAG runestone
GoTo GETBAGITEM

GETCARD:
SetVariable ITEM2BAG card
GoTo GETBAGITEM

GETEARRING:
SetVariable ITEM2BAG earring
GoTo GETBAGITEM

GETBAND:
SetVariable ITEM2BAG band
GoTo GETBAGITEM

GETRING:
SetVariable ITEM2BAG ring
GoTo GETBAGITEM

GETSTONES:
SetVariable ITEM2BAG stones
GoTo GETBAGITEM

GETSKINKNIFELOOT:
SetVariable ITEM2BAG skinning knife
GoTo GETBAGITEM

GETSCROLL:
SetVariable ITEM2BAG scroll
GoTo GETBAGITEM

GETPOTION:
SetVariable ITEM2BAG potion
GoTo GETBAGITEM

GETSTYLUS:
SetVariable ITEM2BAG stylus
GoTo GETBAGITEM

GETBAGITEMW:
Pause 1
GETBAGITEM:
Matchre BAGITEM /you pick up|You get/i
Matchre %POSTLOOT% /you referring to|is not yours/i
Matchre GETBAGITEMW /Sorry,|\.\.\.wait/i
Put get %ITEM2BAG
MatchWait

BAGITEM:
SetVariable ITEM2BAG %ITEM2BAG%
SetVariable GO2BAG %BAG%
SetVariable BAGITRETURN LOOTCHECK
GoTo BAGIT

# End bag item section
#***************************************************

#***************************************************
#Begin herb pouch section

GETBERRIES:
SetVariable ITEM2HPOUCH berries
GoTo GETHERBITEM

GETJADICE:
SetVariable ITEM2HPOUCH jadice flower
GoTo GETHERBITEM

GETSALVE:
SetVariable ITEM2HPOUCH salve
GoTo GETHERBITEM

GETLEAF:
SetVariable ITEM2HPOUCH leaf
GoTo GETHERBITEM

GETROOT:
SetVariable ITEM2HPOUCH root
GoTo GETHERBITEM

GETSAP:
SetVariable ITEM2HPOUCH sufil sap
GoTo GETHERBITEM

GETTOBACCO:
SetVariable ITEM2HPOUCH tobacco
GoTo GETHERBITEM

GETCIGAR:
SetVariable ITEM2HPOUCH cigar
GoTo GETHERBITEM

GETHERBITEMW:
Pause 1
GETHERBITEM:
Matchre POUCHITEM /you pick up|You get/i
Matchre %POSTLOOT% /you referring to|is not yours/i
Matchre GETHERBITEMW /Sorry,|\.\.\.wait/i
Put get %ITEM2HPOUCH
MatchWait

POUCHITEM:
SetVariable ITEM2BAG %ITEM2HPOUCH%
SetVariable GO2BAG %HERBPOUCH%
SetVariable BAGITRETURN LOOTCHECK
GoTo BAGIT

# End herb pouch section
#***************************************************


# End loot section
#**********************************************************************
#**********************************************************************

SETALTWEAPON:
SetVariable CBTGETWEAPON %CBTALTWEAPON
GoTo BURDENCHECK

BURDENCHECKRETREAT:
SetVariable RETREATRETURN BURDENCHECK
GoTo RETREAT

BURDENCHECK:
put retreat
SetVariable EXPLEARNING %CBTGETWEAPON
SetVariable EXPMINDLOCK %CBTGETNEXTWEAPON
SetVariable EXP2CHECK %WEAPEXP
Matchre CHECKLEVEL /Encumbrance:\s(None|Light Burden|Somewhat Burdened)/i
Matchre RETREATTOLEAVE /Encumbrance:\s(Burdened|Heavy Burden)/i
Matchre BURDENCHECK /Sorry,|\.\.\.wait/i
put encu
MatchWait

#****************************************************************************
# Get the right bow back in hand.
#****************************************************************************
# Order = WLBOW WLX WSSLING WSBOW WSLING WCBOW WHX 
# Alternate order(more than three critters in room) WLBOW WSBOW WCBOW

CBTGETWHX:
SetVariable CBTGETWEAPON CBTGETWHX
SetVariable WEAPON %WHX
SetVariable CBTGETNEXTWEAPON CBTGETWLBOW
SetVariable CBTALTWEAPON CBTGETWLBOW
SetVariable WEAPEXP heavy crossbow
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWHX /Sorry,|\.\.\.wait/i
put wield my %WHX from my %CONTAINER
MatchWait

CBTGETWLX:
SetVariable CBTGETWEAPON CBTGETWLX
SetVariable WEAPON %WLX
SetVariable CBTGETNEXTWEAPON CBTGETWSSLING
SetVariable CBTALTWEAPON CBTGETWSBOW
SetVariable WEAPEXP light crossbow
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWLX /Sorry,|\.\.\.wait/i
put wield my %WLX from my %CONTAINER
MatchWait

CBTGETWSBOW:
SetVariable CBTGETWEAPON CBTGETWSBOW
SetVariable WEAPON %WSBOW
SetVariable CBTGETNEXTWEAPON CBTGETWCBOW
SetVariable CBTALTWEAPON CBTGETWCBOW
SetVariable WEAPEXP short bow
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWSBOW /Sorry,|\.\.\.wait/i
put wield my %WSBOW
MatchWait

CBTGETWLBOW:
SetVariable CBTGETWEAPON CBTGETWLBOW
SetVariable WEAPON %WLBOW
SetVariable CBTGETNEXTWEAPON CBTGETWSBOW
SetVariable CBTALTWEAPON CBTGETWSBOW
SetVariable WEAPEXP long bow
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWLBOW /Sorry,|\.\.\.wait/i
put wield %WLBOW
MatchWait

CBTGETWCBOW:
SetVariable CBTGETWEAPON CBTGETWCBOW
SetVariable WEAPON %WCBOW
SetVariable CBTGETNEXTWEAPON CBTGETWLBOW
SetVariable CBTALTWEAPON CBTGETWLBOW
SetVariable WEAPEXP composite bow
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWCBOW /Sorry,|\.\.\.wait/i
put wield my %WCBOW
MatchWait

CBTGETWSSLING:
#ECHO >>> CBTGETSTAFFSLING: <<<<
SetVariable CBTGETWEAPON CBTGETWSSLING
SetVariable WEAPON %WSSLING
SetVariable CBTGETNEXTWEAPON CBTGETWSBOW
SetVariable CBTALTWEAPON CBTGETWSBOW
SetVariable WEAPEXP staff sling
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWSSLING /Sorry,|\.\.\.wait/i
put wield my %WSSLING
MatchWait

CBTGETWSLING:
#ECHO >>>> CBTGETSLING: <<<<
SetVariable CBTGETWEAPON CBTGETWSLING
SetVariable WEAPON %WSLING
SetVariable CBTGETNEXTWEAPON CBTGETWCBOW
SetVariable CBTALTWEAPON CBTGETWCBOW
SetVariable WEAPEXP sling
Match WEARSHIELDPOSTWG You draw out
Matchre CBTGETWSLING /Sorry,|\.\.\.wait/i
put wield my %WSLING
MatchWait

CBTGETW2HE:
SetVariable CBTGETWEAPON CBTGETW2HE
SetVariable WEAPON %W2HE
SetVariable CBTGETNEXTWEAPON CBTGETCBOW
SetVariable CBTALTWEAPON CBTGETCBOW
SetVariable WEAPEXP twohaneded edged
Match DANCEONLY You draw out
Matchre CBTGETW2HE /Sorry,|\.\.\.wait/i
put wield my %W2HE
MatchWait

WEARSHIELDPOSTWGW:
Pause 1
WEARSHIELDPOSTWG:
SetVariable MOVESHIELDRETURN LOOPMANACHECKRETREAT
SetVariable DUMMY %SHIELDLOCATION%-SH2SHOULDER
GoTo %DUMMY%

LOOPMANACHECKRETREAT:
SetVariable MANAGOODRETURN %SPELL2CAST
SetVariable MANABADRETURN LOADANDFIRE
SetVariable RETREATRETURN BOWBUFFMANACHECK
GoTo RETREAT


#*********************************************
#*********************************************
#Head back, sell all and bank on the way.
ESCAPE:
RETREATTOLEAVE:
put .TrollRun


#*******************************************************************************************************
#Common script section

#********************************************************
#********************************************************
# BAGIT module
# SetVariable ITEM2BAG [item to put in container]
# SetVariable GO2BAG [container to put the item in]
# SetVariable BAGITRETURN [script section to return to]
# GoTo BAGIT
#********************************************************
#********************************************************

BAGITW:
Pause 1
BAGIT:
Matchre OPENGO2BAG /is closed|that's closed|What were you referring to/i
Matchre STOWITEM2BAG /no matter how you arrange|You can't fit|too long to fit|There isn't any more room/i
Matchre %BAGITRETURN% /which is inside your|in your/i
Matchre BAGITW /Sorry,|\.\.\.wait/i
put put my %ITEM2BAG% in my %GO2BAG%
MatchWait

OPENGO2BAGW:
Pause 1
OPENGO2BAG:
Matchre BAGIT /you open|till it opens/i
Matchre STOWITEM2BAG /What were you referring to|already open/i
Matchre OPENGO2BAGW /Sorry,|\.\.\.wait/i
put open my %GO2BAG%
MatchWait

STOWITEM2BAGW:
Pause 1
STOWITEM2BAG:
Match %BAGITRETURN% referring to
Matchre DROPITEM /no matter how you arrange|You can't fit|too long to fit|There isn't any more room/i
Matchre %BAGITRETURN% /in your|Stow what/i
Matchre STOWITEM2BAGW /Sorry,|\.\.\.wait/i
put stow %ITEM2BAG
MatchWait

DROPITEMW:
Pause 1
DROPITEM:
Match %BAGITRETURN% you drop
Match CURSEDITEM unable
Matchre DROPITEMW /Sorry,|\.\.\.wait/i
put drop my %ITEM2BAG%
MatchWait

CURSEDITEM:
ECHO Holding cursed item, exiting for safety!
put Exit
Exit

# END BAGIT Module
#********************************************************
#********************************************************

# Change EXPLEARNING and EXPMINDLOCK matches if desired, EXPMINDLOCK is set to "mind lock & dazed"

# Usage example;
#CHECKLEVELNAILBITING:
#SetVariable EXPLEARNING KEEPCHEWING
#SetVariable EXPMINDLOCK BITETOENAILS
#SetVariable EXP2CHECK nailbiting
#GoTo CHECKLEVEL

CHECKLEVEL:
#ECHO >>>> CHECKLEVEL: EXPLEARNING = %EXPLEARNING, EXPMINDLOCK = %EXPMINDLOCK, EXP2CHECK = %EXP2CHECK
Matchre %EXPMINDLOCK /%\s(mind\slock|dazed|bewildered)/i
Match %EXPLEARNING EXP HELP
Matchre CHECKLEVELWAIT /Sorry,|\.\.\.wait/i
put exp %EXP2CHECK
MatchWait

CHECKLEVELWAIT:
Pause 1
GoTo CHECKLEVEL

# Usage example;
#If you need to check different levels set the matchs to %GOODTEST% and %BADTEST% then set variables.
#MANACHECKPREPREP:
#SetVariable MANAGOODRETURN PREPSPELL
#SetVariable MANABADRETURN FIGHTNOMAGIC
#SetVariable GOODTEST />50%/
#SetVariable BADTEST /_50%|\|50%/
#GoTo MANACHECK

MANACHECK:
ECHO >>>> MANACHECK: MANAGOODRETURN = %MANAGOODRETURN MANABADRETURN = %MANABADRETURN <<<<
Match %MANAGOODRETURN >100%
Matchre %MANABADRETURN% /_100%|\|100%/i
Matchre MANACHECK /Sorry,|\.\.\.wait/i
put harness
MatchWait

# Usage example;
#AIMRETREAT:
#SetVariable RETREATRETURN AIM
#GoTo RETREAT

RETREATW:
Pause 1
RETREAT:
#ECHO >>>> RETREAT: Return = %RETREATRETURN <<<<
Match RETSTAND must stand first
Matchre RETREAT /to pole range|You stop advancing|pole weapon range on you|melee range on you/i
Matchre RETLOOK /are unable to get away|You try to back away/i
Match EXIT You are still stunned
Matchre %RETREATRETURN /You retreat from combat|as far away as you can get|You sneak back out of combat/i
Matchre RETREATW /Sorry,|\.\.\.wait/i
Put retreat
MatchWait

RETLOOKW:
Pause 1
RETLOOK:
Matchre EXIT /You're very beat up|You're beat up|You're badly hurt|You're smashed|You're terribly wounded/i
Matchre RETREAT /\.\]|range on you/i
Matchre RETLOOKW /Sorry,|\.\.\.wait/i
MatchWait

RETSTANDW:
Pause 1
RETSTAND:
Match EXIT You are still stunned
Match RETREAT You stand back up
Matchre SORTINVHEADTOTOE /you cannot manage to stand|You stand back up|You are already standing|prevents you from standing/i
Matchre RETSTANDW /Sorry,|\.\.\.wait/i
Put stand
MatchWait

EXIT:
Put avoid drag
Match END Not connected.  You will need to login again to continue playing
Matchre EXIT /Sorry,|\.\.\.wait/i
Put exit
MatchWait

END:
Exit

# Usage Example
#WHESTANCESET:
#SetVariable SSRETURN SWING
#SetVariable STANCETYPE shield
#GoTo SETSTANCE

SETSTANCEW:
Pause 1
SETSTANCE:
Match %SSRETURN You are now set to use your %STANCETYPE% stance
Matchre SETSTANCEW /Sorry,|\.\.\.wait/i
put stance %STANCETYPE
MatchWait

SAVECRIT2SKIN1:
SetVariable CRITTER2SKIN %CRIT1
GoTo %CRIT2SKINRETURN

DEADCRITTERCHECKW:
Pause 1
DEADCRITTERCHECK:
SetVariable CRIT2SKINRETURN SKINSTARTRELEASE
Matchre SAVECRIT2SKIN1 /%CRIT1%(\s|\v|\a|\n|\f|\e)which\sappears\sdead/i
Matchre CRITTERLOOK /Obvious\s(exits:|paths:)/i
Matchre LOOKCOUNTRETREAT /%CRIT1%,|%CRIT1%\.|range on you|\.\]/i
Matchre DEADCRITTERCHECKW /Sorry,|\.\.\.wait/i
put look
MatchWait

LOOKCOUNTRETREAT:
SetVariable RETREATRETURN LOOKCOUNT
GoTo RETREAT

#****************************************************************************************

#***************************************
#***************************************

# Move shield module.
# Test for shield existance/location and put it where you want it.
# Requires BAGIT Module.

#***************************************
#***************************************

# SetVariable SHSTRAPSET #(ARM SHOULDER) This is the current strap set.
# SetVariable SHIELDLOCATION SHONARM #(SHONARM SHONSHOULDER SHINHAND SHINCONTAINER) This is the current location of your shield
# SetVariable SHIELDDESTINATION SH2SHOULDER #(SH2ARM SH2SHOULDER SH2HAND SH2CONTAINER) This is where you want to put your shield
# SetVariable MOVESHIELDRETURN The section of script to return to

# Usage -- Set the SHIELDDESTINATION variable and GoTo FINDSHIELD at the very beginning of your script.

# EG At begining of script...
# SetVariable SHIELDDESTINATION SH2SHOULDER
# SetVariable MOVESHIELDRETURN [NEXTSECTION]
# GoTo FINDSHIELD

# At any point you need to move your shield SetVariable DUMMY %SHIELDLOCATION%-SH2HAND where destination is after the dash.
# where the first part is the destination you want the shield to go to. Ensure you set MOVESHIELDRETURN

# EG to move sheild to your hand
# SetVariable MOVESHIELDRETURN
# SetVariable DUMMY %SHIELDLOCATION%-SH2HAND
# GoTo %DUMMY%


FINDSHIELDW:
Pause 1
FINDSHIELD:
Match SHIELDWEARING that you are wearing
Match SHIELDINCONTAINER inside your
Match SHIELDINHAND that you are holding
Match NOSHIELD you were referring to
Match FINDSHIELDW /Sorry,|\.\.\.wait/i
put tap my %SHIELD
MatchWait

SHIELDWEARINGW:
Pause 1
SHIELDWEARING:
Match CURRENTLOCARM loosen the straps securing
Match CURRENTLOCSHOULDER off from over your shoulder
Match SHIELDWEARINGW /Sorry,|\.\.\.wait/i
put remove my %SHIELD
MatchWait

CURRENTLOCARM:
SetVariable SHSTRAPSET ARM
SetVariable SHIELDLOCATION SHONARM
GoTo INITSHONARM-%SHIELDDESTINATION

CURRENTLOCSHOULDER:
SetVariable SHSTRAPSET SHOULDER
SetVariable SHIELDLOCATION SHONSHOULDER
GoTo INITSHONSHOULDER-%SHIELDDESTINATION

SHIELDINCONTAINER:
SetVariable SHIELDLOCATION SHINCONTAINER
GoTo INITSHINCONTAINER-%SHIELDDESTINATION

SHIELDINHAND:
SetVariable SHIELDLOCATION SHINHAND
GoTo INITSHINHAND-%SHIELDDESTINATION

INITSHINHAND-SH2HAND:
GoTo %MOVESHIELDRETURN

INITSHONARM-SH2ARMW:
Pause 1
INITSHONARM-SH2ARM:
SetVariable SHIELDLOCATION SHONARM
Matchre %MOVESHIELDRETURN /You are already wearing that|slide your left arm through the straps/i
Matchre INITSHONARM-SH2ARMW /Sorry,|\.\.\.wait/i
put wear my %SHIELD
MatchWait

INITSHONSHOULDER-SH2ARMW:
Pause 1
INITSHONSHOULDER-SH2ARM:
SetVariable SHSTRAPSET ARM
SetVariable SHIELDLOCATION SHONARM
Match MODWEARSHIELD fit securely upon your left arm
Match SHEMPTYHANDS hands are too full
Matchre INITSHONSHOULDER-SH2ARMW /Sorry,|\.\.\.wait/i
put adjust my %SHIELD
MatchWait

INITSHINCONTAINER-SH2ARMW:
Pause 1
INITSHINCONTAINER-SH2ARM:
SHINCONTAINER-SH2ARM:
SetVariable SHIELDLOCATION SHONARM
Match WEARSHIELD4ARM from inside
Matchre INITSHINCONTAINER-SH2ARMW /Sorry,|\.\.\.wait/i
put get my %SHIELD
MatchWait

INITSHINHAND-SH2ARMW:
Pause 1
INITSHINHAND-SH2ARM:
SetVariable SHIELDLOCATION SHONARM
GoTo WEARSHIELD4ARM

WEARSHIELD4ARMW:
Pause 1
WEARSHIELD4ARM:
SHINHAND-SH2ARM:
SetVariable SHSTRAPSET ARM
Matchre %MOVESHIELDRETURN /You are already wearing that|left arm through the straps/i
Match SHIELDWEARING over your shoulder
Matchre WEARSHIELD4ARMW /Sorry,|\.\.\.wait/i
put wear my %SHIELD
MatchWait

INITSHONARM-SH2SHOULDERW:
Pause 1
INITSHONARM-SH2SHOULDER:
SetVariable SHSTRAPSET SHOULDER
SetVariable SHIELDLOCATION SHONSHOULDER
Match MODWEARSHIELD worn across your shoulder
Match SHEMPTYHANDS hands are too full
Matchre INITSHONARM-SH2SHOULDERW /Sorry,|\.\.\.wait/i
put adjust my %SHIELD
MatchWait

INITSHONSHOULDER-SH2SHOULDERW:
Pause 1
INITSHONSHOULDER-SH2SHOULDER:
SetVariable SHIELDLOCATION SHONSHOULDER
Matchre %MOVESHIELDRETURN /You are already wearing that|over your shoulder/i
Matchre INITSHONSHOULDER-SH2SHOULDERW /Sorry,|\.\.\.wait/i
put wear my %SHIELD
MatchWait

INITSHINHAND-SH2SHOULDERW:
Pause 1
INITSHINHAND-SH2SHOULDER:
SetVariable SHIELDLOCATION SHONSHOULDER
GoTo WEAR4SHOULDER

INITSHINCONTAINER-SH2SHOULDERW:
Pause 1
INITSHINCONTAINER-SH2SHOULDER:
SHINCONTAINER-SH2SHOULDER:
Match WEAR4SHOULDER from inside
Matchre INITSHINCONTAINER-SH2SHOULDERW /Sorry,|\.\.\.wait/i
put get my %SHIELD
MatchWait

WEAR4SHOULDERW:
Pause 1
WEAR4SHOULDER:
SHINHAND-SH2SHOULDER:
SetVariable SHSTRAPSET SHOULDER
SetVariable SHIELDLOCATION SHONSHOULDER
Match SHIELDWEARING left arm through the straps
Matchre %MOVESHIELDRETURN /You are already wearing that|over your shoulder/i
Matchre WEAR4SHOULDERW /Sorry,|\.\.\.wait/i
put wear my %SHIELD
MatchWait

INITSHONARM-SH2HAND:
SetVariable SHSTRAPSET ARM
GoTo SHINHAND-SH2HAND

INITSHONSHOULDER-SH2HAND:
SetVariable SHSTRAPSET SHOULDER
SHINHAND-SH2HAND:
SetVariable SHIELDLOCATION SHINHAND
GoTo %MOVESHIELDRETURN

INITSHINCONTAINER-SH2HANDW:
Pause 1
INITSHINCONTAINER-SH2HAND:
SHINCONTAINER-SH2HAND:
Match %MOVESHIELDRETURN from inside
Match INITSHINCONTAINER-SH2HANDW /Sorry,|\.\.\.wait/i
put get my %SHIELD from my %CONTAINER
MatchWait

INITSHONARM-SH2CONTAINER:
INITSHONSHOULDER-SH2CONTAINER:
INITSHINHAND-SH2CONTAINER:
SHINHAND-SH2CONTAINER:
SetVariable SHIELDLOCATION SHINCONTAINER
SetVariable ITEM2BAG %SHIELD
SetVariable GO2BAG %CONTAINER
SetVariable BAGITRETURN %MOVESHIELDRETURN
GoTo BAGIT

MODREMOVESHW:
Pause 1
SHONARM-SH2CONTAINER:
SHONSHOULDER-SH2CONTAINER:
Matchre SHINHAND-SH2CONTAINER /and remove it|off from over your shoulder/i
Match MODREMOVESHW /Sorry,|\.\.\.wait/i
put remove my %SHIELD
MatchWait

MODREMOVE1SHW:
Pause 1
SHONARM-SH2HAND:
SHONSHOULDER-SH2HAND:
SetVariable SHIELDLOCATION SHINHAND
Matchre %MOVESHIELDRETURN /and remove it|off from over your shoulder/i
Match MODREMOVE1SHW /Sorry,|\.\.\.wait/i
put remove my %SHIELD
MatchWait

MODREMOVE2SHW:
Pause 1
SHONARM-SH2SHOULDER:
SHONSHOULDER-SH2ARM:
Match INITSHONARM-SH2SHOULDER and remove it
Match INITSHONSHOULDER-SH2ARM off from over your shoulder
Match MODREMOVE2SHW /Sorry,|\.\.\.wait/i
put remove my %SHIELD
MatchWait

SHONSHOULDER-SH2SHOULDER:
SHINHAND-SH2HAND:
SHONARM-SH2ARM:
INITSHINCONTAINER-SH2CONTAINER:
SHINCONTAINER-SH2CONTAINER:
GoTo %MOVESHIELDRETURN

MODWEARSHIELDW:
Pause 1
MODWEARSHIELD:
Matchre %MOVESHIELDRETURN /You are already wearing that|slide your left arm through the straps|over your shoulder/i
Match NOSHIELD can't wear any more items like that
Matchre MODWEARSHIELDW /Sorry,|\.\.\.wait/i
put wear my %SHIELD
MatchWait

NOSHIELD:
ECHO *** No shield found or can't wear it exiting script
Exit

SHEMPTYHANDS:
ECHO *** Something in hand can't adjust shield.
Exit

# END Shield Module
#***************************************
#***************************************