Advertisement
Guest User

Untitled

a guest
Jul 30th, 2018
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 195.98 KB | None | 0 0
  1. action instant goto exit when FLY|JUMP|SCREAM|SCRATCH|JUMP|RESPOND|R E S P O N D
  2. action send form swan when You feel your inner fire cool as you finish practicing the Form of the Swan.
  3. action send form monkey when You feel your inner fire cool as you finish practicing the Form of the Monkey.
  4. action send form bear when You feel your inner fire cool as you finish practicing the Form of the Bear.
  5. action send form piranha when You feel your inner fire cool as you finish practicing the Form of the Piranha.
  6. action send form panther when You feel your inner fire cool as you finish practicing the Form of the Panther.
  7. action send form eagle when You feel your inner fire cool as you finish practicing the Form of the Eagle.
  8. action send form dragon when You feel your inner fire cool as you finish practicing the Form of the Dragon.
  9. action send berserk tornado when You lose control, and the furious maelstrom empowering your limbs dissipates!
  10. action send berserk wildfire when The wild fire powering your limbs flickers, and then goes out entirely.
  11. action send berserk flashflood when The waters of fury recede as your rage crashes to a sudden halt!
  12. action send berserk volcano when The undulating wellspring of rage within you crashes to a sudden halt
  13. action send berserk famine when The ravenous hunger of your rage has slaked its thirst on your inner fire
  14.  
  15.  
  16. #CHECK HERE
  17. put #var save
  18. #debuglevel 10
  19.  
  20. ########################################################################
  21. ## ##
  22. ## General combat script ##
  23. ## By: Warneck (with help from SFHunter) ##
  24. ## ##
  25. ## General Options: ##
  26. ## APPR: appraises monsters, will not appraise if appraisal is locked ##
  27. ## ARRANGE #: arranges skinnable creatures before skinning them ##
  28. ## The # designates the number of times you want to arrange (1-5) ##
  29. ## If no # entered, will default to 1 time ##
  30. ## BLOCK: sets stance to shield stance ##
  31. ## BUFF: usese buffing subroutine ##
  32. ## BUNDLE: bundles skins if you have ropes. Bundles are untied, and ##
  33. ## dropped. See TIE and WEAR for other options ##
  34. ## COLLECTIBLE: loots collectibles (diras and cards) ##
  35. ## COUNT/DANCE: dances with X number of creatues. Stops dancing if ##
  36. ## you mind murks up ##
  37. ## CUSTOM: sets stance to custom stance ##
  38. ## DANGER: part of the BUFF command, it sets BUFF and retreats during ##
  39. ## casting ##
  40. ## DEFAULT: use the default setting, use DSET fist to set up defaults ##
  41. ## can also use .geniehunter with no arguments to do this ##
  42. ## DMSET: setup for multi-weapon with default settings ##
  43. ## use is .geniehunter dmset weapon1 weapon2 ... ##
  44. ## DMULTI: Multi-weapon with default settings ##
  45. ## DODGE/EVADE: sets stance to evasion stance ##
  46. ## DSET: used to set up the default settings ##
  47. ## run .geniehunter DSET <<all other options>> once to set the ##
  48. ## defaults, this will go through init like normal, and then ##
  49. ## save all the settings globally for use as default ##
  50. ## EXP: checks weapon experience. Will end script when skill is ##
  51. ## bewildered or above ##
  52. ## HUNT: will use the HUNT verb to train perception and stalking, but ##
  53. ## will not move around the hunting ground ##
  54. ## JUGGLE/YOYO: juggles when no more monsters in the room ##
  55. ## JUNK: loots scrolls/runestones/cards, exclusive from LOOT ##
  56. ## LOOTALL: loots every it can ##
  57. ## LOOTBOXES: loots boxes, redundant if used with LOOT ##
  58. ## LOOTCOINS: loots coins, redundant if used with LOOT ##
  59. ## LOOTGEMS: loots gems, redundant if used with LOOT ##
  60. ## MSET: setup for multi-weapon, break up multi setups with quotation ##
  61. ## marks: .geniehunter "setup 1" "setup 2"..."setup 10" ##
  62. ## supports up to 10 setups currently ##
  63. ## setups are saved as GH_MULTI_# for edittabillity ##
  64. ## MULTI: multi-weapon training, will use a weapon until locked ##
  65. ## then switch to the next setup when locked ##
  66. ## NECROHEAL: Necromancer healing. Only use if you have the consume ##
  67. ## spell. Will not activate if below 80% mana or if ##
  68. ## $roomplayers shows anyone present. Minor scuffs ##
  69. ## are not healed. ##
  70. ## NECRORITUAL: Will perform a necromancer ritual, if of right guild ##
  71. ## and $roomplayers shows no one present. Options are ##
  72. ## preserve, harvest, arise. If no ritual is specified, ##
  73. ## will use preserve usage is ##
  74. ## .geniehunter necroritual preserve/harvest/arise ##
  75. ## NOEVASION: Will skip the evasion stance when stance switching ##
  76. ## NOPARRY: Will skip the parry stance when stance switching ##
  77. ## NOSHIELD: Will skip the shiel stance when stance switching ##
  78. ## PARRY: sets stance to parry stance ##
  79. ## POUCH: changes gem pouches when current one is full. See help ##
  80. ## POWERP: will power perceive once every 6 minutes. ##
  81. ## RETREAT: turns on retreating for ranged weapons / spells. This ##
  82. ## does not work with poaching yet ##
  83. ## ROAM: will roam around the hunting area if no more monsters in ##
  84. ## room to kill ##
  85. ## !!!CAUTION!!! ##
  86. ## There is no safeguard for leaving a hunting area or ##
  87. ## wandering into a more dangerous area. ##
  88. ## SCRAPE: scrape skins/pelts/hides after skinning, retreating works ##
  89. ## while doing this activity. Use SKINRET for this ##
  90. ## SEARCH: Sets loot option. Treasure/Boxes/Equipment/Goods/All ##
  91. ## without setting an option, uses game default see in game ##
  92. ## LOOT HELP for more information on differences ##
  93. ## SKIN: skins monsters ##
  94. ## SKINRETREAT: will turn on retreating while skinning ##
  95. ## SLOW: for weaklings or noobs, will wait for stamina to refill ##
  96. ## before next attack if it drops below 90% ##
  97. ## STANCE: will cycle through stances once that skill is locked ##
  98. ## current cycle is evas -> shield -> parry and back ##
  99. ## TEND: Will tend external wounds if bleeding - WILL NOT UNWRAP IF ##
  100. ## WOUND STARTS BLEEDING WORSE ##
  101. ## TARGET: specifies a target to aim/target for attacks ##
  102. ## TIE: Ties bundles when first created, saves inventory space ##
  103. ## TIMER: will set a timer to abort the script after x seconds ##
  104. ## TRAIN: will check experience after every combat cycle, ranged ##
  105. ## weapon firing/throwing, or spell cast ##
  106. ## WEAR: Wears bundles. Uses STOW verb to put skin into bundle if it ##
  107. ## this is used w/ the TIE option. ##
  108. ## ##
  109. ## Weapon Options: ##
  110. ## AMBUSH: hides/stalks and attacks from hiding, checks stalking exp ##
  111. ## has a feature that will attempt to return to your original ##
  112. ## room if you stalk a creature into another by accident. ##
  113. ## If you have the ROAM option activated, this part of the ##
  114. ## feature is deactivated. ##
  115. ## BACKSTAB: backstabs with weapon ##
  116. ## BRAWL: brawls, will brawl with a weapon out if so desired ##
  117. ## EMPATH: non-lethal brawling ##
  118. ## FEINT: use a feinting routine to keep balance up ##
  119. ## MAGIC: uses magic in the same syntax as TM/PM, but will only cast ##
  120. ## once per critter, then use the primary weapon to kill ##
  121. ## OFFHAND: uses weapon in offhand, works with melee or thrown ##
  122. ## POACH: poaches with a ranged weapon, checks stalking exp ##
  123. ## SNAP: snap-fires ranged weapon and snapcasting for magic ##
  124. ## Following this command with a # will pause for that many seconds ##
  125. ## before casting/firing ##
  126. ## SNIPE: snipes with a ranged weapon ##
  127. ## STACK: throws stacks of weapons (throwing blades). If you use ##
  128. ## this, don't use THROW too ##
  129. ## SWAP/BASTARD: swappable weapon support, equips the weapon and ##
  130. ## swaps it to the desired weapon "mode" ##
  131. ## Available mode options: 1 - one handed ##
  132. ## 2 - two handed ##
  133. ## b - blunt ##
  134. ## e - edged ##
  135. ## ha - halberd ##
  136. ## pi - pike ##
  137. ## qs - quarter staff ##
  138. ## ss - short staff ##
  139. ## TSWAP: does the same as SWAP, but for throwing weapons ##
  140. ## THROW: throws a thrown weapon ##
  141. ## TM/PM: uses magic as the primary weapon, with brawling as the ##
  142. ## backup if no other weapon is specified (and you run out of ##
  143. ## mana). The extra harness is optional. TM for targeted exp ##
  144. ## check, PM for primary magic exp checks. SNAP will snapcast. ##
  145. ## Use as follows: ##
  146. ## (SNAP) <TM|PM> <spell> <mana> (extra mana) <weapon> <shield> ##
  147. ## ##
  148. ## Use: ##
  149. ## .geniehunter (General options) (Weapon Options) weapon shield ##
  150. ## ##
  151. ## Note: You must have the EXP Tracker Plugin for this script to work ##
  152. ########################################################################
  153.  
  154. pause
  155. #debuglevel 5
  156.  
  157. timer clear
  158. timer start
  159. ## GAG_ECHO can be YES or NO
  160. ## YES - Will not show any of the informative echoes
  161. ## NO - Default, will show all informative echoes
  162. var GAG_ECHO NO
  163.  
  164. action (geniehunter) put #queue clear; send 1 $lastcommand when ^\.\.\.wait|^Sorry, you may only type
  165. action (geniehunter) put #queue clear; send 1 $lastcommand when ^You are still stunned
  166. action put #beep;put #flash when ^(.+) (say|says|asks|exlaims|whispers)
  167. action (stalk) put #send #script pause geniehunter;put #send 1 #walk %starter.room;put #send 2 #script resume;put #echo >Log Returned to starting room when eval $roomid != %starter.room
  168. action (stalk) off
  169.  
  170. ##LOOT Variables
  171. var gems1 agate|alexandrite|amber|amethyst|andalusite|aquamarine|bead|beryl|bloodgem|bloodstone|carnelian|chrysoberyl|carnelian|chalcedony|waermodi stones
  172. var gems2 chrysoberyl|chrysoprase|citrine|coral|crystal|diamond|diopside|emerald|egg|eggcase|garnet|gem|goldstone|glossy malachite
  173. var gems3 (chunk of|some|piece of).*granite|hematite|iolite|ivory|jade|jasper|kunzite|lapis lazuli|malachite stone|minerals|moonstone|morganite|onyx
  174. var gems4 opal|pearl|pebble|peridot|quartz|ruby|sapphire|spinel|star-stone|sunstone|talon|tanzanite|tooth|topaz|tourmaline|tsavorite|turquoise|zircon
  175. var boxtype brass|copper|deobar|driftwood|iron|ironwood|mahogany|oaken|pine|steel|wooden
  176. var boxes coffer|crate|strongbox|caddy|casket|skippet|trunk|chest|\bbox
  177. ##CHECK HERE
  178. ##var junkloot scroll|tablet|vellum|sheiska leaf|ostracon|hhr'lav'geluhh bark|papyrus roll|smudged parchment|card
  179. ##
  180. ##var collectibles dira|card
  181.  
  182. var junkloot map|\bbolts?\b|flarmencrank|\bgear\b|glarmencoupler|\bnuts?\b|rackensprocket|spangleflange|pulzone|jadeite stones|kyanite stones|jadeite gwethdesuan|kyanite gwethdesuan|scroll|tablet|vellum|sheiska leaf|ostracon|hhr'lav'geluhh bark|papyrus roll|smudged parchment|papyrus|card
  183. var collectibles map|card
  184.  
  185. ##Monster Variables
  186. var monsters1 river sprite|gidii|goblin shaman|fendryad|nyad|madman|sprite|wood troll|lipopod|kelpie|vykathi builder|vykathi excavator|Dragon Priest assassin|lava drake|wyvern|Xala'shar magus|Xala'shar thrall
  187. var monsters2 fire maiden|creeper|vine|thug|ruffian|footpad|cutthroat|gypsy marauder|young ogre|swain|kra'hei hatchling|Misenseor resuscitant
  188. var monsters3 nipoh oshu|dyrachis|shadoweaver|crag|frostweaver|atik'et|dryad|orc scout|eviscerator|guardian|pile of rubble|pirate
  189. var monsters4 geni|orc bandit|umbramagii|screamer|scout ogre|swamp troll|mountain giant|gam chaga
  190. var monsters5 scavenger troll|sleazy lout|bucca|dragon fanatic|dusk ogre|tress|bloodvine
  191. var monsters6 armored warklin|velver|orc reiver|kra'hei|dragon priest|lun'shele hunter|orc raider|folsi immola
  192. var monsters7 faenrae assassin|telga moradu|trekhalo|orc clan chief|shadow master|malchata|sky giant|imp|dummy|clay mage|clay soldier|clay archer|sentinel|zealot|juggernaut|Misenseor resuscitant
  193.  
  194. var undead1 skeleton|soul|boggle|zombie|wind hound|fiend|spirit|ur hhrki'izh|spectral pirate|spectral sailor|shylvic
  195. var undead2 skeleton kobold savage|skeleton kobold headhunter|skeletal sailor|olensari mihmanan
  196. var undead3 emaciated umbramagus|zombie nomad|sinister maelshyvean heirophant|gargantuan bone golem|plague wraith|snaer hafwa|wir dinego
  197. var undead4 skeletal peon|revivified mutt|Xala'shar magus|Xala'shar thrall
  198.  
  199. var skinnablemonsters1 frog|silverfish|musk hog|grub|crayfish|burrower|crab|boar|skunk|badger|pothanit|trollkin|brocket deer|deer|lava drake|wyvern|storm bull|treehopper toad
  200. var skinnablemonsters2 kobold|s'lai scout|jackal|bobcat|cougar|grass eel|bear|ram|spider|wolf|boobrie|beisswurm|rock troll|sluagh
  201. var skinnablemonsters3 serpent|firecat|vulture|arbelog|caiman|steed|larva|snowbeast|worm|unyn|gargoyle|crocodile|Isundjen conjurer
  202. var skinnablemonsters4 merrows|viper|peccary|la'tami|barghest|angiswaerd hatchling|vykathi harvester|pard|moth|kartais
  203. var skinnablemonsters5 la'heke|vykathi soldier|boa|warcat|moda|arzumo|carcal|blood warrior|goblin|cave troll|black ape
  204. var skinnablemonsters6 rat|antelope|giant blight bat|leucro|wasp|mottled westanuryn|blight ogre|gryphon|caracal|basilisk
  205. var skinnablemonsters7 dobek moruryn|sinuous elsralael|sleek hele'la|shadow mage|marbled angiswaerd|retan dolomar|faenrae stalker
  206. var skinnablemonsters8 shadow beast|cinder beast|asaren celpeze|spirit dancer|scaly seordmaor|poloh'izh|armadillo|shalswar
  207.  
  208. var skinnableundead1 ghoul|squirrel|grendel|reaver|mey|shadow hound|lach|mastiff|gremlin|mutant togball|enraged tusky|zombie stomper|fell hog
  209. var skinnableundead2 zombie kobold savage|zombie kobold headhunter|ghoul crow|misshapen germish'din|zombie head-splitter|zombie mauler
  210.  
  211. var invasioncritters transmogrified oaf|flea-ridden beast|Prydaen|Rakash|bone warrior|shambling horror|skeletal peon|revivified mutt|putrefying shambler|bone amalgam
  212.  
  213. var skinnablecritters %skinnablemonsters1|%skinnablemonsters2|%skinnablemonsters3|%skinnablemonsters4|%skinnablemonsters5|%skinnablemonsters6|%skinnablemonsters7|%skinnablemonsters8|%skinnableundead1|%skinnableundead2
  214. var nonskinnablecritters %monsters1|%monsters2|%monsters3|%monsters4|%monsters5|%monsters6|%monsters7|%undead1|%undead2|%undead3|%undead4
  215.  
  216. var ritualcritters %monsters1|%monsters2|%monsters3|%monsters4|%monsters5|%monsters6|%monsters7|%skinnablemonsters1|%skinnablemonsters2|%skinnablemonsters3|%skinnablemonsters4|%skinnablemonsters5|%skinnablemonsters6|%skinnablemonsters7|%skinnablemonsters8
  217. var critters %nonskinnablecritters|%skinnablecritters|%invasioncritter
  218.  
  219. var OPTIONVARS AMB.*?|APPR.*?|ARM.*?|ARRA.*?|BACK.*?|BAST.*?|BLO.*?|BRA.*?|BS|BUF.*?|BUN.*?|COLL.*?|COUNT|CUST.*?|DANCE|DANG.*?|DEF.*?|DMSET|DMULTI|DODGE|DSET|DYING|EMP.*?|EVA.*?|EXP|FEINT|HELP|HUNT|HUNTO|JUGG.*?|JUNK|LOOTA.*?|LOOTB.*?|LOOTC.*?|LOOTG.*?|MAGIC|MSET|MULTI|NECROH.*?|NECROR.*?|NOEV.*?|NOPA.*?|NOSH.*?|OFF.*?|PARRY|PM|POACH|POUCH|POW.*?|PP|RET.*?|ROAM|SCRAPE.*?|SEARCH|SKIN.*?|SKINRET.*?|SLOW|SNAP|SNIP.*?|STACK|STANCE|SWAP|TARG.*?|TEND|THROW\b|TIE|TIME.*?|TM|TRAIN|TSWAP|WEAR|YOYO|RAGE|DEBIL|WARDING|AUGMENTATION|CLEAVE|CRASH|IMPALE|TWIRL|PALMSTRIKE|SUPLEX|POWERSHOT|DOUBLESTRIKE
  220. var OPTION NONE
  221.  
  222. var lastmaneuver none
  223.  
  224.  
  225. var LAST TOP
  226. TOP:
  227. ## Initialize multi-weapon variable
  228. ## This part will be skipped when multi-weapons are implemented
  229.  
  230. #############################################################################
  231. ### ###
  232. ### ###
  233. ### VARIABLE INIT: ONLY CHANGE VARIABES IN THIS SECTION ###
  234. ### ###
  235. ### ###
  236. #############################################################################
  237.  
  238. VARIABLE_INIT:
  239. var BOW_AMMO arrow
  240. var XB_AMMO bolt
  241. var SLING_AMMO clump
  242. var QUIVER quiver
  243. var LT_SHEATH backpack
  244. var HT_SHEATH backpack
  245. var BOX_CONTAINER backpack
  246. var GEM_CONTAINER my_pouch
  247. var JUNK_CONTAINER backpack
  248. var DEFAULT_CONTAINER backpack
  249. var POUCH_CONTAINER backpack
  250.  
  251.  
  252. #var ARMOR1 $$charactername_ARMOR1
  253. #var ARMOR2 $$charactername_ARMOR2
  254.  
  255. #############################################################################
  256. ### ###
  257. ### ###
  258. ### END VARIABLE INIT: DO NOT CHANGE ANY MORE VARIABLES ###
  259. ### ###
  260. ### ###
  261. #############################################################################
  262.  
  263. put STORE GEMS %GEM_CONTAINER
  264. waitforre You will now store|I could not find|You can't do that|You will need to be
  265. put STORE BOXES %BOX_CONTAINER
  266. waitforre You will now store|I could not find|You can't do that|You will need to be
  267. put STORE SHIELDS %BOX_CONTAINER
  268. waitforre You will now store|I could not find|You can't do that|You will need to be
  269. put STORE DEFAULT %DEFAULT_CONTAINER
  270. waitforre You will now use|I could not find|You can't do that|You will need to be
  271.  
  272. action remove ^You are still stunned
  273.  
  274. var JUGGLIE $JUGGLIE
  275. var HUM_SONG $HUM_SONG
  276. var HUM_DIFFICULTY $HUM_DIFFICULTY
  277.  
  278.  
  279. ## Has full aim been attained yet
  280. var FULL_AIM NO
  281.  
  282. ## Has full targetting been attained yet
  283. var FULL_TARGET NO
  284.  
  285. ## Has spell been fully prepped
  286. var FULL_PREP NO
  287.  
  288. ## Already searched the dead creature
  289. var SEARCHED NO
  290.  
  291. var APPRAISED NO
  292.  
  293. ## Arm-worn shield during ranged attempts
  294. var REM_SHIELD NONE
  295.  
  296. ## Stance variables
  297. var PARRY_LEVEL 0
  298. var EVAS_LEVEL 0
  299. var SHIELD_LEVEL 0
  300.  
  301. ## Initialize variable for roaming
  302. var lastdirection none
  303.  
  304. ## Variable for rest mode
  305. var REST OFF
  306.  
  307. ## Local variable for counting kills, loots, skins, etc
  308. var LOCAL 0
  309. var LOOTED NO
  310. var CURR_WEAPON
  311.  
  312. ## Special request
  313. var DYING OFF
  314.  
  315. ## Global variables for kills, loots, skins, etc
  316. if matchre($GH_KILLS, \D+) then put #var GH_KILLS 0
  317. if matchre($GH_LOOTS, \D+) then put #var GH_LOOTS 0
  318. if matchre($GH_SKINS, \D+) then put #var GH_SKINS 0
  319.  
  320. #######################
  321. ## SCRIPT VARIALBLES ##
  322. #######################
  323.  
  324. ## variable LAST is used with the WEBBED and PAUSE subroutines
  325. ## LAST is set to the current subroutine you in within the script
  326. if ("%1" != "MULTIWEAPON") then
  327. {
  328. ## MULTI can be OFF or ON
  329. ## ON - Will switch weapons to the next multi setup when locked
  330. ## OFF - Default, attacks with just this weapon
  331. put #var GH_MULTI OFF
  332. } else
  333. {
  334. shift
  335. }
  336.  
  337. ## Counter is used to send you back to combat from searching
  338.  
  339. ######################################################
  340. ## GLOBAL VARIABLES ##
  341. ## These variables can be changed while GenieHunter ##
  342. ## is running to modify how the script works. ##
  343. ## eg If you get tired of skinning, but have GH set ##
  344. ## to skin, just change GH_SKIN to OFF ##
  345. ## All global variables are GH_<<name>> so they are ##
  346. ## all in the same spot in the variables window ##
  347. ######################################################
  348.  
  349. ## AMBUSH can be OFF or ON
  350. ## ON - Using ambushing attacks, hides and stalks before every attack
  351. ## OFF - Default, attacks normally
  352. put #var GH_AMBUSH OFF
  353. action (stalk) off
  354.  
  355. ## APPR can be NO or YES
  356. ## YES - Kills first creature, then appraises one creature once before entering the combat loop
  357. ## Will appraise once after each kill, will not appraise once skill is dazed or mind locked
  358. ## NO - Default, no appraising of creatures
  359. put #var GH_APPR NO
  360.  
  361. ## ARMOR can be OFF or ON
  362. ## ON - Will include the armor swapping routine and use it
  363. ## OFF - Default, no include
  364. put #var GH_ARMOR OFF
  365.  
  366. ## ARRANGE can be OFF or ON
  367. ## ON - Will attempt to arrange a skinnable creature before skinning it.
  368. ## OFF - Default, will just skin creatures
  369. put #var GH_ARRANGE OFF
  370.  
  371. ## BUFF can be OFF or ON
  372. ## ON - Will include the buffing routine and use it
  373. ## OFF - Default, no include
  374. put #var GH_BUFF OFF
  375. if "$BW" != "$righthand" then put #var BW OFF
  376.  
  377. ## BUN can be OFF or ON
  378. ## Note: Skinning must be enabled for bundling to work
  379. ## ON - Will bundle skinnings with rope
  380. ## If no more bundling ropes are available, will be set to OFF
  381. ## OFF - Default, will just drop skins
  382. put #var GH_BUN OFF
  383.  
  384. ## COUNTING can be OFF or ON
  385. ## ON - Will dance with specified number of creatures.
  386. ## Checks number of creatures after each pass through loop.
  387. ## OFF - Default, will kill everything as fast as possible
  388. put #var GH_DANCING OFF
  389.  
  390. ## DANGER can be OFF or ON
  391. ## ON - Will retreat while buffing, it will also set BUFF to on if it's not set already
  392. ## OFF - Default
  393. put #var GH_BUFF_DANGER OFF
  394.  
  395. ## EXP can be ON or OFF
  396. ## ON - Checks weapons experience after every kill
  397. ## Also checks mindstate and any alternate experience
  398. ## OFF - No experience checks
  399. if ("$GH_MULTI" = "OFF") then put #var GH_EXP OFF
  400.  
  401. ## FEINT can be OFF or ON
  402. ## ON - Uses a feinting routine (feint slice, etc) to maintain balance
  403. ## OFF - Default, will use normal combat routine
  404. ## Note: Only usable with melee weapon fighting
  405. put #var GH_FEINT OFF
  406.  
  407. ## HUNT can be OFF or ON
  408. ## ON - Uses the HUNT verb every 90 seconds to train perception and stalking
  409. ## OFF - Default, will only use HUNT if roaming
  410. put #var GH_HUNT OFF
  411.  
  412. ## RAGE can be OFF or ON
  413. ## ON - rages like a boss
  414. ## OFF - you picked a pussy guild
  415. put #var GH_RAGE OFF
  416.  
  417. ## CLEAVE, CRASH, IMPALE, TWIRL, PALMSTRIKE, SUPLEX, POWERSHOT, DOUBLESTRIKE can be OFF or ON
  418. ## ON - MANEUVERS like a boss
  419. ## OFF - you picked a pussy guild
  420. put #var GH_CLEAVE OFF
  421. put #var GH_CRASH OFF
  422. put #var GH_IMPALE OFF
  423. put #var GH_TWIRL OFF
  424. put #var GH_PALMSTRIKE OFF
  425. put #var GH_SUPPLEX OFF
  426. put #var GH_POWERSHOT OFF
  427. put #var GH_DOUBLESTRIKE OFF
  428.  
  429. ## DEBIL can be off or on
  430. ## ON - USES DEBIL every 120 seconds to train DEBILITATION
  431. ## OFF - Default will only use if turned on
  432. put #var GH_DEBIL OFF
  433.  
  434. ## WARDING can be off or on
  435. ## ON - USES WARDING SPELL every 120 seconds to train WARDING
  436. ## OFF - Default will only use if turned on
  437. put #var GH_WARDING OFF
  438.  
  439. ## AUGMENTATION can be off or on
  440. ## ON - USES AUGMENTATION SPELL every 120 seconds to train AUGMENTATION
  441. ## OFF - Default will only use if turned on
  442. put #var GH_AUGMENTATION OFF
  443.  
  444. ## HUNTO can be OFF or ON
  445. ## ON - Uses the HUNT verb every 90 seconds to train perception and stalking
  446. ## OFF - Default, will only use HUNT if roaming
  447. put #var GH_HUNTO OFF
  448.  
  449. ## JUGGLE can be OFF or ON
  450. ## ON - Juggles when no monsters in the room
  451. ## OFF - Default, uses standard operations when no monsters in the room
  452. put #var GH_JUGGLE OFF
  453.  
  454. ## LOOT can be OFF or ON
  455. ## ON - Loots everything: boxes, gems coins; stores loot in LOOT_CONTAINER
  456. ## If LOOT_CONTAINER fills up, stops looting boxes and gems
  457. ## OFF - Default, leaves loot on the ground
  458. ## Note: Turning on LOOT turns on LOOT_BOX, LOOT_GEM, LOOT_COIN
  459. put #var GH_LOOT OFF
  460.  
  461. ## LOOT_BOX can be OFF or ON
  462. ## ON - Loots boxes until LOOT_CONTAINER is full
  463. ## OFF - Default, leaves boxes on the ground
  464. put #var GH_LOOT_BOX OFF
  465.  
  466. ## LOOT_COIN can be OFF or ON
  467. ## ON - Loots coins
  468. ## OFF - Default, leaves coins on the ground
  469. put #var GH_LOOT_COIN OFF
  470.  
  471. # LOOT_COLL can be OFF or ON
  472. ## ON - Will loot collectibles: Imperial diras and cards
  473. ## OFF - Default, will collectibles on the ground
  474. put #var GH_LOOT_COLL OFF
  475.  
  476. ## LOOT_GEM can be OFF or ON
  477. ## ON - Loots gems until LOOT_CONTAINER is full
  478. ## OFF - Default, leaves gems on the ground
  479. put #var GH_LOOT_GEM OFF
  480.  
  481. ## LOOT_JUNK can be OFF or ON
  482. ## ON - Loots junk items until LOOT_CONTAINER is full
  483. ## OFF - Default, leaves junk items on the ground
  484. put #var GH_LOOT_JUNK OFF
  485.  
  486. ## SPELL can be the shortname of any castable spell. It's what will be prepped.
  487. put #var GH_SPELL eb
  488.  
  489. ## MANA is the amount of initial mana to prep the spell at.
  490. put #var GH_MANA 0
  491.  
  492. ## NECROHEAL can be OFF or ON
  493. ## ON - Performs the consume spell and ritual if injured.
  494. ## OFF - Default, does not perform spell / ritual.
  495. put #var GH_NECROHEAL OFF
  496.  
  497. ## NECRORITUAL can be OFF, PRESERVE, HARVEST, or ARISE
  498. ## OFF - Default, does not perform ritual
  499. ## PRESERVE / HARVEST / ARISE - Performs said ritual
  500. put #var GH_NECRORITUAL OFF
  501.  
  502. ## HARN is the amount of extra mana to harness before casting the spell.
  503. put #var GH_HARN 0
  504.  
  505. ## POUCH can be OFF or ON
  506. ## ON - Will remove current pouch, put it into special container, and get a new one from default container
  507. ## OFF - Default, does not remove full pouch
  508. put #var GH_POUCH OFF
  509.  
  510. ## PP can be OFF or ON
  511. ## ON - Perceives once every 6 minutes to train power perception
  512. ## OFF - Default, does nothing with perceive
  513. put #var GH_PP OFF
  514.  
  515. ## RETREAT can be OFF or ON
  516. ## ON - Uses the retreats for ranged combat, melee!
  517. ## OFF - Default, bypasses retreats for ranged combat
  518. put #var GH_RETREAT OFF
  519.  
  520. ## ROAM can be OFF or ON
  521. ## ON - Will roam around the hunting area on main directions (n,nw,w,sw,s,se,e,ne,u,d)
  522. ## if you kill all the creatures in your area
  523. ## OFF - Default, will stay in your own room no matter what
  524. put #var GH_ROAM OFF
  525.  
  526. ## SCRAPE can be OFF or ON
  527. ## ON - Scrapes skins/pelts/hides after skinning
  528. ## OFF - Default, just searches all creatures
  529. ## Note: This works with SKIN_RETREAT and BUNDLING
  530. put #var GH_SCRAPE OFF
  531.  
  532. ##SEARCH can be set to Treasre, Boxes, Equipment, Goods, or All
  533. ##Defaults to loot goods, which is game default
  534. ##See in game LOOT HELP for more information
  535. put #var GH_SEARCH Treasure
  536.  
  537. ## SKIN can be OFF or ON
  538. ## ON - Skin creatures that can be skinned
  539. ## Drops skins unless BUN is set to ON
  540. ## OFF - Default, just searches all creatures
  541. put #var GH_SKIN OFF
  542.  
  543. ## SKIN_RET can be OFF or ON
  544. ## ON - Turns on the retreat triggers while skinning
  545. ## OFF - Default, doesn't retreat for skinning
  546. put #var GH_SKIN_RET OFF
  547.  
  548. ## SLOW can be OFF or ON
  549. ## ON - Turns on pauses between weapon strikes
  550. ## OFF - Default, no pauses
  551. put #var GH_SLOW OFF
  552.  
  553. ## SNAP can be OFF or ON
  554. ## ON - Snap fires a ranged weapon
  555. ## OFF - Default, waits for a full aim to fire a ranged
  556. put #var GH_SNAP OFF
  557.  
  558. ## STANCE can be OFF or ON
  559. ## ON - Check stance exp after each kill, switch on dazed or mind lock
  560. ## OFF - Default, no stance exp checking
  561. put #var GH_STANCE OFF
  562.  
  563. ## TARGET (global) can be ""(null) or any valid body part spells should target
  564. put #var GH_TARGET ""
  565.  
  566. ## TEND can be OFF or ON
  567. ## ON - Will tend wounds
  568. ## OFF - Default, Will not tend wounds
  569. put #var GH_TEND OFF
  570.  
  571. ## TIE can be OFF or ON
  572. ## ON - Will tie bundle when created
  573. ## OFF - Default, leaves bundle untied
  574. put #var GH_TIE OFF
  575.  
  576. ## TIMER can be OFF or ON
  577. ## ON - If the timer is greater than MAX_TRAIN_TIME, end the script
  578. ## OFF - Default, run script endlessly
  579. put #var GH_TIMER OFF
  580.  
  581. ## TRAIN can be ON or OFF
  582. ## ON - Weapon or Alternate experience will be checked more often than just when critters die.
  583. ## OFF - Default, normal EXP check cycle.
  584. if ("$GH_MULTI" = "OFF") then put #var GH_TRAIN OFF
  585.  
  586. ## WEAR can be OFF or ON
  587. ## ON - Will wear a bundle
  588. ## OFF - Default, Will drop bundles
  589. put #var GH_WEAR OFF
  590.  
  591.  
  592. ############################
  593. ## End GLOBAL Variables ##
  594. ############################
  595.  
  596. ############################
  597. ## Local Script Variables ##
  598. ############################
  599. ## ALTEXP can be OFF or ON
  600. ## ON - Will check an alternate skill as well as weapon skill
  601. ## OFF - Just check weapon experience
  602. var ALTEXP OFF
  603.  
  604. ## BACKSTAB can be OFF or ON
  605. ## ON - Will backstab with a weapon
  606. ## If weapon is not suitable for backstabbing, will enter normal combat with weapon
  607. ## OFF - Default, will attack normally with weapon
  608. var BACKSTAB OFF
  609.  
  610. ## BRAWLING can be OFF or ON
  611. ## ON - Brawling mode, uses bare hands to kill creatures (or non-lethal for Empaths)
  612. ## OFF - Default
  613. var EMPTY_HANDED OFF
  614.  
  615. ## CURR_STANCE can be Evasion, Parry_Ability or Shield_Usage
  616. ## Note: Used in stance switching
  617. ## Evasion - evasion stance is current one set, Default
  618. ## Parry_Ability - parry stance is current one set
  619. ## Shield_Usage - shield stance is current one set
  620. var CURR_STANCE Evasion
  621.  
  622. ## EXP2 can be Backstab, Stealth, NONE, Offhand_Weapon, Primay_Magic, Tactics, or Target_Magic
  623. ## Backstab - Used when backstabbing
  624. ## Stealth - Used when sniping
  625. ## Offhand_Weapon - Used when offhand attacks are done
  626. ## Primary_Magic - Used when performing magic and want to check PM
  627. ## Stealth - Used when ambushing and poaching
  628. ## Target_Magic - Used when performing magic and want to check TM
  629. ## NONE - Default
  630. var EXP2 NONE
  631.  
  632. ## FIRE_TYPE can be FIRE, POACH or SNIPE
  633. ## FIRE - Default, generic firing of ranged weapon
  634. ## POACH - Poaches creatures, hides and stalks before poaching
  635. ## If creatures cannot be poached, fires normally
  636. ## SNIPE - Snipe creatures, hides and stalks before sniping
  637. var FIRE_TYPE FIRE
  638.  
  639. ## HAND can be <blank> or left
  640. ## <blank> - Default, attacks with the right hand
  641. ## left - Attacks with the left hand, used for one-handed weapons and throwing
  642. var HAND
  643.  
  644. ## HAND2 can be left or right
  645. ## Note: Used in stackables throwing to ensure you don't fill your hands
  646. ## left - Default
  647. ## right - Set when HAND = "left"
  648. var HAND2 left
  649.  
  650. ## MAGIC can be OFF or ON
  651. ## ON - Will cause a single cast of the specified spell before attacking with mundane weapons
  652. ## OFF - Default, won't trigger magic section
  653. var MAGIC OFF
  654.  
  655. ## MAGIC_TYPE can be TM or PM or OFF
  656. ## TM - Will cause the appropriate TM usage, with targeting, and checks against TM skill
  657. ## PM - Avoid targeting, and uses the PM skill for checks
  658. ## OFF - Default
  659. var MAGIC_TYPE OFF
  660.  
  661. ## MAGIC_COUNT can be 0 or anything greater. It tracks the original numeric combo for resetting the counter.
  662. var MAGIC_COUNT 0
  663.  
  664. ## MAX_TRAIN_TIME is how long, in seconds, you want the script to run before stopping
  665. ## Note: MAX_TRAIN_TIME defaults to 10 minutes
  666. var MAX_TRAIN_TIME 600
  667.  
  668. ## NOEVADE, NOPARRY, NOSHIELD are used with stance switching to indicate when you wish to skip a stance
  669. ## ON - Will skip the designated stance in the SWITCH_STANCE routine
  670. ## OFF - Default, will not skip this stance when switching
  671. ## Note: can only use one of these at a time.
  672. var NOEVADE OFF
  673. var NOPARRY OFF
  674. var NOSHIELD OFF
  675.  
  676. ## RANGED can be OFF or ON
  677. ## ON - For use with ranged weapons; bows, xbows and thrown
  678. ## OFF - Default, used with melee weapons
  679. var RANGED OFF
  680.  
  681. ## RETREATING can be OFF or ON. This variable is set internally.
  682. ## ON - Retreat triggers are ON
  683. ## OFF - Default, retreat triggers are OFF
  684. var RETREATING OFF
  685.  
  686. ## RUCK can be OFF or ON
  687. ## ON - Weapon was tied to a rucksack, used for sheathing while looting/skinning
  688. ## OFF - Default
  689. ## Note: Not yet implemented
  690. var RUCK OFF
  691.  
  692. ## SHIELD can be NONE or <shield type>
  693. ## NONE - Default, no shield used
  694. ## <shield type> - This is set either during the weapon check or ranged combat
  695. ## If set during the weapon check for a melee weapon, the shield is used during combat
  696. ## If set during ranged, the shield is removed and stowed, and reworn upon leaving the script
  697. var SHIELD NONE
  698.  
  699. ## STACK can be OFF or ON
  700. ## ON - Throwing weapon is a stackable
  701. ## OFF - Default
  702. var STACK OFF
  703.  
  704. ## THROWN can be OFF or ON
  705. ## ON - Throw a weapon
  706. ## OFF - Default
  707. var THROWN OFF
  708.  
  709. ## YOYO can be OFF or ON
  710. ## YOYO is a subset of JUGGLING, it uses a yoyo instead of a standard jugglie
  711. ## ON - "juggle" with a yoyo
  712. ## OFF - Default, normal jugglie
  713. var YOYO OFF
  714. ################################
  715. ## End Local Script Variables ##
  716. ################################
  717.  
  718. counter set 0
  719. gosub RETREAT_UNTRIGGERS
  720. action var guild $1;put #var guild $1 when Guild: (\S+)
  721. action var level $1 when Circle: (\d+)
  722. put info
  723. waitfor Encumbrance
  724. action remove Guild: (\S+)
  725. action remove Circle: (\d+)
  726. put awaken
  727.  
  728. if ("$GH_MULTI" = "DMULTI") then goto LOAD_DEFAULT_SETTINGS
  729. if_1 goto VARIABLE_CHECK
  730. if ("$GH_DEF_SET" = "YES") then goto LOAD_DEFAULT_SETTINGS
  731.  
  732. DEFAULT_NOT_SET:
  733. if ("%GAG_ECHO" != "YES") then
  734. {
  735. echo
  736. echo *** ERROR ***
  737. echo Your default setting are not set yet.
  738. echo Run .geniehuntera DSET <<default settings>> to set them
  739. echo
  740. echo Now exiting script
  741. }
  742. goto DONE
  743.  
  744. ##############################
  745. ## ##
  746. ## Start of actual script ##
  747. ## ##
  748. ##############################
  749. VARIABLE_CHECK:
  750. var LAST VARIABLE_CHECK
  751. gosub clear
  752. if matchre (toupper("%1"),"(\b%OPTIONVARS)") then
  753. {
  754. var OPTION %1
  755. pause 0.6
  756. shift
  757. gosub %OPTION
  758. goto VARIABLE_CHECK
  759. }
  760.  
  761. gosub GENERAL_TRIGGERS
  762.  
  763. BEGIN:
  764. var LAST BEGIN
  765. if ("%GAG_ECHO" != "YES") then
  766. {
  767. echo
  768. echo *** BEGIN: ***
  769. echo
  770. }
  771. matchre WEAPON_CHECK You draw|already holding|free to
  772. match BEGIN_HANDS free hand|need to have your right hand
  773. matchre BEGINA out of reach|remove|What were you|can't seem|Wield what\?
  774. match VARIABLE_CHECK You can only wield a weapon or a shield!
  775. put wield right my %1
  776. matchwait 15
  777.  
  778. BEGINA:
  779. var LAST BEGINA
  780. matchre WEAPON_CHECK You sling|already holding|inventory|You remove
  781. matchre BEGIN_HANDS free hand|hands are full
  782. matchre BEGINB Remove what?|You aren't wearing
  783. put remove my %1
  784. matchwait 15
  785.  
  786. BEGINB:
  787. var LAST BEGINB
  788. matchre WEAPON_CHECK You get|you get|You are already holding
  789. match NO_VALUE Please rephrase that command
  790. match VARIABLE_ERROR What were you
  791. match UNTIE it is untied.
  792. put get my %1
  793. matchwait 30
  794. goto VARIABLE_ERROR
  795.  
  796. UNTIE:
  797. var RUCK ON
  798. match WEAPON_CHECK you get
  799. match NO_VALUE Please rephrase that command
  800. match VARIABLE_ERROR What were you
  801. put untie my %1 from ruck
  802. matchwait 30
  803. goto VARIABLE_ERROR
  804.  
  805. ####################################
  806. ## ##
  807. ## First input was not a weapon ##
  808. ## Checking for variables now ##
  809. ## ##
  810. ####################################
  811.  
  812. ### Ambushing creatures, using the stalking skill for experience checks
  813. AMB:
  814. AMBU:
  815. AMBUS:
  816. AMBUSH:
  817. if ("%GAG_ECHO" != "YES") then
  818. {
  819. echo
  820. echo *** AMBUSHING: ***
  821. echo
  822. }
  823. put #var GH_AMBUSH ON
  824. var starter.room $roomid
  825. var ALTEXP ON
  826. var EXP2 Stealth
  827. if "$GH_ROAM" = "OFF" then action (stalk) on
  828. return
  829.  
  830. ## Appraising creatures until appraisal is locked
  831. APPR:
  832. APPRAISE:
  833. APPRAISAL:
  834. if ("%GAG_ECHO" != "YES") then
  835. {
  836. echo
  837. echo *** APPRAISAL: ***
  838. echo
  839. }
  840. put #var GH_APPR YES
  841. return
  842.  
  843. ## Will include buffing routine
  844. ARM:
  845. ARMO:
  846. ARMOR:
  847. if ("%GAG_ECHO" != "YES") then
  848. {
  849. echo
  850. echo *** ARMORSWAPPING: ***
  851. echo
  852. }
  853. put #var GH_ARMOR ON
  854. put #var GH_ARMOR.INCLUDE 0
  855. put #var GH_ARMOR_COUNT 0
  856. put #var GH_ARMOR_TOTAL 0
  857. if $swap.learningrate >= 34 then put #var swap.learningrate 30
  858. return
  859.  
  860. ## Arranging skinnable creatures before skinning
  861. ## Turns skinning on if it is not already
  862. ARRA:
  863. ARRAN:
  864. ARRANG:
  865. ARRANGE:
  866. if ("%GAG_ECHO" != "YES") then
  867. {
  868. echo
  869. echo *** ARRANGE: ***
  870. echo
  871. }
  872. put #var GH_ARRANGE ON
  873. if ("$GH_SKIN" != "ON") then gosub SKIN
  874. if matchre("%1","^\d+$") then
  875. {
  876. put #var MAX_ARRANGE %1
  877. if ("%GAG_ECHO" != "YES") then echo *** Arranging %1 times ***
  878. shift
  879. } else put #var MAX_ARRANGE 1
  880. return
  881.  
  882. ## Backstabbing with a weapon
  883. BS:
  884. BACK:
  885. BACKS:
  886. BACKST:
  887. BACKSTA:
  888. BACKSTAB:
  889. if ("%GAG_ECHO" != "YES") then
  890. {
  891. echo
  892. echo *** BACKSTAB: ***
  893. echo
  894. }
  895. if ("%guild" != "Thief") then
  896. {
  897. echo
  898. echo *** Can only backstab if you are a thief!! ***
  899. echo
  900. return
  901. }
  902. gosub clear
  903. gosub GENERAL_TRIGGERS
  904. if ("$GH_FEINT" = "ON") then put #var GH_FEINT OFF
  905. put #var GH_AMBUSH ON
  906. var BACKSTAB ON
  907. var ALTEXP ON
  908. var EXP2 Backstab
  909. var LAST_ATTACK none
  910. counter set 1300
  911. var CURR_WEAPON %1
  912. var LAST GET_BS_WEAPON
  913. GET_BS_WEAPON:
  914. matchre APPRAISE_BS You draw|already holding|free to
  915. match BEGIN_HAND need to have your right hand
  916. put wield my %CURR_WEAPON
  917. matchwait 15
  918. goto VARIABLE_ERROR
  919. APPRAISE_BS:
  920. var LAST APPRAISE_BS
  921. matchre LE_BS (a|and) light edged
  922. matchre ME_BS (a|and) medium edged
  923. matchre WEAPON_APPR_ERROR Roundtime|It's hard to appraise
  924. put appr my %CURR_WEAPON quick
  925. matchwait 15
  926. goto WEAPON_APPR_ERROR
  927. LE_BS:
  928. var WEAPON_EXP Light_Edged
  929. var RANGED OFF
  930. var COMBO1 parry
  931. var COMBO2 feint
  932. var COMBO3 lunge
  933. var COMBO4 thrust
  934. var COMBO5 jab
  935. var COMBO6 unused
  936. var COMBO7 unused
  937. var COMBO8 unused
  938. goto 1_HANDED_WEAPON
  939. ME_BS:
  940. var WEAPON_EXP Medium_Edged
  941. var RANGED OFF
  942. var COMBO1 parry
  943. var COMBO2 feint
  944. var COMBO3 draw
  945. var COMBO4 sweep
  946. var COMBO5 thrust
  947. var COMBO6 unused
  948. var COMBO7 unused
  949. var COMBO8 unused
  950. goto 1_HANDED_WEAPON
  951.  
  952. ## Setting the stance to shield/blocking
  953. BLO:
  954. BLOC:
  955. BLOCK:
  956. if ("%GAG_ECHO" != "YES") then
  957. {
  958. echo
  959. echo *** BLOCK: ***
  960. echo
  961. }
  962. var CURR_STANCE Shield_Usage
  963. SET_SHIELD_STANCE:
  964. var LAST SET_SHIELD_STANCE
  965. match RETURN You are now set to
  966. put stance shield
  967. matchwait 15
  968. return
  969.  
  970. ## Will include buffing routine
  971. BUF:
  972. BUFF:
  973. if ("%GAG_ECHO" != "YES") then
  974. {
  975. echo
  976. echo *** BUFF: ***
  977. echo
  978. }
  979. put #var GH_BUFF ON
  980. put #var GH_BUFF_INCLUDE 0
  981. return
  982.  
  983. ## Will bundle anything skinned. If skinning not enabled this does nothing.
  984. BUN:
  985. BUND:
  986. BUNDL:
  987. BUNDLE:
  988. if ("%GAG_ECHO" != "YES") then
  989. {
  990. echo
  991. echo *** BUNDLE: ***
  992. echo
  993. }
  994. put #var GH_BUN ON
  995. if ("$GH_SKIN" != "ON") then gosub SKIN
  996. return
  997.  
  998. ## Implements brawling attacks
  999. BRA:
  1000. BRAW:
  1001. BRAWL:
  1002. BRAWLI:
  1003. BRAWLIN:
  1004. BRAWLING:
  1005. if ("%GAG_ECHO" != "YES") then
  1006. {
  1007. echo
  1008. echo *** BRAWLING: ***
  1009. echo
  1010. }
  1011. gosub clear
  1012. gosub GENERAL_TRIGGERS
  1013. var WEAPON_EXP Brawling
  1014. if_1 then goto BRAWL_CHECK
  1015. BRAWL_EMPTY:
  1016. var EMPTY_HANDED ON
  1017. var COMBO1 bob
  1018. var COMBO2 punch
  1019. var COMBO3 claw
  1020. var COMBO4 bob
  1021. var COMBO5 kick
  1022. var COMBO6 elbow
  1023. var COMBO7 gouge
  1024. var COMBO8 unused
  1025. counter add 600
  1026. goto BRAWL_SETUP
  1027. BRAWL_CHECK:
  1028. if matchre ("%1","shield|buckler|pavise|heater|kwarf|sipar|lid|targe\b|tray|wheel") then goto BRAWL_EMPTY
  1029. var EMPTY_HANDED OFF
  1030. var COMBO1 bob
  1031. var COMBO2 circle
  1032. var COMBO3 weave
  1033. var COMBO4 kick
  1034. var COMBO5 punch
  1035. var COMBO6 unused
  1036. var COMBO7 unused
  1037. var COMBO8 unused
  1038. counter add 500
  1039. var CURR_WEAPON %1
  1040. shift
  1041. BRAWL_WEAPON:
  1042. var LAST BRAWL_WEAPON
  1043. gosub WIELD_WEAPON %CURR_WEAPON
  1044. goto BRAWL_SETUP
  1045.  
  1046. COLL:
  1047. COLLE:
  1048. COLLEC:
  1049. COLLECT:
  1050. COLLECTIBLE:
  1051. if ("%GAG_ECHO" != "YES") then
  1052. {
  1053. echo
  1054. echo *** LOOT_COLLECTIBLES: ***
  1055. echo
  1056. }
  1057. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1058. put #var GH_LOOT_COLL ON
  1059. return
  1060.  
  1061. CUST:
  1062. CUSTO:
  1063. CUSTOM:
  1064. if ("%GAG_ECHO" != "YES") then
  1065. {
  1066. echo
  1067. echo *** CUSTOM STANCE: ***
  1068. echo
  1069. }
  1070. action var PARRY_LEVEL $1 when ^You are currently using (\d+)% of your weapon parry skill
  1071. action var EVAS_LEVEL $1 when ^You are currently using (\d+)% of your evasion skill
  1072. action var SHIELD_LEVEL $1 when ^You are currently using (\d+)% of your shield block skill
  1073. put stance custom
  1074. waitfor You are now set to
  1075. if (%PARRY_LEVEL > %EVAS_LEVEL) then
  1076. {
  1077. if (%PARRY_LEVEL > %SHIELD_LEVEL) then
  1078. {
  1079. var CURR_STANCE Parry_Ability
  1080. } else
  1081. {
  1082. var CURR_STANCE Shield_Usage
  1083. }
  1084. } else
  1085. {
  1086. if (%EVAS_LEVEL >= %SHIELD_LEVEL) then
  1087. {
  1088. var CURR_STANCE Evasion
  1089. } else
  1090. {
  1091. var CURR_STANCE Shield_Usage
  1092. }
  1093. }
  1094. action remove ^You are currently using (\d+)% of your weapon parry skill
  1095. action remove ^You are currently using (\d+)% of your evasion skill
  1096. action remove ^You are currently using (\d+)% of your shield block skill
  1097. return
  1098.  
  1099. ## Dances with a number of creatures
  1100. ## The number of creatures to dance with
  1101. COUNT:
  1102. DANCE:
  1103. if ("%GAG_ECHO" != "YES") then
  1104. {
  1105. echo
  1106. echo *** COUNT: ***
  1107. echo
  1108. }
  1109. put #var GH_DANCING ON
  1110. if (%1 > 6) then goto COUNT_6
  1111. goto COUNT_%1
  1112. COUNT_0:
  1113. COUNT_1:
  1114. var xCOUNT COUNT_ONE
  1115. shift
  1116. return
  1117. COUNT_2:
  1118. var xCOUNT COUNT_TWO
  1119. shift
  1120. return
  1121. COUNT_3:
  1122. var xCOUNT COUNT_THREE
  1123. shift
  1124. return
  1125. COUNT_4:
  1126. var xCOUNT COUNT_FOUR
  1127. shift
  1128. return
  1129. COUNT_5:
  1130. var xCOUNT COUNT_FIVE
  1131. shift
  1132. return
  1133. COUNT_6:
  1134. var xCOUNT COUNT_SIX
  1135. shift
  1136. return
  1137.  
  1138. ## Danger, adds retreating to buffing
  1139. DANGER:
  1140.  
  1141. if ("%GAG_ECHO" != "YES") then
  1142. {
  1143. echo
  1144. echo *** DANGER: ***
  1145. echo
  1146. }
  1147. put #var GH_BUFF_DANGER ON
  1148. if toupper("$GH_BUFF") != "YES") then gosub BUFF
  1149. return
  1150.  
  1151. DEF:
  1152. DEFA:
  1153. DEFAU:
  1154. DEFAUL:
  1155. DEFAULT:
  1156. if ("%GAG_ECHO" != "YES") then
  1157. {
  1158. echo
  1159. echo *** DEFAULT: ***
  1160. echo Using Default Settings
  1161. echo
  1162. }
  1163. gosub clear
  1164. gosub GENERAL_TRIGGERS
  1165. if ("$GH_MULTI" != "OFF") then goto DEFAULT_ERROR
  1166. goto LOAD_DEFAULT_SETTINGS
  1167.  
  1168. DSET:
  1169. if ("%GAG_ECHO" != "YES") then
  1170. {
  1171. echo
  1172. echo *** DEFAULT-SET: ***
  1173. echo Preparing to set Default settings
  1174. echo
  1175. }
  1176. var DSET ON
  1177. return
  1178.  
  1179. DMSET:
  1180. if ("%GAG_ECHO" != "YES") then
  1181. {
  1182. echo
  1183. echo *** DEFAULT-MULTI-SET: ***
  1184. echo Preparing to setup up weapons to use in multi.
  1185. echo Using other default settings
  1186. echo
  1187. }
  1188. var SET_NUM 1
  1189. SET_DM_STRING:
  1190. if (SET_NUM > 20) then goto DONE_SET_DM
  1191. put #var GH_MULTI_WEAPON_%SET_NUM %1
  1192. math SET_NUM add 1
  1193. shift
  1194. if_1 goto SET_DM_STRING
  1195. DONE_SET_DM:
  1196. math SET_NUM subtract 1
  1197. put #var GH_MULTI_NUM %SET_NUM
  1198. goto DONE
  1199.  
  1200. DMULTI:
  1201. if ("%GAG_ECHO" != "YES") then
  1202. {
  1203. echo
  1204. echo *** DMULTI: ***
  1205. echo
  1206. }
  1207. gosub clear
  1208. put #var GH_EXP ON
  1209. put #var GH_TRAIN ON
  1210. put #var GH_MULTI DMULTI
  1211. if matchre ("%1","^\d+$") then
  1212. {
  1213. put #var GH_MULTI_CURR_NUM %1
  1214. if ($GH_MULTI_CURR_NUM > $GH_MULTI_NUM) then goto MULTI_ERROR
  1215. goto DMULTI_$GH_MULTI_CURR_NUM
  1216. }
  1217. put #var GH_MULTI_CURR_NUM 1
  1218. DMULTI_1:
  1219. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_1
  1220. DMULTI_2:
  1221. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_2
  1222. DMULTI_3:
  1223. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_3
  1224. DMULTI_4:
  1225. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_4
  1226. DMULTI_5:
  1227. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_5
  1228. DMULTI_6:
  1229. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_6
  1230. DMULTI_7:
  1231. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_7
  1232. DMULTI_8:
  1233. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_8
  1234. DMULTI_9:
  1235. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_9
  1236. DMULTI_10:
  1237. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_10
  1238. DMULTI_11:
  1239. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_11
  1240. DMULTI_12:
  1241. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_12
  1242. DMULTI_13:
  1243. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_13
  1244. DMULTI_14:
  1245. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_14
  1246. DMULTI_15:
  1247. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_15
  1248. DMULTI_16:
  1249. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_16
  1250. DMULTI_17:
  1251. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_17
  1252. DMULTI_18:
  1253. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_18
  1254. DMULTI_19:
  1255. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_19
  1256. DMULTI_20:
  1257. put .geniehunter MULTIWEAPON $GH_MULTI_WEAPON_20
  1258. DMULTI_ERROR:
  1259. echo
  1260. echo *** DMULTI_ERROR: ***
  1261. echo Something bad happened trying to multi-weapon with defaults
  1262. goto DONE
  1263.  
  1264. ## Non-lethal brawling, useful for Empaths or dancing or Tactics
  1265. EMP:
  1266. EMPU:
  1267. EMPA:
  1268. EMPUF:
  1269. EMPAT:
  1270. EMPUFF:
  1271. EMPATH:
  1272. TACT:
  1273. TACTI:
  1274. TACTIC:
  1275. TACTICS:
  1276. if ("%GAG_ECHO" != "YES") then
  1277. {
  1278. echo
  1279. echo *** TACTICS TRAINING - EMPATH_BRAWLING: ***
  1280. echo
  1281. }
  1282. gosub clear
  1283. gosub GENERAL_TRIGGERS
  1284. var EXP2 Tactics
  1285. var COMBO1 bob
  1286. var COMBO2 circle
  1287. var COMBO3 weave
  1288. var COMBO4 unused
  1289. var COMBO5 unused
  1290. var COMBO6 unused
  1291. var COMBO7 unused
  1292. var COMBO8 unused
  1293. var EMPTY_HANDED ON
  1294. counter add 500
  1295. EMPATH_WEAPON_CHECK:
  1296. var LAST EMPATH_WEAPON_CHECK
  1297. if_1 then
  1298. {
  1299. if matchre ("%1","shield|buckler|pavise|heater|kwarf|sipar|lid|targe\b") then goto BRAWL_SETUP
  1300. else
  1301. {
  1302. var CURR_WEAPON %1
  1303. shift
  1304. gosub WIELD_WEAPON %CURR_WEAPON
  1305. var EMPTY_HANDED OFF
  1306. }
  1307. }
  1308. goto BRAWL_SETUP
  1309.  
  1310. ## Sets the stance to evasion
  1311. DODGE:
  1312. EVAS:
  1313. EVAD:
  1314. EVASI:
  1315. EVADE:
  1316. EVASIO:
  1317. EVASION:
  1318. if ("%GAG_ECHO" != "YES") then
  1319. {
  1320. echo
  1321. echo *** EVASION: ***
  1322. echo
  1323. }
  1324. var CURR_STANCE Evasion
  1325. SET_EVAS_STANCE:
  1326. var LAST SET_EVAS_STANCE
  1327. match RETURN You are now set to
  1328. put stance evasion
  1329. matchwait 15
  1330. return
  1331.  
  1332. ## Will check exp, ends scripts when checked skill is locked
  1333. EXP:
  1334. if ("%GAG_ECHO" != "YES") then
  1335. {
  1336. echo
  1337. echo *** EXP: ***
  1338. echo
  1339. }
  1340. put #var GH_EXP ON
  1341. return
  1342.  
  1343. ## This will use feint during combat to keep balance up
  1344. FEINT:
  1345. if ("%GAG_ECHO" != "YES") then
  1346. {
  1347. echo
  1348. echo *** FEINT: ***
  1349. echo
  1350. }
  1351. if ("%BACKSTAB" != "ON") then put #var GH_FEINT ON
  1352. return
  1353.  
  1354. ## Uses HUNT to train perception and stalk, but not move
  1355. HUNT:
  1356. if ("%GAG_ECHO" != "YES") then
  1357. {
  1358. echo
  1359. echo *** HUNT: ***
  1360. echo
  1361. }
  1362. put #var GH_HUNT ON
  1363. var HUNT_TIME 0
  1364. return
  1365.  
  1366. ## Uses HUNT to train perception and stalk, but not move
  1367. HUNTO:
  1368. if ("%GAG_ECHO" != "YES") then
  1369. {
  1370. echo
  1371. echo *** HUNTO: ***
  1372. echo
  1373. }
  1374. put #var GH_HUNTO ON
  1375. var HUNTO_TIME 0
  1376. return
  1377.  
  1378. ## Uses RAGE to act like a boss
  1379. RAGE:
  1380. if ("%GAG_ECHO" != "YES") then
  1381. {
  1382. echo
  1383. echo *** RAGING LIKE A BOSS: ***
  1384. echo
  1385. }
  1386. put #var GH_RAGE ON
  1387. var RAGE_TIME 0
  1388. return
  1389.  
  1390. ## Uses CLEAVE to act like a boss
  1391. CLEAVE:
  1392. if ("%GAG_ECHO" != "YES") then
  1393. {
  1394. echo
  1395. echo *** CLEAVING LIKE A BOSS: ***
  1396. echo
  1397. }
  1398. put #var GH_CLEAVE ON
  1399. var CLEAVE_TIME 0
  1400. return
  1401.  
  1402. ## Uses CRASH to act like a boss
  1403. CRASH:
  1404. if ("%GAG_ECHO" != "YES") then
  1405. {
  1406. echo
  1407. echo *** CRASHING LIKE A BOSS: ***
  1408. echo
  1409. }
  1410. put #var GH_CRASH ON
  1411. var CRASH_TIME 0
  1412. return
  1413.  
  1414. ## Uses IMPALE to act like a boss
  1415. IMPALE:
  1416. if ("%GAG_ECHO" != "YES") then
  1417. {
  1418. echo
  1419. echo *** IMPALING LIKE A BOSS: ***
  1420. echo
  1421. }
  1422. put #var GH_IMPALE ON
  1423. var IMPALE_TIME 0
  1424. return
  1425.  
  1426. ## Uses TWIRL to act like a boss
  1427. TWIRL:
  1428. if ("%GAG_ECHO" != "YES") then
  1429. {
  1430. echo
  1431. echo *** TWIRLING LIKE A BOSS: ***
  1432. echo
  1433. }
  1434. put #var GH_TWIRL ON
  1435. var TWIRL_TIME 0
  1436. return
  1437.  
  1438. ## Uses PALMSTRIKE to act like a boss
  1439. PALMSTRIKE:
  1440. if ("%GAG_ECHO" != "YES") then
  1441. {
  1442. echo
  1443. echo *** PALMING BITCHES LIKE A BOSS: ***
  1444. echo
  1445. }
  1446. put #var GH_PALMSTRIKE ON
  1447. var PALMSTRIKE_TIME 0
  1448. return
  1449.  
  1450. ## Uses SUPLEX to act like a boss
  1451. SUPLEX:
  1452. if ("%GAG_ECHO" != "YES") then
  1453. {
  1454. echo
  1455. echo *** SUPLEXIN LIKE A BOSS: ***
  1456. echo
  1457. }
  1458. put #var GH_SUPLEX ON
  1459. var SUPLEX_TIME 0
  1460. return
  1461.  
  1462. ## Uses POWERSHOT to act like a boss
  1463. POWERSHOT:
  1464. if ("%GAG_ECHO" != "YES") then
  1465. {
  1466. echo
  1467. echo *** POWERSHOOTIN LIKE A BOSS: ***
  1468. echo
  1469. }
  1470. put #var GH_POWERSHOT ON
  1471. var POWERSHOT_TIME 0
  1472. return
  1473.  
  1474. ## Uses DOUBLESTRIKE to act like a boss
  1475. DOUBLESTRIKE:
  1476. if ("%GAG_ECHO" != "YES") then
  1477. {
  1478. echo
  1479. echo *** 2baggin LIKE A BOSS: ***
  1480. echo
  1481. }
  1482. put #var GH_DOUBLESTRIKE ON
  1483. var DOUBLESTRIKE_TIME 0
  1484. return
  1485.  
  1486. ## Uses DEBIL to DEBIL like a boss
  1487. DEBIL:
  1488. if ("%GAG_ECHO" != "YES") then
  1489. {
  1490. echo
  1491. echo *** DEBILITATING LIKE A BOSS: ***
  1492. echo
  1493. }
  1494. put #var GH_DEBIL ON
  1495. var DEBIL_TIME 0
  1496. return
  1497.  
  1498. ## Uses AUGMENTATION to AUGMENT like a boss
  1499. AUGMENTATION:
  1500. if ("%GAG_ECHO" != "YES") then
  1501. {
  1502. echo
  1503. echo *** AUGMENTING LIKE A BOSS: ***
  1504. echo
  1505. }
  1506. put #var GH_AUGMENTATION ON
  1507. var AUGMENTATION_TIME 0
  1508. return
  1509.  
  1510. ## Uses WARDING to WARD like a boss
  1511. WARDING:
  1512. if ("%GAG_ECHO" != "YES") then
  1513. {
  1514. echo
  1515. echo *** WARDING LIKE A BOSS: ***
  1516. echo
  1517. }
  1518. put #var GH_WARDING ON
  1519. var WARDING_TIME 0
  1520. return
  1521.  
  1522. ## Juggles when no monsters
  1523. JUGG:
  1524. JUGGL:
  1525. JUGGLE:
  1526. if ("%GAG_ECHO" != "YES") then
  1527. {
  1528. echo
  1529. echo *** JUGGLE: ***
  1530. echo
  1531. }
  1532. put #var GH_JUGGLE ON
  1533. return
  1534.  
  1535. ## Loots gems
  1536. JUNK:
  1537. if ("%GAG_ECHO" != "YES") then
  1538. {
  1539. echo
  1540. echo *** LOOT_JUNK: ***
  1541. echo
  1542. }
  1543. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1544. put #var GH_LOOT_JUNK ON
  1545. return
  1546.  
  1547. ## Loots everything
  1548. LOOTA:
  1549. LOOTAL:
  1550. LOOTALL:
  1551. if ("%GAG_ECHO" != "YES") then
  1552. {
  1553. echo
  1554. echo *** LOOT_ALL: ***
  1555. echo
  1556. }
  1557. put #var GH_LOOT ON
  1558. put #var GH_LOOT_GEM ON
  1559. put #var GH_LOOT_BOX ON
  1560. put #var GH_LOOT_COIN ON
  1561. put #var GH_LOOT_COLL ON
  1562. return
  1563.  
  1564. ## Loots boxes
  1565. LOOTB:
  1566. LOOTBO:
  1567. LOOTBOX:
  1568. LOOTBOXE:
  1569. LOOTBOXES:
  1570. if ("%GAG_ECHO" != "YES") then
  1571. {
  1572. echo
  1573. echo *** LOOT_BOXES: ***
  1574. echo
  1575. }
  1576. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1577. put #var GH_LOOT_BOX ON
  1578. return
  1579.  
  1580. ## Loots coins
  1581. LOOTC:
  1582. LOOTCO:
  1583. LOOTCOI:
  1584. LOOTCOIN:
  1585. LOOTCOINS:
  1586. if ("%GAG_ECHO" != "YES") then
  1587. {
  1588. echo
  1589. echo *** LOOT_COINS: ***
  1590. echo
  1591. }
  1592. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1593. put #var GH_LOOT_COIN ON
  1594. return
  1595.  
  1596. ## Loots gems
  1597. LOOTG:
  1598. LOOTGE:
  1599. LOOTGEM:
  1600. LOOTGEMS:
  1601. if ("%GAG_ECHO" != "YES") then
  1602. {
  1603. echo
  1604. echo *** LOOT_GEMS: ***
  1605. echo
  1606. }
  1607. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1608. put #var GH_LOOT_GEM ON
  1609. return
  1610.  
  1611. POUCH:
  1612. if ("%GAG_ECHO" != "YES") then
  1613. {
  1614. echo
  1615. echo *** SWAP_POUCH: ***
  1616. echo
  1617. }
  1618. if ("$GH_LOOT" != "ON") then put #var GH_LOOT ON
  1619. if ("$GH_LOOT_GEM" != "ON") then put #var GH_LOOT_GEM ON
  1620. put #var GH_POUCH ON
  1621. return
  1622.  
  1623. ## Single cast of spell before non-magical combat
  1624. MAGIC:
  1625. if contains("Barbarian|Thief|Trader", "%guild") then return
  1626. if ("%GAG_ECHO" != "YES") then
  1627. {
  1628. echo
  1629. echo *** MAGIC: ***
  1630. echo
  1631. }
  1632. counter add 2000
  1633. var MAGIC ON
  1634. var MAGIC_TYPE PM
  1635. var ALTEXP ON
  1636. var EXP2 Primary_Magic
  1637. put #var GH_SPELL %1
  1638. shift
  1639. put #var GH_MANA %1
  1640. shift
  1641. if matchre ("%1","^\d+$") then
  1642. {
  1643. put #var GH_HARN %1
  1644. if ("%GAG_ECHO" != "YES") then
  1645. {
  1646. echo *** Harnessing an extra %1 ***
  1647. }
  1648. shift
  1649. } else put #var GH_HARN 0
  1650. echo Casting $GH_SPELL with a prep of $GH_MANA and harnessing $GH_HARN
  1651. if_1 return
  1652. else goto BRAWL
  1653.  
  1654. ## Starts training Multiple weapons
  1655. MULTI:
  1656. if ("%GAG_ECHO" != "YES") then
  1657. {
  1658. echo
  1659. echo *** MULTI: ***
  1660. echo
  1661. }
  1662. gosub clear
  1663. put #var GH_EXP ON
  1664. put #var GH_TRAIN ON
  1665. put #var GH_MULTI MULTI
  1666. if matchre ("%1","^\d+$") then
  1667. {
  1668. put #var GH_MULTI_CURR_NUM %1
  1669. if ($GH_MULTI_CURR_NUM > $GH_MULTI_NUM) then goto MULTI_ERROR
  1670. goto MULTI_$GH_MULTI_CURR_NUM
  1671. }
  1672. put #var GH_MULTI_CURR_NUM 1
  1673. MULTI_1:
  1674. put .geniehunter MULTIWEAPON $GH_MULTI_1
  1675. MULTI_2:
  1676. put .geniehunter MULTIWEAPON $GH_MULTI_2
  1677. MULTI_3:
  1678. put .geniehunter MULTIWEAPON $GH_MULTI_3
  1679. MULTI_4:
  1680. put .geniehunter MULTIWEAPON $GH_MULTI_4
  1681. MULTI_5:
  1682. put .geniehunter MULTIWEAPON $GH_MULTI_5
  1683. MULTI_6:
  1684. put .geniehunter MULTIWEAPON $GH_MULTI_6
  1685. MULTI_7:
  1686. put .geniehunter MULTIWEAPON $GH_MULTI_7
  1687. MULTI_8:
  1688. put .geniehunter MULTIWEAPON $GH_MULTI_8
  1689. MULTI_9:
  1690. put .geniehunter MULTIWEAPON $GH_MULTI_9
  1691. MULTI_10:
  1692. put .geniehunter MULTIWEAPON $GH_MULTI_10
  1693. MULTI_11:
  1694. put .geniehunter MULTIWEAPON $GH_MULTI_11
  1695. MULTI_12:
  1696. put .geniehunter MULTIWEAPON $GH_MULTI_12
  1697. MULTI_13:
  1698. put .geniehunter MULTIWEAPON $GH_MULTI_13
  1699. MULTI_14:
  1700. put .geniehunter MULTIWEAPON $GH_MULTI_14
  1701. MULTI_15:
  1702. put .geniehunter MULTIWEAPON $GH_MULTI_15
  1703. MULTI_16:
  1704. put .geniehunter MULTIWEAPON $GH_MULTI_16
  1705. MULTI_17:
  1706. put .geniehunter MULTIWEAPON $GH_MULTI_17
  1707. MULTI_18:
  1708. put .geniehunter MULTIWEAPON $GH_MULTI_18
  1709. MULTI_19:
  1710. put .geniehunter MULTIWEAPON $GH_MULTI_19
  1711. MULTI_20:
  1712. put .geniehunter MULTIWEAPON $GH_MULTI_20
  1713. MULTI_ERROR:
  1714. echo
  1715. echo *** MULTI_ERROR: ***
  1716. echo Something bad happened trying to multi-weapon
  1717. goto DONE
  1718.  
  1719. MSET:
  1720. if ("%GAG_ECHO" != "YES") then
  1721. {
  1722. echo
  1723. echo *** MULTI-SET: ***
  1724. echo Preparing to setup up multi-weapon training
  1725. echo
  1726. }
  1727. gosub clear
  1728. var SET_NUM 1
  1729. SET_M_STRING:
  1730. if (SET_NUM > 21) then goto DONE_M_SET
  1731. put #var GH_MULTI_%SET_NUM %1
  1732. math SET_NUM add 1
  1733. shift
  1734. if_1 goto SET_M_STRING
  1735. DONE_M_SET:
  1736. math SET_NUM subtract 1
  1737. put #var GH_MULTI_NUM %SET_NUM
  1738. goto DONE
  1739.  
  1740. #Necromancer healing
  1741. NECROH:
  1742. NECROHE:
  1743. NECROHEA:
  1744. NECROHEAL:
  1745. if ("%GAG_ECHO" != "YES") then
  1746. {
  1747. echo
  1748. echo *** NECROHEAL: ***
  1749. echo
  1750. }
  1751. if "$guild" = "Necromancer" then put #var GH_NECROHEAL ON
  1752. return
  1753.  
  1754. #Necromancer ritual
  1755. NECROR:
  1756. NECRORI:
  1757. NECRORIT:
  1758. NECRORITU:
  1759. NECRORITUA:
  1760. NECRORITUAL:
  1761. if ("%GAG_ECHO" != "YES") then
  1762. {
  1763. echo
  1764. echo *** NECRORITUAL: ***
  1765. echo
  1766. }
  1767. if "$guild" = "Necromancer" then
  1768. {
  1769. if toupper("%1") = "HARVEST" || toupper("%1") = "PRESERVE" || toupper("%1") = "ARISE" then
  1770. {
  1771. put #var GH_NECRORITUAL %1
  1772. shift
  1773. }
  1774. else
  1775. put #var GH_NECRORITUAL PRESERVE
  1776. }
  1777. return
  1778.  
  1779. # Not using evasion stance in stance switching
  1780. NOEVADE:
  1781. NOEVAS:
  1782. NOEVASION:
  1783. if ("%GAG_ECHO" != "YES") then
  1784. {
  1785. echo
  1786. echo *** NOEVADE: ***
  1787. echo
  1788. }
  1789. var NOEVADE ON
  1790. return
  1791.  
  1792. # Not using parry stance in stance switching
  1793. NOPA:
  1794. NOPARRY:
  1795. if ("%GAG_ECHO" != "YES") then
  1796. {
  1797. echo
  1798. echo *** NOPARRY: ***
  1799. echo
  1800. }
  1801. var NOPARRY ON
  1802. return
  1803.  
  1804. # Not using shield stance in stance switching
  1805. NOSH:
  1806. NOSHIELD:
  1807. if ("%GAG_ECHO" != "YES") then
  1808. {
  1809. echo
  1810. echo *** NOSHIELD: ***
  1811. echo
  1812. }
  1813. var NOSHIELD ON
  1814. return
  1815.  
  1816. ## Uses the weapon in the offhand
  1817. ## Currently just for throwing weapons from the left hand
  1818. OFF:
  1819. OFFH:
  1820. OFFHA:
  1821. OFFHAN:
  1822. OFFHAND:
  1823. if ("%GAG_ECHO" != "YES") then
  1824. {
  1825. echo
  1826. echo *** OFFHAND: ***
  1827. echo
  1828. }
  1829. var HAND left
  1830. var HAND2 right
  1831. var ALTEXP ON
  1832. var EXP2 Offhand_Weapon
  1833. return
  1834.  
  1835. ## Sets the stance to parry
  1836. PARRY:
  1837. if ("%GAG_ECHO" != "YES") then
  1838. {
  1839. echo
  1840. echo *** PARRY: ***
  1841. echo
  1842. }
  1843. var CURR_STANCE Parry_Ability
  1844. SET_PARRY_STANCE:
  1845. var LAST SET_PARRY_STANCE
  1846. match RETURN You are now set to
  1847. put stance parry
  1848. matchwait 15
  1849. return
  1850.  
  1851. PP:
  1852. POW:
  1853. POWER:
  1854. POWERP:
  1855. if contains("Barbarian|Thief|Trader", "%guild") then return
  1856. if ("%GAG_ECHO" != "YES") then
  1857. {
  1858. echo
  1859. echo *** POWER PERCEIVE: ***
  1860. echo
  1861. }
  1862. put #var GH_PP ON
  1863. var PP_TIME 0
  1864. return
  1865.  
  1866. ## Casts a spell using non-targeted magic
  1867. PM:
  1868. TM:
  1869. if contains("Barbarian|Thief|Trader", "%guild") then return
  1870. if (toupper("%OPTION") = "TM") then
  1871. {
  1872. var MAGIC OFF
  1873. var MAGIC_TYPE TM
  1874. } else
  1875. {
  1876. var MAGIC OFF
  1877. var MAGIC_TYPE PM
  1878. }
  1879. if ("%GAG_ECHO" != "YES") then
  1880. {
  1881. echo
  1882. echo *** %MAGIC_TYPE: ***
  1883. echo
  1884. }
  1885. counter add 2000
  1886. var ALTEXP ON
  1887. if (toupper("%MAGIC_TYPE") = "TM") then var EXP2 Targeted_Magic
  1888. else var EXP2 Primary_Magic
  1889. put #var GH_SPELL %1
  1890. shift
  1891. put #var GH_MANA %1
  1892. shift
  1893. if matchre ("%1","^\d+$") then
  1894. {
  1895. put #var GH_HARN %1
  1896. if ("%GAG_ECHO" != "YES") then echo *** Harnessing an extra %1 ***
  1897. shift
  1898. } else put #var GH_HARN 0
  1899. echo Casting $GH_SPELL with a prep of $GH_MANA and harnessing $GH_HARN
  1900. if_1 return
  1901. else goto BRAWL
  1902.  
  1903. ## Poaching a target, if target is unpoachable, just fires
  1904. POACH:
  1905. if ("%GAG_ECHO" != "YES") then
  1906. {
  1907. echo
  1908. echo *** POACH: ***
  1909. echo
  1910. }
  1911. var FIRE_TYPE POACH
  1912. var ALTEXP ON
  1913. var EXP2 Stealth
  1914. return
  1915.  
  1916. ### Turns off Retreating
  1917. RET:
  1918. RETREAT:
  1919. if ("%GAG_ECHO" != "YES") then
  1920. {
  1921. echo
  1922. echo *** RETREAT: ***
  1923. echo
  1924. }
  1925. put #var GH_RETREAT ON
  1926. return
  1927.  
  1928. # Roam hunting area if all creatures in your room are dead
  1929. ROAM:
  1930. if ("%GAG_ECHO" != "YES") then
  1931. {
  1932. echo
  1933. echo *** ROAM: ***
  1934. echo
  1935. }
  1936. put #var GH_ROAM ON
  1937. if "$GH_AMBUSH" = "ON" then action (stalk) off
  1938. return
  1939.  
  1940. # Scrape skins/pelts/hides after skinning
  1941. SCRAPE:
  1942. if ("%GAG_ECHO" != "YES") then
  1943. {
  1944. echo
  1945. echo *** SCRAPE: ***
  1946. echo
  1947. }
  1948. if ("$GH_SKIN" != "ON") then gosub SKIN
  1949. put #var GH_SCRAPE ON
  1950. return
  1951.  
  1952. # Sets looting option
  1953. SEARCH:
  1954. if ("%GAG_ECHO" != "YES") then
  1955. {
  1956. echo
  1957. echo *** SEARCH: ***
  1958. echo
  1959. }
  1960. if toupper("%1") = "ALL" || toupper("%1") = "TREASURE" || toupper("%1") = "BOXES" || toupper("%1") = "EQUIPMENT" || toupper("%1") = "GOODS" then
  1961. {
  1962. put #var GH_SEARCH %1
  1963. shift
  1964. }
  1965. return
  1966.  
  1967. ## Skins creatures that can be skinned
  1968. SKIN:
  1969. if ("%GAG_ECHO" != "YES") then
  1970. {
  1971. echo
  1972. echo *** SKIN: ***
  1973. echo
  1974. }
  1975. var BELT_WORN ON
  1976. action var BELT_WORN ON when ^You tap a(.+)[belt knife|wrist knife](.*)you are wearing
  1977. put tap belt knife
  1978. wait
  1979. action remove ^You tap a(.*)[belt knife|wrist knife](.*)you are wearing
  1980. put #var GH_SKIN ON
  1981. return
  1982.  
  1983. ## Retreats while skinning
  1984. SKINR:
  1985. SKINRE:
  1986. SKINRET:
  1987. SKINRETREAT:
  1988. if ("%GAG_ECHO" != "YES") then
  1989. {
  1990. echo
  1991. echo *** SKINRET: ***
  1992. echo
  1993. }
  1994. if ("$GH_SKIN" != "ON") then gosub SKIN
  1995. put #var GH_SKIN_RET ON
  1996. return
  1997.  
  1998. ## Pauses between combat manuevers to sustain stamina
  1999. SLOW:
  2000. if ("%GAG_ECHO" != "YES") then
  2001. {
  2002. echo
  2003. echo *** SLOW: ***
  2004. echo
  2005. }
  2006. put #var GH_SLOW ON
  2007. return
  2008.  
  2009. ## Snapfires a ranged weapon or snapcasts spells
  2010. SNAP:
  2011. SNAPFIRE:
  2012. if ("%GAG_ECHO" != "YES") then
  2013. {
  2014. echo
  2015. echo *** SNAP: ***
  2016. echo
  2017. }
  2018. put #var GH_SNAP ON
  2019. if matchre ("%1", "(\d+)") then
  2020. {
  2021. put #var GH_SNAP_PAUSE $1
  2022. shift
  2023. } else put #var GH_SNAP_PAUSE 0
  2024. return
  2025.  
  2026. ## Snipes with a ranged weapon
  2027. SNIP:
  2028. SNIPE:
  2029. SNIPING:
  2030. if ("%GAG_ECHO" != "YES") then
  2031. {
  2032. echo
  2033. echo *** SNIPE: ***
  2034. echo
  2035. }
  2036. var FIRE_TYPE SNIPE
  2037. var ALTEXP ON
  2038. var EXP2 Stealth
  2039. return
  2040.  
  2041. ## Will cycle through stances
  2042. STA:
  2043. STAN:
  2044. STANC:
  2045. STANCE:
  2046. if ("%GAG_ECHO" != "YES") then
  2047. {
  2048. echo
  2049. echo *** STANCE: ***
  2050. echo
  2051. }
  2052. action var PARRY_LEVEL $1 when ^You are currently using (\d+)% of your weapon parry skill
  2053. action var EVAS_LEVEL $1 when ^You are currently using (\d+)% of your evasion skill
  2054. action var SHIELD_LEVEL $1 when ^You are currently using (\d+)% of your shield block skill
  2055. put #var GH_STANCE ON
  2056. put stance
  2057. waitfor Last Combat Maneuver:
  2058. if (%PARRY_LEVEL > %EVAS_LEVEL) then
  2059. {
  2060. if (%PARRY_LEVEL > %SHIELD_LEVEL) then
  2061. {
  2062. var CURR_STANCE Parry_Ability
  2063. } else
  2064. {
  2065. var CURR_STANCE Shield_Usage
  2066. }
  2067. } else
  2068. {
  2069. if (%EVAS_LEVEL >= %SHIELD_LEVEL) then
  2070. {
  2071. var CURR_STANCE Evasion
  2072. } else
  2073. {
  2074. var CURR_STANCE Shield_Usage
  2075. }
  2076. }
  2077. action remove ^You are currently using (\d+)% of your weapon parry skill
  2078. action remove ^You are currently using (\d+)% of your evasion skill
  2079. action remove ^You are currently using (\d+)% of your shield block skill
  2080. echo %CURR_STANCE
  2081. return
  2082.  
  2083. ## Throws a stacked weapon (e.g. throwing blades)
  2084. STACK:
  2085. STACKS:
  2086. if ("%GAG_ECHO" != "YES") then
  2087. {
  2088. echo
  2089. echo *** STACK: ***
  2090. echo
  2091. }
  2092. var STACK ON
  2093. goto THROW
  2094.  
  2095. SWAP:
  2096. BAST:
  2097. BASTA:
  2098. BASTAR:
  2099. BASTARD:
  2100. if ("%GAG_ECHO" != "YES") then
  2101. {
  2102. echo
  2103. echo *** SWAP: ***
  2104. echo
  2105. }
  2106. gosub clear
  2107. gosub GENERAL_TRIGGERS
  2108. var SWAP_TYPE %1
  2109. var GOING_TO WEAPON_CHECK
  2110. shift
  2111. goto SWAP_WIELD
  2112.  
  2113. TSWAP:
  2114. if ("%GAG_ECHO" != "YES") then
  2115. {
  2116. echo
  2117. echo *** THROWN SWAP: ***
  2118. echo
  2119. }
  2120. gosub clear
  2121. gosub GENERAL_TRIGGERS
  2122. var SWAP_TYPE %1
  2123. var GOING_TO THROW_VARI
  2124. counter add 1200
  2125. shift
  2126.  
  2127. SWAP_WIELD:
  2128. var LAST SWAP_WIELD
  2129. matchre SWAP_%SWAP_TYPE You draw|re already|free ot
  2130. match BEGIN_HANDS free hand|need to have your right hand
  2131. matchre SWAP_REMOVE out of reach|remove|What were you|can't seem|Wield what\?
  2132. match VARIABLE_ERROR You can only wield a weapon or a shield!
  2133. put wield right my %1
  2134. matchwait 15
  2135. SWAP_REMOVE:
  2136. var LAST SWAP_REMOVE
  2137. matchre SWAP_%SWAP_TYPE You sling|re already|inventory|you remove
  2138. matchre SWAP_GET Remove what|You aren't wearing
  2139. match BEGIN_HANDS hands are full
  2140. put remove my %1
  2141. matchwait 15
  2142. SWAP_GET:
  2143. var LAST SWAP_GET
  2144. match SWAP_%SWAP_TYPE You get
  2145. match VARIABLE_ERROR What were you
  2146. put get my %1
  2147. matchwait 15
  2148. goto VARIABLE_ERROR
  2149.  
  2150. SWAP_1:
  2151. var LAST SWAP_1
  2152. matchre PAUSE two-handed
  2153. match %GOING_TO heavy
  2154. put swap my %1
  2155. matchwait 15
  2156. goto SWAP_ERROR
  2157. SWAP_2:
  2158. var LAST SWAP_2
  2159. matchre PAUSE heavy
  2160. match %GOING_TO two-handed
  2161. put swap my %1
  2162. matchwait 15
  2163. goto SWAP_ERROR
  2164. SWAP_B:
  2165. var LAST SWAP_B
  2166. matchre PAUSE edged
  2167. match %GOING_TO blunt
  2168. put swap my %1
  2169. matchwait 15
  2170. goto SWAP_ERROR
  2171. SWAP_E:
  2172. var LAST SWAP_E
  2173. matchre PAUSE blunt
  2174. match %GOING_TO edged
  2175. put swap my %1
  2176. matchwait 15
  2177. goto SWAP_ERROR
  2178. SWAP_PI:
  2179. var LAST SWAP_PI
  2180. matchre PAUSE halberd|short staff|quarter staff
  2181. match %GOING_TO pike
  2182. put swap my %1
  2183. matchwait 60
  2184. goto SWAP_ERROR
  2185. SWAP_SS:
  2186. var LAST SWAP_SS
  2187. matchre PAUSE halberd|pike|quarter staff
  2188. match %GOING_TO short staff
  2189. put swap my %1
  2190. matchwait 60
  2191. goto SWAP_ERROR
  2192. SWAP_HA:
  2193. var LAST SWAP_HA
  2194. matchre PAUSE short staff|pike|quarter staff
  2195. match %GOING_TO halberd
  2196. put swap my %1
  2197. matchwait 60
  2198. goto SWAP_ERROR
  2199. SWAP_QS:
  2200. var LAST SWAP_QS
  2201. matchre PAUSE short staff|pike|halberd
  2202. match %GOING_TO quarter staff
  2203. put swap my %1
  2204. matchwait 60
  2205. goto SWAP_ERROR
  2206.  
  2207. ## Sets a bodypart to target for ranged & spells
  2208. TARG:
  2209. TARGET:
  2210. if ("%GAG_ECHO" != "YES") then
  2211. {
  2212. echo
  2213. echo *** TARGET: ***
  2214. echo
  2215. }
  2216. if matchre ("%1","^\D+$") then
  2217. {
  2218. put #VAR GH_TARGET %1
  2219. echo Targetting the %1 with attacks.
  2220. shift
  2221. }
  2222. return
  2223.  
  2224. ## Will include tending routine
  2225. TEND:
  2226. if ("%GAG_ECHO" != "YES") then
  2227. {
  2228. echo
  2229. echo *** TEND: ***
  2230. echo
  2231. }
  2232. put #var GH_TEND ON
  2233. action put #var GH_TEND OFF when ^Your (.+) is too injured for you to do that\.$
  2234. return
  2235.  
  2236. ## Throws a weapon
  2237. THROW:
  2238. THROWN:
  2239. if ("%GAG_ECHO" != "YES") then
  2240. {
  2241. echo
  2242. echo *** THROWN: ***
  2243. echo
  2244. }
  2245. gosub clear
  2246. gosub GENERAL_TRIGGERS
  2247. var THROWN ON
  2248. counter add 1200
  2249. WIELD_THROWN:
  2250. var LAST WIELD_THROWN
  2251. matchre THROW_VARI You draw|free to|re already
  2252. match BEGIN_HANDS free hand|need to have your right hand
  2253. matchre THROW_EQUIP out of reach|remove|What were you|can't seem|Wield what\?|^You can only wield
  2254. put wield right my %1
  2255. matchwait 60
  2256.  
  2257. THROW_EQUIP:
  2258. matchre THROW_VARI You sling|re already|inventory|You remove|right hand
  2259. matchre THROW_EQUIP_2 ^Remove what\?|You aren't wearing that
  2260. match BEGIN_HANDS hands are full
  2261. put remove my %1
  2262. matchwait 60
  2263.  
  2264. THROW_EQUIP_2:
  2265. matchre THROW_VARI ^You get|^You are already holding
  2266. matchre VARIABLE_CHECK ^What were you
  2267. put get my %1
  2268. matchwait 15
  2269. goto VARIABLE_ERROR
  2270.  
  2271. THROW_VARI:
  2272. var LAST THROW_VARI
  2273. var CURR_WEAPON %1
  2274. if ("$GH_FEINT" = "ON") then put #var GH_FEINT OFF
  2275. if ("%MAGIC_TYPE" != "OFF") then var MAGIC_COUNT %c
  2276. if (("%HAND" = "left") && ("$lefthand" = "Empty")) then gosub SWAP_LEFT $righthandnoun
  2277. else if_2 then gosub EQUIP_SHIELD %2
  2278. APPRAISE_THROWN:
  2279. var LAST APPRAISE_THROWN
  2280. if (toupper("%CURR_WEAPON") = "LOG") then goto HT
  2281. if (toupper("%CURR_WEAPON") = "ROCK") then goto LT
  2282. match LT light thrown
  2283. match HT heavy thrown
  2284. matchre WEAPON_APPR_ERROR Roundtime|It's hard to appraise
  2285. put appr my %CURR_WEAPON quick
  2286. matchwait 15
  2287. goto WEAPON_APPR_ERROR
  2288. LT:
  2289. var T_SHEATH %LT_SHEATH
  2290. var WEAPON_EXP Light_Thrown
  2291. if ("%DSET" = "ON") then goto SET_DEFAULT
  2292. else goto %c
  2293. HT:
  2294. var T_SHEATH %HT_SHEATH
  2295. var WEAPON_EXP Heavy_Thrown
  2296. if ("%DSET" = "ON") then goto SET_DEFAULT
  2297. else goto %c
  2298.  
  2299. ## Will tie bundles.
  2300. TIE:
  2301. if ("%GAG_ECHO" != "YES") then
  2302. {
  2303. echo
  2304. echo *** TIE: ***
  2305. echo
  2306. }
  2307. put #var GH_TIE ON
  2308. if ("$GH_BUNDLE" != "ON") then gosub BUNDLE
  2309. return
  2310.  
  2311. ## Wears bunles
  2312. WEAR:
  2313. if ("%GAG_ECHO" != "YES") then
  2314. {
  2315. echo
  2316. echo *** WEAR: ***
  2317. echo
  2318. }
  2319. put #var GH_WEAR ON
  2320. if ("$GH_BUNDLE" != "ON") then gosub BUNDLE
  2321. return
  2322.  
  2323. TIME:
  2324. TIMER:
  2325. if ("%GAG_ECHO" != "YES") then
  2326. {
  2327. echo
  2328. echo *** TIMER: ***
  2329. echo
  2330. }
  2331. put #var GH_TIMER ON
  2332. var START_TIME %t
  2333. if matchre ("%1", "(\d+)") then
  2334. {
  2335. var MAX_TRAIN_TIME $1
  2336. shift
  2337. }
  2338. math MAX_TRAIN_TIME add %START_TIME
  2339. return
  2340.  
  2341. TRAIN:
  2342. if ("%GAG_ECHO" != "YES") then
  2343. {
  2344. echo
  2345. echo *** TRAIN: ***
  2346. echo
  2347. }
  2348. put #var GH_EXP ON
  2349. put #var GH_TRAIN ON
  2350. return
  2351.  
  2352. ## Juggles a yoyo when no monsters
  2353. YOYO:
  2354. if ("%GAG_ECHO" != "YES") then
  2355. {
  2356. echo
  2357. echo *** YOYO: ***
  2358. echo
  2359. }
  2360. put #var GH_JUGGLE ON
  2361. var YOYO ON
  2362. return
  2363.  
  2364. ####################################
  2365. ## ##
  2366. ## End variables & options ##
  2367. ## ##
  2368. ####################################
  2369.  
  2370. BEGIN_HANDS:
  2371. echo
  2372. echo *** BEGIN_HANDS: ***
  2373. echo
  2374. echo *************************************
  2375. echo ** Empty your hands and try again **
  2376. echo ** Ending script **
  2377. echo *************************************
  2378. echo
  2379. exit
  2380.  
  2381. ###############################
  2382. ## ##
  2383. ## Weapon checking section ##
  2384. ## ##
  2385. ###############################
  2386.  
  2387. WEAPON_CHECK:
  2388. put #var GH_LAST_COMMAND appraise my %CURR_WEAPON quick
  2389. if ("%GAG_ECHO" != "YES") then
  2390. {
  2391. echo
  2392. echo *** WEAPON_CHECK: ***
  2393. echo
  2394. }
  2395. var LAST WEAPON_CHECK
  2396. gosub clear
  2397. if ("%BACKSTAB" != "ON") then var CURR_WEAPON %1
  2398. matchre LE (a|and) light edged
  2399. matchre ME (a|and) medium edged
  2400. matchre HE (a|and) heavy edged
  2401. matchre 2HE (a|and) two-handed edged
  2402. matchre LB (a|and) light blunt
  2403. matchre MB (a|and) medium blunt
  2404. matchre HB (a|and) heavy blunt
  2405. matchre 2HB (a|and) two-handed blunt
  2406. matchre STAFF_SLING (a|and) staff sling
  2407. matchre SHORT_BOW (a|and) short bow
  2408. matchre LONG_BOW (a|and) long bow
  2409. matchre COMP_BOW (a|and) composite bow
  2410. matchre LX (a|and) light crossbow
  2411. matchre HX (a|and) heavy crossbow
  2412. matchre SHORT_STAFF (a|and) short staff
  2413. matchre Q_STAFF (a|and) quarter staff
  2414. matchre PIKE (a|and) pike
  2415. matchre HALBERD (a|and) halberd
  2416. matchre SLING (a|and) sling
  2417. matchre WEAPON_APPR_ERROR Roundtime|It's hard to appraise
  2418. put appraise my %CURR_WEAPON quick
  2419. matchwait 15
  2420. goto WEAPON_APPR_ERROR
  2421.  
  2422. 2HE:
  2423. echo
  2424. echo *** 2HE: ***
  2425. echo
  2426. var WEAPON_EXP Twohanded_Edged
  2427. var RANGED OFF
  2428. var COMBO1 attack
  2429. var COMBO2 attack
  2430. var COMBO3 weave
  2431. var COMBO4 whirl
  2432. var COMBO5 whirl
  2433. var COMBO6 bob
  2434. var COMBO7 attack
  2435. var COMBO8 whirl
  2436. counter add 800
  2437. if ("%HAND" = "left") then
  2438. {
  2439. var HAND
  2440. var ALTEXP NONE
  2441. }
  2442. goto 2_HANDED_WEAPON
  2443.  
  2444. HE:
  2445. echo
  2446. echo *** LargeEdged: ***
  2447. echo
  2448. var WEAPON_EXP Large_Edged
  2449. var RANGED OFF
  2450. var COMBO1 attack
  2451. var COMBO2 attack
  2452. var COMBO3 bob
  2453. var COMBO4 whirl
  2454. var COMBO5 whirl
  2455. var COMBO6 bob
  2456. var COMBO7 attack
  2457. var COMBO8 whirl
  2458. counter add 800
  2459. goto 1_HANDED_WEAPON
  2460.  
  2461. ME:
  2462. echo
  2463. echo *** SE: ***
  2464. echo
  2465. var WEAPON_EXP Small_Edged
  2466. var RANGED OFF
  2467. if matchre("$righthand","adze|axe|cleaver|curlade|cutlass|hanger|hatchet|lata'oloh|mallet|mirror blade|nimsha|parang|sapara|scimitar|scythe-blade|shotel|sword|tei'oloh'ata|telo") then goto ME_SLICE
  2468. if matchre("$righthand","blade|foil|gladius|nambeli|pasabas|rapier|sabre|shashqa|yataghan") then goto ME_STAB
  2469. if matchre("$righthand","iltesh") then goto ME_ILTESH
  2470. goto WEAPON_APPR_ERROR
  2471.  
  2472. ME_SLICE:
  2473. echo
  2474. echo *** ME_SLICE: ***
  2475. echo
  2476. var COMBO1 attack
  2477. var COMBO2 attack
  2478. var COMBO3 weave
  2479. var COMBO4 whirl
  2480. var COMBO5 whirl
  2481. var COMBO6 bob
  2482. var COMBO7 attack
  2483. var COMBO8 whirl
  2484. counter add 800
  2485. goto 1_HANDED_WEAPON
  2486.  
  2487. ME_ILTESH:
  2488. echo
  2489. echo *** ME_ILTESH: ***
  2490. echo
  2491. var COMBO1 attack
  2492. var COMBO2 attack
  2493. var COMBO3 weave
  2494. var COMBO4 whirl
  2495. var COMBO5 bob
  2496. var COMBO6 whirl
  2497. var COMBO7 attack
  2498. var COMBO8 whirl
  2499. counter add 800
  2500. goto 1_HANDED_WEAPON
  2501.  
  2502. ME_STAB:
  2503. echo
  2504. echo *** ME_THRUST: ***
  2505. echo
  2506. var COMBO1 attack
  2507. var COMBO2 attack
  2508. var COMBO3 weave
  2509. var COMBO4 whirl
  2510. var COMBO5 whirl
  2511. var COMBO6 attack
  2512. var COMBO7 bob
  2513. var COMBO8 whirl
  2514. counter add 800
  2515. goto 1_HANDED_WEAPON
  2516.  
  2517. LE:
  2518. echo
  2519. echo *** SE: ***
  2520. echo
  2521. var WEAPON_EXP Small_Edged
  2522. var RANGED OFF
  2523. if matchre("$righthandnoun", "bin|blade|bodkin|dagger|dirk|kasai|kindjal|lata|marlinspike|misericorde|pick|poignard|pugio|shavi|shriike|stiletto|takouba|telek") then goto LE_STAB
  2524. if matchre("$righthandnoun", "dao|jambaya|kanabu|katar|knife|kounmya|kris|kythe|nehlata|oben|axe|sword|tago|uenlata") then goto LE_SLICE
  2525. goto WEAPON_APPR_ERROR
  2526.  
  2527. LE_SLICE:
  2528. echo
  2529. echo *** LE_SLICE: ***
  2530. echo
  2531. var COMBO1 attack
  2532. var COMBO2 attack
  2533. var COMBO3 weave
  2534. var COMBO4 whirl
  2535. var COMBO5 whirl
  2536. var COMBO6 bob
  2537. var COMBO7 attack
  2538. var COMBO8 whirl
  2539. counter add 800
  2540. goto 1_HANDED_WEAPON
  2541.  
  2542. LE_STAB:
  2543. echo
  2544. echo *** LE_STAB: ***
  2545. echo
  2546. var COMBO1 attack
  2547. var COMBO2 weave
  2548. var COMBO3 whirl
  2549. var COMBO4 whirl
  2550. var COMBO5 bob
  2551. var COMBO6 attack
  2552. var COMBO7 attack
  2553. var COMBO8 whirl
  2554. counter add 800
  2555. goto 1_HANDED_WEAPON
  2556.  
  2557. 2HB:
  2558. echo
  2559. echo *** 2HB: ***
  2560. echo
  2561. var RANGED OFF
  2562. var WEAPON_EXP Twohanded_Blunt
  2563. var COMBO1 attack
  2564. var COMBO2 whirl
  2565. var COMBO3 bob
  2566. var COMBO4 attack
  2567. var COMBO5 whirl
  2568. var COMBO6 bob
  2569. var COMBO7 attack
  2570. var COMBO8 whirl
  2571. counter add 800
  2572. if ("%HAND" = "left") then
  2573. {
  2574. var HAND
  2575. var ALTEXP NONE
  2576. }
  2577. goto 2_HANDED_WEAPON
  2578.  
  2579. HB:
  2580. echo
  2581. echo *** LargeBlunt: ***
  2582. echo
  2583. var WEAPON_EXP Large_Blunt
  2584. var RANGED OFF
  2585. var COMBO1 attack
  2586. var COMBO2 attack
  2587. var COMBO3 weave
  2588. var COMBO4 whirl
  2589. var COMBO5 whirl
  2590. var COMBO6 bob
  2591. var COMBO7 attack
  2592. var COMBO8 whirl
  2593. counter add 800
  2594. goto 1_HANDED_WEAPON
  2595.  
  2596. MB:
  2597. echo
  2598. echo *** SmallBlunt: ***
  2599. echo
  2600. var WEAPON_EXP Small_Blunt
  2601. var RANGED OFF
  2602. var COMBO1 attack
  2603. var COMBO2 attack
  2604. var COMBO3 weave
  2605. var COMBO4 attack
  2606. var COMBO5 attack
  2607. var COMBO6 bob
  2608. var COMBO7 attack
  2609. var COMBO8 attack
  2610. counter add 800
  2611. goto 1_HANDED_WEAPON
  2612.  
  2613. LB:
  2614. echo
  2615. echo *** SmallBlunt: ***
  2616. echo
  2617. var WEAPON_EXP Small_Blunt
  2618. var RANGED OFF
  2619. var COMBO1 bob
  2620. var COMBO2 attack
  2621. var COMBO3 whirl
  2622. var COMBO4 whirl
  2623. var COMBO5 weave
  2624. var COMBO6 attack
  2625. var COMBO7 attack
  2626. var COMBO8 whirl
  2627. counter add 800
  2628. goto 1_HANDED_WEAPON
  2629.  
  2630. HALBERD:
  2631. echo
  2632. echo *** Polearms: ***
  2633. echo
  2634. var WEAPON_EXP Polearms
  2635. var RANGED OFF
  2636. var COMBO1 bob
  2637. var COMBO2 attack
  2638. var COMBO3 attack
  2639. var COMBO4 weave
  2640. var COMBO5 attack
  2641. var COMBO6 attack
  2642. var COMBO7 attack
  2643. var COMBO8 unused
  2644. counter add 700
  2645. if ("%HAND" = "left") then
  2646. {
  2647. var HAND
  2648. var ALTEXP NONE
  2649. }
  2650. goto 2_HANDED_WEAPON
  2651.  
  2652. PIKE:
  2653. echo
  2654. echo *** Polearms: ***
  2655. echo
  2656. var WEAPON_EXP Polearms
  2657. var RANGED OFF
  2658. var COMBO1 bob
  2659. var COMBO2 attack
  2660. var COMBO3 attack
  2661. var COMBO4 attack
  2662. var COMBO5 weave
  2663. var COMBO6 attack
  2664. var COMBO7 attack
  2665. var COMBO8 unused
  2666. counter add 700
  2667. if ("%HAND" = "left") then
  2668. {
  2669. var HAND
  2670. var ALTEXP NONE
  2671. }
  2672. goto 2_HANDED_WEAPON
  2673.  
  2674. SHORT_STAFF:
  2675. echo
  2676. echo *** Staves: ***
  2677. echo
  2678. var WEAPON_EXP Staves
  2679. var RANGED OFF
  2680. var COMBO1 bob
  2681. var COMBO2 attack
  2682. var COMBO3 whirl
  2683. var COMBO4 attack
  2684. var COMBO5 whirl
  2685. var COMBO6 attack
  2686. var COMBO7 bob
  2687. var COMBO8 whirl
  2688. counter add 800
  2689. goto 1_HANDED_WEAPON
  2690.  
  2691. Q_STAFF:
  2692. echo
  2693. echo *** Staves: ***
  2694. echo
  2695. var WEAPON_EXP Staves
  2696. var RANGED OFF
  2697. var COMBO1 bob
  2698. var COMBO2 attack
  2699. var COMBO3 attack
  2700. var COMBO4 bob
  2701. var COMBO5 whirl
  2702. var COMBO6 whirl
  2703. var COMBO7 attack
  2704. var COMBO8 whirl
  2705. counter add 800
  2706. if ("%HAND" = "left") then
  2707. {
  2708. var HAND
  2709. var ALTEXP NONE
  2710. }
  2711. goto 2_HANDED_WEAPON
  2712.  
  2713. SHORT_BOW:
  2714. echo
  2715. echo *** Bow: ***
  2716. echo
  2717. var WEAPON_EXP Bow
  2718. var RANGED ON
  2719. var AMMO %BOW_AMMO
  2720. pause 1
  2721. put ret
  2722. counter add 1000
  2723. goto 2_HANDED_WEAPON
  2724.  
  2725. LONG_BOW:
  2726. echo
  2727. echo *** Bow: ***
  2728. echo
  2729. var WEAPON_EXP Bow
  2730. var RANGED ON
  2731. var AMMO %BOW_AMMO
  2732. pause 1
  2733. put ret
  2734. counter add 1000
  2735. goto 2_HANDED_WEAPON
  2736.  
  2737. COMP_BOW:
  2738. echo
  2739. echo *** Bow: ***
  2740. echo
  2741. var WEAPON_EXP Bow
  2742. var RANGED ON
  2743. var AMMO %BOW_AMMO
  2744. pause 1
  2745. put ret
  2746. counter add 1000
  2747. goto 2_HANDED_WEAPON
  2748.  
  2749. HX:
  2750. echo
  2751. echo *** Crossbow: ***
  2752. echo
  2753. var WEAPON_EXP Crossbow
  2754. var RANGED ON
  2755. var AMMO %XB_AMMO
  2756. pause 1
  2757. put ret
  2758. counter add 1000
  2759. goto 2_HANDED_WEAPON
  2760.  
  2761. LX:
  2762. echo
  2763. echo *** Crossbow: ***
  2764. echo
  2765. var WEAPON_EXP Crossbow
  2766. var RANGED ON
  2767. var AMMO %XB_AMMO
  2768. pause 1
  2769. put ret
  2770. counter add 1000
  2771. goto LX_SLING
  2772.  
  2773. SLING:
  2774. echo
  2775. echo *** SLING: ***
  2776. echo
  2777. var WEAPON_EXP Slings
  2778. var RANGED ON
  2779. var AMMO %SLING_AMMO
  2780. pause 1
  2781. put ret
  2782. counter add 1000
  2783. goto LX_SLING
  2784.  
  2785. STAFF_SLING:
  2786. echo
  2787. echo *** SLING: ***
  2788. echo
  2789. var WEAPON_EXP Slings
  2790. var RANGED ON
  2791. var AMMO %SLING_AMMO
  2792. pause 1
  2793. put ret
  2794. counter add 1000
  2795. goto 2_HANDED_WEAPON
  2796.  
  2797. 2_HANDED_WEAPON:
  2798. var LAST 2_HANDED_WEAPON
  2799. save %c
  2800. if (("%RANGED" = "ON") && ("$GH_FEINT" = "ON")) then put #var GH_FEINT OFF
  2801. if ("%MAGIC_TYPE" != "OFF") then var MAGIC_COUNT %c
  2802. if ("%DSET" = "ON") then goto SET_DEFAULT
  2803. goto COUNT_$GH_DANCING
  2804.  
  2805. 1_HANDED_WEAPON:
  2806. var LAST 1_HANDED_WEAPON
  2807. save %c
  2808. if ("%MAGIC_TYPE" != "OFF") then var MAGIC_COUNT %c
  2809. if ("%DSET" = "ON") then goto SET_DEFAULT
  2810. if (("%HAND" = "left") && ("$lefthand" = "Empty")) then gosub SWAP_LEFT $righthandnoun
  2811. else if_2 then gosub EQUIP_SHIELD %2
  2812. goto COUNT_$GH_DANCING
  2813.  
  2814. LX_SLING:
  2815. var LAST LX_SLING
  2816. save %c
  2817. if ("$GH_FEINT" = "ON") then put #var GH_FEINT OFF
  2818. if ("%MAGIC_TYPE" != "OFF") then var MAGIC_COUNT %c
  2819. if ("%DSET" = "ON") then goto SET_DEFAULT
  2820. if_2 then gosub EQUIP_SHIELD %2
  2821. goto COUNT_$GH_DANCING
  2822.  
  2823. BRAWL_SETUP:
  2824. var LAST BRAWL_SETUP
  2825. save %c
  2826. if ("%MAGIC_TYPE" != "OFF") then var MAGIC_COUNT %c
  2827. if ("%DSET" = "ON") then goto SET_DEFAULT
  2828. if_1 then gosub EQUIP_SHIELD %1
  2829. goto COUNT_$GH_DANCING
  2830.  
  2831. #######################
  2832. ## ##
  2833. ## Useful gosubs ##
  2834. ## ##
  2835. #######################
  2836. SWAP_LEFT:
  2837. var ITEM $1
  2838. SWAPPING_LEFT:
  2839. matchre SWAPPING_LEFT %ITEM(.*)to your right hand
  2840. matchre RETURN %ITEM(.*)to your left hand
  2841. put swap
  2842. matchwait 15
  2843. goto SWAP_ERROR
  2844.  
  2845. SWAP_RIGHT:
  2846. var ITEM $1
  2847. SWAPPING_RIGHT:
  2848. matchre SWAPPING_RIGHT %ITEM(.*)to your left hand
  2849. matchre RETURN %ITEM(.*)to your right hand
  2850. put swap
  2851. matchwait 15
  2852. goto SWAP_ERROR
  2853.  
  2854. EQUIP_SHIELD:
  2855. if ("%SHIELD" = "NONE") then var SHIELD $1
  2856. pause 0.5
  2857. if ("%GAG_ECHO" != "YES") then
  2858. {
  2859. echo
  2860. echo *** EQUIP_SHIELD: ***
  2861. echo
  2862. }
  2863. GETTING_SHIELD:
  2864. match WEAPON_APPR_ERROR What were you
  2865. matchre RETURN already|You get|You sling|You remove|You loosen|You slide your
  2866. put get my %SHIELD
  2867. pause 1
  2868. put wear my %SHIELD
  2869. matchwait 15
  2870. EQUIP_SHIELD_FAIL:
  2871. echo
  2872. echo *** Something happened while getting shield ***
  2873. echo *** Aborting script ***
  2874. echo
  2875. gosub clear
  2876. put #beep
  2877. goto ERROR_DONE
  2878.  
  2879. UNEQUIP_SHIELD:
  2880. pause 0.5
  2881. if ("%GAG_ECHO" != "YES") then
  2882. {
  2883. echo
  2884. echo *** UNEQUIP_SHIELD ***
  2885. echo
  2886. }
  2887. STOWING_SHIELD:
  2888. matchre RETURN You put your|You sling|You are already wearing that|But that is already in your inventory|You slide your left
  2889. put wear my %SHIELD
  2890. put stow my %SHIELD
  2891. matchwait 15
  2892. UNEQUIP_SHIELD_FAIL:
  2893. echo
  2894. echo *** Something happened while stowing shield ***
  2895. echo *** Aborting script ***
  2896. echo
  2897. gosub clear
  2898. put #beep
  2899. goto ERROR_DONE
  2900.  
  2901. WIELD_WEAPON:
  2902. var STRING $1
  2903. pause 0.5
  2904. if ("%GAG_ECHO" != "YES") then
  2905. {
  2906. echo
  2907. echo *** WIELD_WEAPON: ***
  2908. echo
  2909. }
  2910. WIELDING_WEAPON:
  2911. matchre CLAWWEAPON You need to have your right hand free|You need to have your right hand free to draw
  2912. matchre REMOVING_WEAPON out of reach|You'll need to remove|What were you|can't seem|is out of reach|You can only wield
  2913. matchre RETURN You draw|already holding|You deftly remove|With a flick of your wrist|With fluid and stealthy movements|You slip a
  2914. put wield my %STRING
  2915. matchwait 12
  2916. REMOVING_WEAPON:
  2917. matchre WIELD_FAIL free hand|hands are full
  2918. matchre GETTING_WEAPON Remove what?|You aren't wearing
  2919. matchre RETURN You sling|already holding|inventory|You remove|You deftly remove
  2920. put remove my %STRING
  2921. matchwait 12
  2922. GETTING_WEAPON:
  2923. matchre WIELD_FAIL Please rephrase that command|What were you
  2924. matchre RETURN You get|You are already holding
  2925. put get my %STRING
  2926. matchwait 12
  2927. CLAWWEAPON:
  2928. put empty right
  2929. pause 1
  2930. goto WIELD_WEAPON
  2931. WIELD_FAIL:
  2932. echo
  2933. echo *** Something happened during wielding ***
  2934. echo *** Aborting script ***
  2935. echo
  2936. gosub clear
  2937. put #beep
  2938. goto ERROR_DONE
  2939.  
  2940.  
  2941. SHEATHE:
  2942. if ("%GAG_ECHO" != "YES") then
  2943. {
  2944. echo
  2945. echo *** SHEATHE ***
  2946. echo
  2947. }
  2948. if ("$0" = "blades") then var COMM_STRING blade
  2949. else var COMM_STRING $0
  2950. pause 0.5
  2951. if "$BW" != "OFF" && "$GH_BUFF" = "ON" then
  2952. {
  2953. put #send release bond
  2954. waitforre ^You sense|^You are not|^Release what
  2955. }
  2956. SHEATHING:
  2957. matchre WEAR_WEAPON where\?
  2958. matchre RETURN ^You sheath|^You strap|^With a flick of your wrist|^You hang|you sheath|^Sheathe what\?|^You easily strap|^With fluid and stealthy movements|^You slip|^You secure
  2959. put shea %COMM_STRING
  2960. matchwait 12
  2961. WEAR_WEAPON:
  2962. match STOW_WEAPON You can't wear that!
  2963. matchre RETURN You sling|Wear what?|You attach
  2964. put wear %COMM_STRING
  2965. matchwait 12
  2966. STOW_WEAPON:
  2967. matchre RETURN You put|easily strap|already in your inventory
  2968. put stow %COMM_STRING
  2969. matchwait 15
  2970. SHEATHE_FAIL:
  2971. echo
  2972. echo *** Something happened during sheathing ***
  2973. echo *** Aborting script ***
  2974. echo
  2975. gosub clear
  2976. put #beep
  2977. goto ERROR_DONE
  2978.  
  2979. RANGE_SHEATHE:
  2980. if ("%GAG_ECHO" != "YES") then
  2981. {
  2982. echo
  2983. echo *** RANGE_SHEATHE: ***
  2984. echo
  2985. }
  2986. pause 1
  2987. put ret
  2988. waitfor You
  2989. pause 1
  2990. put unload %CURR_WEAPON
  2991. pause 1
  2992. STOW_AMMO:
  2993. matchre STOW_AMMO You pick up|You put
  2994. match GO_ON Stow what?
  2995. if "%AMMO" = "basilisk head arrow" then put stow basilisk arrow
  2996. else
  2997. put stow %AMMO
  2998. matchwait 40
  2999. GO_ON:
  3000. pause 1
  3001. gosub SHEATHE %CURR_WEAPON
  3002. return
  3003.  
  3004. ############################################
  3005. ## ##
  3006. ## Default section, setting and loading ##
  3007. ## ##
  3008. ############################################
  3009. SET_DEFAULT:
  3010. if ("%GAG_ECHO" != "YES") then
  3011. {
  3012. echo
  3013. echo *** SET_DEFAULT ***
  3014. echo Setting default values
  3015. echo
  3016. }
  3017. put #var GH_DEF_SET YES
  3018. put #var GH_DEF_COUNTER %c
  3019. put #var GH_DEF_ALTEXP %ALTEXP
  3020. put #var GH_DEF_AMMO %AMMO
  3021. put #var GH_DEF_BACKSTAB %BACKSTAB
  3022. put #var GH_DEF_COMBO1 %COMBO1
  3023. put #var GH_DEF_COMBO2 %COMBO2
  3024. put #var GH_DEF_COMBO3 %COMBO3
  3025. put #var GH_DEF_COMBO4 %COMBO4
  3026. put #var GH_DEF_COMBO5 %COMBO5
  3027. put #var GH_DEF_COMBO6 %COMBO6
  3028. put #var GH_DEF_COMBO7 %COMBO7
  3029. put #var GH_DEF_COMBO8 %COMBO8
  3030. put #var GH_DEF_CURR_STANCE %CURR_STANCE
  3031. put #var GH_DEF_WEAPON %CURR_WEAPON
  3032. put #var GH_DEF_EMPTY_HANDED %EMPTY_HANDED
  3033. put #var GH_DEF_EVAS_LVL %EVAS_LEVEL
  3034. put #var GH_DEF_EXP2 %EXP2
  3035. put #var GH_DEF_FIRE_TYPE %FIRE_TYPE
  3036. if ("%HAND" = "") then put #var GH_DEF_HAND none
  3037. else put #var GH_DEF_HAND %HAND
  3038. put #var GH_DEF_HAND2 %HAND2
  3039. put #var GH_DEF_MAGIC %MAGIC
  3040. put #var GH_DEF_MAGIC_TYPE %MAGIC_TYPE
  3041. put #var GH_DEF_MAGIC_COUNT %MAGIC_COUNT
  3042. put #var GH_DEF_MAX_TRAIN_TIME %MAX_TRAIN_TIME
  3043. put #var GH_DEF_NOEVADE %NOEVADE
  3044. put #var GH_DEF_NOPARRY %NOPARRY
  3045. put #var GH_DEF_NOSHIELD %NOSHIELD
  3046. put #var GH_DEF_PARRY_LVL %PARRY_LEVEL
  3047. put #var GH_DEF_RANGED %RANGED
  3048. put #var GH_DEF_RUCK %RUCK
  3049. put #var GH_DEF_SHIELD %SHIELD
  3050. put #var GH_DEF_SHIELD_LVL %SHIELD_LEVEL
  3051. put #var GH_DEF_STACK %STACK
  3052. put #var GH_DEF_THROWN %THROWN
  3053. put #var GH_DEF_WEAPON_EXP %WEAPON_EXP
  3054. put #var GH_DEF_XCOUNT %xCOUNT
  3055. put #var GH_DEF_YOYO %YOYO
  3056.  
  3057. put #var GH_DEF_AMBUSH $GH_AMBUSH
  3058. put #var GH_DEF_APPR $GH_APPR
  3059. put #var GH_DEF_ARRANGE $GH_ARRANGE
  3060. put #var GH_DEF_BUN $GH_BUN
  3061. put #var GH_DEF_COUNTING $GH_DANCING
  3062. put #var GH_DEF_EXP $GH_EXP
  3063. put #var GH_DEF_HARN $GH_HARN
  3064. put #var GH_DEF_HUNT $GH_HUNT
  3065. put #var GH_DEF_HUNTO $GH_HUNTO
  3066. put #var GH_DEF_RAGE $GH_RAGE
  3067. put #var GH_DEF_CLEAVE $GH_CLEAVE
  3068. put #var GH_DEF_CRASH $GH_CRASH
  3069. put #var GH_DEF_IMPALE $GH_IMPALE
  3070. put #var GH_DEF_TWIRL $GH_TWIRL
  3071. put #var GH_DEF_PALMSTRIKE $GH_PALMSTRIKE
  3072. put #var GH_DEF_SUPLEX $GH_SUPLEX
  3073. put #var GH_DEF_POWERSTRIKE $GH_POWERSTRIKE
  3074. put #var GH_DEF_DOUBLESTRIKE $GH_DOUBLESTRIKE
  3075. put #var GH_DEF_DEBIL $GH_DEBIL
  3076. put #var GH_DEF_AUGMENTATION $GH_AUGMENTATION
  3077. put #var GH_DEF_WARDING $GH_WARDING
  3078. put #var GH_DEF_JUGGLE $GH_JUGGLE
  3079. put #var GH_DEF_LOOT $GH_LOOT
  3080. put #var GH_DEF_LOOT_BOX $GH_LOOT_BOX
  3081. put #var GH_DEF_LOOT_COIN $GH_LOOT_COIN
  3082. put #var GH_DEF_LOOT_COLL $GH_LOOT_COLL
  3083. put #var GH_DEF_LOOT_GEM $GH_LOOT_GEM
  3084. put #var GH_DEF_LOOT_JUNK $GH_LOOT_JUNK
  3085. put #var GH_DEF_MANA $GH_MANA
  3086. put #var GH_DEF_PP $GH_PP
  3087. put #var GH_DEF_RETREAT $GH_RETREAT
  3088. put #var GH_DEF_ROAM $GH_ROAM
  3089. put #var GH_DEF_SCRAPE $GH_SCRAPE
  3090. put #var GH_DEF_SKIN $GH_SKIN
  3091. put #var GH_DEF_SKIN_RET $GH_SKIN_RET
  3092. put #var GH_DEF_SLOW $GH_SLOW
  3093. put #var GH_DEF_SNAP $GH_SNAP
  3094. put #var GH_DEF_SPELL $GH_SPELL
  3095. put #var GH_DEF_STANCE $GH_STANCE
  3096. if ("$GH_TARGET" = "") then put #var GH_DEF_TARGET none
  3097. else put #var GH_DEF_TARGET $GH_TARGET
  3098. put #var GH_DEF_TIMER $GH_TIMER
  3099. put #var GH_DEF_TRAIN $GH_TRAIN
  3100.  
  3101. echo
  3102. echo Default setting are now ready
  3103. echo
  3104. exit
  3105.  
  3106. LOAD_DEFAULT_SETTINGS:
  3107. if ("%GAG_ECHO" != "YES") then
  3108. {
  3109. echo
  3110. echo *** LOAD_DEFAULT_SETTINGS ***
  3111. echo
  3112. }
  3113. gosub GENERAL_TRIGGERS
  3114. ## Loading default nonweapon settings
  3115. var ALTEXP $GH_DEF_ALTEXP
  3116. var BACKSTAB $GH_DEF_BACKSTAB
  3117. var CURR_STANCE $GH_DEF_CURR_STANCE
  3118. var EMPTY_HANDED $GH_DEF_EMPTY_HANDED
  3119. var EVAS_LEVEL $GH_DEF_EVAS_LVL
  3120. var EXP2 $GH_DEF_EXP2
  3121. var FIRE_TYPE $GH_DEF_FIRE_TYPE
  3122. if ("$GH_DEF_HAND" = "none") then var HAND
  3123. else var HAND $GH_DEF_HAND
  3124. var HAND2 $GH_DEF_HAND2
  3125. var MAGIC $GH_DEF_MAGIC
  3126. var MAGIC_TYPE $GH_DEF_MAGIC_TYPE
  3127. var MAGIC_COUNT $GH_DEF_MAGIC_COUNT
  3128. var PARRY_LEVEL $GH_DEF_PARRY_LVL
  3129. var RANGED $GH_DEF_RANGED
  3130. var RUCK $GH_DEF_RUCK
  3131. var SHIELD_LEVEL $GH_DEF_SHIELD_LVL
  3132. var STACK $GH_DEF_STACK
  3133. var THROWN $GH_DEF_THROWN
  3134. var xCOUNT $GH_DEF_XCOUNT
  3135. var YOYO $GH_DEF_YOYO
  3136.  
  3137. put #var GH_AMBUSH $GH_DEF_AMBUSH
  3138. put #var GH_APPR $GH_DEF_APPR
  3139. put #var GH_ARRANGE $GH_DEF_ARRANGE
  3140. put #var GH_BUN $GH_DEF_BUN
  3141. put #var GH_DANCING $GH_DEF_COUNTING
  3142. if ("$GH_MULTI" = "OFF") then put #var GH_EXP $GH_DEF_EXP
  3143. put #var GH_HARN $GH_DEF_HARN
  3144. put #var GH_HUNT $GH_DEF_HUNT
  3145. put #var GH_HUNTO $GH_DEF_HUNTO
  3146. put #var GH_RAGE $GH_DEF_RAGE
  3147. put #var GH_CLEAVE $GH_DEF_CLEAVE
  3148. put #var GH_CRASH $GH_DEF_CRASH
  3149. put #var GH_IMPALE $GH_DEF_IMPALE
  3150. put #var GH_TWIRL $GH_DEF_TWIRL
  3151. put #var GH_PALMSTRIKE $GH_DEF_PALMSTRIKE
  3152. put #var GH_SUPLEX $GH_DEF_SUPLEX
  3153. put #var GH_POWERSHOT $GH_DEF_POWERSHOT
  3154. put #var GH_DOUBLESTRIKE $GH_DEF_DOUBLESTRIKE
  3155. put #var GH_DEBIL $GH_DEF_DEBIL
  3156. put #var GH_AUGMENTATION $GH_DEF_AUGMENTATION
  3157. put #var GH_WARDING $GH_DEF_WARDING
  3158. put #var GH_JUGGLE $GH_DEF_JUGGLE
  3159. put #var GH_LOOT $GH_DEF_LOOT
  3160. put #var GH_LOOT_BOX $GH_DEF_LOOT_BOX
  3161. put #var GH_LOOT_COIN $GH_DEF_LOOT_COIN
  3162. put #var GH_LOOT_COLL $GH_DEF_LOOT_COLL
  3163. put #var GH_LOOT_GEM $GH_DEF_LOOT_GEM
  3164. put #var GH_LOOT_JUNK $GH_DEF_LOOT_JUNK
  3165. put #var GH_MANA $GH_DEF_MANA
  3166. put #var GH_PP $GH_DEF_PP
  3167. put #var GH_RETREAT $GH_DEF_RETREAT
  3168. put #var GH_ROAM $GH_DEF_ROAM
  3169. put #var GH_SCRAPE $GH_DEF_SCRAPE
  3170. put #var GH_SKIN $GH_DEF_SKIN
  3171. put #var GH_SKIN_RET $GH_DEF_SKIN_RET
  3172. put #var GH_SLOW $GH_DEF_SLOW
  3173. put #var GH_SNAP $GH_DEF_SNAP
  3174. put #var GH_SPELL $GH_DEF_SPELL
  3175. put #var GH_STANCE $GH_DEF_STANCE
  3176. if ("$GH_DEF_TARGET" = "none") then put #var GH_TARGET
  3177. else put #var GH_TARGET $GH_DEF_TARGET
  3178. put #var GH_TIMER $GH_DEF_TIMER
  3179. if ("$GH_MULTI" = "OFF") then put #var GH_TRAIN $GH_DEF_TRAIN
  3180.  
  3181. var MAX_TRAIN_TIME $GH_DEF_MAX_TRAIN_TIME
  3182. DEF_STANCE_SETUP:
  3183. if ("%CURR_STANCE" = "Evasion") then put stance evasion
  3184. elseif ("%CURR_STANCE" = "Parry_Ability") then put stance parry
  3185. elseif ("%CURR_STANCE" = "Shield_Usage") then put stance shield
  3186. elseif ("%CURR_STANCE" = "Custom") then put stance custom
  3187.  
  3188. if ("$GH_MULTI" != "OFF") then goto BEGIN
  3189.  
  3190. ## Loading default weapon settings
  3191. var AMMO $GH_DEF_AMMO
  3192. var COMBO1 $GH_DEF_COMBO1
  3193. var COMBO2 $GH_DEF_COMBO2
  3194. var COMBO3 $GH_DEF_COMBO3
  3195. var COMBO4 $GH_DEF_COMBO4
  3196. var COMBO5 $GH_DEF_COMBO5
  3197. var COMBO6 $GH_DEF_COMBO6
  3198. var COMBO7 $GH_DEF_COMBO7
  3199. var COMBO8 $GH_DEF_COMBO8
  3200. counter set $GH_DEF_COUNTER
  3201. var RANGED $GH_DEF_RANGED
  3202. var SHIELD $GH_DEF_SHIELD
  3203. var CURR_WEAPON $GH_DEF_WEAPON
  3204. var WEAPON_EXP $GH_DEF_WEAPON_EXP
  3205. echo
  3206. echo Ready to go!
  3207. echo
  3208. var LAST DEF_WIELD_WEAPON
  3209. DEF_WIELD_WEAPON:
  3210. matchre SWAP_CHECK You draw|already holding|free to
  3211. match BEGIN_HANDS free hand
  3212. matchre DEF_REMOVE_WEAPON out of reach|remove|What were you|can't seem|Wield what\?
  3213. put wield my %CURR_WEAPON
  3214. matchwait 16
  3215. DEF_REMOVE_WEAPON:
  3216. matchre SWAP_CHECK You sling|already holding|inventory|You remove
  3217. matchre BEGIN_HANDS free hand|hands are full
  3218. match DEF_GET_WEAPON Remove what?
  3219. put remove my %CURR_WEAPON
  3220. matchwait 15
  3221. DEF_GET_WEAPON:
  3222. match SWAP_CHECK you get
  3223. match NO_VALUE Please rephrase that command
  3224. put get my %CURR_WEAPON
  3225. matchwait 15
  3226. goto VARIABLE_ERROR
  3227. SWAP_CHECK:
  3228. var LAST SWAP_CHECK
  3229. if (("%HAND" = "left") && ("$lefthand" = "Empty")) then gosub SWAP_LEFT $righthandnound
  3230. elseif ("%SHIELD" != "NONE") then gosub EQUIP_SHIELD %SHIELD
  3231. goto %c
  3232.  
  3233. #####################################
  3234. ## ##
  3235. ## Action initialization section ##
  3236. ## ##
  3237. #####################################
  3238. GENERAL_TRIGGERS:
  3239. action (geniehunter) goto STAND when eval $standing = 0
  3240. action (geniehunter) goto STAND when You should stand up first|You had better stand up first
  3241. action put #var standing 1 when You are already standing
  3242. action (geniehunter) goto DONE when reaches over and holds your hand|grabs your arm and drags you|clasps your hand tenderly
  3243. action (geniehunter) goto WEBBED when eval $webbed = 1
  3244. action (geniehunter) goto WEBBED when You can't do that while entangled in a web
  3245. action (geniehunter) goto STUNNED when eval $stunned = 1
  3246. action (geniehunter) goto BLEEDING when eval $bleeding = 1
  3247. action (geniehunter) goto ABORT when eval $health < 40
  3248. action (geniehunter) goto DEAD when eval $dead = 1
  3249. action (geniehunter) goto DROPPED_WEAPON when Your fingers go numb as you drop|You have nothing to swap|You don't have a weapon|With your bare hands\?
  3250. action (geniehunter) goto HUM_STOP when You are a bit too busy performing|You should stop playing|You are concentrating too much upon your performance
  3251.  
  3252. action var lastmaneuver parry when Last Combat Maneuver.*Parry
  3253. action var lastmaneuver feint when Last Combat Maneuver.*Feint
  3254. action var lastmaneuver draw when Last Combat Maneuver.*Draw
  3255. action var lastmaneuver sweep when Last Combat Maneuver.*Sweep
  3256. action var lastmaneuver slice when Last Combat Maneuver.*Slice
  3257. action var lastmaneuver chop when Last Combat Maneuver.*Chop
  3258. action var lastmaneuver bash when Last Combat Maneuver.*Bash
  3259. action var lastmaneuver thrust when Last Combat Maneuver.*Thrust
  3260. action var lastmaneuver shove when Last Combat Maneuver.*Shove
  3261. action var lastmaneuver jab when Last Combat Maneuver.*Jab
  3262. action var lastmaneuver dodge when Last Combat Maneuver.*Dodge
  3263. action var lastmaneuver claw when Last Combat Maneuver.*Claw
  3264. action var lastmaneuver dodge when Last Combat Maneuver.*Dodge
  3265. action var lastmaneuver kick when Last Combat Maneuver.*Kick
  3266. action var lastmaneuver weave when Last Combat Maneuver.*Weave
  3267. action var lastmaneuver punch when Last Combat Maneuver.*Punch
  3268. action var lastmaneuver lunge when Last Combat Maneuver.*Lunge
  3269. action var lastmaneuver bob when Last Combat Maneuver.*Bob
  3270. action var lastmaneuver circle when Last Combat Maneuver.*Circle
  3271. return
  3272.  
  3273. RETREAT_TRIGGERS:
  3274. var RETREATING ON
  3275. var RETREATED NO
  3276. action (retreat) if ("%RETREATED" = "YES") then put #queue clear;send ret;var RETREATED YES when closes to pole weapon range
  3277. MELEE_TRIGGERS:
  3278. action (retreat) if ("%RETREATED" = "YES") then put #queue clear;send ret;send ret;var RETREATED YES when (^\*.*at you\..*You)|(closes to melee range on you)
  3279. action var RETREATED NO when You retreat from combat
  3280. action var RETREATED NO when You try to back away
  3281. action (retreat) on
  3282. return
  3283.  
  3284. RETREAT_UNTRIGGERS:
  3285. var RETREATING OFF
  3286. action remove closes to pole weapon range
  3287. action remove (^\*.*at you\..*You)|(closes to melee range on you)
  3288. action remove You retreat from combat
  3289. action remove You try to back away
  3290. return
  3291.  
  3292. #####################################
  3293. ## ##
  3294. ## End of Initialization section ##
  3295. ## ##
  3296. #####################################
  3297. ADVANCE:
  3298. if ("%GAG_ECHO" != "YES") then
  3299. {
  3300. echo
  3301. echo *** ADVANCE: ***
  3302. echo
  3303. }
  3304. counter set %s
  3305. ADV_NOW:
  3306. if "$guild" = "Necromancer" then goto ADV_NECRO
  3307. if (($hidden = 1) && ("%guild" = "Paladin")) then put unhid
  3308. var LAST ADV_NOW
  3309. matchre FACE You stop advancing|You have lost sight
  3310. match NO_MONSTERS advance towards?
  3311. matchre ADVANCING ^You begin
  3312. matchre ADVANCING_FURTHER ^You are already advancing
  3313. match %c already at melee
  3314. put advance
  3315. matchwait 15
  3316. goto ERROR
  3317. ADV_NECRO:
  3318. var LAST ADV_NECRO
  3319. matchre NECRO_STOP_ADV You begin to advance on a .+ dirt construct\.|You are already advancing on a .+ dirt construct\.
  3320. matchre FACE You stop advancing|You have lost sight
  3321. match NO_MONSTERS advance towards?
  3322. matchre ADVANCING ^You begin
  3323. matchre ADVANCING_FURTHER ^You are already advancing
  3324. match %c already at melee|stops you from advancing any farther\!
  3325. put advance
  3326. matchwait 15
  3327. goto ERROR
  3328. NECRO_STOP_ADV:
  3329. send ret
  3330. send ret
  3331. goto FACE
  3332. ADVANCING:
  3333. if ("$GH_APPR" = "YES") then goto APPR_YES
  3334. ADVANCING_FURTHER:
  3335. waitforre to melee range|\[You're|You stop advancing because|You have lost sight of your target
  3336. goto APPR_NO
  3337.  
  3338. APPR_YES:
  3339. if (("%APPRAISED" = "YES") || ($Appraisal.LearningRate >= 30)) then goto COUNT_$GH_DANCING
  3340. else var APPRAISED YES
  3341. var LAST APPR_YES
  3342. if ("%GAG_ECHO" != "YES") then
  3343. {
  3344. echo
  3345. echo *** APPR_YES: ***
  3346. echo
  3347. }
  3348. if matchre ("$monsterlist", "\b(%nonskinnablecritters)\b") then goto APPR_CREEP
  3349. if matchre ("$monsterlist", "\b(%skinnablecritters)\b") then goto APPR_CREEP
  3350. if matchre ("$monsterlist", "\b(%invasioncritters)\b") then goto APPR_CREEP
  3351. goto APPR_NO
  3352. APPR_CREEP:
  3353. var Monster $0
  3354. APPRAISING:
  3355. var LAST APPRAISING
  3356. matchre APPR_NO Roundtime|Appraise|You can't determine|appraise|You don't see|still stunned|I could not find
  3357. put appr %Monster quick
  3358. matchwait 15
  3359. goto APPR_ERROR
  3360.  
  3361. APPR_NO:
  3362. var lastdirection none
  3363. goto COUNT_$GH_DANCING
  3364.  
  3365. COUNT_ON:
  3366. var LAST COUNT_ON
  3367. COUNT_START:
  3368. if (toupper("$GH_STANCE") = "ON")) then gosub SWITCH_STANCE
  3369. if (($Multi_Opponent.LearningRate > 20) || ($%ARMOR1.LearningRate > 20) || ($%ARMOR2.LearningRate > 20)) then goto COUNT_OFF
  3370. if ("%GAG_ECHO" != "YES") then
  3371. {
  3372. echo
  3373. echo *** COUNT_START: ***
  3374. echo
  3375. }
  3376. goto %xCOUNT
  3377. match COUNT_WAIT_1 You notice only one
  3378. COUNT_ONE:
  3379. matchre %c ^You notice two
  3380. COUNT_TWO:
  3381. matchre %c ^You notice three
  3382. COUNT_THREE:
  3383. matchre %c ^You notice four
  3384. COUNT_FOUR:
  3385. matchre %c ^You notice five
  3386. COUNT_FIVE:
  3387. matchre %c ^You notice six
  3388. COUNT_SIX:
  3389. matchre %c ^You notice (seven|eight|nine|ten|eleven|twelve|twenty)
  3390. matchre %c ^You notice (.+)teen
  3391. matchre COUNT_WAIT_1 ^You notice no
  3392. matchre COUNT_WAIT_1 ^Roundtime
  3393. put count critter
  3394. matchwait 15
  3395. goto ERROR
  3396.  
  3397. COUNT_OFF:
  3398. goto %c
  3399.  
  3400. FACE:
  3401. if ("%GAG_ECHO" != "YES") then
  3402. {
  3403. echo
  3404. echo *** FACE: ***
  3405. echo
  3406. }
  3407. if "$guild" = "Necromancer" then goto NECRO_FACE
  3408. var LAST FACE
  3409. match APPR_$GH_APPR You turn to face
  3410. matchre CHECK_FOR_MONSTER nothing else to|Face what
  3411. put face next
  3412. matchwait 15
  3413. goto ERROR
  3414.  
  3415. NECRO_FACE:
  3416. var LAST FACE
  3417. matchre CHECK_FOR_MONSTER nothing else to|Face what|You turn to face a squat dirt construct
  3418. match APPR_$GH_APPR You turn to face
  3419. put face next
  3420. matchwait 15
  3421. goto ERROR
  3422.  
  3423. CHECK_FOR_MONSTER:
  3424.  
  3425.  
  3426. if ("%GAG_ECHO" != "YES") then
  3427. {
  3428. echo
  3429. echo *** CHECK_FOR_MONSTER ***
  3430. echo
  3431. }
  3432. if (($hidden = 1) && ("%guild" = "Paladin")) then put unhide
  3433. counter set %s
  3434. if "$guild" = "Necromancer" && "$monsterlist" = "a squat dirt construct" then goto NO_MONSTERS
  3435. if matchre ("$monsterlist", "\b(%nonskinnablecritters)\b") then goto APPR_$GH_APPR
  3436. if matchre ("$monsterlist", "\b(%skinnablecritters)\b") then goto APPR_$GH_APPR
  3437. if matchre ("$monsterlist", "\b(%invasioncritters)\b") then goto APPR_$GH_APPR
  3438. goto NO_MONSTERS
  3439.  
  3440. NO_MONSTERS:
  3441.  
  3442.  
  3443.  
  3444. if ("%GAG_ECHO" != "YES") then
  3445. {
  3446. echo
  3447. echo *** NO_MONSTERS: ***
  3448. echo
  3449. }
  3450. if ("%RANGED" = "ON") then
  3451. {
  3452. if (matchre("$roomobjs", "%AMMO\b")) then gosub RANGED_CLEAN
  3453. }
  3454. if ("%THROWN" = "ON") then
  3455. {
  3456. if (matchre("$roomobjs", "%CURR_WEAPON\b")) then
  3457. {
  3458. put get %CURR_WEAPON
  3459. }
  3460. }
  3461. if ((toupper("$GH_JUGGLE") = "ON") && ($Perception.LearningRate < 34)) then goto JUGGLE_STUFF
  3462. if (toupper("$GH_ROAM") = "ON") then goto MOVE_ROOMS
  3463. else
  3464. {
  3465. if ($hidden = 1) then put unhide
  3466. pause 3
  3467. waitforre \.|\?|!|pole|melee|advance
  3468. goto FACE
  3469. }
  3470.  
  3471. JUGGLE_STUFF:
  3472. timer stop
  3473. var LAST JUGGLE_STUFF
  3474. if ("%SHIELD" != "NONE") then gosub UNEQUIP_SHIELD
  3475. if ("%EMPTY_HANDED" != "ON") then
  3476. {
  3477. if ("%RANGED" = "ON") then gosub RANGE_SHEATHE
  3478. else gosub SHEATHE %CURR_WEAPON
  3479. }
  3480. if ("%YOYO" = "OFF") then
  3481. {
  3482. action put hum %HUM_SONG %HUM_DIFFICULTY when ^You finish
  3483. }
  3484. action goto JUGGLE_STOP when ^\*.*at you\..*You|begins to advance on you|to melee range|to polee range|You're|already at melee
  3485. JUGGLE_TOP:
  3486. var LAST JUGGLE_TOP
  3487. if ("%YOYO" = "OFF") then put hum $HUM_SONG $HUM_DIFFICULTY
  3488. if ("%JUGGLIE" = "pebble") then goto juggle
  3489. match NO_JUGGLIE What were you referring to
  3490. matchre YOYO_%YOYO You get|You are already
  3491. put get my %JUGGLIE
  3492. matchwait 40
  3493. goto JUGGLE_ERROR
  3494. YOYO_ON:
  3495. match JUGGLING You slip the string
  3496. put wear my %JUGGLIE
  3497. matchwait 40
  3498. goto JUGGLE_ERROR
  3499. YOYO_OFF:
  3500. JUGGLING:
  3501. if matchre ("$monsterlist", "%critters") then goto JUGGLE_STOP
  3502. var LAST JUGGLING
  3503. matchre JUGGLE_ERROR Your injuries make juggling|But you're not holding|You realize that if your throw|Your wounds begin aching
  3504. match JUGGLE_EXP Roundtime
  3505. if ("%YOYO" = "ON") then put throw my %JUGGLIE
  3506. else put juggle my $JUGGLIE
  3507. matchwait 40
  3508. goto JUGGLE_ERROR
  3509. JUGGLE_EXP:
  3510. if $Perception.LearningRate = 34 then goto JUGGLE_STOP
  3511. goto JUGGLING
  3512. JUGGLE_ERROR:
  3513. echo *** Juggling error ***
  3514. put #var GH_JUGGLE OFF
  3515. goto JUGGLE_STOP
  3516. NO_JUGGLIE:
  3517. echo *** Can't find your JUGGLIE ***
  3518. JUGGLE_STOP:
  3519. action remove ^You finish
  3520. action remove ^\*.*at you\..*You|begins to advance on you|to melee range|to polee range|You're|already at melee
  3521. var LAST JUGGLE_STOP
  3522. pause
  3523. if ("%YOYO" = "ON") then
  3524. {
  3525. put remove %JUGGLIE
  3526. waitfor off of your finger
  3527. }
  3528. pause 0.5
  3529. put stop hum
  3530. put stow %JUGGLIE
  3531. waitfor You put your
  3532. if "$righthand" != "Empty" then put stow right
  3533. if "$lefthand" != "Empty" then put stow left
  3534. JUGGLE_DONE:
  3535. var LAST JUGGLE_DONE
  3536. if ("%EMPTY_HANDED" != "ON") then gosub WIELD_WEAPON %CURR_WEAPON
  3537. if (("%HAND" = "left") && ("$righthand" != "Empty")) then gosub SWAP_LEFT $righthandnoun
  3538. if ("%SHIELD" != "NONE") then gosub EQUIP_SHIELD
  3539. timer start
  3540. goto FACE
  3541.  
  3542. MOVE_ROOMS:
  3543. if ("%GAG_ECHO" != "YES") then
  3544. {
  3545. echo
  3546. echo *** MOVE_ROOMS: ***
  3547. echo
  3548. }
  3549. echo No monsters here, moving rooms
  3550. pause 1
  3551.  
  3552. var ROOMNUMBER 0
  3553. HUNTING_FOR_ROOM:
  3554. var LAST HUNTING_FOR_ROOM
  3555. action math ROOMNUMBER add 1 when ^To the .+:
  3556.  
  3557. var ROOM1OCCUPIED FALSE
  3558. var ROOM2OCCUPIED FALSE
  3559. var ROOM3OCCUPIED FALSE
  3560. var ROOM4OCCUPIED FALSE
  3561. var ROOM5OCCUPIED FALSE
  3562. var ROOM6OCCUPIED FALSE
  3563. var ROOM7OCCUPIED FALSE
  3564. var ROOM8OCCUPIED FALSE
  3565. action var ROOM%ROOMNUMBEROCCUPIED TRUE when ^ \d+\) \w+$|^ \d+\) A hidden \w+$
  3566. action var ROOM%ROOMNUMBEROCCUPIED TRUE when ^ --\) Signs of something hidden from sight\.
  3567.  
  3568. var ROOM1MOBS 0
  3569. var ROOM2MOBS 0
  3570. var ROOM3MOBS 0
  3571. var ROOM4MOBS 0
  3572. var ROOM5MOBS 0
  3573. var ROOM6MOBS 0
  3574. var ROOM7MOBS 0
  3575. var ROOM8MOBS 0
  3576.  
  3577. action math ROOM%ROOMNUMBERMOBS add 1 when ^ \d+\) (a|an)
  3578. action var ROOM%ROOMNUMBERTARGET $1 when ^ (\d+)\)
  3579.  
  3580. put stop stalk
  3581. waitfor stalking
  3582. put hunt
  3583. waitforre ^Roundtime:|You find yourself unable to
  3584.  
  3585. action remove ^To the .+:
  3586. action remove ^ \d+\) \w+$|^ \d+\) A hidden \w+$
  3587. action remove ^ --\) Signs of something hidden from sight\.
  3588. action remove ^ \d+\) (a|an)
  3589. action remove ^ (\d+)\)
  3590.  
  3591. if "%ROOM1OCCUPIED" = "TRUE" then var ROOM1MOBS 0
  3592. if "%ROOM2OCCUPIED" = "TRUE" then var ROOM2MOBS 0
  3593. if "%ROOM3OCCUPIED" = "TRUE" then var ROOM3MOBS 0
  3594. if "%ROOM4OCCUPIED" = "TRUE" then var ROOM4MOBS 0
  3595. if "%ROOM5OCCUPIED" = "TRUE" then var ROOM5MOBS 0
  3596. if "%ROOM6OCCUPIED" = "TRUE" then var ROOM6MOBS 0
  3597. if "%ROOM7OCCUPIED" = "TRUE" then var ROOM7MOBS 0
  3598. if "%ROOM8OCCUPIED" = "TRUE" then var ROOM8MOBS 0
  3599.  
  3600. var BESTMOBCOUNT 0
  3601. var HUNTNUMBER 0
  3602. if %ROOM1MOBS > %BESTMOBCOUNT then
  3603. {
  3604. var BESTMOBCOUNT %ROOM1MOBS
  3605. var HUNTNUMBER %ROOM1TARGET
  3606. }
  3607. if %ROOM2MOBS > %BESTMOBCOUNT then
  3608. {
  3609. var BESTMOBCOUNT %ROOM2MOBS
  3610. var HUNTNUMBER %ROOM2TARGET
  3611. }
  3612. if %ROOM3MOBS > %BESTMOBCOUNT then
  3613. {
  3614. var BESTMOBCOUNT %ROOM3MOBS
  3615. var HUNTNUMBER %ROOM3TARGET
  3616. }
  3617. if %ROOM4MOBS > %BESTMOBCOUNT then
  3618. {
  3619. var BESTMOBCOUNT %ROOM4MOBS
  3620. var HUNTNUMBER %ROOM4TARGET
  3621. }
  3622. if %ROOM5MOBS > %BESTMOBCOUNT then
  3623. {
  3624. var BESTMOBCOUNT %ROOM5MOBS
  3625. var HUNTNUMBER %ROOM5TARGET
  3626. }
  3627. if %ROOM6MOBS > %BESTMOBCOUNT then
  3628. {
  3629. var BESTMOBCOUNT %ROOM6MOBS
  3630. var HUNTNUMBER %ROOM6TARGET
  3631. }
  3632. if %ROOM7MOBS > %BESTMOBCOUNT then
  3633. {
  3634. var BESTMOBCOUNT %ROOM7MOBS
  3635. var HUNTNUMBER %ROOM7TARGET
  3636. }
  3637. if %ROOM8MOBS > %BESTMOBCOUNT then
  3638. {
  3639. var BESTMOBCOUNT %ROOM8MOBS
  3640. var HUNTNUMBER %ROOM8TARGET
  3641. }
  3642. pause
  3643.  
  3644. if %HUNTNUMBER = 0 then goto RANDOM_MOVE
  3645.  
  3646. if ((toupper("$GH_BUN") = "ON")) && contains("$roomobjs", "lumpy bundle")) then
  3647. {
  3648. match HUNT_MOVE You pick up
  3649. put get bun
  3650. matchwait 16
  3651. }
  3652. HUNT_MOVE:
  3653. var LAST HUNT_MOVE
  3654. matchre RANDOM_MOVE You don't have that target currently available|Your prey seems to have completely vanished|You were unable to locate|You find yourself unable|You'll need to be in the area
  3655. matchre MOVE_ROOMS Also here: (.*)
  3656. matchre CHECK_OCCUPIED ^You'll need to disengage first|^While in combat?|^Obvious exits|^Obvious paths
  3657. put hunt %HUNTNUMBER
  3658. matchwait 60
  3659.  
  3660. RANDOM_MOVE:
  3661. var exits 0
  3662. if $north = 1 then math exits add 1
  3663. if $northeast = 1 then math exits add 1
  3664. if $east = 1 then math exits add 1
  3665. if $southeast = 1 then math exits add 1
  3666. if $south = 1 then math exits add 1
  3667. if $southwest = 1 then math exits add 1
  3668. if $west = 1 then math exits add 1
  3669. if $northwest = 1 then math exits add 1
  3670. if $up = 1 then math exits add 1
  3671. if $down = 1 then math exits add 1
  3672. if (%exits = 0) then goto CHECK_OCCUPIED
  3673.  
  3674. random 1 10
  3675. var move_cycles 0
  3676. goto MOVE_%r
  3677.  
  3678. MOVE_1:
  3679. if ($north = 1) then
  3680. {
  3681. if ((%exits > 1) && ("%lastdirection" != "south")) then
  3682. {
  3683. var direction north
  3684. goto GOOD_DIRECTION
  3685. } elseif (%exits = 1) then
  3686. {
  3687. var direction north
  3688. goto GOOD_DIRECTION
  3689. }
  3690. }
  3691. MOVE_2:
  3692. if ($northeast = 1) then
  3693. {
  3694. if ((%exits > 1) && ("%lastdirection" != "southwest")) then
  3695. {
  3696. var direction northeast
  3697. goto GOOD_DIRECTION
  3698. } elseif (%exits = 1) then
  3699. {
  3700. var direction northeast
  3701. goto GOOD_DIRECTION
  3702. }
  3703. }
  3704. MOVE_3:
  3705. if ($east = 1) then
  3706. {
  3707. if ((%exits > 1) && ("%lastdirection" != "west")) then
  3708. {
  3709. var direction east
  3710. goto GOOD_DIRECTION
  3711. } elseif (%exits = 1) then
  3712. {
  3713. var direction east
  3714. goto GOOD_DIRECTION
  3715. }
  3716. }
  3717. MOVE_4:
  3718. if ($southeast = 1) then
  3719. {
  3720. if ((%exits > 1) and (("%lastdirection" != "northwest")) then
  3721. {
  3722. var direction southeast
  3723. goto GOOD_DIRECTION
  3724. } elseif (%exits = 1) then
  3725. {
  3726. var direction southeast
  3727. goto GOOD_DIRECTION
  3728. }
  3729. }
  3730. MOVE_5:
  3731. if ($south = 1) then
  3732. {
  3733. if ((%exits > 1) && ("%lastdirection" != "north")) then
  3734. {
  3735. var direction south
  3736. goto GOOD_DIRECTION
  3737. } elseif (%exits = 1) then
  3738. {
  3739. var direction south
  3740. goto GOOD_DIRECTION
  3741. }
  3742. }
  3743. MOVE_6:
  3744. if ($southwest = 1) then
  3745. {
  3746. if ((%exits > 1) && ("%lastdirection" != "northeast")) then
  3747. {
  3748. var direction southwest
  3749. goto GOOD_DIRECTION
  3750. } elseif (%exits = 1) then
  3751. {
  3752. var direction southwest
  3753. goto GOOD_DIRECTION
  3754. }
  3755. }
  3756. MOVE_7:
  3757. if ($west = 1) then
  3758. {
  3759. if ((%exits > 1) && ("%lastdirection" != "east")) then
  3760. {
  3761. var direction west
  3762. goto GOOD_DIRECTION
  3763. } elseif (%exits = 1) then
  3764. {
  3765. var direction west
  3766. goto GOOD_DIRECTION
  3767. }
  3768. }
  3769. MOVE_8:
  3770. if ($northwest = 1) then
  3771. {
  3772. if ((%exits > 1) && ("%lastdirection" != "southeast")) then
  3773. {
  3774. var direction northwest
  3775. goto GOOD_DIRECTION
  3776. } elseif (%exits = 1) then
  3777. {
  3778. var direction northwest
  3779. goto GOOD_DIRECTION
  3780. }
  3781. }
  3782. MOVE_9:
  3783. if ($up = 1) then
  3784. {
  3785. if ((%exits > 1) && ("%lastdirection" != "down")) then
  3786. {
  3787. var direction up
  3788. goto GOOD_DIRECTION
  3789. } elseif (%exits = 1) then
  3790. {
  3791. var direction up
  3792. goto GOOD_DIRECTION
  3793. }
  3794. }
  3795. MOVE_10:
  3796. if ($down = 1) then
  3797. {
  3798. if ((%exits > 1) && ("%lastdirection" != "up")) then
  3799. {
  3800. var direction down
  3801. goto GOOD_DIRECTION
  3802. } elseif (%exits = 1) then
  3803. {
  3804. var direction down
  3805. goto GOOD_DIRECTION
  3806. }
  3807. }
  3808. if (%move_cycles <= 5) then
  3809. {
  3810. math move_cycles add 1
  3811. goto MOVE_1
  3812. } else goto ERROR
  3813. GOOD_DIRECTION:
  3814. if ((toupper("$GH_BUN") = "ON")) && contains("$roomobjs", "lumpy bundle")) then
  3815. {
  3816. match MOVING You pick up
  3817. put get bun
  3818. matchwait 40
  3819. }
  3820. MOVING:
  3821. var LAST MOVING
  3822. matchre MOVE_ROOMS Also here: (.*)|^You can't go there
  3823. matchre CHECK_OCCUPIED ^You are engaged|^Obvious exits|^Obvious paths|^While in combat
  3824. put %direction
  3825. matchwait 40
  3826. goto CHECK_OCCUPIED
  3827. FOUND_ROOM:
  3828. if ("%GAG_ECHO" != "YES") then
  3829. {
  3830. echo
  3831. echo *** FOUND_ROOM: ***
  3832. echo
  3833. }
  3834. if (toupper("$GH_PP") = "ON") then var PP_TIME %t
  3835. if ((toupper("$GH_BUN") = "ON")) && (("$righthandnoun" = "bundle") || ("$lefthandnoun" = "bundle"))) then
  3836. {
  3837. put drop bun
  3838. waitfor You drop
  3839. }
  3840. var lastdirection %direction
  3841. goto FACE
  3842. CHECK_OCCUPIED:
  3843. put search
  3844. waitforre ^Roundtime:
  3845. pause 1
  3846. if ("$roomplayers" = "") then goto FOUND_ROOM
  3847. else
  3848. {
  3849. put ret
  3850. put ret
  3851. goto %LAST
  3852. }
  3853.  
  3854. ######################################
  3855. ### ###
  3856. ### This section handles what to ###
  3857. ### do while waiting for more ###
  3858. ### creatures ###
  3859. ### ###
  3860. ######################################
  3861. COUNT_FACE:
  3862. var LAST COUNT_FACE
  3863. match COUNT_ASSESS_ADV nothing else to face
  3864. match APPR_$GH_APPR You turn to
  3865. put face next
  3866. matchwait 40
  3867.  
  3868. COUNT_ASSESS_ADV:
  3869. if (($hidden = 1) && ("%guild" = "Paladin")) then put unhid
  3870. match COUNT_FACE You stop advancing|You have lost sight
  3871. match NO_MONSTERS advance towards?
  3872. matchre APPR_$GH_APPR begin|to melee range|\[You're|already at melee/
  3873. put advance
  3874. matchwait 40
  3875.  
  3876. COUNT_ADV:
  3877. var LAST_COUNT_ADV
  3878. if (($hidden = 1) && ("%guild" = "Paladin")) then put unhid
  3879. matchre COUNT_FACE You stop advancing|You have lost sight
  3880. match NO_MONSTER advance towards?
  3881. matchre ADVANCING You begin|already advancing
  3882. match %LAST already at melee
  3883. put advance
  3884. matchwait 40
  3885. goto ERROR
  3886. COUNT_ADVANCING:
  3887. waitforre to melee range|\[You're
  3888. goto %LAST
  3889.  
  3890. COUNT_FATIGUE_PAUSE:
  3891. pause
  3892. COUNT_FATIGUE:
  3893. var LAST COUNT_FATIGUE
  3894. if ("%GAG_ECHO" != "YES") then
  3895. {
  3896. echo
  3897. echo *** COUNT_FATIGUE: ***
  3898. echo
  3899. }
  3900. matchre PAUSE \[You're|You stop advancing|Roundtime
  3901. match COUNT_FATIGUE_CHECK You cannot back away from a chance to continue your slaughter!
  3902. matchre COUNT_FATIGUE_CHECK You retreat from combat.|You sneak back|already as far
  3903. put ret
  3904. put ret
  3905. matchwait 40
  3906. goto COUNT_FATIGUE
  3907.  
  3908. COUNT_FATIGUE_CHECK:
  3909. if ("%GAG_ECHO" != "YES") then
  3910. {
  3911. echo
  3912. echo *** COUNT_FATIGUE_CHECK: ***
  3913. echo
  3914. }
  3915. if ($stamina < 80) then
  3916. {
  3917. goto COUNT_FATIGUE_WAIT
  3918. } else
  3919. {
  3920. goto COUNT_START
  3921. }
  3922.  
  3923. COUNT_FATIGUE_WAIT:
  3924. echo
  3925. echo COUNT_FATIGUE_WAIT:
  3926. echo
  3927. matchre COUNT_FATIGUE melee|pole|\[You're
  3928. matchwait
  3929.  
  3930. #######################################
  3931. ### ###
  3932. ### This section is for waiting for ###
  3933. ### new creatures to show up. ###
  3934. ### Brawls until more creatures. ###
  3935. ### ###
  3936. #######################################
  3937. COUNT_WAIT_1:
  3938. var LAST COUNT_WAIT_1
  3939. if ("%GAG_ECHO" != "YES") then
  3940. {
  3941. echo
  3942. echo *** COUNT_WAIT_1: parry ***
  3943. echo
  3944. }
  3945. matchre COUNT_WAIT_2 You are already in a position|But you are already dodging|You move into a position to|Roundtime|pointlessly hack
  3946. matchre COUNT_FATIGUE You're beat,|You're exhausted|You're bone-tired|worn-out
  3947. matchre COUNT_ADV aren't close enough
  3948. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead
  3949. matchre COUNT_FACE nothing else
  3950. put parry
  3951. matchwait 80
  3952. goto ATTACK_ERROR
  3953.  
  3954. COUNT_WAIT_2:
  3955. goto COUNT_WAIT_3
  3956. var LAST COUNT_WAIT_2
  3957. if ("%GAG_ECHO" != "YES") then
  3958. {
  3959. echo
  3960. echo *** COUNT_WAIT_2: shove ***
  3961. echo
  3962. }
  3963. matchre COUNT_WAIT_3 You are already in a position|But you are already dodging|You move into a position to|Roundtime|pointlessly hack
  3964. matchre COUNT_FATIGUE You're beat,|You're exhausted|You're bone-tired|worn-out
  3965. matchre COUNT_ADV aren't close enough
  3966. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead
  3967. matchre COUNT_FACE nothing else
  3968. put shove
  3969. matchwait 80
  3970. goto ATTACK_ERROR
  3971.  
  3972. COUNT_WAIT_3:
  3973. var LAST COUNT_WAIT_3
  3974. if ("%GAG_ECHO" != "YES") then
  3975. {
  3976. echo
  3977. echo *** COUNT_WAIT_3: circle ***
  3978. echo
  3979. }
  3980. matchre COUNT_WAIT_4 You are already in a position|But you are already dodging|You move into a position to|Roundtime|pointlessly hack
  3981. matchre COUNT_FATIGUE You're beat,|You're exhausted|You're bone-tired|worn-out
  3982. matchre COUNT_ADV aren't close enough
  3983. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead
  3984. matchre COUNT_FACE nothing else
  3985. put circle
  3986. matchwait 80
  3987. goto ATTACK_ERROR
  3988.  
  3989. COUNT_WAIT_4:
  3990. var LAST COUNT_WAIT_4
  3991. if ("%GAG_ECHO" != "YES") then
  3992. {
  3993. echo
  3994. echo *** COUNT_WAIT_4: weave ***
  3995. echo
  3996. }
  3997. matchre COUNT_WAIT_5 You are already in a position|But you are already dodging|You move into a position to|Roundtime|pointlessly hack
  3998. matchre COUNT_FATIGUE You're beat,|You're exhausted|You're bone-tired|worn-out
  3999. matchre COUNT_ADV aren't close enough
  4000. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead
  4001. matchre COUNT_FACE nothing else
  4002. put weave
  4003. matchwait 80
  4004. goto ATTACK_ERROR
  4005.  
  4006. COUNT_WAIT_5:
  4007. var LAST COUNT_WAIT_5
  4008. if ("%GAG_ECHO" != "YES") then
  4009. {
  4010. echo
  4011. echo *** COUNT_WAIT_5: bob ***
  4012. echo
  4013. }
  4014. matchre COUNT_START You are already in a position|But you are already dodging|You move into a position to|Roundtime|pointlessly hack
  4015. matchre COUNT_FATIGUE You're beat,|You're exhausted|You're bone-tired|worn-out
  4016. matchre COUNT_ADV aren't close enough
  4017. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead
  4018. matchre COUNT_FACE nothing else
  4019. put bob
  4020. matchwait 80
  4021. goto ATTACK_ERROR
  4022.  
  4023. ######################################
  4024. ### ###
  4025. ### This section is for the 5 move ###
  4026. ### weapon attack COMBO ###
  4027. ### ###
  4028. ######################################
  4029. 5_COMBO:
  4030. 500:
  4031. if ("%lastmaneuver" = "none") then
  4032. {
  4033. put stance maneuver
  4034. waitfor Last Combat Maneuver
  4035. }
  4036. var LAST 5_COMBO
  4037. gosub clear
  4038. counter set 500
  4039. save 500
  4040. if ("%lastmaneuver" = "%COMBO5") then gosub COMBAT_COMMAND %COMBO1
  4041. if ("%lastmaneuver" = "%COMBO1") then gosub COMBAT_COMMAND %COMBO2 %HAND $GH_TARGET
  4042. if ("%lastmaneuver" = "%COMBO2") then gosub COMBAT_COMMAND %COMBO3 %HAND $GH_TARGET
  4043. if ("%lastmaneuver" = "%COMBO3") then gosub COMBAT_COMMAND %COMBO4 %HAND $GH_TARGET
  4044. if ("%lastmaneuver" = "%COMBO4") then gosub COMBAT_COMMAND %COMBO5 %HAND $GH_TARGET
  4045. else gosub COMBAT_COMMAND %COMBO1
  4046. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4047. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4048. else goto 500
  4049.  
  4050. ######################################
  4051. ### ###
  4052. ### This section is for the 6 move ###
  4053. ### weapon attack COMBO ###
  4054. ### ###
  4055. ######################################
  4056. 6_COMBO:
  4057. 600:
  4058. if ("%lastmaneuver" = "none") then
  4059. {
  4060. put stance maneuver
  4061. waitfor Last Combat Maneuver
  4062. }
  4063. var LAST 6_COMBO
  4064. gosub clear
  4065. counter set 600
  4066. save 600
  4067. if ("%lastmaneuver" = "%COMBO6") then gosub COMBAT_COMMAND %COMBO1
  4068. if ("%lastmaneuver" = "%COMBO1") then gosub COMBAT_COMMAND %COMBO2 %HAND $GH_TARGET
  4069. if ("%lastmaneuver" = "%COMBO2") then gosub COMBAT_COMMAND %COMBO3 %HAND $GH_TARGET
  4070. if ("%lastmaneuver" = "%COMBO3") then gosub COMBAT_COMMAND %COMBO4 %HAND $GH_TARGET
  4071. if ("%lastmaneuver" = "%COMBO4") then gosub COMBAT_COMMAND %COMBO5 %HAND $GH_TARGET
  4072. if ("%lastmaneuver" = "%COMBO5") then gosub COMBAT_COMMAND %COMBO6 %HAND $GH_TARGET
  4073. else gosub COMBAT_COMMAND %COMBO1
  4074. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4075. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4076. else goto 600
  4077.  
  4078. ######################################
  4079. ### ###
  4080. ### This section is for the 7 move ###
  4081. ### weapon attack COMBO ###
  4082. ### ###
  4083. ######################################
  4084. 7_COMBO:
  4085. 700:
  4086. if ("%lastmaneuver" = "none") then
  4087. {
  4088. put stance maneuver
  4089. waitfor Last Combat Maneuver
  4090. }
  4091. var LAST 7_COMBO
  4092. gosub clear
  4093. counter set 700
  4094. save 700
  4095. if ("%lastmaneuver" = "%COMBO7") then gosub COMBAT_COMMAND %COMBO1
  4096. if ("%lastmaneuver" = "%COMBO1") then gosub COMBAT_COMMAND %COMBO2 %HAND $GH_TARGET
  4097. if ("%lastmaneuver" = "%COMBO2") then gosub COMBAT_COMMAND %COMBO3 %HAND $GH_TARGET
  4098. if ("%lastmaneuver" = "%COMBO3") then gosub COMBAT_COMMAND %COMBO4 %HAND $GH_TARGET
  4099. if ("%lastmaneuver" = "%COMBO4") then gosub COMBAT_COMMAND %COMBO5 %HAND $GH_TARGET
  4100. if ("%lastmaneuver" = "%COMBO5") then gosub COMBAT_COMMAND %COMBO6 %HAND $GH_TARGET
  4101. if ("%lastmaneuver" = "%COMBO6") then gosub COMBAT_COMMAND %COMBO7 %HAND $GH_TARGET
  4102. else gosub COMBAT_COMMAND %COMBO1
  4103. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4104. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4105. else goto 700
  4106.  
  4107. ######################################
  4108. ### ###
  4109. ### This section is for the 8 move ###
  4110. ### weapon attack COMBO ###
  4111. ### ###
  4112. ######################################
  4113. 8_COMBO:
  4114. 800:
  4115. if ("%lastmaneuver" = "none") then
  4116. {
  4117. put stance maneuver
  4118. waitfor Last Combat Maneuver
  4119. }
  4120. var LAST 8_COMBO
  4121. gosub clear
  4122. counter set 800
  4123. save 800
  4124. if ("%lastmaneuver" = "%COMBO8") then gosub COMBAT_COMMAND %COMBO1 %HAND $GH_TARGET
  4125. if ("%lastmaneuver" = "%COMBO1") then gosub COMBAT_COMMAND %COMBO2 %HAND $GH_TARGET
  4126. if ("%lastmaneuver" = "%COMBO2") then gosub COMBAT_COMMAND %COMBO3 %HAND $GH_TARGET
  4127. if ("%lastmaneuver" = "%COMBO3") then gosub COMBAT_COMMAND %COMBO4 %HAND $GH_TARGET
  4128. if ("%lastmaneuver" = "%COMBO4") then gosub COMBAT_COMMAND %COMBO5 %HAND $GH_TARGET
  4129. if ("%lastmaneuver" = "%COMBO5") then gosub COMBAT_COMMAND %COMBO6 %HAND $GH_TARGET
  4130. if ("%lastmaneuver" = "%COMBO6") then gosub COMBAT_COMMAND %COMBO7 %HAND $GH_TARGET
  4131. if ("%lastmaneuver" = "%COMBO7") then gosub COMBAT_COMMAND %COMBO8 %HAND $GH_TARGET
  4132. else gosub COMBAT_COMMAND %COMBO1
  4133. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4134. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4135. else goto 800
  4136.  
  4137. ######################################
  4138. ### ###
  4139. ### This section is for the ranged ###
  4140. ### weapon attack COMBO ###
  4141. ### ###
  4142. ######################################
  4143. RANGED:
  4144. 1000:
  4145. var LAST RANGED
  4146. save 1000
  4147. action var FULL_AIM YES when You think you have your best shot possible
  4148. action var FULL_AIM NO when stop concentrating on aiming
  4149. if ((toupper("$GH_RETREAT") = "ON") && ("%RETREATING" = "OFF") && (("%FIRE_TYPE" != "SNIPE") || ("%FIRE_TYPE" != "POACH"))) then gosub RETREAT_TRIGGERS
  4150. if ("%lastmaneuver" = "none") then gosub COMBAT_COMMAND dodge
  4151. RANGED_COMBAT:
  4152. 1010:
  4153. var LAST RANGED_COMBAT
  4154. gosub clear
  4155. counter set 1010
  4156. save 1010
  4157. if (("%lastmaneuver" = "dodge") || ("%lastmaneuver" = "FIRE") || ("%lastmaneuver" = "POACH") || ("%lastmaneuver" = "SNIPE")) then
  4158. {
  4159. if "%RETREATING" = "ON" then action (retreat) off
  4160. gosub LOAD
  4161. gosub AIM
  4162. if "%RETREATING" = "ON" then action (retreat) on
  4163. #if (toupper("$GH_SNAP") = "ON")) then gosub stun
  4164. if (("%FIRE_TYPE" = "POACH") || ("%FIRE_TYPE" = "SNIPE")) then gosub HIDE
  4165. if (toupper("$GH_SNAP") = "OFF")) then gosub AIMING
  4166. elseif ($GH_SNAP_PAUSE > 0) then pause $GH_SNAP_PAUSE
  4167. var FULL_AIM NO
  4168. matchre RANGE_FIRE2 You can not poach|are not hidden
  4169. match RETURN isn't loaded
  4170. matchre RETURN ^I could not find what you were
  4171. gosub COMBAT_COMMAND %FIRE_TYPE $GH_TARGET
  4172. } else gosub COMBAT_COMMAND dodge
  4173. goto 1010
  4174.  
  4175. LOAD:
  4176. matchre CHECK_AMMO ^You don't have the proper ammunition readily available for your
  4177. matchre RANGE_GET ^You must|your hand jams|^You can not load
  4178. matchre RETURN Roundtime|is already
  4179. put load
  4180. matchwait 80
  4181. goto RANGED_ERROR
  4182.  
  4183. AIM:
  4184. var AIM_TIMEOUT %t
  4185. math AIM_TIMEOUT add 30
  4186. match RE_LOAD loaded
  4187. matchre RETURN best shot possible now|already targetting|begin to target|You shift your
  4188. matchre FACE ^There is nothing
  4189. put aim
  4190. matchwait 80
  4191. goto RANGED_ERROR
  4192.  
  4193. RE_LOAD:
  4194. gosub clear
  4195. goto RANGED_COMBAT
  4196.  
  4197. AIMING:
  4198. if ("%FULL_AIM" = "YES") then return
  4199. else
  4200. {
  4201. if (%t > %AIM_TIMEOUT) then goto RANGED_COMBAT
  4202. else
  4203. {
  4204. pause 3
  4205. goto AIMING
  4206. }
  4207. }
  4208.  
  4209. RANGE_FIRE2:
  4210. if ("%GAG_ECHO" != "YES") then
  4211. {
  4212. echo
  4213. echo *** Can't poach that, just using FIRE ***
  4214. echo
  4215. }
  4216. var LAST RANGE_FIRE2
  4217. gosub clear
  4218. matchre RETURN ^I could not find what you were
  4219. match RETURN isn't loaded
  4220. gosub COMBAT_COMMAND FIRE $GH_TARGET
  4221. goto 1010
  4222.  
  4223. RANGE_GET:
  4224. var LAST RANGE_GET
  4225. gosub clear
  4226. if (matchre("$roomobjs", "%AMMO\b")) then
  4227. {
  4228. match CHECK_AMMO ^What were you
  4229. match DEAD_MONSTER ^You pull
  4230. matchre %c ^Stow what|^You must unload|^You get some
  4231. matchre RANGE_GET ^You pick up|^You put|^You stow|^You get
  4232. if "%AMMO" = "basilisk head arrow" then put stow basilisk arrow in my %QUIVER
  4233. else
  4234. put stow %AMMO in my %QUIVER
  4235. matchwait 80
  4236. goto RANGED_ERROR
  4237. } else goto %c
  4238.  
  4239. RANGE_REMOVE_CHECK:
  4240. if matchre ("$0", "shield|buckler|pavise|heater|kwarf|sipar|lid|targe\b") then goto RANGE_REMOVE
  4241. else goto RANGED_ERROR
  4242. RANGE_REMOVE:
  4243. var REM_SHIELD $0
  4244. counter set %s
  4245. RANGE_REMOVING:
  4246. var LAST RANGE_REMOVING
  4247. matchre RANGE_STOW ^You loosen the straps securing|^You aren't wearing that
  4248. match RANGED_ERROR ^Remove what?
  4249. put remove my %REM_SHIELD
  4250. matchwait 80
  4251. goto RANGED_ERROR
  4252.  
  4253. RANGE_STOW:
  4254. var LAST RANGE_STOW
  4255. match RANGED_ERROR ^Stow What?
  4256. match RANGE_ADJUST too
  4257. match RETURN You put
  4258. put stow my %REM_SHIELD
  4259. matchwait 16
  4260. RANGE_ADJUST:
  4261. matchre RANGED_ERROR through the straps|You can't wear any more items like that
  4262. match RETURN You sling
  4263. put adj my %REM_SHIELD
  4264. put wear my %REM_SHIELD
  4265. matchwait 30
  4266. goto RANGED_ERROR
  4267.  
  4268. CHECK_AMMO:
  4269. if ("%GAG_ECHO" != "YES") then
  4270. {
  4271. echo
  4272. echo *** No ammo on you, checking the ground ***
  4273. echo
  4274. }
  4275. if contains("$roomobjs", "%AMMO") then
  4276. {
  4277. gosub RANGED_CLEAN
  4278. goto 1000
  4279. }
  4280. NO_AMMO:
  4281. if ("%GAG_ECHO" != "YES") then
  4282. {
  4283. echo
  4284. echo *** No more ammo, stopping script ***
  4285. echo
  4286. }
  4287. var LAST NO_AMMO
  4288. if ("%REM_SHIELD" != "NONE") then
  4289. {
  4290. gosub EQUIP_SHIELD %REM_SHIELD
  4291. }
  4292. gosub RANGE_SHEATHE
  4293. goto DONE
  4294.  
  4295. ######################################
  4296. ### ###
  4297. ### This section is for the ranged ###
  4298. ### weapon attack COMBO ###
  4299. ### ###
  4300. ######################################
  4301. THROWING:
  4302. 1200:
  4303. save 1200
  4304. var LAST THROWING
  4305. if ((toupper("$GH_RETREAT") = "ON") && ("%RETREATING" = "OFF")) then gosub RETREAT_TRIGGERS
  4306. if ("%lastmaneuver" = "none") then gosub COMBAT_COMMAND dodge
  4307. THROW_WEAPON:
  4308. 1210:
  4309. var LAST THROW_WEAPON
  4310. gosub clear
  4311. counter set 1210
  4312. save 1210
  4313. gosub COMBAT_COMMAND throw %HAND $GH_TARGET
  4314. if ((("%HAND" = "") && ("$righthand" = "Empty")) || (("%HAND" = "left") && ("$lefthand" = "Empty"))) then gosub GET_THROWN
  4315. if (("%HAND" = "left") && "$righthand" = "%CURR_WEAPON")) then gosub SWAP_LEFT $righthandnoun
  4316. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4317. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4318. goto 1210
  4319.  
  4320. GET_THROWN:
  4321. match GET_THROWN As you reach for a large frozen club
  4322. match WEAPON_STUCK What were you
  4323. matchre RETURN already|You need a free hand to pick that up|You get|You pick up|With a flick|You pull|^A (.+) suddenly leaps toward you|^A (.+) and flies toward you
  4324. put get %CURR_WEAPON
  4325. matchwait 15
  4326. goto THROWN_ERROR
  4327.  
  4328. WEAPON_STUCK:
  4329. 1220:
  4330. var LAST WEAPON_STUCK
  4331. if ("%RETREATING" = "ON") then gosub RETREAT_UNTRIGGERS
  4332. if ("%GAG_ECHO" != "YES") then
  4333. {
  4334. echo
  4335. echo *** Getting weapon back ***
  4336. echo
  4337. }
  4338. gosub clear
  4339. if !indexof ("$BW", "$") then
  4340. {
  4341. if "$BW" != "OFF" && "$GH_BUFF" = "ON" then
  4342. {
  4343. if "$righthand" = "Empty" then waitforre leaps back into your
  4344. goto 1210
  4345. }
  4346. }
  4347. put adv
  4348. waitforre to melee range|already at melee
  4349. if (("%lastmaneuver" = "throw") || ("%lastmaneuver" = "jab")) then
  4350. {
  4351. match GET_WEAPON comes free and falls to the ground.
  4352. gosub COMBAT_COMMAND dodge
  4353. }
  4354. if ("%lastmaneuver" = "dodge") then
  4355. {
  4356. match GET_WEAPON comes free and falls to the ground.
  4357. gosub COMBAT_COMMAND gouge
  4358. }
  4359. if ("%lastmaneuver" = "gouge") then
  4360. {
  4361. match GET_WEAPON comes free and falls to the ground.
  4362. gosub COMBAT_COMMAND claw
  4363. }
  4364. if ("%lastmaneuver" = "claw") then
  4365. {
  4366. match GET_WEAPON comes free and falls to the ground.
  4367. gosub COMBAT_COMMAND elbow
  4368. }
  4369. if ("%lastmaneuver" = "elbow") then
  4370. {
  4371. match GET_WEAPON comes free and falls to the ground.
  4372. gosub COMBAT_COMMAND jab
  4373. } else gosub COMBAT_COMMAND dodge
  4374. goto 1220
  4375.  
  4376. GET_WEAPON:
  4377. if ((toupper("$GH_RETREAT") = "ON") && ("%RETREATING" = "OFF")) then gosub RETREAT_TRIGGERS
  4378. gosub clear
  4379. matchre GET_WEAPON comes free and falls to the ground|As you reach for a large frozen club
  4380. matchre 1210 already|You get|You pull|You pick|You need a free hand to|What were you
  4381. put get %CURR_WEAPON
  4382. matchwait 15
  4383. goto THROWN_ERROR
  4384.  
  4385. ########################################
  4386. ### ###
  4387. ### This section is for the backstab ###
  4388. ### weapon attack COMBO ###
  4389. ### ###
  4390. ########################################
  4391. STABBITY:
  4392. 1300:
  4393. var LAST STABBITY
  4394. gosub clear
  4395. counter set 1300
  4396. save 1300
  4397. if ("%lastmaneuver" != "parry") then gosub COMBAT_COMMAND parry
  4398. if ($hidden != 1) then gosub HIDE
  4399. if ("%lastmaneuver" = "parry") then
  4400. {
  4401. matchre FACE Backstab what\?|Face what\?
  4402. matchre BS_ATTACK You can't backstab that\.|political|You'll need something a little lighter
  4403. matchre BAD_WEAPON entirely unsuitable|Backstabbing is much more effective when you use a melee weapon
  4404. gosub COMBAT_COMMAND backstab %HAND $GH_TARGET
  4405. }
  4406. if (toupper("$GH_TIMER") = "ON") then goto TIMER_ON
  4407. if (toupper("$GH_TRAIN") = "ON") then goto EXPCHECK_ON
  4408. else goto 1300
  4409. BS_ATTACK:
  4410. if ("%GAG_ECHO" != "YES") then
  4411. {
  4412. echo
  4413. echo *** Can't backstab, ambushing instead ***
  4414. echo
  4415. }
  4416. gosub clear
  4417. goto 500
  4418.  
  4419. BAD_WEAPON:
  4420. if ("%GAG_ECHO" != "YES") then
  4421. {
  4422. echo
  4423. echo *** BAD_WEAPON: ***
  4424. echo This weapon is not suitable for this type of attack, switching to regular combat
  4425. echo
  4426. }
  4427. counter set 0
  4428. goto WEAPON_CHECK
  4429.  
  4430. ######################################
  4431. ### ###
  4432. ### Combat Manuever ###
  4433. ### ###
  4434. ######################################
  4435. COMBAT_COMMAND:
  4436. if (("$GH_FEINT" = "ON") && (("$0" != "feint") && ("$0" != "parry") && ("$0" != "dodge"))) then var COMMAND feint $0
  4437. else var COMMAND $0
  4438. var lastmaneuver $1
  4439. if ("%SEARCHED" = "NO") then
  4440. {
  4441. if matchre ("$roomplayers", "Also here: (\S+)") then goto NOT_CHECKING
  4442. if matchre ("$roomobjs", "((which|that) appears dead|\(dead\))") then goto DEAD_MONSTER
  4443. } else var SEARCHED NO
  4444. NOT_CHECKING:
  4445. if ((toupper("$GH_AMBUSH") = "ON") && ($hidden != 1)) then
  4446. {
  4447. if ("%BACKSTAB" = "ON") then gosub HIDE
  4448. elseif (($Stealth.LearningRate < 10) && ($Stealth.LearningRate < 10)) then gosub HIDE
  4449. }
  4450. if ((toupper("$GH_HUNT") = "ON") && (%t >= %HUNT_TIME) && ($Perception.LearningRate < 34) && ($Perception.LearningRate < 34)) then
  4451. {
  4452. put hunt
  4453. var HUNT_TIME %t
  4454. math HUNT_TIME add 60
  4455. waitforre Roundtime|You find yourself unable
  4456. }
  4457. if ((toupper("$GH_HUNTO") = "ON") && (%t >= %HUNTO_TIME) && ($Perception.LearningRate < 34) && ($Perception.LearningRate < 34)) then
  4458. {
  4459. put hunt
  4460. var HUNTO_TIME %t
  4461. math HUNTO_TIME add 60
  4462. waitforre Roundtime|You find yourself unable|Strain though you might,
  4463. }
  4464. if ((toupper("$GH_RAGE") = "ON") && (%t >= %RAGE_TIME) && ($Debilitation.LearningRate < 34) && ($Debilitation.LearningRate < 34)) then
  4465. {
  4466. put roar quiet rage
  4467. var RAGE_TIME %t
  4468. math RAGE_TIME add 75
  4469. waitforre Roundtime|You find yourself unable|Strain though you might,
  4470.  
  4471. }
  4472. if ((toupper("$GH_CLEAVE") = "ON") && (%t >= %CLEAVE_TIME) then
  4473. {
  4474. put maneuver cleave
  4475. var CLEAVE_TIME %t
  4476. math CLEAVE_TIME add 61
  4477. waitforre Roundtime| you attempt to cleave|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4478. }
  4479. if ((toupper("$GH_IMPALE") = "ON") && (%t >= %IMPALE_TIME) then
  4480. {
  4481. put maneuver impale
  4482. var IMPALE_TIME %t
  4483. math IMPALE_TIME add 61
  4484. waitforre Roundtime| you launch an assault|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4485. }
  4486. if ((toupper("$GH_PALMSTRIKE") = "ON") && (%t >= %PALMSTRIKE_TIME) then
  4487. {
  4488. put maneuver PALMSTRIKE
  4489. var PALMSTRIKE_TIME %t
  4490. math PALMSTRIKE_TIME add 61
  4491. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4492. }
  4493. if ((toupper("$GH_CRASH") = "ON") && (%t >= %CRASH_TIME) then
  4494. {
  4495. put maneuver CRASH
  4496. var CRASH_TIME %t
  4497. math CRASH_TIME add 61
  4498. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4499. }
  4500. if ((toupper("$GH_TWIRL") = "ON") && (%t >= %TWIRL_TIME) then
  4501. {
  4502. put maneuver TWIRL
  4503. var TWIRL_TIME %t
  4504. math TWIRL_TIME add 61
  4505. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4506. }
  4507. if ((toupper("$GH_SUPLEX") = "ON") && (%t >= %SUPLEX_TIME) then
  4508. {
  4509. put maneuver SUPLEX
  4510. var SUPLEX_TIME %t
  4511. math SUPLEX_TIME add 61
  4512. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4513. }
  4514. if ((toupper("$GH_POWERSHOT") = "ON") && (%t >= %POWERSHOT_TIME) then
  4515. {
  4516. put maneuver POWERSHOT
  4517. var POWERSHOT_TIME %t
  4518. math POWERSHOT_TIME add 61
  4519. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4520. }
  4521. if ((toupper("$GH_DOUBLESTRIKE") = "ON") && (%t >= %DOUBLESTRIKE_TIME) then
  4522. {
  4523. put maneuver DOUBLESTRIKE
  4524. var DOUBLESTRIKE_TIME %t
  4525. math DOUBLESTRIKE_TIME add 61
  4526. waitforre Roundtime|You must rest a bit longer before|You aren't close enough to attack.|There is nothing else to face!
  4527. }
  4528. if ((toupper("$GH_DEBIL") = "ON") && (%t >= %DEBIL_TIME) && ($Debilitation.LearningRate < 24) && ($Debilitation.LearningRate < 24)) then
  4529. {
  4530. put prep NB 22
  4531. pause 12
  4532. put CAST Creature
  4533. var DEBIL_TIME %t
  4534. math DEBIL_TIME add 120
  4535. waitforre Roundtime|You find yourself unable|Strain though you might,|You gesture at|You hold out your
  4536. }
  4537. if ((toupper("$GH_AUGMENTATION") = "ON") && (%t >= %AUGMENTATION_TIME) && ($Sorcery.LearningRate < 24) && ($Sorcery.LearningRate < 24)) then
  4538. {
  4539. put prep ES 18
  4540. pause 20
  4541. put CAST
  4542. var AUGMENTATION_TIME %t
  4543. math AUGMENTATION_TIME add 120
  4544. waitforre Roundtime|You find yourself unable|Strain though you might,|You gesture at |You gesture.
  4545. }
  4546. if ((toupper("$GH_WARDING") = "ON") && (%t >= %WARDING_TIME) && ($Warding.LearningRate < 24) && ($Warding.LearningRate < 24)) then
  4547. {
  4548. put prep tranq 26
  4549. pause 20
  4550. put CAST
  4551. var WARDING_TIME %t
  4552. math WARDING_TIME add 120
  4553. waitforre Roundtime|You find yourself unable|Strain though you might,|You gesture at |You gesture.|You place your hands
  4554. }
  4555. if ((toupper("$GH_PP") = "ON") && (%t >= %PP_TIME) && ($Attunement.LearningRate < 33)) then
  4556. {
  4557. put perc
  4558. var PP_TIME %t
  4559. math PP_TIME add 120
  4560. waitforre Roundtime
  4561. }
  4562. if (($hidden = 1) && ("%guild" = "Paladin")) then
  4563. {
  4564. send unhid
  4565. pause 1
  4566. }
  4567. if toupper("$GH_TEND") = "ON" && $bleeding = 1 then gosub GH_TEND_ON
  4568. if toupper("$GH_ARMOR") = "ON" then gosub GH_ARMOR_ON
  4569. if toupper("$GH_BUFF") = "ON" and $mana > 98 then gosub GH_BUFF_ON
  4570. {
  4571.  
  4572. }
  4573. if toupper("$juggernaut.orb") = "YES" then gosub DISARM_ORB
  4574. if ((toupper("$GH_SLOW") = "ON") && ($stamina < 90)) then waiteval $stamina = 100
  4575.  
  4576. if $standing = 0 then
  4577. {
  4578. put #send stand
  4579. pause .5
  4580. }
  4581.  
  4582.  
  4583. ATTACK:
  4584. matchre FLYING_MONSTER flying far too high to hit with|flying too high for you to attack
  4585. matchre FATIGUE You're beat|You're exhausted|You're bone-tired|worn-out
  4586. matchre ADVANCE help if you were closer|aren't close enough
  4587. matchre DEAD_MONSTER balanced\]|balance\]|already dead|very dead|pointlessly hack
  4588. matchre FACE nothing else|^Face what\?
  4589. matchre RETURN You are already in a position|But you are already dodging|You move into a position to|Roundtime|must be hidden|What were you|What are you
  4590. put %COMMAND
  4591. matchwait 5
  4592. return
  4593. goto ATTACK_ERROR
  4594.  
  4595. FLYING_MONSTER:
  4596. if ("%GAG_ECHO" != "YES") then
  4597. {
  4598. echo
  4599. echo *** Monster is flying, trying attack again ***
  4600. echo
  4601. }
  4602. put #beep
  4603. pause 3
  4604. goto ATTACK
  4605.  
  4606. HIDE:
  4607. if (($Stealth.LearningRate > 25 && %BACKSTAB != ON) then RETURN
  4608. if (("%guild" = "Thief") && (%level >= 50)) then goto STALK1
  4609. match HIDE fail
  4610. matchre HIDE1_RETREAT You are too close|notices|reveals
  4611. matchre RETURN You melt|You blend|Eh\?
  4612. put hide
  4613. matchwait 15
  4614. goto STEALTH_ERROR
  4615.  
  4616. HIDE1_RETREAT:
  4617. put ret
  4618. goto HIDE
  4619.  
  4620. STALK1:
  4621. if %BACKSTAB = ON then return
  4622. matchre CIRCLE_CHECK reveals|try being out of sight|discovers you|trying to stalk
  4623. match STALK1 You think|You fail
  4624. match FACE Stalk what?
  4625. matchre RETURN You move into position|You are already stalking|You're already stalking
  4626. put stalk
  4627. matchwait 15
  4628. goto STEALTH_ERROR
  4629.  
  4630. CIRCLE_CHECK:
  4631. if (("%guild" = "Thief") && (%circle >= 50)) then var circle 1
  4632. goto HIDE
  4633.  
  4634.  
  4635. ######################################
  4636. ### ###
  4637. ### This section is for Magic ###
  4638. ### ###
  4639. ######################################
  4640. ######################################
  4641. ### ###
  4642. ### This section is for Magic ###
  4643. ### ###
  4644. ######################################
  4645. 2000:
  4646. 2500:
  4647. 2600:
  4648. 2700:
  4649. 2800:
  4650. 3000:
  4651. 3010:
  4652. 3200:
  4653. if ((toupper("$GH_RETREAT") = "ON") && ("%RETREATING" = "OFF")) then gosub RETREAT_TRIGGERS
  4654. action var FULL_PREP YES when The formation of the target pattern around
  4655. save %c
  4656.  
  4657. MAGIC_PREP:
  4658. var LAST MAGIC_PREP
  4659. if toupper("$GH_TEND") = "ON" && $bleeding = 1 then gosub GH_TEND_ON
  4660. if toupper("$GH_ARMOR") = "ON" then gosub GH_ARMOR_ON
  4661. if toupper("$juggernaut.orb") = "YES" then gosub DISARM_ORB
  4662. if $mana < 60 then waiteval $mana >= 60
  4663. echo
  4664. echo MAGIC_PREP:
  4665. echo
  4666. if ("%SEARCHED" = "NO") then
  4667. {
  4668. if matchre ("$roomobjs", "((which|that) appears dead|\(dead\))") then goto DEAD_MONSTER
  4669. } else var SEARCHED NO
  4670. put #var GH_HARN_FLAG NO
  4671. #if ("%MAGIC_TYPE" = "TM") then match MAGIC_TARGET With calm movements
  4672. ##check here
  4673.  
  4674. #matchre MAGIC_TARGET fully prepared|already preparing
  4675. #match MAGIC_COMBAT have to strain
  4676. if "%MAGIC_TYPE" = "TM" then goto MAGIC_TARGET
  4677. put prep $GH_SPELL $GH_MANA
  4678. ##CHANGE You close TO YOUR SPELL PREP MESSAGING
  4679. waitforre (^You have to strain |^You raise your head)
  4680. if "$1" = "You have to strain" then goto MAGIC_COMBAT
  4681. waitforre ^You feel fully prepared to cast
  4682. goto MAGIC_CAST
  4683. #matchwait 15
  4684. #goto MAGIC_ERROR
  4685.  
  4686. MAGIC_TARGET:
  4687. var LAST MAGIC_TARGET
  4688. echo
  4689. echo MAGIC_TARGET:
  4690. echo
  4691. matchre MAGIC_PREP You don't have a spell prepared|You must be preparing a spell
  4692. matchre MAGIC_FACE_TM not engaged|I could not
  4693. matchre MAGIC_TARGET_WAIT1 You begin to weave mana lines into|You trace a hasty sigil
  4694. matchre MAGIC_TARGET_WAIT2 don't need to target|Your target pattern is already formed
  4695. matchre MAGIC_TARGET_FAIL patterns dissipate|pattern dissipates
  4696. put target $GH_SPELL $GH_MANA
  4697. matchwait 15
  4698. goto MAGIC_ERROR
  4699.  
  4700. MAGIC_TARGET_WAIT1:
  4701. if (($GH_HARN != 0) && (toupper("$GH_HARN_FLAG") = "NO")) then gosub MAGIC_HARNESS
  4702. if ("$GH_SNAP" = "ON") then
  4703. {
  4704. if ($GH_SNAP_PAUSE > 0) then pause $GH_SNAP_PAUSE
  4705. goto MAGIC_CAST
  4706. }
  4707. if ("%FULL_PREP" = "YES") then goto MAGIC_CAST
  4708. matchre MAGIC_CAST Your formation of a targeting pattern around|Your target pattern has finished forming around
  4709. matchre TARGET_FAIL patterns dissipate|pattern dissipates
  4710. matchre MAGIC_DEATH You gesture|You reach
  4711. matchwait 15
  4712. goto MAGIC_ERROR
  4713.  
  4714. MAGIC_TARGET_WAIT2:
  4715. if ($GH_HARN != 0) then gosub MAGIC_HARNESS
  4716. if ("$GH_SNAP" = "ON") then
  4717. {
  4718. if ($GH_SNAP_PAUSE > 0) then pause $GH_SNAP_PAUSE
  4719. goto MAGIC_CAST
  4720. }
  4721. goto MAGIC_CAST
  4722.  
  4723. MAGIC_TARGET_FAIL:
  4724. if ("%MAGIC" = "ON") then goto MAGIC_COMBAT
  4725. put release
  4726. goto PREP
  4727.  
  4728. MAGIC_HARNESS:
  4729. echo
  4730. echo MAGIC_HARNESS:
  4731. echo
  4732. put #var GH_HARN_FLAG YES
  4733. matchre MAGIC_HARNESS_DONE You tap into the mana from|You strain, but cannot harness|The steel broadsword pulses|Your link to the|The cambrinth
  4734. put charge wrist $GH_HARN
  4735. pause 2
  4736. put invoke wrist
  4737. matchwait 15
  4738. goto MAGIC_ERROR
  4739.  
  4740. MAGIC_HARNESS_DONE:
  4741. pause 0.5
  4742. return
  4743.  
  4744. MAGIC_FACE_TM:
  4745. var LAST MAGIC_FACE_TM
  4746. echo
  4747. echo MAGIC_FACE_TM:
  4748. echo
  4749. match MAGIC_TARGET You turn
  4750. matchre MAGIC_TM_ADV There is nothing|Face what?
  4751. put face next
  4752. matchwait 15
  4753. goto MAGIC_ERROR
  4754.  
  4755. MAGIC_TM_ADV:
  4756. var LAST MAGIC_TM_ADV
  4757. match MAGIC_FACE_TM You stop advancing
  4758. match MAGIC_FACE_TM2 advance towards?
  4759. match MAGIC_FACE_TM You have lost sight
  4760. matchre MAGIC_TARGET to melee range|\[You're|already at melee|begin
  4761. put advance
  4762. matchwait 15
  4763. goto MAGIC_ERROR
  4764.  
  4765. MAGIC_FACE_TM2:
  4766. put release spell
  4767. goto FACE
  4768.  
  4769. MAGIC_CAST:
  4770. var LAST MAGIC_CAST
  4771. echo
  4772. echo MAGIC_CAST:
  4773. echo
  4774. var FULL_PREP NO
  4775. matchre MAGIC_DEATH You gesture|You reach|Roundtime
  4776. match MAGIC_DEATH_REL because your target is dead
  4777. match MAGIC_COMBAT You are unable to harness
  4778. match MAGIC_FACE_TM on yourself!
  4779. match MAGIC_PREP You don't
  4780. matchre TARGET_FAIL patterns dissipate|pattern dissipates|Your secondary spell pattern dissipates because
  4781. put cast
  4782. matchwait 15
  4783. goto MAGIC_ERROR
  4784.  
  4785. TARGET_FAIL:
  4786. if ("%GAG_ECHO" != "YES") then
  4787. {
  4788. echo
  4789. echo *** TARGET_FAIL: ***
  4790. echo Failed to target magically
  4791. echo Re-prepping and trying again
  4792. echo
  4793. }
  4794. put release
  4795. goto %c
  4796.  
  4797. MAGIC_DEATH_REL:
  4798. put release spell
  4799. wait
  4800. goto DEAD_MONSTER
  4801.  
  4802. MAGIC_DEATH:
  4803. if ("%MAGIC" = "ON") then goto MAGIC_COMBAT
  4804. var LAST MAGIC_DEATH
  4805. if matchre ("$roomobjs", "((which|that) appears dead|\(dead\))") then goto DEAD_MONSTER
  4806. else goto EXPCHECK_$GH_TRAIN
  4807.  
  4808. MAGIC_COMBAT:
  4809. pause
  4810. put release spell
  4811. if ("%GAG_ECHO" != "YES") then
  4812. {
  4813. echo
  4814. echo *** MAGIC_COMBAT: ***
  4815. echo
  4816. }
  4817. counter subtract 2000
  4818. if ("%RETREATING" = "ON") then gosub RETREAT_UNTRIGGERS
  4819. goto %c
  4820.  
  4821. ######################################
  4822. ### ###
  4823. ### End of Magics ###
  4824. ### ###
  4825. ######################################
  4826. RANGED_CLEAN:
  4827. if ("%GAG_ECHO" != "YES") then
  4828. {
  4829. echo
  4830. echo *** RANGED_CLEAN ***
  4831. echo
  4832. }
  4833. if (("%SHIELD" != "NONE" && ("$lefthandnoun" = "%SHIELD")) then
  4834. {
  4835. gosub UNEQUIP_SHIELD
  4836. }
  4837. if "%AMMO" = "basilisk head arrow" then put stow basilisk arrow in my %QUIVER
  4838. else
  4839. put stow %AMMO in my %QUIVER
  4840. put retreat
  4841. pause
  4842. matchre RANGED_CLEAN_DONE You get some|You get a|You are already holding |You must unload|You stop as you realize|^Stow what
  4843. matchre RANGED_CLEAN You pick up|You pull
  4844. if "%AMMO" = "basilisk head arrow" then put stow basilisk arrow
  4845. else
  4846. put stow %AMMO
  4847. matchwait 15
  4848. goto CLEANING_ERROR
  4849.  
  4850. RANGED_CLEAN_DONE:
  4851. if "%AMMO" = "basilisk head arrow" then put stow basilisk arrow in my %QUIVER
  4852. else
  4853. put stow %AMMO in my %QUIVER
  4854. if (("%SHIELD" != "NONE" && ("$lefthand" = "Empty")) then
  4855. {
  4856. gosub EQUIP_SHIELD
  4857. }
  4858. return
  4859.  
  4860. THROWN_CLEAN:
  4861. if ("%GAG_ECHO" != "YES") then
  4862. {
  4863. echo
  4864. echo *** THROWN_CLEAN ***
  4865. echo
  4866. }
  4867. put put my %CURR_WEAPON in my %T_SHEATH
  4868. put retreat
  4869. pause
  4870. matchre THROWN_CLEAN_DONE You get some|You get a|You are already holding
  4871. matchre THROWN_CLEAN You pick up|You pull
  4872. put get %CURR_WEAPON
  4873. matchwait 15
  4874. goto CLEANING_ERROR
  4875.  
  4876. THROWN_CLEAN_DONE:
  4877. put put my %CURR_WEAPON in my %T_SHEATH
  4878. return
  4879.  
  4880. WEBBED:
  4881. if ("%GAG_ECHO" != "YES") then
  4882. {
  4883. echo
  4884. echo *** You have been webbed ***
  4885. echo
  4886. }
  4887. var WEBBED YES
  4888. action remove eval $webbed = 1
  4889. action var WEBBED NO when move freely again|free yourself from the webbing\.
  4890.  
  4891. pause 2
  4892.  
  4893. action goto WEBBED when eval $webbed = 1
  4894. goto %LAST
  4895.  
  4896. STAND:
  4897. pause 1
  4898. if ("%GAG_ECHO" != "YES") then
  4899. {
  4900. echo
  4901. echo *** Knocked down, standing back up ***
  4902. echo
  4903. }
  4904. var GO_BACK %LAST
  4905. STANDING:
  4906. var LAST STANDING
  4907. matchre STANDING cannot manage to stand|The weight of all your possessions|still stunned
  4908. matchre %GO_BACK ^You stand|^You are already standing
  4909. put stand
  4910. matchwait 15
  4911. goto ERROR
  4912.  
  4913. FATIGUE:
  4914. if ("%GAG_ECHO" != "YES") then
  4915. {
  4916. echo
  4917. echo *** FATIGUE: ***
  4918. echo
  4919. }
  4920. if (("%THROWN" = "ON") && matchre("$roomobjs", "%CURR_WEAPON")) then
  4921. {
  4922. pause 1
  4923. put get %CURR_WEAPON
  4924. waitforre You pick up|You get|You are
  4925. }
  4926. var LAST FATIGUE
  4927. matchre FATIGUE \[You're|You stop advancing
  4928. match FATIGUE_CHECK You cannot back away from a chance to continue your slaughter!
  4929. matchre FATIGUE_CHECK You retreat from combat|You sneak back|already as far
  4930. put ret
  4931. put ret
  4932. matchwait 40
  4933. goto FATIGUE_CHECK
  4934.  
  4935. FATIGUE_CHECK:
  4936. if ("%GAG_ECHO" != "YES") then
  4937. {
  4938. echo
  4939. echo *** FATIGUE_CHECK: ***
  4940. echo
  4941. }
  4942. if ($stamina < 90) then
  4943. {
  4944. goto FATIGUE_WAIT
  4945. } else
  4946. {
  4947. goto %c
  4948. }
  4949.  
  4950. FATIGUE_WAIT:
  4951. if ("%GAG_ECHO" != "YES") then
  4952. {
  4953. echo
  4954. echo *** FATIGUE_WAIT: ***
  4955. echo
  4956. }
  4957. matchre FATIGUE You feel fully rested|melee|pole|\[You're
  4958. matchwait
  4959.  
  4960. ######################################
  4961. ### ###
  4962. ### Dead monster routines ###
  4963. ### ###
  4964. ######################################
  4965. DEAD_MONSTER:
  4966. pause 1
  4967. gosub clear
  4968. match clear
  4969. var SEARCHED YES
  4970. var APPRAISED NO
  4971. var LAST DEAD_MONSTER
  4972. if ("%BACKSTAB" = "ON") then
  4973. {
  4974. counter set 1300
  4975. save 1300
  4976. }
  4977. if ("%RETREATING" = "ON") then gosub RETREAT_UNTRIGGERS
  4978. if ("%THROWN" = "ON") then
  4979. {
  4980. if ((("%HAND" = "") && ("$righthand" = "Empty")) || (("%HAND" = "left") && ("$lefthand" = "Empty"))) then gosub GET_THROWN
  4981. }
  4982. if ("%GAG_ECHO" != "YES") then
  4983. {
  4984. echo
  4985. echo *** DEAD_MONSTER: ***
  4986. echo
  4987. }
  4988. var LOCAL $GH_KILLS
  4989. math LOCAL add 1
  4990. put #var GH_KILLS %LOCAL
  4991. if matchre ("$roomobjs", "(%ritualcritters) ((which|that) appears dead|\(dead\))") then
  4992. {
  4993. var Monster $1
  4994. if ("$roomplayers" = "" && "$GH_NECRORITUAL" != "OFF") || ("$roomplayers" = "" "$GH_NECROHEAL" = "ON") then goto PERFORM_RITUAL
  4995. }
  4996. NECRO_RETURN:
  4997. if ("%SHIELD" != "NONE") then
  4998. {
  4999. if ("$lefthand" = "Empty") then
  5000. {
  5001. gosub EQUIP_SHIELD
  5002. }
  5003. }
  5004. if matchre ("$roomobjs", "(%skinnablecritters) ((which|that) appears dead|\(dead\))") then goto SKIN_MONSTER_$GH_SKIN
  5005. if matchre ("$roomobjs", "(%nonskinnablecritters) ((which|that) appears dead|\(dead\))") then goto SEAR_MONSTER
  5006. if matchre ("$roomobjs", "(%invasioncritters) ((which|that) appears dead|\(dead\))") then goto SEAR_MONSTER
  5007. goto NO_MONSTER
  5008.  
  5009. ######################################
  5010. ### ###
  5011. ### Skinning routines ###
  5012. ### ###
  5013. ######################################
  5014. SKIN_MONSTER_ON:
  5015. action remove eval $bleeding = 1
  5016. var Monster $1
  5017. if (toupper("$GH_SKIN_RET") = "ON") && ("%RETREATING" = "OFF")) then gosub RETREAT_TRIGGERS
  5018. SKIN_MONSTER:
  5019. var LAST SKIN_MONSTER
  5020. pause 1
  5021. if ("%GAG_ECHO" != "YES") then
  5022. {
  5023. echo
  5024. echo *** SKIN_MONSTER: ***
  5025. echo
  5026. }
  5027. if ("%SHIELD" != "NONE") then
  5028. {
  5029. if ("$lefthand" != "Empty") then
  5030. {
  5031. gosub UNEQUIP_SHIELD
  5032. }
  5033. }
  5034. goto GET_KNIFE
  5035. PERFORM_RITUAL:
  5036. if $mana > 80 && "$GH_NECROHEAL" = "ON" then gosub healthcheck
  5037. PERFORM_RITUAL_2:
  5038. if "$GH_NECRORITUAL" = "OFF" then goto NECRO_RETURN
  5039. if toupper("$GH_NECRORITUAL") = "HARVEST" && ("%SHIELD" != "NONE") then
  5040. {
  5041. if ("$lefthand" != "Empty") then
  5042. {
  5043. gosub UNEQUIP_SHIELD
  5044. }
  5045. }
  5046. if toupper("$GH_NECRORITUAL") = "ARISE" then
  5047. {
  5048. put perform preserve on %Monster
  5049. pause .5
  5050. pause .5
  5051. }
  5052. put Perform $GH_NECRORITUAL on %Monster
  5053. pause .5
  5054. pause .5
  5055. if "$righthandnoun" = "material" || "$lefthandnoun" = "material" then put drop material
  5056. pause .5
  5057. goto NECRO_RETURN
  5058.  
  5059. GET_KNIFE:
  5060. var LAST GET_KNIFE
  5061. if ("%BELT_WORN" = "OFF") then
  5062. {
  5063. if ("%EMPTY_HANDED" != "ON") then
  5064. {
  5065. if ("%RANGED" = "ON") then gosub RANGE_SHEATHE %CURR_WEAPON
  5066. else gosub SHEATHE %CURR_WEAPON
  5067. }
  5068. if ("$righthand" != "Empty") then gosub SHEATHE $righthandnoun
  5069. if ("$lefthand" != "Empty") then gosub SHEATHE $lefhthandnoun
  5070. gosub WIELD_WEAPON knife
  5071. }
  5072. var LAST SKINNING
  5073. ARRANGE_CHECK:
  5074. if (toupper("$GH_ARRANGE") = "ON") then
  5075. {
  5076. var NUM_ARRANGES 0
  5077. goto ARRANGE_KILL
  5078. }
  5079. SKINNING:
  5080. action put #math GH_SKINS add 1 when into your bundle\.$
  5081. matchre BUNDLE_OFF ^You must have one hand free to skin.
  5082. matchre SKINNING ^You approach
  5083. matchre DROPPED_SKINNER ^You'll need to have a bladed instrument
  5084. matchre SKIN_FAIL ^Some days it just doesn't pay to wake up|^A heartbreaking slip at the last moment renders your chances|manage to slice it to dripping tatters|You bumble the attempt|but only succeed in reducing|but end up destroying|You fumble and make an improper cut|Maybe helping little old Halfling widows across a busy Crossing street|You claw|twists and slips in your grip|^There isn't another|^Living creatures often object|Skin what\?|^Somehow managing to do EVERYTHING|^You hide|cannot be skinned
  5085. matchre SKIN_KNIFE_SHEATH into your bundle\.$
  5086. matchre SKIN_CHECK Roundtime
  5087. put skin
  5088. matchwait 15
  5089. goto SKIN_ERROR
  5090. SKIN_CHECK:
  5091. if ("$lefthand" != "Empty") then goto SCRAPE_$GH_SCRAPE
  5092. if "%WEAPON_EXP" = "Brawling" && "%BELT_WORN" = "ON" && "$righthand" != "Empty" then
  5093. {
  5094. gosub SWAP_LEFT
  5095. goto SCRAPE_$GH_SCRAPE
  5096. }
  5097. SKIN_FAIL:
  5098. if ("%GAG_ECHO" != "YES") then
  5099. {
  5100. echo
  5101. echo *** SKIN_FAIL ***
  5102. echo Skinning failed
  5103. echo
  5104. }
  5105. goto SKIN_KNIFE_SHEATH
  5106. DROPPED_SKINNER:
  5107. if ("%GAG_ECHO" != "YES") then
  5108. {
  5109. echo
  5110. echo *** Dropped your skinning knife ***
  5111. echo
  5112. }
  5113. pause 1
  5114. put get knife
  5115. goto SKINNING
  5116.  
  5117. ARRANGE_KILL:
  5118. if ("%GAG_ECHO" != "YES") then
  5119. {
  5120. echo
  5121. echo *** ARRANGE_KILL: ***
  5122. echo
  5123. }
  5124. ARRANGING:
  5125. math NUM_ARRANGES add 1
  5126. if (%NUM_ARRANGES > $MAX_ARRANGE) then goto SKINNING
  5127. var LAST ARRANGING
  5128. ARRANGEIT:
  5129. matchre SKIN_FAIL corpse is worthless now|Arrange what|^You might want to kill it first|so you can't arrange it either
  5130. match SKINNING has already been arranged as much as you can manage
  5131. if (("%guild" = "Ranger") && ($MAX_ARRANGE = 5)) then match SKINNING Roundtime
  5132. else match ARRANGING Roundtime
  5133. if (("%guild" = "Ranger") && ($MAX_ARRANGE = 5)) then put arrange all
  5134. else put arrange
  5135. matchwait 15
  5136. goto SKIN_ERROR
  5137.  
  5138. SCRAPE_ON:
  5139. if ($Mechanical_Lore.LearningRate >= 30) then goto SCRAPE_OFF
  5140. if ("%GAG_ECHO" != "YES") then
  5141. {
  5142. echo
  5143. echo *** SCRAPE_ON: ***
  5144. echo
  5145. }
  5146. var LAST SCRAPE_ON
  5147. put loot $GH_SEARCH
  5148. if matchre ("$lefthand", "skin|pelt|hide") then goto SCRAPING
  5149. goto SCRAPE_OFF
  5150. SCRAPING:
  5151. var SKIN $0
  5152. gosub SHEATHE $righthandnoun
  5153. put loot $GH_SEARCH
  5154. GET_SCRAPER:
  5155. var LAST GET_SCRAPER
  5156. matchre SCRAPE_CONT You get|You are already hold
  5157. match SCRAPE_OFF What were you referring to?
  5158. put get my scraper
  5159. matchwait 15
  5160. goto SKIN_ERROR
  5161. SCRAPE_CONT:
  5162. var LAST SCRAPE_CONT
  5163. matchre SCRAPE_CONT cleaning some dirt and debris from it|you snag the scraper
  5164. matchre SCRAPE_DONE Your %SKIN has been completely cleaned|going to help anything|looks as clean as you can make it.
  5165. put scrape %SKIN with scraper quick
  5166. matchwait 15
  5167. goto SKIN_ERROR
  5168. SCRAPE_DONE:
  5169. put stow scraper
  5170. waitfor You put
  5171.  
  5172. SCRAPE_OFF:
  5173. goto BUNDLE_$GH_BUN
  5174.  
  5175. BUNDLE_ON:
  5176. if ("%GAG_ECHO" != "YES") then
  5177. {
  5178. echo
  5179. echo *** BUNDLE_ON: ***
  5180. echo
  5181. }
  5182. var LOCAL $GH_SKINS
  5183. math LOCAL add 1
  5184. put #var GH_SKINS %LOCAL
  5185. var LAST BUNDLE_ON
  5186. match HAVE_ONE You tap
  5187. match CHECK_ROPE I could not find what you were
  5188. put tap bundle
  5189. matchwait 15
  5190. goto SKIN_ERROR
  5191. CHECK_ROPE:
  5192. var LAST CHECK_ROPE
  5193. match GET_ROPE You tap
  5194. match NO_MORE_ROPE I could not find
  5195. ##CHECK HERE
  5196. put tap bund rope
  5197. matchwait 15
  5198. goto SKIN_ERROR
  5199. NO_MORE_ROPE:
  5200. if ("%GAG_ECHO" != "YES") then
  5201. {
  5202. echo
  5203. echo *** No more rope for bundling ***
  5204. echo
  5205. }
  5206. put #var GH_BUN OFF
  5207. goto BUNDLE_OFF
  5208. GET_ROPE:
  5209. var LAST GET_ROPE
  5210. pause 1
  5211. if ("$righthandnoun" != "Empty") then gosub SHEATHE $righthandnoun
  5212. GET_ROPE_CONT:
  5213. ##CHECK HERE
  5214. put get my bund rope
  5215. waitfor You get
  5216. put bundle
  5217. pause 1
  5218. if toupper("$GH_TIE") = "ON" then gosub TIE_BUNDLE
  5219. if toupper("$GH_WEAR") = "ON" then gosub WEAR_BUNDLE
  5220. else
  5221. {
  5222. put drop bundle
  5223. waitfor You drop
  5224. }
  5225. goto SKIN_REEQUIP
  5226. TIE_BUNDLE:
  5227. matchre TIE_BUNDLE ^Once you've
  5228. matchre return ^Using the
  5229. put tie my bundle
  5230. matchwait
  5231. HAVE_ONE:
  5232. if ("$righthandnoun" != "Empty") then gosub SHEATHE $righthandnoun
  5233. if ("$lefthand" = "Empty") then goto SKIN_ERROR
  5234. put get bundle
  5235. if toupper("$GH_WEAR") = "OFF" then put remove bundle
  5236. waitforre You pick|You sling|You remove|But that is
  5237. matchre TOO_HEAVY Time to start a new bundle|You try to stuff your
  5238. matchre HAVE_ONE_CONT You stuff|not going to work|You carefully fit
  5239. put put my $lefthandnoun in my bundle
  5240. matchwait 15
  5241. goto SKIN_ERROR
  5242. TOO_HEAVY:
  5243. var LAST TOO_HEAVY
  5244. match CHECK_ROPE You drop
  5245. put drop bundle
  5246. matchwait 15
  5247. goto SKIN_ERROR
  5248. HAVE_ONE_CONT:
  5249. if toupper("$GH_WEAR") = "ON" then gosub WEAR_BUNDLE
  5250. else
  5251. {
  5252. put drop bundle
  5253. waitfor You drop
  5254. }
  5255. if ("%EMPTY_HANDED" = "ON") then goto SKIN_REEQUIP_DONE
  5256. else goto SKIN_REEQUIP
  5257. WEAR_BUNDLE:
  5258. matchre PULL_BUNDLE ^You can't wear
  5259. matchre return ^You put|^You attach|^You sling|^You drape|^You are already wearing
  5260. put wear my bundle
  5261. matchwait 5
  5262. goto SKIN_ERROR
  5263.  
  5264. PULL_BUNDLE:
  5265. matchre WEAR_BUNDLE_OFF over your shoulder\.$
  5266. matchre WEAR_BUNDLE around your waist\.$|on your back\.$|attached to your belt\.$|around your shoulders\.$
  5267. put pull my bundle
  5268. matchwait 5
  5269. goto SKIN_ERROR
  5270.  
  5271. WEAR_BUNDLE_OFF:
  5272. echo
  5273. echo *** CAN'T FIND LOCATION TO WEAR BUNDLE
  5274. echo *** WEAR_BUNDLE_OFF ***
  5275. echo
  5276. put #var GH_WEAR OFF
  5277. put drop my bundle
  5278. return
  5279.  
  5280. BUNDLE_OFF:
  5281. if ("%GAG_ECHO" != "YES") then
  5282. {
  5283. echo
  5284. echo *** BUNDLE_OFF ***
  5285. echo
  5286. }
  5287. var LOCAL $GH_SKINS
  5288. math LOCAL add 1
  5289. put #var GH_SKINS %LOCAL
  5290. if ("$lefthand" != "Empty") then put empty left
  5291. pause 1
  5292. SKIN_KNIFE_SHEATH:
  5293. var LAST SKIN_KNIFE_SHEATH
  5294. action remove into your bundle\.$
  5295. if ("$righthandnoun" = "knife") then gosub SHEATHE knife
  5296. goto SKIN_REEQUIP
  5297.  
  5298. SKIN_REEQUIP:
  5299. var LAST SKIN_REEQUIP
  5300. if ("%EMPTY_HANDED" != "ON") then
  5301. {
  5302. if ("$righthand" = "Empty") then gosub WIELD_WEAPON %CURR_WEAPON
  5303. if (("%HAND" = "left") && ("$righthand" != "Empty")) then gosub SWAP_LEFT $righthandnoun
  5304. }
  5305. if ("%SHIELD" != "NONE") then
  5306. {
  5307. if ("$lefthand" = "Empty") then
  5308. {
  5309. gosub EQUIP_SHIELD
  5310. }
  5311. }
  5312. if ("%RETREATING" = "ON") then gosub RETREAT_UNTRIGGERS
  5313. goto SKIN_REEQUIP_DONE
  5314.  
  5315. ######################################
  5316. ### ###
  5317. ### Looting routines ###
  5318. ### ###
  5319. ######################################
  5320. SKIN_MONSTER_OFF:
  5321. SEAR_MONSTER:
  5322. var Monster $1
  5323. SKIN_REEQUIP_DONE:
  5324. pause 1
  5325. gosub clear
  5326. if ("%GAG_ECHO" != "YES") then
  5327. {
  5328. echo
  5329. echo *** SEAR_MONSTER: ***
  5330. echo
  5331. }
  5332. var LAST SKIN_REEQUIP_DONE
  5333. matchre TIMER_$GH_TIMER ^I could not find what|not dead
  5334. matchre SEARCH_OTHER_MONSTER ^Sheesh
  5335. matchre LOOT_$GH_LOOT ^You search|^You shove your arm|^Roundtime|picked clean of anything|^You should probably wait until|has already been searched
  5336. ##CHECK HERE JUST LOOT
  5337. put loot $GH_SEARCH
  5338. matchwait 30
  5339. goto LOOT_ERROR
  5340.  
  5341. LOOT_OFF:
  5342. if ("%GAG_ECHO" != "YES") then
  5343. {
  5344. echo
  5345. echo *** Not looting ***
  5346. echo
  5347. }
  5348. goto LOOT_DONE
  5349.  
  5350. LOOT_ON:
  5351. if ("%GAG_ECHO" != "YES") then
  5352. {
  5353. echo
  5354. echo *** Looting ***
  5355. echo
  5356. }
  5357. var LAST LOOT_ON
  5358. if ("%SHIELD" != "NONE") then
  5359. {
  5360. if ("$lefthand" != "Empty") then
  5361. {
  5362. gosub UNEQUIP_SHIELD
  5363. }
  5364. }
  5365. goto LOOT_BOX_$GH_LOOT_BOX
  5366.  
  5367. LOOT_BOX_ON:
  5368. if matchre ("$roomobjs", "(%boxtype) (%boxes)") then goto GET_BOX
  5369. LOOT_BOX_OFF:
  5370. goto LOOT_GEM_$GH_LOOT_GEM
  5371.  
  5372. LOOT_GEM_ON:
  5373. if (matchre ("$roomobjs", "\b(%gems1|%gems2|%gems3|%gems4|%gweths)\b(,|\.| and)")) then goto GET_GEM
  5374. LOOT_GEM_OFF:
  5375. goto LOOT_COLLECTIBLE_$GH_LOOT_COLL
  5376.  
  5377. LOOT_COLLECTIBLE_ON:
  5378. if matchre ("$roomobjs", "\b(%collectibles)\b") then goto GET_COLLECTIBLE
  5379. LOOT_COLLECTIBLE_OFF:
  5380. goto LOOT_COIN_$GH_LOOT_COIN
  5381.  
  5382. LOOT_COIN_ON:
  5383. if matchre ("$roomobjs", "(coin|coins)") then goto GET_COIN
  5384. LOOT_COIN_OFF:
  5385. goto LOOT_JUNK_$GH_LOOT_JUNK
  5386.  
  5387. LOOT_JUNK_ON:
  5388. if matchre ("$roomobjs", "(%junkloot)") then goto GET_JUNK
  5389. LOOT_JUNK_OFF:
  5390. goto NO_LOOT
  5391.  
  5392. GET_BOX:
  5393. var BOX $0
  5394. var LOOTED YES
  5395. STOW_BOX:
  5396. var LAST STOW_BOX
  5397. matchre NO_MORE_ROOM_BOX any more room in|^Stow what|^You just can't get|^But that's closed
  5398. matchre LOOT_BOX_ON ^You put your
  5399. put stow box
  5400. matchwait 30
  5401. goto LOOT_ERROR
  5402.  
  5403. NO_MORE_ROOM_BOX:
  5404. if matchre ("$righthandnoun", "(%boxes)") then put empty right
  5405. else put empty left
  5406. waitforre ^You drop|^What were you|is already empty
  5407. put #var GH_LOOT_BOX OFF
  5408. put #Beep
  5409. goto LOOT_GEM_$GH_LOOT_GEM
  5410.  
  5411. GET_GEM:
  5412. var GEM $1
  5413. var LOOTED YES
  5414. if contains("%GEM") then
  5415. {
  5416. var GEM
  5417. }
  5418. STOW_GEM:
  5419. var LAST STOW_GEM
  5420. matchre NO_MORE_ROOM_GEM any more room in|^Stow what|^You just can't get|^But that's closed|^You think the
  5421. matchre LOOT_GEM_ON ^You put your|^You open your
  5422. put stow %GEM
  5423. matchwait 30
  5424. goto LOOT_ERROR
  5425.  
  5426. NO_MORE_ROOM_GEM:
  5427. put drop %GEM
  5428. waitforre ^You drop|^What were you
  5429. if toupper("$GH_POUCH") = "ON" then goto SWAP_POUCH
  5430. put #var GH_LOOT_GEM OFF
  5431. goto LOOT_COIN_$GH_LOOT_COIN
  5432.  
  5433. SWAP_POUCH:
  5434. put remove my %GEM_CONTAINER
  5435. wait
  5436. put put my %GEM_CONTAINER in my %POUCH_CONTAINER
  5437. wait
  5438. matchre NO_POUCH ^What were
  5439. matchre WEAR_POUCH ^You get
  5440. put get my %GEM_CONTAINER
  5441. matchwait
  5442.  
  5443. WEAR_POUCH:
  5444. put wear my %GEM_CONTAINER
  5445. goto LOOT_ON
  5446.  
  5447. NO_POUCH:
  5448. echo No more pouches
  5449. put #var GH_POUCH OFF
  5450. put #var GH_LOOT_GEM OFF
  5451. goto LOOT_COIN_$GH_LOOT_COIN
  5452.  
  5453. GET_COLLECTIBLE:
  5454. var ITEM $0
  5455. var LOOTED YES
  5456. STOW_COLLECTIBLE:
  5457. var LAST STOW_COLLECTIBLE
  5458. matchre NO_MORE_ROOM_COLLECTIBLE any more room in|^Stow what|^You just can't get|^But that's closed
  5459. matchre LOOT_COLLECTIBLE_ON ^You put your
  5460. put stow %ITEM
  5461. matchwait 30
  5462. goto LOOT_ERROR
  5463.  
  5464. NO_MORE_ROOM_COLLECTIBLE:
  5465. if matchre ("$righthandnoun", "(%collectibles)") then put empty right
  5466. else put empty left
  5467. waitforre ^You drop|^What were you|is already empty
  5468. put #var GH_LOOT_COLL OFF
  5469. goto LOOT_COIN_$GH_LOOT_COIN
  5470.  
  5471. GET_COIN:
  5472. var LAST GET_COIN
  5473. put get coin
  5474. waitforre ^You pick up|^What were you
  5475. goto LOOT_COIN_ON
  5476.  
  5477. GET_JUNK:
  5478. var JUNK $0
  5479. var LOOTED YES
  5480. STOW_JUNK:
  5481. var LAST STOW_JUNK
  5482. matchre NO_MORE_ROOM_JUNK any more room in|^Stow what|^You just can't get|^But that's closed
  5483. matchre LOOT_JUNK_ON ^You put your
  5484. put stow %JUNK in %JUNK_CONTAINER
  5485. matchwait 30
  5486. goto LOOT_ERROR
  5487.  
  5488. NO_MORE_ROOM_JUNK:
  5489. put drop %JUNK
  5490. waitforre ^You drop|^What were you
  5491. put #var GH_LOOT_JUNK OFF
  5492. goto NO_LOOT
  5493.  
  5494. TOO_DARK:
  5495. if ("%GAG_ECHO" != "YES") then
  5496. {
  5497. echo
  5498. echo *** It's too dark to see anything ***
  5499. echo
  5500. }
  5501. goto TIMER_$GH_TIMER
  5502.  
  5503. NO_MONSTER:
  5504. if ("%GAG_ECHO" != "YES") then
  5505. {
  5506. echo
  5507. echo *** No recognizable monsters. ***
  5508. echo *** If you think this is an error, ***
  5509. echo *** post the creature you just killed please ***
  5510. echo *** Or AIM IRXSwmr about it ***
  5511. echo
  5512. }
  5513. ##CHECK HERE just loot
  5514. put loot $GH_SEARCH
  5515. goto TIMER_$GH_TIMER
  5516.  
  5517. NO_LOOT:
  5518. if ("%GAG_ECHO" != "YES") then
  5519. {
  5520. echo
  5521. echo *** No Loot ***
  5522. echo
  5523. }
  5524. if ("%LOOTED" = "YES") then
  5525. {
  5526. var LOCAL $GH_LOOTS
  5527. math LOCAL add 1
  5528. put #var GH_LOOTS %LOCAL
  5529. var LOOTED NO
  5530. }
  5531. LOOT_DONE:
  5532. ##CHECK HERE DELETE LINE BELOW
  5533. action goto BLEEDING when eval $bleeding = 1
  5534. var LAST LOOT_DONE
  5535. if ("%RANGED" = "ON") then
  5536. if matchre("$roomobjs", "%AMMO") then gosub RANGED_CLEAN
  5537. if ("%THROWN" = "ON") then
  5538. if matchre("$roomobjs", "%CURR_WEAPON") then gosub THROWN_CLEAN
  5539. if ("%SHIELD" != "NONE") then
  5540. {
  5541. if ("$lefthand" = "Empty") then
  5542. {
  5543. gosub EQUIP_SHIELD
  5544. }
  5545. }
  5546. if ((toupper("$GH_RETREAT") = "ON") && ("%RETREATING" = "OFF")) then gosub RETREAT_TRIGGERS
  5547. goto TIMER_$GH_TIMER
  5548.  
  5549. ######################################
  5550. ### ###
  5551. ### Experience check routines ###
  5552. ### ###
  5553. ######################################
  5554. TIMER_ON:
  5555. if (%t > (%MAX_TRAIN_TIME)) then goto SWITCH_WEAPON
  5556. TIMER_OFF:
  5557. goto EXPCHECK_$GH_EXP
  5558.  
  5559. EXPCHECK_ON:
  5560. ##CHECK HERE
  5561. ## if ($%EXP2.LearningRate > 20) then goto SWITCH_WEAPON
  5562. ## else if ($%WEAPON_EXP.LearningRate > 26) then goto SWITCH_WEAPON
  5563. ## }
  5564. ## } else if ($%WEAPON_EXP.LearningRate > 14) then goto SWITCH_WEAPON
  5565. if ("%ALTEXP" = "ON") then
  5566. {
  5567. if ($%EXP2.LearningRate > 20) then
  5568. {
  5569. if ($%EXP2.LearningRate > 20) then goto SWITCH_WEAPON
  5570. else if ($%WEAPON_EXP.LearningRate > 21) then goto SWITCH_WEAPON
  5571. }
  5572. } else if ($%WEAPON_EXP.LearningRate > 26) then goto SWITCH_WEAPON
  5573.  
  5574. EXPCHECK_OFF:
  5575. var LAST EXPCHECK_OFF
  5576. if (toupper("$GH_STANCE") = "ON")) then gosub SWITCH_STANCE
  5577. if ("%MAGIC_TYPE" != "OFF") then
  5578. {
  5579. counter set %MAGIC_COUNT
  5580. save %c
  5581. }
  5582. put #statusbar 1 GH - Kills:$GH_KILLS Skins:$GH_SKINS Loots:$GH_LOOTS
  5583. if ("%SEARCHED" = "YES") then goto FACE
  5584. else goto %c
  5585.  
  5586. MIND_MURKED:
  5587. if ("%GAG_ECHO" != "YES") then
  5588. {
  5589. echo
  5590. echo *** Mind murked up, going to rest mode***
  5591. echo
  5592. }
  5593. pause 1
  5594. send sleep
  5595. var REST ON
  5596. goto EXPCHECK_OFF
  5597.  
  5598. SWITCH_STANCE:
  5599. ##CHECK HERE
  5600. ##if ($%CURR_STANCE.LearningRate < 15) then return
  5601. if ($%CURR_STANCE.LearningRate < 10) then return
  5602. if ("%GAG_ECHO" != "YES") then
  5603. {
  5604. echo
  5605. echo *** SWITCH_STANCE: ***
  5606. echo *** Current stance locked ***
  5607. echo
  5608. }
  5609. if ("%CURR_STANCE" = "Evasion") then
  5610. {
  5611. if ("%NOSHIELD" = "OFF") then
  5612. {
  5613. send stance shield
  5614. waitfor You are now set to use
  5615. var CURR_STANCE Shield_Usage
  5616. } else
  5617. {
  5618. send stance parry
  5619. waitfor You are now set to use
  5620. var CURR_STANCE Parry_Ability
  5621. }
  5622. } elseif ("%CURR_STANCE" = "Shield_Usage") then
  5623. {
  5624. if ("%NOPARRY" = "OFF") then
  5625. {
  5626. put stance parry
  5627. waitfor You are now set to use
  5628. var CURR_STANCE Parry_Ability
  5629. } else
  5630. {
  5631. put stance evasion
  5632. waitfor You are now set to use
  5633. var CURR_STANCE Evasion
  5634. }
  5635. } elseif ("%CURR_STANCE" = "Parry_Ability") then
  5636. {
  5637. if ("%NOEVADE" = "OFF") then
  5638. {
  5639. put stance evasion
  5640. waitfor You are now set to use
  5641. var CURR_STANCE Evasion
  5642. } else
  5643. {
  5644. send stance shield
  5645. waitfor You are now set to use
  5646. var CURR_STANCE Shield_Usage
  5647. }
  5648. }
  5649. return
  5650.  
  5651. SWITCH_WEAPON:
  5652. var LAST SWITCH_WEAPON
  5653. if ("%GAG_ECHO" != "YES") then
  5654. {
  5655. echo
  5656. echo *** SWITCH_WEAPON
  5657. echo *** Weapon skill locked ***
  5658. echo
  5659. }
  5660. if "$BW" != "OFF" && "$GH_BUFF" = "ON" then
  5661. {
  5662. put #send 1 release bond
  5663. waitforre ^You sense|^You are not|^Release what|^You are ending the bond with your
  5664. }
  5665. #put stance evasion
  5666. #pause .5
  5667. put #playsystem Open
  5668. if ("%EMPTY_HANDED" != "ON") then
  5669. {
  5670. if ("%RANGED" = "ON") then
  5671. {
  5672. action remove You think you have your best shot possible
  5673. action remove stop concentrating on aiming
  5674. gosub RANGE_SHEATHE
  5675. if (matchre("$roomobjs", "%AMMO\b")) then gosub RANGED_CLEAN
  5676. if ("%REM_SHIELD" != "NONE") then
  5677. {
  5678. pause 1
  5679. put get %REM_SHIELD
  5680. waitfor You get a
  5681. put wear %REM_SHIELD
  5682. waitfor You slide
  5683. }
  5684. } else
  5685. {
  5686. put ret
  5687. gosub SHEATHE %CURR_WEAPON
  5688. }
  5689. }
  5690. if ("%SHIELD" != "NONE") then
  5691. {
  5692. gosub UNEQUIP_SHIELD
  5693. }
  5694. if (toupper("$GH_MULTI") != "OFF") then
  5695. {
  5696. if ($GH_MULTI_CURR_NUM < $GH_MULTI_NUM) then
  5697. {
  5698. var TEMP $GH_MULTI_CURR_NUM
  5699. math TEMP add 1
  5700. put #var GH_MULTI_CURR_NUM %TEMP
  5701. }
  5702. else
  5703. {
  5704. put #var GH_MULTI_CURR_NUM 1
  5705. }
  5706. if (toupper("$GH_MULTI") = "MULTI") then goto MULTI_$GH_MULTI_CURR_NUM
  5707. else goto DMULTI_$GH_MULTI_CURR_NUM
  5708. } else goto DONE
  5709.  
  5710. BLEEDING:
  5711. if ("%GAG_ECHO" != "YES") then
  5712. {
  5713. echo
  5714. echo *** BLEEDING: ***
  5715. echo You are bleeding
  5716. echo Retreating to check health
  5717. echo
  5718. }
  5719. action remove eval $bleeding = 1
  5720. action var INFECTED YES when ^You.+(infect|disease)
  5721. pause 0.2
  5722. var GOING_TO %LAST
  5723. var INFECTED NO
  5724. put heal
  5725. goto HEALTH_CHECK
  5726.  
  5727. STUNNED:
  5728. if ("%GAG_ECHO" != "YES") then
  5729. {
  5730. echo
  5731. echo *** STUNNED: ***
  5732. echo You have been stunned.
  5733. echo Retreating to check health.
  5734. echo
  5735. }
  5736. action remove eval $stunned = 1
  5737. var GOING_TO %LAST
  5738. HEALTH_CHECK:
  5739. gosub clear
  5740. matchre HEALTH_CHECK pole|still stunned
  5741. matchre CHECKING_HEALTH ^You retreat from combat|^You try to back away|already as far away as you can get
  5742. put ret
  5743. matchwait 10
  5744. CHECKING_HEALTH:
  5745. if ("%INFECTED" = "YES") then goto INFECTED
  5746. if ($stamina >= 60) then
  5747. {
  5748. echo
  5749. echo Not too beat up, returning to combat
  5750. echo Be careful!
  5751. echo
  5752. action goto BLEEDING when eval $bleeding = 1
  5753. action goto STUNNED when eval $stunned = 1
  5754. action remove ^You.+(infect|disease)
  5755. goto %GOING_TO
  5756. } else
  5757. {
  5758. echo
  5759. echo Too beat up, aborting
  5760. echo
  5761. goto ABORT
  5762. }
  5763.  
  5764. INFECTED:
  5765. echo
  5766. echo Your wounds are infected, seek medical attention!!!
  5767. echo
  5768. put #beep
  5769. goto DEAD
  5770.  
  5771. DROPPED_WEAPON:
  5772. pause
  5773. put get %CURR_WEAPON
  5774. counter set 0
  5775. goto BEGIN
  5776.  
  5777. ABORT:
  5778. gosub RETREAT_TRIGGERS
  5779. ABORTING:
  5780. if ("%GAG_ECHO" != "YES") then
  5781. {
  5782. echo
  5783. echo *** ABORT: ***
  5784. echo
  5785. }
  5786. echo Injured badly, you need medical assistance
  5787. if ("%DYING" = "ON") then
  5788. {
  5789. put look sword
  5790. ##CHECK HERE
  5791. ## put quit
  5792. }
  5793. if ($health <= 30) then goto DEAD
  5794. put #beep
  5795. pause 2
  5796. goto ABORTING
  5797.  
  5798. DEAD:
  5799. if ("%GAG_ECHO" != "YES") then
  5800. {
  5801. echo
  5802. echo *** DEAD: ***
  5803. echo
  5804. echo You are dead, or about to be
  5805. }
  5806. if ("%DYING" = "ON") then
  5807. {
  5808. put look sword
  5809. pause 0.5
  5810. put look sword
  5811. }
  5812. put #beep
  5813. ##CHECK HERE
  5814. # quit
  5815. exit
  5816.  
  5817. NO_VALUE:
  5818. if ("%GAG_ECHO" != "YES") then
  5819. {
  5820. echo
  5821. echo *** NO_VALUE: ***
  5822. echo
  5823. }
  5824. echo Basic use of script .geniehuntera <weapon>
  5825. goto DONE
  5826.  
  5827. DONE:
  5828. if ("%REST" = "ON") then send awaken
  5829. echo
  5830. echo *** DONE: ***
  5831. echo
  5832. pause 1
  5833. put glance
  5834. put #parse GENIEHUNTER DONE
  5835. put look
  5836. exit
  5837.  
  5838. ##############################
  5839. ## ##
  5840. ## Error handling ##
  5841. ## ##
  5842. ##############################
  5843. APPR_ERROR:
  5844. gosub clear
  5845. echo
  5846. echo *** APPR_ERROR ***
  5847. echo *** Something happened while appraising a critter ***
  5848. echo
  5849. goto ERROR_DONE
  5850.  
  5851. ATTACK_ERROR:
  5852. gosub clear
  5853. echo
  5854. echo *** ATTACK_ERROR ***
  5855. echo *** Something bad happened while attacking ***
  5856. echo
  5857. goto ERROR_DONE
  5858.  
  5859. CLEANING_ERROR:
  5860. gosub clear
  5861. echo
  5862. echo *** CLEANING_ERROR ***
  5863. echo *** Something bad happened while cleaning ***
  5864. echo
  5865. goto ERROR_DONE
  5866.  
  5867. DEFAULT_ERROR:
  5868. gosub clear
  5869. echo
  5870. echo *** DEFAULT_ERROR: ***
  5871. echo *** Cannot use keyword DEFAULT with keyword multi ***
  5872. echo *** To use Default settings with multi-weapons, use keyword dmulti ***
  5873. echo
  5874. goto ERROR_DONE
  5875.  
  5876. LOOT_ERROR:
  5877. gosub clear
  5878. echo
  5879. echo *** LOOT_ERROR ***
  5880. echo *** Error occured while looting ***
  5881. echo
  5882. goto ERROR_DONE
  5883.  
  5884. MAGIC_ERROR:
  5885. gosub clear
  5886. echo
  5887. echo *** MAGIC_ERROR ***
  5888. echo *** Error occured while using magic ***
  5889. echo
  5890. goto ERROR_DONE
  5891.  
  5892. RANGED_ERROR:
  5893. gosub clear
  5894. echo
  5895. echo *** RANGED_ERROR ***
  5896. echo *** Error occured while using ranged ***
  5897. echo
  5898. goto ERROR_DONE
  5899.  
  5900. SKIN_ERROR:
  5901. gosub clear
  5902. echo
  5903. echo *** SKIN_ERROR ***
  5904. echo *** Error occured while skinning ***
  5905. echo
  5906. goto ERROR_DONE
  5907.  
  5908. STEALTH_ERROR:
  5909. gosub clear
  5910. echo
  5911. echo *** STEALTH_ERROR ***
  5912. echo *** Error occured while being stealthy ***
  5913. echo
  5914. goto ERROR_DONE
  5915.  
  5916. SWAP_ERROR:
  5917. gosub clear
  5918. echo
  5919. echo *** SWAP_ERROR: ***
  5920. echo *** Something bad happened while trying to swap ***
  5921. echo
  5922. goto ERROR_DONE
  5923.  
  5924. THROWN_ERROR:
  5925. gosub clear
  5926. echo
  5927. echo *** THROWN_ERROR ***
  5928. echo *** Error occured while throwing ***
  5929. echo
  5930. goto ERROR_DONE
  5931.  
  5932. VARIABLE_ERROR:
  5933. gosub clear
  5934. echo
  5935. echo *** VARIABLE_ERROR: ***
  5936. echo *** An error has occured with one of the variables ***
  5937. echo
  5938. goto ERROR_DONE
  5939.  
  5940. WEAPON_APPR_ERROR:
  5941. gosub clear
  5942. echo
  5943. echo *** WEAPON_APPR_ERROR: ***
  5944. echo *** Something happened while trying to discern the type of weapon ***
  5945. echo
  5946. goto ERROR_DONE
  5947.  
  5948. ERROR:
  5949. gosub clear
  5950. echo
  5951. echo *** Some general ERROR occured ***
  5952. echo
  5953. goto DONE
  5954.  
  5955. ERROR_DONE:
  5956. pause 1
  5957. echo
  5958. echo *** DONE, BUT WITH ERRORS ***
  5959. echo
  5960. put #beep
  5961. quit
  5962. pause 1
  5963. quit
  5964. pause 1
  5965. put #playsystem Open
  5966. put glance
  5967. put #parse GENIEHUNTER DONE
  5968. put look
  5969. exit
  5970.  
  5971. ##############################
  5972. ## ##
  5973. ## End Error handling ##
  5974. ## ##
  5975. ##############################
  5976.  
  5977. #################################
  5978. ## ##
  5979. ## General Utility functions ##
  5980. ## ##
  5981. #################################
  5982. PAUSE:
  5983. pause
  5984. goto %LAST
  5985.  
  5986. HUM_STOP:
  5987. pause
  5988. put stop hum
  5989. goto %LAST
  5990.  
  5991. RETURN:
  5992. return
  5993.  
  5994.  
  5995. #################################
  5996. ## ##
  5997. ## Includes and Additions ##
  5998. ## ##
  5999. #################################
  6000.  
  6001.  
  6002. DISARM_ORB:
  6003. put #send disarm orb
  6004. waitforre ^Roundtime
  6005. pause .5
  6006. return
  6007.  
  6008. GH_TEND_ON:
  6009. action (geniehunter) off
  6010. gosub tend.start
  6011. action (geniehunter) on
  6012. return
  6013.  
  6014. GH_ARMOR_ON:
  6015. #if $GH_ARMOR_COUNT >= $GH_ARMOR_TOTAL then put #var GH_ARMOR OFF
  6016. if ("$GH_ARMOR.INCLUDE" = "1" and $%%swap.armor > $swap.learningrate) || ("$GH_ARMOR.INCLUDE" = "0") then
  6017. {
  6018. action (geniehunter) off
  6019. gosub gh_armor.start
  6020. action (geniehunter) on
  6021. }
  6022. #if "$GH_ARMOR.INCLUDE" = "0" then
  6023. #{
  6024. #action (geniehunter) off
  6025. #gosub gh_armor.start
  6026. #action (geniehunter) on
  6027. #}
  6028. return
  6029.  
  6030. GH_BUFF_ON:
  6031. action (geniehunter) off
  6032. if toupper("$GH_BUFF_DANGER") = "ON" then action put #send ret when melee range on you\!|pole weapon range on you\!
  6033. gosub gh_buff.start
  6034. if toupper("$GH_BUFF_DANGER") = "ON" then action remove melee range on you\!|pole weapon range on you\!
  6035. action (geniehunter) on
  6036. return
  6037.  
  6038. #################################
  6039. ## ##
  6040. ## HELP Section ##
  6041. ## ##
  6042. #################################
  6043. HELP:
  6044. gosub clear
  6045. echo
  6046. echo **************************************************************************************
  6047. echo **
  6048. echo ** Ambushing
  6049. echo ** Appraisal
  6050. echo ** Armor swapping
  6051. echo ** Backstabbing
  6052. echo ** Brawling
  6053. echo ** Buffing
  6054. echo ** Counting Critters (Dancing)
  6055. echo ** Default Setting
  6056. echo ** Empathic Brawling
  6057. echo ** Experience Checks/Sleeping with a murked mind
  6058. echo ** Global Variables
  6059. echo ** HUNT verb
  6060. echo ** Juggling
  6061. echo ** Looting Options
  6062. echo ** Magic
  6063. echo ** Multi Skill Training
  6064. echo ** Offhand Weapon Fighting
  6065. echo ** Poaching/Sniping
  6066. echo ** Pouch swapping
  6067. echo ** Power Perception
  6068. echo ** Roaming a Hunting Ground
  6069. echo ** Retreating Options
  6070. echo ** Shields
  6071. echo ** Skinning Options
  6072. echo ** Snapfiring
  6073. echo ** Stance Options
  6074. echo ** Swappable Weapons (Bastard swords etc.)
  6075. echo ** Syntax Full
  6076. echo ** Targeting Body Parts
  6077. echo ** Tending
  6078. echo ** Timer Training - training for X amount of time
  6079. echo ** Thrown
  6080. echo ** Weapons
  6081. echo **
  6082. echo ** Please type one of the above options for details.
  6083. echo **
  6084. echo **************************************************************************************
  6085. echo
  6086. match HELP_AMBUSH ambush
  6087. match HELP_APP appr
  6088. match HELP_ARMOR armor
  6089. match HELP_BACK back
  6090. matchre HELP_BRAWL brawl
  6091. matchre HELP_BUFF buff
  6092. matchre HELP_COUNT count|danc
  6093. match HELP_DANGER danger
  6094. matchre HELP_DEF defa|sett
  6095. matchre HELP_EMPATH empath
  6096. match HELP_EXP exp
  6097. matchre HELP_GLOBAL glob|var
  6098. match HELP_HUNT hunt
  6099. match HELP_JUGGLE jugg
  6100. match HELP_LOOT loot
  6101. match HELP_MAGIC magic
  6102. match HELP_MULTI multi
  6103. match HELP_OFFHAND offh
  6104. matchre HELP_POACH poach|snip
  6105. matchre HELP_POUCH pouch
  6106. match HELP_POWER pow
  6107. match HELP_ROAM roam
  6108. match HELP_RETREAT ret
  6109. match HELP_SHIELD shield
  6110. match HELP_SKIN skin
  6111. match HELP_SNAP snap
  6112. match HELP_STANCE stance
  6113. match HELP_SWAP swap
  6114. match HELP_SYNTAX synt
  6115. match HELP_TARGET targ
  6116. match HELP_TEND tend
  6117. match HELP_THROWN throw
  6118. match HELP_TIMER time
  6119. match HELP_WEAPON weap
  6120. matchwait
  6121.  
  6122. HELP_GENERAL:
  6123. echo
  6124. echo **************************************************************************************
  6125. echo **
  6126. echo ** The Option you chose was a "General Command"
  6127. echo ** General commands must come before any other scripting commands,
  6128. echo ** but can be mixed in any order with other General Commands.
  6129. echo **
  6130. echo ** LIST of General commands: Appraise, Arrange, Block, Bundle, Count, Custom, Dance,
  6131. echo ** Default, Dodge, Evade, Exp, Lootall, Lootbox, Lootcoin,
  6132. echo ** Lootgem, Retreat, Junk, Multi, Parry, Roam, Timer,
  6133. echo ** Target, Train
  6134. echo **
  6135. echo **************************************************************************************
  6136. echo
  6137. pause 5
  6138. goto HELP
  6139.  
  6140. HELP_AMBUSH:
  6141. echo
  6142. echo **************************************************************************************
  6143. echo ** For anyone looking to get the drop on someone there's always ambushing.
  6144. echo ** This function will hide/stalk an enemy and then attack from hiding. For paladins
  6145. echo ** it will unhide before advancing and also unhide before attacking to avoid soul hits.
  6146. echo ** Support is in there for ambushing with ANY melee weapon in the game, as well as
  6147. echo ** ambushing while brawling.
  6148. echo **
  6149. echo ** .geniehunter ambush {weapon} (shield)
  6150. echo ** .geniehunter ambush brawl {weapon} (shield)
  6151. echo **************************************************************************************
  6152. echo
  6153. pause 3
  6154. goto HELP
  6155.  
  6156. HELP_APP:
  6157. echo
  6158. echo **************************************************************************************
  6159. echo ** The Script can be set-up to appraise the monsters you are fighting.
  6160. echo **
  6161. echo ** The script will 'appraise quick' for a 3 second RT.
  6162. echo ** It attempts to app after a kill, and will app when a monster enters an empty room.
  6163. echo ** Do to the limitations of the script it can ONLY app the same type of monster as the
  6164. echo ** last monster you killed.
  6165. echo ** This creates a sort of "hit or miss" system, but it does work most of the time.
  6166. echo **
  6167. echo ** .geniehunter APPR {weapon} (shield)
  6168. echo **
  6169. echo ** Note: The appraisal variable is a global variable so you can turn it on/off as you
  6170. echo ** so desire while the script is running. The variable is GH_APPR
  6171. echo **************************************************************************************
  6172. echo
  6173. pause 3
  6174. goto HELP
  6175.  
  6176. HELP_ARMOR:
  6177. echo
  6178. echo **************************************************************************************
  6179. echo ** The Script can be set-up to swap armors.
  6180. echo **
  6181. echo ** The script will swap armors when the learning rate becomes greater than the
  6182. echo ** GH_ARMOR_RATE is set to. This variable is found in the setup section at the top.
  6183. echo ** This armor will only swap through the armors once per run of the script to keep from
  6184. echo ** Looping endlessly through armors if they all get to the rate. This count is restarted
  6185. echo ** Everytime Geniehunter is re-run tough, such as when using the MULTI option
  6186. echo **************************************************************************************
  6187. echo
  6188. pause 3
  6189. goto HELP
  6190.  
  6191.  
  6192. HELP_BACK:
  6193. echo
  6194. echo **************************************************************************************
  6195. echo ** For all you sneaky types, backstab is supported.
  6196. echo ** Just don't try this if you aren't a allowed!
  6197. echo ** And if you try it with an inappropriate weapon, you will just attack like a Barbarian
  6198. echo **
  6199. echo ** .geniehunter backstab {weapon} (shield)
  6200. echo **************************************************************************************
  6201. echo
  6202. pause 3
  6203. goto HELP
  6204.  
  6205. HELP_BRAWL:
  6206. echo
  6207. echo **************************************************************************************
  6208. echo ** The script Brawls, no weapons allowed. Just Fist of Fury
  6209. echo **
  6210. echo ** .geniehunter BRAWL
  6211. echo **************************************************************************************
  6212. echo
  6213. pause 3
  6214. goto HELP
  6215.  
  6216. HELP_BUFF:
  6217. echo **************************************************************************************
  6218. echo ** The Script can be set-up to put up buffing spells, and put them back up when needed
  6219. echo **
  6220. echo ** The script gh_buff needs to be edited for your list of spells, preps, and what
  6221. echo ** to charge the cambrinth at.
  6222. echo **************************************************************************************
  6223. echo
  6224. pause 3
  6225. goto HELP
  6226.  
  6227. HELP_COUNT:
  6228. echo
  6229. echo **************************************************************************************
  6230. echo ** It is possible to have the script Dance with a certain number of critters without
  6231. echo ** killing them. The Script will do 'Brawling' until MORE THAN the number of critters
  6232. echo ** you designate is in the room. (NOT at melee. NOT on you. IN THE ROOM)
  6233. echo ** Both the Count and Dance keyword works for this function
  6234. echo **
  6235. echo ** .geniehunter COUNT/DANCE <Number of critters to dance with>
  6236. echo **
  6237. echo ** Example:
  6238. echo ** .geniehunter COUNT/DANCE 3 Scimitar
  6239. echo ** You will Dance until there are 4 critters, then attack until there are only
  6240. echo ** 3 again.
  6241. echo **
  6242. echo ** Note: The dancing variable is a global variable so you can turn it on/off as you
  6243. echo ** so desire while the script is running. The variable is GH_DANCING
  6244. echo **************************************************************************************
  6245. echo
  6246. pause 7
  6247. goto HELP
  6248.  
  6249. HELP_DANGER:
  6250. echo **************************************************************************************
  6251. echo ** The Script can be set-up to retreat while casting buffing spells in dangerous areas
  6252. echo **
  6253. echo ** This will retreat and stay retreated while buffing. This option will enable the buff
  6254. echo ** option too.
  6255. echo **************************************************************************************
  6256. echo
  6257. pause 3
  6258. goto HELP
  6259.  
  6260. HELP_DEF:
  6261. echo
  6262. echo **************************************************************************************
  6263. echo ** The script can be configured to create 1 default combat setting.
  6264. echo ** This setting will be used when the script is started with no variables.
  6265. echo ** It will skip all variable checks and go immediately into combat using
  6266. echo ** the pre-configured weapon set-up created with this command.
  6267. echo **
  6268. echo ** Basically think of this as your "Oh crap! I need to be fighting NOW" set-up.
  6269. echo **
  6270. echo ** SYNTAX: .geniehuntera DSET {weapon set-up}
  6271. echo ** EXAMPLE: .geniehuntera DSET loot skin scimtar shield
  6272. echo ** USAGE: .geniehuntera
  6273. echo **
  6274. echo ** A note on multi word weapons:
  6275. echo ** If your set-up contains a multi word weapon like short.bow or bastard.sword
  6276. echo ** there is an added step to get this to work properly. Once you create your set-up,
  6277. echo ** since it is inside quotes the . is removed making these one word weapons two words,
  6278. echo ** and thus two variables. To fix this do the following.
  6279. echo ** Go into your config window and click the "Variables" tab. Find the variable
  6280. echo ** with your multi word weapon and re-enter the period. This will make it function
  6281. echo ** properly when default mode is used. Default variables are all saved as
  6282. echo ** GH_DEF_<variable name> so they are easily findable
  6283. echo **
  6284. echo **************************************************************************************
  6285. echo
  6286. pause 10
  6287. goto HELP_DM
  6288.  
  6289. HELP_DM:
  6290. echo
  6291. echo **************************************************************************************
  6292. echo ** To tie Default setting into a Multi-Weapon Setup use the command DMULTI
  6293. echo ** This will make the script use your default setting as the first chain in
  6294. echo ** Multi-weapon set-up. You must have previously set-up default settings to use this.
  6295. echo ** Also, use DMSET to set the weapons to use
  6296. echo **
  6297. echo ** SYNTAX: .geniehunter DMSET weapon1 weapon2
  6298. echo ** EXAMPLE: .geniehunter DMSET scimitar sword mace
  6299. echo ** This sets up to use these 3 weapons with DEFAULT settings
  6300. echo ** EXAMPLE: .geniehunter DMULTI 2 (this will start fighting with weapon 2)
  6301. echo **
  6302. echo **************************************************************************************
  6303. echo
  6304. pause 3
  6305. goto HELP
  6306.  
  6307. HELP_EMPATH:
  6308. echo
  6309. echo **************************************************************************************
  6310. echo ** If you're an Empath, or just want to dance with a critter. There is brawling that
  6311. echo ** doesn't hurt the critter. No weapons allowed, just like normal brawling
  6312. echo **
  6313. echo ** SYNTAX: .geniehunter EMPATH
  6314. echo **************************************************************************************
  6315. echo
  6316. pause 3
  6317. goto HELP
  6318.  
  6319. HELP_EXP:
  6320. echo
  6321. echo **************************************************************************************
  6322. echo ** The script has three methods of Checking Experience.
  6323. echo ** The Main method is using the 'MUlTI' command, where the script will check Exp
  6324. echo ** and switch weapons to your next set-up when needed. (See the Multi-weapon section)
  6325. echo **
  6326. echo ** The second method is using the 'EXP' variable. This causes the script to check the
  6327. echo ** of the current weapon, or alternate experience (depending on the skill). If the
  6328. echo ** learning state of the experience is greater than 10 (dazed or mind locked) the script
  6329. echo ** stops.
  6330. echo **
  6331. echo ** The third method is using the 'TRAIN' variable. This causes the script to check
  6332. echo ** the experience after every weapon cycle. This method also checks after every kill.
  6333. echo **
  6334. echo ** The 'MULTI' command defaults to using both the 'TRAIN' and 'EXP' variable so it
  6335. echo ** will check experience after every weapon cycle and after every kill
  6336. echo **
  6337. echo ** SYNTAX: .geniehunter EXP <weapon> (shield)
  6338. echo ** SYNTAX: .geniehunter TRAIN <weapon> (shield)
  6339. echo **
  6340. echo ** Note: The training variables are a global variable so you can turn it on/off as you
  6341. echo ** so desire while the script is running. The variables are GH_EXP and GH_TRAIN
  6342. echo ** Note2: You need the EXP plugin to make use of these functions.
  6343. echo **************************************************************************************
  6344. echo
  6345. pause 5
  6346. goto HELP
  6347.  
  6348. HELP_GLOBAL:
  6349. echo
  6350. echo **************************************************************************************
  6351. echo ** Geniehunter makes use of global variable so that you may modify your hunting without
  6352. echo ** having to restart the script all together. Here is a list of all the global
  6353. echo ** variables and the allowable values
  6354. echo **
  6355. echo ** GH_AMBUSH - OFF/ON (ambushing with weapon)
  6356. echo ** GH_APPR - NO/YES (appraising creatures)
  6357. echo ** GH_ARRANGE - OFF/ON (arranging before skinning)
  6358. echo ** GH_BUN - OFF/ON (bundling after skinning)
  6359. echo ** GH_DANCING - OFF/ON (dancing with creatures)
  6360. echo ** GH_EXP - OFF/ON (experience check after kills)
  6361. echo ** GH_LOOT - OFF/ON (general looting, if OFF no looting is done)
  6362. echo ** GH_LOOT_BOX - OFF/ON (box looting)
  6363. echo ** GH_LOOT_COIN - OFF/ON (coin looting)
  6364. echo ** GH_LOOT_GEM - OFF/ON (gem looting)
  6365. echo ** GH_LOOT_JUNK - OFF/ON (junk looting)
  6366. echo ** GH_SPELL - <spell> (spell to cast)
  6367. echo ** GH_MANA - <mana> (mana level to prepare spell at)
  6368. echo ** GH_HARN - <mana> (mana level to harness after prep)
  6369. echo ** GH_RETREAT - OFF/ON (retreating for ranged/magic)
  6370. echo ** GH_ROAM - OFF/ON (roaming when nothing left to kill)
  6371. echo ** GH_SKIN - OFF/ON (skinning creatures)
  6372. echo ** GH_SKIN_RET - OFF/ON (retreating while skinning)
  6373. echo ** GH_SNAP - OFF/ON (snapcasting/snapfiring)
  6374. echo ** GH_STANCE - OFF/ON (stance switching)
  6375. echo ** GH_TARGET - <body part> (body part to target)
  6376. echo ** GH_TIMER - OFF/ON (using timing function
  6377. echo ** GH_TRAIN - OFF/ON (exp checks after combat cycles)
  6378. echo **
  6379. echo Note: Please note values are case sensitive for all variables with the options ON/OFF/NO/YES.
  6380. echo For all other variables, their values are case insensitive
  6381. echo **************************************************************************************
  6382. echo
  6383. pause 10
  6384. goto HELP
  6385.  
  6386. HELP_HUNT:
  6387. echo
  6388. echo **************************************************************************************
  6389. echo ** The script will use the HUNT verb every 90 seconds to train perception, stalking
  6390. echo ** and scouting (for the Rangers). It will hunt before your swing your weapon during
  6391. echo ** combat.
  6392. echo **
  6393. echo ** SYNTAX: .geniehuntera HUNT {weapon} (shield)
  6394. echo **
  6395. echo **************************************************************************************
  6396. echo
  6397. pause 5
  6398. goto HELP
  6399.  
  6400. HELP_JUGGLE:
  6401. echo
  6402. echo **************************************************************************************
  6403. echo ** The script can juggle while waiting for new monsters to show up for killing
  6404. echo **
  6405. echo ** SYNTAX: .geniehunter JUGGLE/YOYO {weapon} (shield)
  6406. echo **
  6407. echo ** You can also use yoyos as a jugglie. If you use a standard jugglie, the script
  6408. echo ** will also hum while jugglig
  6409. echo **
  6410. echo ** Note: For this to work you need to have a few global variables:
  6411. echo ** JUGGLIE = your jugglie of choice, be it standard or a yoyo
  6412. echo ** HUM_SONG = song to hum while juggling
  6413. echo ** HUM_DIFFICULTY = song difficulty to hum while juggling
  6414. echo **************************************************************************************
  6415. echo
  6416. pause 5
  6417. goto HELP
  6418.  
  6419. HELP_LOOT:
  6420. echo
  6421. echo **************************************************************************************
  6422. echo ** The Script can be set-up to loot Kills. (It always searches.)
  6423. echo **
  6424. echo ** SYNTAX: .geniehunter LOOTALL {weapon} (shield) <--- Loots everything
  6425. echo **
  6426. echo ** You can also set-up the script to loot specific item types, rather than everything.
  6427. echo ** The variables for these are:
  6428. echo **
  6429. echo ** COLLECTIBLE - will loot collectibles (cards/diras)
  6430. echo ** LOOTBOX - will only loot boxes until the stow container is full
  6431. echo ** LOOTCOIN - will only loot coins
  6432. echo ** LOOTGEM - will only loot gems until the stow container is full
  6433. echo ** JUNK - will loot junk items (runestones/scrolls/lockpicks etc)
  6434. echo **
  6435. echo ** EXAMPLE: .geniehunter LOOTBOX {weapon} {shield} <--- Loot boxes but not gems or coins.
  6436. echo ** EXAMPLE: .geniehunter LOOTGEM LOOTCOIN {weapon} {shield} <--- Loot coins and gems but not boxes.
  6437. echo **
  6438. echo ** Note: The looting variables are a global variable so you can turn it on/off as you
  6439. echo ** so desire while the script is running. The variables are GH_LOOT,GH_LOOT_BOX,
  6440. echo ** GH_LOOT_COIN, GH_LOOT_GEM, and GH_LOOT_JUNK
  6441. echo **************************************************************************************
  6442. echo
  6443. pause 5
  6444. goto HELP
  6445.  
  6446. HELP_MAGIC:
  6447. echo
  6448. echo **************************************************************************************
  6449. echo ** At long Last, the script can use magic. Both Targeted and none Targeted Magic, be
  6450. echo ** they attack spells or buff spells. (LB or SOP)
  6451. echo ** It is however limited to one spell, and the standard prep/target/cast routine.
  6452. echo ** And The script CANNOT use weapons while a spell is being preped/targeted.
  6453. echo ** The script can also use brawling with magic.
  6454. echo **
  6455. echo ** Commands: TM/PM = You will use mainly magic to hunt.
  6456. echo ** MAGIC = You will use mainly weapons to hunt.
  6457. echo ** When combined with Multi, TM checks Targeted Magic, PM/MAGIC Primary.
  6458. echo **
  6459. echo ** SYNTAX: .geniehunter TM/PM/MAGIC <spell> <mana> <harness mana> {weapon} (shield)
  6460. echo **
  6461. echo ** EXAMPLES: .geniehunter TM FB 15 3 scimitar
  6462. echo ** .geniehunter MAGIC SOP 20 swap 1 b.sword targe
  6463. echo ** .geniehunter PM bolt 5 5 - uses bolt spell and brawling for weapon
  6464. echo **
  6465. echo ** Notes: TM/PM will hunt using magic, your weapon is a back-up and is only used when
  6466. echo ** low on mana.
  6467. echo ** MAGIC is a single spell cast as the weapon combo repeats.
  6468. echo ** SNAP can be used for snap casting.
  6469. echo **************************************************************************************
  6470. echo
  6471. pause 10
  6472. goto HELP
  6473.  
  6474. HELP_MULTI:
  6475. echo
  6476. echo **************************************************************************************
  6477. echo ** To set up multi weapon simply put in SET as the first variable followed by the
  6478. echo ** geniehunter set-ups you want to cycle through, each set-up must be inside a set of
  6479. echo ** quotes (""). Multi-weapon will change set-ups when you reach Dazed in the
  6480. echo ** current weapon.
  6481. echo ** SYNTAX: .geniehunter MSET "Set-up1" "Set-up2" "Set-up3" ... "Set-up10"
  6482. echo ** NOTE: You don't have to use all 10 available set-up spots.
  6483. echo ** EXAMPLE: .geniehunter MSET "skin loot scimitar shield" "loot app brawl"
  6484. echo **
  6485. echo ** USE:
  6486. echo ** Once set-up, to use the script for multi-weapon simply use the "multi" command.
  6487. echo ** If you want to start on a set-up that isn't your first one entered simply type in
  6488. echo ** the number of the set-up you want to start with.
  6489. echo **
  6490. echo ** SYNTAX: .geniehunter MULTI <Set-up number you want to start with>
  6491. echo ** EXAMPLE: .geniehunter MULTI - starts with Set-up1
  6492. echo ** EXAMPLE: .geniehunter MULTI 3 - starts with Set-up3
  6493. echo ** I know its a bit complex. AIM: IRXSwmr EMAIL: KllrWhle79@hotmail.com
  6494. echo **
  6495. echo ** A note on multi word weapons:
  6496. echo ** If a set-up contains a multi word weapon like short.bow or bastard.sword there
  6497. echo ** is an added step to get this to work properly.
  6498. echo ** Once you create your set-up, since it is inside quotes the . is removed making
  6499. echo ** these one word weapons two words, and thus two variables. To fix this do the
  6500. echo ** following.
  6501. echo ** Go into your config window and click the "Variables" tab. Find the variable
  6502. echo ** with your multi word weapon and re-enter the period. This will make it function
  6503. echo ** properly when "multi" is used. Default variables are all saved as
  6504. echo ** GH_MULTI_<SETUP NUMBER> so they are easily findable
  6505. echo **
  6506. echo **************************************************************************************
  6507. echo
  6508. pause 10
  6509. goto HELP
  6510.  
  6511. HELP_OFFHAND:
  6512. echo
  6513. echo **************************************************************************************
  6514. echo ** The script will fight with your offhand. This function is usable with all melee
  6515. echo ** weapons and thrown weapons. You must still specify if you want to throw the weapon
  6516. echo ** just like the throwing function. It will use the typical combat sequence, just with
  6517. echo ** the left hand. Shields are not usable because they provide no protect when held in
  6518. echo ** the right hand.
  6519. echo **
  6520. echo ** SYNTAX: .geniehunter OFF {weapon}
  6521. echo ** EXAMPLE: .geniehunter OFF scimitar
  6522. echo ** EXAMPLE: .geniehunter OFF throw hammer
  6523. echo **
  6524. echo **************************************************************************************
  6525. echo
  6526. pause 3
  6527. goto HELP
  6528.  
  6529. HELP_POACH:
  6530. echo
  6531. echo **************************************************************************************
  6532. echo ** For those of you who like your stealth kills at range, Poaching and Sniping is
  6533. echo ** fully operational.
  6534. echo **
  6535. echo ** SYNTAX: .geniehunter POACH {weapon} (shield(slings and LX only!)
  6536. echo ** SYNTAX: .geniehunter SNIPE {weapon} (shield(LX only!)
  6537. echo **************************************************************************************
  6538. echo
  6539. pause 3
  6540. goto HELP
  6541.  
  6542.  
  6543. HELP_POUCH:
  6544. echo
  6545. echo **************************************************************************************
  6546. echo ** This option will remove a full worn gem pouch, place it into a specified container -
  6547. echo ** \\$GH_CONTAINER_POUCH_CONTAINER, get another gem pouch, and wear it.
  6548. echo **
  6549. echo ** SYNTAX: .geniehunter POUCH {weapon} (shield)
  6550. echo **************************************************************************************
  6551. echo
  6552. pause 3
  6553. goto HELP
  6554.  
  6555.  
  6556. HELP_POWER:
  6557. echo
  6558. echo **************************************************************************************
  6559. echo ** The script will use the perceive verb to train power perception every 6 minutes
  6560. echo **
  6561. echo ** SYNTAX: .geniehuntera POWERP {weapon} (shield)
  6562. echo **
  6563. echo **************************************************************************************
  6564. echo
  6565. pause 5
  6566. goto HELP
  6567.  
  6568. HELP_ROAM:
  6569. echo
  6570. echo **************************************************************************************
  6571. echo ** The script will roam a hunting area if you run out of things to kill. It will move
  6572. echo ** throughout the current hunting area and check each room for people and critters.
  6573. echo ** It will makes sure you have your ammo first; and if you are bundling skins, it will
  6574. echo ** pick up one bundle to take with you.
  6575. echo **
  6576. echo ** !!!!!! CAUTION !!!!!!
  6577. echo ** The script does not check to make sure you don't leave the hunting area and enter
  6578. echo ** other, possibly more dangerous areas. Beforewarned that if there are more difficult
  6579. echo ** creatures in an adjacent, easily accessed area, use extreme caution with this function.
  6580. echo ** Also, there is not 100% coverage for people hunting in hiding. Be courteous of others
  6581. echo ** so you don't get an arrow in the face.
  6582. echo **
  6583. echo ** SYNTAX: .geniehunter ROAM {weapon} (shield)
  6584. echo **************************************************************************************
  6585. echo
  6586. pause 7
  6587. goto HELP
  6588.  
  6589. HELP_RETREAT:
  6590. echo
  6591. echo **************************************************************************************
  6592. echo ** The script defaults to not staying at a distance while using ranged weapons, thrown
  6593. echo ** weapons and magic. If you want to stay at a distance and retreat from combat while
  6594. echo ** doing these actions, the script can do that with the RETREAT function
  6595. echo **
  6596. echo ** SYNTAX: .geniehunter RET {weapon} (shield)
  6597. echo **************************************************************************************
  6598. echo
  6599. pause 3
  6600. goto HELP
  6601.  
  6602. HELP_SHIELD:
  6603. HELP_WEAPON:
  6604. echo
  6605. echo **************************************************************************************
  6606. echo ** It works with (just about) any type of weapon in the game. Anytime you can use a
  6607. echo ** shield, the script supports it. The script won't even try to pull out a shield if
  6608. echo ** you are using a two-handed weapon or bow.
  6609. echo ** !!!WARNING!!! If you are using an arm worn shield DO NOT enter a shield name.
  6610. echo **
  6611. echo ** SYNTAX: .geniehunter {weapon} (shield)
  6612. echo **
  6613. echo ** Note: If you have an arm worn shield on when trying to use a bow, the script will
  6614. echo ** remove and attempt to stow the offending shield
  6615. echo **************************************************************************************
  6616. echo
  6617. pause 3
  6618. goto HELP
  6619.  
  6620. HELP_SKIN:
  6621. echo
  6622. echo **************************************************************************************
  6623. echo ** Everyone has there own method of how they skin. This script therefore has several
  6624. echo ** options on how skinning works.
  6625. echo ** Here are the commands for skinning, and what they do:
  6626. echo **
  6627. echo ** SKIN : Skins, drops the skin if you aren't bundling
  6628. echo ** BUNDLE : Same as 'SKIN', but bundles the skins. If no ropes to bundle, drops skins, drops bundles
  6629. echo ** SKINRET : Will make the script retreat before skinning.
  6630. echo ** SCRAPE : Will scrape the skins before dropping/bundling them
  6631. echo ** ARRANGE : Same as 'SKIN' but it arranges first, also can input number of times to arrange (1-5)
  6632. echo ** WEAR : Wears bundles, instead of dropping them
  6633. echo ** TIE : Ties bundles off before either dropping or wearing them, reduces item count
  6634. echo **
  6635. echo ** There is no need to use 'SKIN' if you are using one of the other options, it knows
  6636. echo ** you're skinning. In other words, ".geniehunter skin bundle" is redundant, just use
  6637. echo ** ".geniehunter bundle"
  6638. echo **
  6639. echo ** Options can be combined for full effect.
  6640. echo **
  6641. echo ** EXAMPLE: .geniehunter ARRANGE SKINRET {weapon} - this would make the script retreat,
  6642. echo ** arrange the kill, skin it, and drop the skin.
  6643. echo **
  6644. echo ** Note: If you are a ranger and you do "arrange 5" (max arranges) the script will use
  6645. echo ** "arrange all" to arrange for minimum RT
  6646. echo **************************************************************************************
  6647. echo
  6648. pause 10
  6649. goto HELP
  6650.  
  6651. HELP_SNAP:
  6652. echo
  6653. echo **************************************************************************************
  6654. echo ** For those of us who are impatient, ALL Ranged systems can be snapfired.
  6655. echo ** Snapfiring will cause the script to aim and fire instanly after you load until
  6656. echo ** your target is dead.
  6657. echo **
  6658. echo ** SNAP also works with Magic systems. It will fully prepare the spell then Target and
  6659. echo ** Cast at the same time.
  6660. echo **
  6661. echo ** EXAMPLE: .geniehunter SNAP {weapon} (shield)-(slings and LX only!)
  6662. echo ** EXAMPLE: .geniehunter SNAP poach {weapon} (shield)-(slings and LX only!)
  6663. echo ** EXAMPLE: .geniehunter SNAP TM FB 15 scimitar
  6664. echo **************************************************************************************
  6665. echo
  6666. pause 3
  6667. goto HELP
  6668.  
  6669. HELP_STANCE:
  6670. echo
  6671. echo **************************************************************************************
  6672. echo ** The script is able to alter your stance.
  6673. echo ** Block - Custom - Evasion - Parry
  6674. echo ** These commands will make the script switch to the preset Stance you enter.
  6675. echo **
  6676. echo ** .geniehunter BLOCK/CUSTOM/EVASION(or DODGE)/PARRY {weapon} (shield)
  6677. echo **
  6678. echo ** The script also has the function to switch stances when one is locked. It will
  6679. echo ** determine your current stance, and then check the experience for that skill. If the
  6680. echo ** is dazed or above, it will switch stances. The stance switching goes in the following
  6681. echo ** order: evasion -> shield -> parry and back
  6682. echo **
  6683. echo ** SYNTAX: .geniehunter STANCE {weapon} (shield)
  6684. echo **
  6685. echo ** If you would like to skip one stance, you can indicate which stance you would like to
  6686. echo ** with the NOEVASION, NOPARRY, or NOSHIELD keywords. This will skip the indicated
  6687. echo ** stance. You may only skip one stance.
  6688. echo **
  6689. echo ** Note: You must have the EXP plugin for this function to work
  6690. echo **************************************************************************************
  6691. echo
  6692. pause 5
  6693. goto HELP
  6694.  
  6695. HELP_SWAP:
  6696. echo
  6697. echo **************************************************************************************
  6698. echo ** The script can be set-up to use swappable weapons.
  6699. echo ** "Swap X" must be followed by the weapon.
  6700. echo **
  6701. echo ** SYNTAX: .geniehunter SWAP {1/2/E/B/PI/HA/SS/QS} {weapon} (shield)
  6702. echo **
  6703. echo ** 1 = 1 handed for weapons that swap between 1 and 2 hands.
  6704. echo ** 2 = 2 handed for weapons that swap between 1 and 2 hands.
  6705. echo ** E = Edged for weapons that swap between edged and blunt.
  6706. echo ** B = Blunt for weapons that swap between edged and blunt.
  6707. echo ** PI = Use this weapon as a Pike.
  6708. echo ** HA = Use this weapon as a Halberd.
  6709. echo ** SS = Use this weapon as a Short Staff.
  6710. echo ** QS = Use this weapon as a Quarter Staff.
  6711. echo **
  6712. echo ** EXAMPLES: .geniehunter SWAP 1 sword shield - uses a sword in 1-handed mode
  6713. echo ** .geniehunter SWAP PI spear - uses a spear in pike mode
  6714. echo **************************************************************************************
  6715. echo
  6716. pause 3
  6717. goto HELP
  6718.  
  6719. HELP_SYNTAX:
  6720. echo
  6721. echo **************************************************************************************
  6722. echo ** This is a brief (for me anyway) description of how the script works
  6723. echo ** and what order commands come in, as well as a list of all the commands
  6724. echo ** the script has.
  6725. echo **
  6726. echo ** There are many options settings and methods of using the script,
  6727. echo ** all of which have been programed in and can be called forth using the
  6728. echo ** correct comamnds. Knowing those commands and how to use them is what
  6729. echo ** this section is for.
  6730. echo **
  6731. echo ** 'Command' refers to anything that follows .geniehunter when starting the script.
  6732. echo ** There are several types of commands:
  6733. echo **
  6734. echo ** 'General Commands' have to come before anything else, but can
  6735. echo ** be placed in any order amongst themselves. These are basic systems
  6736. echo ** that toggle on or off specific non-combat features.
  6737. echo **
  6738. echo ** 'Combat Methods' come after 'General Commands' but before
  6739. echo ** 'Combat Systems'. Methods alter a System in very specifc but minor
  6740. echo ** ways, and can usually only be used with a specific System.
  6741. echo **
  6742. echo ** 'Combat Systems' come After Methods, and Immediately before your
  6743. echo ** Equipment. Systems decide how the script is going to fight. This is usually
  6744. echo ** defined by your Equipment, but occasionlly a System is used that redefines
  6745. echo ** how combat is undergone with Certain Equipment.
  6746. echo **
  6747. echo ** 'Equipment' is always the last command. When the script finds your
  6748. echo ** Equipment (usually a weapon) it begins combat after equiping you.
  6749. echo ** Equipment is defined as the in game items you will be using to hunt with.
  6750. echo **
  6751. echo ** 'Special' commands are.. special. They are usually systems that have
  6752. echo ** nothing to do with combat itself, but were placed into the script as extras
  6753. echo ** They are also the commands used to set-up some of the more complex features
  6754. echo ** of the script.
  6755. echo **
  6756. echo ** Command List:
  6757. echo ** General Commands: Appraise, Arrange, Block, Bundle, Count, Custom, Dance, Default,
  6758. echo ** Dodge, Evade, Exp, Lootall, Lootbox, Lootcoin, Lootgem, Retreat,
  6759. echo ** Junk, Multi, Parry, Roam, Target, Timer, Train
  6760. echo ** Combat Methods: Ambush, Snapfire, Stack
  6761. echo ** Combat Systems: Backstab, Brawl, Empath, Offhand, Snipe, Swap, Throw, TM/PM/Magic
  6762. echo ** Spcl. Commands: MSET and MULTI (multi weapons), DSET (Default Setting), HELP,
  6763. echo ** DMSET and DMULTI (multi weapons with default settings)
  6764. echo **
  6765. echo ** SYNTAX ORDER: [] = Special Commands () = General Commands || = Combat Methods
  6766. echo ** /\ = Combat Systems {} = Equipment
  6767. echo **
  6768. echo ** Basic: .geniehunter {weapon} {shield}
  6769. echo ** Advan: .geniehunter () || /\ {}
  6770. echo ** Spcl.: .geniehunter []
  6771. echo **
  6772. echo ** For more specifc information please refer to the individual HELP sections.
  6773. echo **
  6774. echo **************************************************************************************
  6775. echo
  6776. pause 20
  6777. goto HELP
  6778.  
  6779. HELP_TARGET:
  6780. echo
  6781. echo **************************************************************************************
  6782. echo ** So say, you want to behead all your enemies. Well geniehunter will help you out.
  6783. echo ** The TARGET variable let's you specify a body part to attack. This will work with all
  6784. echo ** types of weapons and magic.
  6785. echo **
  6786. echo ** SYNTAX: .geniehunter TARGET <body part> {weapon} (shield)
  6787. echo ** EXAMPLE: .geniehunter TARGET head scimitar
  6788. echo ** EXAMPLE: .geniehunter TARGET right.arm scimitar
  6789. echo **
  6790. echo ** Note: If the body part is multi-word (left arm), use a period (.) to separate the
  6791. echo ** two words
  6792. echo **************************************************************************************
  6793. echo
  6794. pause 5
  6795. goto HELP
  6796.  
  6797. HELP_TEND:
  6798. echo
  6799. echo **************************************************************************************
  6800. echo ** Enables tending of body parts. Currently experimental
  6801. echo ** Does NOT unwrap for optimum EXP, or when wound starts bleeding worse
  6802. echo **
  6803. echo ** SYNTAX: .geniehunter TEND
  6804. echo **************************************************************************************
  6805. echo
  6806. pause 3
  6807. goto HELP
  6808.  
  6809. HELP_THROWN:
  6810. echo
  6811. echo **************************************************************************************
  6812. echo ** Like to throw things? geniehunter can satisfy your needs!
  6813. echo ** The system is also set up to use and handle stacks of throwing weapons. It is not
  6814. echo ** needed to specify THROW if you are using a STACK, the script knows.
  6815. echo **
  6816. echo ** SYNTAX: .geniehunter THROW {weapon} (shield)
  6817. echo ** SYNTAX: .geniehunter STACK {weapon} (shield)
  6818. echo **************************************************************************************
  6819. echo
  6820. pause 3
  6821. goto HELP
  6822.  
  6823. HELP_TIMER:
  6824. echo
  6825. echo **************************************************************************************
  6826. echo ** Geniehunter allows for timed hunting rounds. With the TIMER variable you can set
  6827. echo ** a limit to how long you want to use a weapon. The timer defaults to 10 minutes,
  6828. echo ** or 600 seconds, so you can just use that or input your own amount of time.
  6829. echo **
  6830. echo ** SYNTAX: .geniehunter TIMER <time in seconds> {weapon} (shield)
  6831. echo ** EXAMPLE: .geniehunter TIMER 900 scimitar - will kill with the scimitar for 15 minutes
  6832. echo ** EXAMPLE: .geniehunter TIMER scimitar - will kill with the scimitar for 10 minutes
  6833. echo **************************************************************************************
  6834. echo
  6835. pause 5
  6836. goto HELP
  6837.  
  6838. DYING:
  6839. var DYING ON
  6840. return
  6841.  
  6842. INCLUDES:
  6843. include gh_buff.cmd
  6844. include gh_armor.cmd
  6845. include tend.cmd
  6846. include necroheal.cmd
  6847. EXIT:
  6848. quit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement