Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.23 KB | None | 0 0
  1. debuglevel 10
  2. var retryCommandTriggers ^\.\.\.wait|You stop as you realize the throwing hammer is not yours\.|^You are still stunned|^You don't seem to be able to move to do that|^You can't do that while entangled in a web|^You struggle against the shadowy webs to no avail\.|^Sorry, system is slow\. No type ahead allowed\.|^You attempt that, but end up getting caught in an invisible box\.|Sorry, you may only type
  3. var prepStrings ^You recall the exact details of the|^You begin chanting a mantra|^You close your eyes and breathe deeply,|^You trace an arcane sigil in the air,|^Heatless orange flames blaze between your fingertips|^Your eyes darken to black as a starless night|^You raise your arms skyward, chanting|^You are already preparing|^You struggle against your bindings to prepare
  4. var stop.playing.first.triggers ^You should stop playing before you do that\.|^You are a bit too busy performing to do that\.|^You are concentrating too much upon your performance to do that\.|^You are concentrating too much upon your performance to do that\.
  5. action instant put #var lodged.bolts 1 when ^.+lodges itself (.+) into you!
  6. action instant put #plat WindowError.wav;put exit when $health < 60
  7. action instant put #var bolt.location $2 when ^.+lodged (shallowly|firmly|deeply|savagely) into your (.+)\.$
  8. action send path foc cons when ^You so heavily embody the Elemental Plane of Fire that it already threatens your health.
  9. action instant send stand when $sitting > 0
  10. action instant send stand when $prone > 0
  11. action instant put face next;send $lastcommand when ^You are not engaged to anything, so you must specify a target to focus on!|^What do you want to advance towards?
  12. action send stand when (^must be standing\.|^You are so unbalanced\.|^You should stand up first\.)
  13. action instant put exit when eval $health < 70
  14. action send $lastcommand when (^You don't seem to be able to move to do that\.|^You struggle against the shadowy webs to no avail\.|^Sorry, system is slow\.|^You attempt that, but end up getting caught in an invisible box\.|^Sorry, you may only\.|^You try to back away from|^You aren't close enough to attack\.|^You aren't close enough to attack\.|^...wait\.)
  15. action var People.Room 1 when ^Also here|^You notice \S+'s attempt to remain hidden|^You notice \S+ as \S+ stealthily closes to.*range on a|^You notice \S+ loading|^A howl echoes about you as a wolf calls to his kind!|^With a waver like a mirage, \S+ fades into view.|^\S+ appears to be aiming at|comes out of hiding.|^\S+ leaps from hiding|slips out of the shadows|Someone snipes|attempt to fire from hiding.|^\S+ bursts from hiding and begins to dance about!|^The .*reveals.*, ruining.*hiding attempt!|^\S+ (?:begins to|stops) advanc(?:e|ing) on a|discovers \S+ hiding!
  16. action var People.Room 1 when ^A howl echoes about you as a wolf calls to his kind\!$
  17. action var People.Room 1 when ^With a waver like a mirage, \w+ fades into view\.$
  18. action var People.Room 1 when ^You notice \w+ loading
  19. action var People.Room 1 when ^\w+ appears to be aiming at
  20. action var People.Room 1 when ^You notice \w+'s attempt to remain hidden
  21. action var People.Room 1 when Appearing to have lost sight of its target
  22. action var People.Room 1 when comes out of hiding\.$
  23. action var People.Room 1 when ^\w+ leaps from hiding
  24. action var People.Room 1 when slips out of the shadows
  25. action var People.Room 1 when Someone snipes
  26. action var People.Room 1 when attempt to fire from hiding\.$
  27. action var People.Room 1 when ^You hear
  28. action var People.Room 1 when Also here\.$
  29. action var People.Room 1 when You hear the spine-chilling hiss of a S'Kra Mur somewhere in the shadows\.$
  30. action var People.Room 1 when bursts from hiding and begins to dance about\!$
  31. action var People.Room 1 when ^You notice \w+ as \w+ stealthily closes to.(melee|missle) on a
  32. action var People.Room 1 when ^You notice \w+ attempting to stealthily advance upon a
  33. action var People.Room 1 when ^You hear someone cough\.$
  34. action var People.Room 1 when ^You hear the voice of \w+ say, "
  35. action var People.Room 1 when ^\w+ moves into a position to (parry|dodge)\.$
  36. action var People.Room 1 when ^\w+ coughs\.$
  37. action var People.Room 1 when ^\w+ says, "
  38. action var People.Room 1 when ^\w+ gestures at a \w+\.$
  39. action var Mapp 1 when A sense of calm focus takes hold as the luminous pattern washes over you.
  40. action var Mapp 0 when The field of silver-blue light dissipates from around you
  41. action var Mapp 1 when You sense the Major Physical Protection spell upon you
  42. action var Bene 1 when You sense the Benediction spell upon you
  43. action var Bene 0 when You feel the divinity seep from your bones as the previous blessing
  44. action var Sol 1 when You sense the Shield of Light spell upon you
  45. action var Sol 0 when Your latent Shield of Light spell dissipates
  46. action var Sol 1 when A fiery blaze covers your shield arm like a vambrace of solid sunlight
  47. action var Cen 1 when An odd tingling sensation spreads upward from your feet through your entire body
  48. action var Cen 1 when You sense the Centering spell upon you
  49. action var Cen 0 when The tingling sensation leaves you.
  50. action var Mpp 1 when You are bathed in a soft silver glow for a moment
  51. action var Mpp 1 when You sense the Minor Physical Protection spell upon you
  52. action var Mpp 0 when The soft silver glow fades from around you.
  53. action var communeLevel 1 when ^You feel unclean and unworthy
  54. action var hyhset 1 when Swirls of malefic darkness gather in a wide matrix near your body,
  55. action var hyhset 0 when The deadening murk around you subsides.
  56. action var communeLevel 2 when In a moment a vision appears of a barren garden
  57. action var communeLevel 3 when ^You call out to your god, but there is no answer\.
  58. action var communeLevel 4 when you sense that your god is barely aware of you\.
  59. action var communeLevel 5 when you sense that your efforts have not gone unnoticed\.
  60. action var communeLevel 6 when you sense a distinct link between you and your god\.
  61. action var communeLevel 7 when you sense that your god is aware of your devotion\.
  62. action var communeLevel 8 when you sense that your god knows your name\.
  63. action var communeLevel 9 when you sense that your god is pleased with your devotion
  64. action var communeLevel 10 when though the visage is cloudy and impossible to make out clearly\.
  65. action var communeLevel 11 when leaving the feeling that your efforts have been acknowledged\.
  66. action var communeLevel 12 when radiating forth with a powerful divine brilliance\.
  67. action var communeLevel 13 when Come here, my child, and I will show you things of wonder\.
  68. action var communeLevel 14 when My child, though you may not always see my face, I am pleased with thee and thy efforts
  69. action var communeLevel 15 when Your unwavering faith and devotion pleases me greatly
  70. action var communeLevel 16 when you feel a clear presence like a warm blanket covering you beneath the shade
  71. action var communeMeraud 1 when ^You close your eyes and concentrate, letting your mind still and feeling your breathing grow shallow\.
  72. action var communeMeraud 1 when Meraud's power still holds your attention\.
  73. action var communeMeraud 1 when ^The area is under the auspices of Meraud\.
  74. action var communeMeraud 1 when ^The blessing of Meraud is with the area\.
  75. action var communeMeraud 1 when ^Meraud's influence is woven into the area\.
  76. action var communeMeraud 1 when ^A spark of Meraud's spirit is within the area\.
  77. action var communeMeraud 1 when ^The miracle of Meraud has manifested about the area\.
  78. action var communeMeraud 1 when ^The area is touched by Meraud\.
  79. action var communeMeraud 1 when ^The area is being favored by Meraud\.
  80. action var communeMeraud 1 when ^Meraud's benevolent eyes are upon the area\.
  81. action var communeMeraud 1 when ^Meraud is smiling down on the area\.
  82. action var communeMeraud 1 when ^The power of Meraud is channeling through the area\.
  83. action var communeMeraud 1 when ^As you commune you sense that the ground is already
  84. action var communeMeraud 0 when ^The holy presence in the area fades
  85. action var communeMeraud 0 when ^You sense your connection to the area you consecrated earlier fade away\.
  86. action var communeTamsine 1 when A vibrant blue nimbus encloses you before fading away\.
  87. action var communeTamsine 1 when ^You have been recently enlightened by Tamsine\.
  88. action var communeTamsine 0 when ^The vibrant blue nimbus of Tamsine's blessing fades from around you\.
  89. action var communeTamsine 0 when ^You are eager to better understand your relationship with the Immortals\.
  90. action var communeEluned 1 when ^The waters of Eluned are still in your thoughts\.
  91. action var communeEluned 0 when ^You are eager to better understand your relationship with the Immortals\.
  92. action var communeTimer 0 when ^You feel fully prepared to seek assistance from the Immortals once again\.
  93. action var communeTimer 0 when ^You are eager to better understand your relationship with the Immortals\.
  94. action var communeTimer 1 when ^You will not be able to open another divine conduit yet\.
  95. action var defcommuneUp 0;var offcommuneUp 0 when ^You are not a vessel for the gods at present\.
  96. action var defcommuneUp 1 when Eluned
  97. action var defcommuneUp 1 when Eluned's
  98. action var offcommuneUp 1 when Tamsine
  99. action var offcommuneUp 1 when Tamsine's
  100. action var offcommuneUp 1 when blue-white nimbus encloses you
  101. action var offcommuneUp 0 when ^The pale blue nimbus fades from around you\.
  102. action var defcommuneUp 1 when ^The power of Eluned is channeling through you\.
  103. action var defcommuneUp 1 when ^You feel the power of your faith surround you like invisible armor\.
  104. action var defcommuneUp 0 when ^The faint holy aura fades from around you\.
  105. action var needToRetreat 1 when ^You cannot juggle in combat\.
  106. action var needToRetreat 1 when closes to (pole weapon|melee) range on you\!|to escape its notice\!
  107. action var needToRetreat 1 when ^You retreat back to pole range\.|^You try to back away|^You begin to advance|^You close to
  108. action var needToRetreat 0 when ^You retreat from combat\.
  109. action var needToRetreat 0 when ^You sneak back out of combat\.
  110. action var needToRetreat 0 when ^You are already as far away as you can get\!
  111. action var health 1 when ^You have no significant injuries\.
  112. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger1) $0 when ((, ")(?!F|Say Ahh!|Master|Come|Your|My|Ohiyesa))
  113. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger2) $0 when ^You hear (?!a blood-curdling shriek|Birds chitter)
  114. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger3) $0 when (.*the voice.*)
  115. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger4) $0 when (^.*yells.*)
  116. action instant put #play WindowError.wav;put #flash;put #echo >log red (ALERT) $0 when ((?!SKILL|CAST|HELLO|CYCLIC|MANA|RELEASE|CANTRIP|SPELL|SCROLLHARNESS|HELP|STOW|RIGHT|LEFT|FAILED|MOVE|DONE|APPRAISE|WEAR|BELCH|HAVE|ARRIVED)\b([A-Z]{3}\w+))
  117. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger5) $0 when A booming voice in your head shouts
  118. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger6) $0 when Please SMILE
  119. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger7) $0 when Toad of Fate
  120. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger8) $0 when W E E P
  121. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger9) $0 when (?!asketine|Askuwheteau)(\b(A|a)sk)
  122. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger12) $0 when SEND
  123. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger13) $0 when Says
  124. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger14) $0 when says
  125. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger15) $0 when Play
  126. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger16) $0 when respond
  127. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger17) $0 when Respond
  128. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger18) $0 when You should
  129. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger19) $0 when you should
  130. action instant put #play WindowError.wav;put #flash;put #echo >log red (Trigger20) $0 when girl
  131.  
  132. ###################################
  133. ### Set Variables / Do Not Edit ###
  134. ###################################
  135.  
  136. variable defcommuneUp 2
  137. variable offcommuneUp 2
  138. variable communeTimer 0
  139. variable communeEluned 0
  140. variable communeElunedTime 0
  141. variable communeElunedStart 0
  142. variable communeTamsineTime 0
  143. variable communeTamsineStart 0
  144. variable communeTamsine 0
  145. variable communeMeraud 0
  146. variable communeLevel 0
  147. variable Commune_Check 0
  148. variable lastriteTime 0
  149. variable lastriteStart 605
  150. variable OmTimer 660
  151. variable Last_Commune 0
  152. variable Last_Hunt 0
  153. variable Last_Anal 0
  154. variable Last_Loot 0
  155. variable Last_Armor_Check 0
  156. variable Last_Appraisal 0
  157. variable LastOm 0
  158. variable Last_Pray_Badge 0
  159. variable PrayBadge 0
  160. variable hyh defense
  161. variable Last_Pray_God 0
  162. evalmath PrayBadge $gametime - %Last_Pray_Badge
  163. evalmath PrayStart $gametime - %Last_Pray_God
  164. evalmath Om_Check $gametime - %LastOm
  165. evalmath Loot_Check $gametime - %Last_Loot
  166. evalmath Anal_Check $gametime - %Last_Anal
  167. evalmath Hunt_Check $gametime - %Last_Hunt
  168. evalmath App_Check $gametime - %Last_Appraisal
  169. evalmath Armor_Check $gametime - %Last_Armor_Check
  170. variable lastroom $roomid
  171. variable armorstoptime 15
  172. variable armortimer 120
  173. variable armortype chain
  174. variable spellcount 1
  175. variable boxes "coffer|trunk|chest|strongbox|skippet|caddy|crate|casket|box"
  176. variable gems "(waermodi|lantholite|lasmodi) stones|thealstone|agate|alexandrite|amber|amethyst|andalusite|aquamarine,|aquamarine\.|\bbar\b|\bbead\b|beryl|bloodgem|bloodstone|chrysoberyl|chrysoprase|carnelian|chalcedony|crysoprase|citrine|coral|crystal|diamond\.|diamond,|diopside|emerald|egg\b|eggcase|garnet|\bgem,|\bgem\.|goldstone|glossy malachite|(chunk of|some|piece of).*granite|hematite|iolite|ivory|jade|jasper|kunzite|lapis lazuli|malachite stone|minerals|moonstone|morganite|nugget|onyx|opal|pearl|pebble|peridot|quartz|ruby|sapphire|spinel|star-stone|sunstone|talon|tanzanite|tooth\b|topaz|tourmaline|tsavorite|turquoise|turquoise stone|zircon"
  177. variable box.count 0
  178. variable currentcycle 0
  179. TIMER START
  180. ######################################
  181. ### Variables / You can edit these ###
  182. ######################################
  183.  
  184. variable lock.newboxlocation backpack
  185. variable cyclelock 2
  186. variable Hunt ON
  187. Variable App ON
  188. variable heal ON
  189. variable creature gryphon
  190. variable creature2 none
  191. variable loottype treasure
  192. variable gempouch g pouch
  193. variable loot.gem ON
  194. variable loot.box OFF
  195. variable skin ON
  196. variable arrange 0
  197. variable tact ON
  198. variable app ON
  199. variable TrainWarding ON
  200. variable TrainAugmentation ON
  201. variable TrainUtility ON
  202. variable TrainTM ON
  203. variable charactername ohiyesa
  204. variable fullpouchlocation backpack
  205. variable newpouchlocation thigh bag
  206. variable store.scroll backpack
  207. variable total.box 7
  208. variable health 0
  209.  
  210.  
  211. #####################################################################
  212. #####################################################################
  213. ### Script Control ###
  214. ### To add a new control follow this template ###
  215. ### For Melee ###
  216. ### gosub weaponverb weaponlearningrate howmanymindstates ###
  217. ### Example: gosub sword Light_Edge.LearningRate 15 ###
  218. ### For loadable Ranged ###
  219. ### gosub weaponverb ammo learningrate mindstates ###
  220. ### Note : After 2 loops all weapons will train to 34/34 ###
  221. #####################################################################
  222. #####################################################################
  223.  
  224. gosub armorprime
  225. gosub om
  226. gosub buffcheck
  227.  
  228. start:
  229. gosub stanceshield
  230. gosub healthcheck
  231. evalmath currentcycle %currentcycle + 1
  232. if %currentcycle >= 3 then {
  233. send .outofcombat
  234. exit
  235. }
  236. gosub armoroff
  237. pause .5
  238. send rel
  239. pause .5
  240. gosub stealth
  241. gosub armoron
  242. gosub lock.check
  243. gosub thrown mall Heavy_Thrown.LearningRate 15
  244. gosub thrown rock Light_Thrown.LearningRate 15
  245. gosub weapon spear Polearms.LearningRate 15
  246. gosub stanceparry
  247. gosub weapon riste Twohanded_Blunt.LearningRate 15
  248. gosub weapon great Twohanded_Edged.LearningRate 15
  249. gosub weapon broadsword Large_Edged.LearningRate 15
  250. start2:
  251. gosub stanceshield
  252. gosub weapon brawling Brawling.LearningRate 15
  253. gosub weapon pasaba Small_Edged.LearningRate 15
  254. gosub weapon mace Small_Blunt.LearningRate 15
  255. gosub stanceparry
  256. gosub weapon hammer Large_Blunt.LearningRate 15
  257. gosub weapon night Staves.LearningRate 15
  258. gosub stanceshield
  259. gosub ranged stonebow shard Crossbow.LearningRate 15
  260. gosub ranged sling shard Slings.LearningRate 15
  261. goto start
  262.  
  263. ######################
  264. ## Checks ##
  265. ######################
  266. check:
  267. checks:
  268. if matchre("$roomobjs","\(young\)|young" then gosub killyoung
  269. gosub magictrain
  270. if %Loot_Check >= 20 then {
  271. if matchre("$roomobjs","\(dead\)|which appears dead" then gosub loot
  272. }
  273. evalmath Om_Check $gametime - %LastOm
  274. evalmath Commune_Check $gametime - %Last_Commune
  275. if %Commune_Check >= 100 then gosub CommuneTrain
  276. gosub Pray
  277. gosub PrayBadge
  278. if %Om_Check >= %OmTimer then gosub om
  279. gosub buffcheck2
  280. if %heal = ON && $bleeding != 0 then gosub heal
  281. evalmath Loot_Check $gametime - %Last_Loot
  282. if $monstercount = 0 then gosub collect
  283. evalmath Armor_Check $gametime - %Last_Armor_Check
  284. if %Armor_Check >= %armortimer then gosub armor.check
  285. evalmath Hunt_Check $gametime - %Last_Hunt
  286. if %Hunt_Check >= 180 then gosub Hunt
  287. evalmath App_Check $gametime - %Last_Appraisal
  288. if %App_Check >= 130 && %app = ON then gosub Appraisal
  289. evalmath Anal_Check $gametime - %Last_Anal
  290. if %Anal_Check >=120 && %tact = ON then gosub Tactics
  291. gosub magictrain
  292. return
  293.  
  294. ###################
  295. ## OM ##
  296. ###################
  297. om:
  298. gosub roundtime
  299. send rel symb
  300. gosub roundtime
  301. send rel
  302. gosub roundtime
  303. put prep om
  304. pause
  305. send ret;ret
  306. pause
  307. send charge my fem 5
  308. gosub roundtime
  309. send charge my fem 5
  310. gosub roundtime
  311. send charge my fem 5
  312. gosub roundtime
  313. put ret;ret
  314. pause
  315. send charge my fem 5
  316. gosub roundtime
  317. send charge my fem 5
  318. gosub roundtime
  319. send charge my fem 5
  320. gosub roundtime
  321. send invoke fem
  322. gosub roundtime
  323. put ret;ret
  324. pause
  325. variable LastOm $gametime
  326.  
  327. omcast:
  328. matchre omfull the orb having reached its full capacity|You sense that it cannot accept any more power
  329. matchre backfire backfire
  330. match omcast wait
  331. send cast orb
  332. matchwait 2
  333. goto om
  334.  
  335. backfire:
  336. pause
  337. put rel symb
  338. pause
  339. goto om
  340.  
  341. omfull:
  342. variable LastOm $gametime
  343. gosub hyh%hyh
  344. return
  345.  
  346. ####################
  347. ## Thrown ##
  348. ####################
  349.  
  350. thrown:
  351. variable weapon $1
  352. variable weaponxp $2
  353. variable weaponstop $3
  354. if %currentcycle >= %cyclelock then variable weaponstop 33
  355. goto thrown_start
  356.  
  357. thrown_start:
  358. if $%weaponxp >= %weaponstop then goto thrown_done
  359. gosub get "%weapon"
  360. send throw
  361. gosub roundtime
  362. if %weapon = hammer then {
  363. pause 2
  364. }
  365. gosub checks
  366. goto thrown_start
  367.  
  368. thrown_done:
  369. pause .5
  370. gosub stow "%weapon"
  371. pause .5
  372. return
  373.  
  374. #######################
  375. ## Stealth ##
  376. #######################
  377.  
  378. stealth:
  379. if matchre("$roomobjs","\(young\)|young" then gosub killyoung
  380. if $monstercount <= 2 then gosub collect
  381. if $hidden = 0 then gosub hide
  382. if $Stealth.LearningRate >= 33 then goto stealth.done
  383. send unhide;hide
  384. gosub roundtime
  385. goto stealth
  386.  
  387. hide:
  388.  
  389. send ret
  390. pause
  391. send hide
  392. gosub roundtime
  393. if $hidden = 0 then goto hide
  394. return
  395.  
  396. stealth.done:
  397. send unhide
  398. gosub roundtime
  399. gosub hyh%hyh
  400. return
  401.  
  402.  
  403. #####################
  404. ## Melee ##
  405. #####################
  406.  
  407. weapon:
  408. variable weapon $1
  409. variable weaponxp $2
  410. variable weaponstop $3
  411. if %currentcycle >= %cyclelock then variable weaponstop 33
  412. gosub feint.start
  413. return
  414.  
  415.  
  416. feint.start:
  417. pause .5
  418. gosub get "%weapon"
  419. pause .5
  420. put hold %weapon
  421. pause .5
  422. if $righthand = Empty then send swap
  423. pause .5
  424.  
  425. feint.kill:
  426. gosub check
  427. if $%weaponxp >= %weaponstop then goto feint.done
  428. if %weapon = brawling then {
  429. put gouge
  430. gosub roundtime
  431. goto feint.kill
  432. }
  433. if $righthand = Empty then {
  434. send get %weapon
  435. gosub roundtime
  436. }
  437. put feint
  438. gosub roundtime
  439. goto feint.kill
  440.  
  441. feint.done:
  442. put wear %weapon
  443. pause .5
  444. gosub stow "%weapon"
  445. pause .5
  446. return
  447.  
  448.  
  449. #######################
  450. ## Offhand ##
  451. #######################
  452.  
  453. Offhand:
  454. variable weapon $1
  455. variable weaponstop $2
  456. if %currentcycle >= %cyclelock then variable weaponstop 33
  457. pause
  458. gosub get "%weapon"
  459. pause
  460. put swap
  461.  
  462. Offhand2:
  463. gosub check
  464. if $Offhand_Weapon.LearningRate >= %weaponstop then goto Offhanddone
  465. gosub get "%weapon"
  466. pause
  467. if $lefthand = Empty then {
  468. send swap
  469. pause
  470. }
  471. send throw left
  472. gosub roundtime
  473. goto Offhand2
  474.  
  475. Offhanddone:
  476. pause
  477. pause
  478. gosub stow "%weapon"
  479. pause
  480. return
  481.  
  482. ######################
  483. ## Ranged ##
  484. ######################
  485.  
  486. ranged:
  487. variable weapon $1
  488. variable weaponxp $3
  489. variable weaponstop $4
  490. variable ammo $2
  491. if %currentcycle >= %cyclelock then variable weaponstop 33
  492. gosub rangedstart
  493. return
  494.  
  495. rangedstart:
  496. pause .5
  497. gosub get "%weapon"
  498. pause .5
  499.  
  500. rangedload:
  501. gosub check
  502. if $righthandnoun != %weapon then {
  503. pause
  504. send get %weapon
  505. pause
  506. }
  507. if matchre("$roomobjs","\(%ammo\)|%ammo" then gosub stowammo
  508. if $%weaponxp >= %weaponstop then goto rangeddone
  509. if $monstercount = 0 then gosub collect
  510. gosub check
  511. pause
  512. put get %ammo
  513. gosub roundtime
  514. put load %weapon
  515. gosub roundtime
  516. put stow %ammo
  517. gosub roundtime
  518. put aim
  519. pause
  520. put bob
  521. gosub roundtime
  522. put weave
  523. gosub roundtime
  524. pause 2
  525. send fire
  526. gosub roundtime
  527. send stow %ammo
  528. pause .5
  529. goto rangedload
  530.  
  531.  
  532. stowammo:
  533. put stow %ammo;stow %ammo
  534. pause
  535. send look
  536. if matchre("$roomobjs","\(%ammo\)|%ammo" then goto stowammo
  537. return
  538.  
  539. rangeddone:
  540. gosub stowammo
  541. pause
  542. gosub stow "%weapon"
  543. pause
  544. pause
  545. return
  546.  
  547. #####################
  548. ## Magic ##
  549. #####################
  550.  
  551. magictrain:
  552. if $preparedspell != None && $spelltime >= 20 then {
  553. if $Arcana.LearningRate < 25 && %arcana = ON then {
  554. pause .5
  555. put charge my c arm 38
  556. pause
  557. pause
  558. put invoke my c arm
  559. pause
  560. pause
  561. }
  562. if %harness = ON then {
  563. put harness %mana
  564. pause
  565. pause
  566. }
  567. if %symb = ON then {
  568. pause .5
  569. send prep symb
  570. pause .5
  571. }
  572. if %cast = area then send cast area
  573. if %cast = normal then send cast
  574. if %cast = engaged then send cast engaged
  575. if %cast = creature then send cast creature
  576. if %cast = aug then send cast augmentation
  577. if %cast = uti then send cast utility
  578. if %cast = deb then send cast debilitation
  579. gosub roundtime
  580. send release mana;rel spell
  581. pause .5
  582. }
  583.  
  584. if $preparedspell != None then return
  585. goto spell%spellcount
  586.  
  587. spell0:
  588. spell1:
  589. pause
  590. if $Utility.LearningRate < 30 and %TrainUtility = ON then {
  591. var arcana OFF
  592. var harness OFF
  593. var mana 0
  594. var cast normal
  595. var symb ON
  596. send prep dr 13
  597. pause .5
  598. evalmath spellcount 2
  599. }
  600. if %TrainUtility = OFF || $Utility.LearningRate >= 30 then {
  601. var spellcount 2
  602. }
  603. return
  604.  
  605. spell2:
  606. if $Warding.LearningRate < 30 and %TrainWarding = ON then {
  607. var arcana OFF
  608. var harness OFF
  609. var mana 0
  610. var cast normal
  611. var symb ON
  612. send prep pfe 14
  613. pause .5
  614. var spellcount 3
  615. }
  616. if %TrainWarding = OFF || $Warding.LearningRate >= 30 then {
  617. var spellcount 3
  618. }
  619. return
  620.  
  621. spell3:
  622. pause
  623. if $Augmentation.LearningRate < 30 and %TrainAugmentation = ON then {
  624. var arcana OFF
  625. var harness OFF
  626. var mana 0
  627. var cast aug
  628. var symb ON
  629. send prep sap 7
  630. pause .5
  631. var spellcount 4
  632. }
  633. if %TrainAugmentation = OFF || $Augmentation.LearningRate >= 30 then {
  634. var spellcount 4
  635. }
  636. return
  637. spell4:
  638. pause
  639. if $Targeted_Magic.LearningRate < 30 and %TrainTM = ON then {
  640. var arcana OFF
  641. var harness OFF
  642. var mana 10
  643. var cast normal
  644. var symb OFF
  645. send targ ff 15
  646. pause .5
  647. var spellcount 1
  648. }
  649. if %TrainTM = OFF || $Targeted_Magic.LearningRate >= 30 then {
  650. var spellcount 1
  651. }
  652. return
  653.  
  654.  
  655. ####################
  656. ## Loot ##
  657. ####################
  658.  
  659. loot:
  660. pause
  661. if $preparedspell = "Fists of Faenella" then {
  662. send face next
  663. pause .5
  664. send targ
  665. pause .5
  666. }
  667. var Last_Loot $gametime
  668. if matchre("$roomobjs","%creature2 which appears dead") then {
  669. evalmath lastriteStart $gametime - %lastriteTime
  670. if %lastriteStart >= 605 && if %communeMeraud = 1 then goto LastRite
  671. if $Skinning.LearningRate > 30 && %t > 12 && %skin = ON then gosub skin
  672. if $Skinning.LearningRate < 30 && %t > 12 && %skin = ON then {
  673. goto arrange%arrange
  674. arrange5:
  675. send arrange
  676. gosub roundtime
  677. arrange4:
  678. send arrange
  679. gosub roundtime
  680. arrange3:
  681. send arrange
  682. gosub roundtime
  683. arrange2:
  684. send arrange
  685. gosub roundtime
  686. arrange1:
  687. send arrange
  688. gosub roundtime
  689. arrange0:
  690. gosub skin
  691. }
  692. }
  693.  
  694. noskin:
  695. gosub LastRite
  696. if %loottype = normal then {
  697. send loot
  698. }
  699. else {
  700. send loot %loottype
  701. }
  702. pause .5
  703. if %loot.box = ON then {
  704. send look
  705. pause
  706. gosub boxes
  707. }
  708. gosub roundtime
  709. gosub dead.CollectGems
  710. gosub scrolls
  711. return
  712.  
  713. skin:
  714. gosub stow "%weapon"
  715. TIMER CLEAR
  716. TIMER START
  717. skin2:
  718. match skin2 wait
  719. send skin
  720. matchwait 1
  721. gosub roundtime
  722. if $righthand != Empty then {
  723. gosub get "b rope"
  724. pause
  725. if $lefthand = Empty then {
  726. variable skin OFF
  727. send empty right
  728. pause
  729. goto noskin
  730. }
  731. send bundle
  732. pause
  733. gosub roundtime
  734. send adjust bundle
  735. gosub roundtime
  736. send adjust bundle
  737. gosub roundtime
  738. gosub wearbundle
  739. }
  740. if $righthand != Empty then {
  741. echo ####### Right hand is not empty - Skinning sub -
  742. exit
  743. }
  744. gosub roundtime
  745. gosub get "%weapon"
  746. gosub roundtime
  747. return
  748.  
  749. boxes:
  750. if %loot.box = ON && matchre("$roomobjs",%boxes then {
  751. if %box.count <= %total.box then {
  752. pause .5
  753. send stow gem
  754. pause .5
  755. send stow box
  756. pause .6
  757. send look
  758. evalmath box.count %box.count + 1
  759. if matchre("$righthandnoun",%boxes then {
  760. var loot.box OFF
  761. var loottype treasure
  762. send empty right
  763. }
  764. if matchre("$lefthandnoun",%boxes then {
  765. var loot.box OFF
  766. var loottype treasure
  767. send empty left
  768. }
  769.  
  770.  
  771. }
  772. goto boxes
  773. }
  774.  
  775. if %box.count >= %total.box then {
  776. var loot.box OFF
  777. var loottype treasure
  778. }
  779. return
  780. dead.CollectGems:
  781. if matchre("$roomobjs",%gems ) then {
  782. matchre pouchcheck any more gems|full to fit|You think the gem pouch|wealth|tie
  783. matchre coin STOW HELP
  784. put stow gem
  785. matchwait 1
  786. goto dead.CollectGems
  787. }
  788. if matchre("$righthand", %gems ) then send empty right hand
  789. if matchre("$lefthand", %gems ) then send empty left hand
  790. goto coin
  791.  
  792.  
  793.  
  794. pouchcheck:
  795. if matchre("$righthand", %gems ) then send empty right hand
  796. if matchre("$lefthand", %gems ) then send empty left hand
  797. pause
  798. matchre newpouch already been tied off
  799. matchre loot You
  800. put tie my %gempouch
  801. matchwait
  802.  
  803. newpouch:
  804. put hold my %gempouch
  805. pause
  806. put put %gempouch in my %fullpouchlocation
  807. pause
  808. matchre wearpouch You get
  809. matchre nopouch What were you
  810. put get %gempouch from %newpouchlocation
  811. matchwait
  812.  
  813. wearpouch:
  814. pause
  815. put wear my %gempouch
  816. pause
  817. put store gem in %gempouch
  818. pause
  819. put stow right
  820. pause
  821. goto loot
  822.  
  823.  
  824. nopouch:
  825. pause
  826. setvar loot.gem OFF
  827. echo ********************************************************************************
  828. echo ********************* You Have No More Empty Gem Pouches ***********************
  829. Echo ************************** Get Some More You Bum *******************************
  830. echo ********************************************************************************
  831. return
  832.  
  833.  
  834. coin:
  835. if matchre("$roomobjs","(coin|coins)") then {
  836. matchre coin You pick up
  837. matchre return STOW HELP
  838. put stow coin
  839. matchwait 1
  840. goto coin
  841. }
  842. return
  843.  
  844. scrolls:
  845. if matchre("$roomobjs"," (tablet|vellum|scroll|bark|map|roll|leaf)") then {
  846. pause .5
  847. put stow $1 in my %store.scoll
  848. pause .5
  849. return
  850. }
  851. else return then {
  852. pause .5
  853. put stow $1 in my %store.scoll
  854. pause .5
  855. return
  856. }
  857. else return
  858.  
  859.  
  860. collect:
  861. put coll rock
  862. gosub roundtime
  863. put kick pile
  864. pause
  865. if $monstercount < 1 then goto collect
  866. return
  867.  
  868. #######################
  869. ## Tactics ##
  870. #######################
  871.  
  872. Tactics:
  873. anal:
  874. if %creature2 != none then {
  875. if matchre("$roomobjs","\(%creature2\)|%creature2" then {
  876. send anal %creature2
  877. pause
  878. pause
  879. }
  880. send anal %creature
  881. pause
  882. pause
  883. setvariable Last_Anal $gametime
  884. return
  885.  
  886. }
  887.  
  888.  
  889. if $Tactics.LearningRate >= 30 then {
  890. setvariable Last_Anal $gametime
  891. return
  892. }
  893. if $monstercount >= 4 then {
  894. put anal fourth %creature
  895. pause
  896. } if $monstercount >= 3 then {
  897. put anal third %creature
  898. pause
  899. } if $monstercount >= 2 then {
  900. put anal second %creature
  901. pause
  902. }
  903. put anal first %creature
  904. pause
  905. setvariable Last_Anal $gametime
  906. return
  907.  
  908. #########################
  909. ## Appraisal ##
  910. #########################
  911.  
  912. Appraisal:
  913. send perc
  914. gosub roundtime
  915. gosub buffcheck
  916. gosub roundtime
  917. if $Appraisal.LearningRate >= 30 then {
  918. setvariable Last_Appraisal $gametime
  919. return
  920. }
  921.  
  922. put #send app %creature quick
  923. pause
  924. pause
  925. put #send app second %creature quick
  926. pause
  927. pause
  928. setvariable Last_Appraisal $gametime
  929. return
  930.  
  931. Hunt:
  932. pause .5
  933. setvariable Last_Hunt $gametime
  934. if $Perception.LearningRate >= 30 then return
  935. matchre Return ^Roundtime|You find yourself unable to hunt in this area.
  936. pause .2
  937. put hunt
  938. matchwait 5
  939.  
  940. #########################
  941. ## Locks ##
  942. ## Uses disarmed boxes ##
  943. #########################
  944.  
  945. lock.check:
  946. if $Locksmithing.LearningRate > 10 then return
  947.  
  948. locks:
  949. matchre box (coffer|trunk|chest|strongbox|skippet|caddy|crate|casket|box)
  950. match return Encumbrance
  951. put look in my %lock.newboxlocation;enc
  952. matchwait
  953.  
  954.  
  955. box:
  956. var box $1
  957. put get $1 from %lock.newboxlocation
  958.  
  959. pick.ret:
  960. put ret;ret
  961. pause .5
  962.  
  963. pickbox:
  964. if $Locksmithing.LearningRate > 33 then goto lockdone
  965. match pick.ret You realize that would be next to impossible while in combat.
  966. matchre pickbox ^\.\.\.wait|^Sorry, you may only type
  967. match pickbox You are unable to make
  968. matchre pickbox2 With a soft click|not even locked|Roundtime
  969. put pick %box blind
  970. matchwait
  971.  
  972. pickbox2:
  973. matchre pick.ret locked
  974. match pick.loot Encumbrance
  975. put open my %box
  976. put enc
  977. matchwait
  978.  
  979. pick.loot:
  980. put fill b pouch with %box
  981. pause
  982. put get coin;get coin
  983. pause .5
  984. put get coin;get coin
  985. pause
  986. pause
  987. put ret;ret
  988. pause
  989. put dismantel %box
  990. pause
  991. pause
  992. put ret;ret
  993. pause
  994. pause
  995. put dismantel %box
  996. pause
  997. pause
  998. if $righthandnoun = %box then send stow %box
  999. goto locks
  1000.  
  1001.  
  1002. lockdone:
  1003. gosub roundtime
  1004. put stow right in my %lock.newboxlocation
  1005. pause
  1006. pause
  1007. put stow right in my %lock.newboxlocation
  1008. if $Locksmithing.LearningRate > 33 then return
  1009. goto locks
  1010.  
  1011. #####################
  1012. ## Armor ##
  1013. #####################
  1014.  
  1015. armorprime:
  1016. pause
  1017. send hold greav
  1018. pause
  1019. send stow my greav
  1020. pause
  1021. if $lefthand != Empty then send stow left
  1022. if $righthand != Empty then send stow right
  1023. pause
  1024. gosub armor.wear plate Plate_Armor.LearningRate "l greav" "r greav"
  1025. pause
  1026. return
  1027.  
  1028. armoroff:
  1029. var armortimer 6000
  1030. gosub roundtime
  1031. send hold p shirt
  1032. gosub roundtime
  1033. send stow p shirt
  1034. gosub roundtime
  1035. send hold p hood
  1036. gosub roundtime
  1037. send stow hood
  1038. gosub roundtime
  1039. send hold p mask
  1040. gosub roundtime
  1041. send stow mask
  1042. gosub roundtime
  1043. send hold p gloves
  1044. gosub roundtime
  1045. send stow p gloves
  1046. gosub roundtime
  1047. put hold %armorverb
  1048. gosub roundtime
  1049. put stow my greave
  1050. gosub roundtime
  1051. if $lefthand != Empty then send stow left
  1052. if $righthand != Empty then send stow right
  1053. pause
  1054. return
  1055.  
  1056. armoron:
  1057. var armortimer 120
  1058. gosub roundtime
  1059. gosub get "p shirt"
  1060. gosub roundtime
  1061. send wear p shirt
  1062. gosub roundtime
  1063. gosub get "hood"
  1064. gosub roundtime
  1065. send wear hood
  1066. gosub roundtime
  1067. gosub get "p mask"
  1068. gosub roundtime
  1069. send wear mask
  1070. gosub roundtime
  1071. gosub get "p gloves"
  1072. gosub roundtime
  1073. send wear p gloves
  1074. gosub roundtime
  1075. put get %armorverb
  1076. gosub roundtime
  1077. put wear %armorverb
  1078. gosub roundtime
  1079. if $lefthand != Empty then send stow left
  1080. if $righthand != Empty then send stow right
  1081. pause
  1082. return
  1083.  
  1084. armor.check:
  1085. var Last_Armor_Check $gametime
  1086. if $%armorexp >= %armorstop then gosub armor.swap
  1087. return
  1088.  
  1089. armor.swap:
  1090. if $Chain_Armor.LearningRate >= 24 && $Plate_Armor.LearningRate >= 24 && $Brigandine.LearningRate >= 24 then {
  1091. var armortimer 1200
  1092. return
  1093. }
  1094.  
  1095. var armortimer 120
  1096. if %armortype == chain then {
  1097. gosub armor.wear plate Plate_Armor.LearningRate "l greav" "r greav"
  1098. return
  1099. }
  1100. if %armortype == plate then {
  1101. gosub armor.wear brig Brigandine.LearningRate "s greav" "l greav"
  1102. return
  1103. }
  1104. if %armortype == brig then {
  1105. gosub armor.wear chain Chain_Armor.LearningRate "r greav" "s greav"
  1106. return
  1107. }
  1108. return
  1109.  
  1110. armor.wear:
  1111. var armortype $1
  1112. var armorexp $2
  1113. var armorverb $3
  1114. var prevarmorverb $4
  1115.  
  1116. evalmath armorstop $%armorexp + %armorstoptime
  1117. if %armorstop >= 33 then {
  1118. var armorstop 33
  1119. }
  1120. gosub roundtime
  1121. send ret;ret
  1122. gosub roundtime
  1123. send hold %prevarmorverb
  1124. gosub roundtime
  1125. pause
  1126. send stow my greav
  1127. gosub roundtime
  1128. pause
  1129. send get %armorverb
  1130. gosub roundtime
  1131. send wear %armorverb
  1132. gosub roundtime
  1133. return
  1134.  
  1135. #######################
  1136. ## Healing ##
  1137. #######################
  1138.  
  1139. healthcheck:
  1140. if %health != On then return
  1141. var health 0
  1142. send health
  1143. pause .5
  1144. if %health = 0 then goto heal
  1145. return
  1146.  
  1147. heal:
  1148. if $stunned != 0 then {
  1149. pause 5
  1150. goto heal
  1151. }
  1152. pause
  1153. prone:
  1154. if $prone > 0 then {
  1155. send stand
  1156. pause
  1157. pause
  1158. goto prone
  1159. }
  1160. put ret;ret
  1161. pause
  1162. pause
  1163. send stow %weapon
  1164. pause
  1165. pause
  1166. send stow %ammo
  1167. pause
  1168. if $righthandnoun = stonebow || $righthandnounse = sling then {
  1169. send unload
  1170. pause
  1171. pause
  1172. put stow %ammo
  1173. pause
  1174. pause
  1175. send stow %weapon
  1176. pause
  1177. pause
  1178. }
  1179. if $righthand != Empty then send stow right
  1180. if $lefthand != Empty then send stow left
  1181. send stow ammo
  1182. gosub roundtime
  1183. pause
  1184. stuncheck:
  1185. if $stunned > 0 then {
  1186. pause 5
  1187. goto stuncheck
  1188. }
  1189. send stand
  1190. pause
  1191. gosub move 1
  1192. gosub move 216
  1193. gosub move heal
  1194. gosub heal.lay
  1195. gosub heal.wait
  1196. gosub Stand
  1197. gosub move "east gate"
  1198. gosub move 234
  1199. gosub tanner
  1200. gosub move 217
  1201. gosub move 58
  1202. gosub find.room
  1203. return
  1204.  
  1205. tanner:
  1206. gosub put1 "hold bundle" "^You sling a lumpy bundle off|^You remove a lumpy bundle"
  1207. gosub put1 "sell bundle" "^Tremagis separates the bundle and sorts through it carefully"
  1208. gosub put1 "stow b rope" "^You put your rope"
  1209. return
  1210.  
  1211.  
  1212. find.room:
  1213. var firstroom %lastroom
  1214. var secondroom 233
  1215. var thirdroom 244
  1216. var fourthroom 245
  1217. var fifth room 246
  1218. gosub finding.room %firstroom
  1219. if %room == good then return
  1220. gosub finding.room %secondroom
  1221. if %room == good then return
  1222. gosub finding.room %thirdroom
  1223. if %room == good then return
  1224. gosub finding.room %fourthroom
  1225. if %room == good then return
  1226. gosub finding.room %fifthroom
  1227. if %room == good then return
  1228. echo Room's taken
  1229. gosub move 58
  1230. exit
  1231.  
  1232. finding.room:
  1233. variable destination $1
  1234. gosub move %destination
  1235. huntcheck:
  1236. var room bad
  1237. var People.Room empty
  1238. put look
  1239. pause 4
  1240. if %People.Room = 1 then return
  1241. var room good
  1242. return
  1243.  
  1244.  
  1245. heal.lay:
  1246. put look
  1247. pause
  1248. if matchre("$roomplayers","\(lying\)|lying" then {
  1249. pause 15
  1250. goto heal.lay
  1251. }
  1252. send lay
  1253. pause .5
  1254. return
  1255.  
  1256. heal.wait:
  1257. match return Quentin whispers, "Just between you and me and the Queen, I think you don't really need healing. Are you just my friend or something?"
  1258. match return You sit up
  1259. matchwait 30
  1260. goto heal.wait
  1261.  
  1262. move:
  1263. var destination $1
  1264. var currentroom $roomid
  1265. match move FAILED
  1266. match return ARRIVED
  1267. send #goto %destination
  1268. matchwait 35
  1269. goto move
  1270.  
  1271. Return:
  1272. return
  1273.  
  1274. roundtime:
  1275. pause $roundtime
  1276. pause .5
  1277. return
  1278.  
  1279.  
  1280. ########################
  1281. ## Communes ##
  1282. ########################
  1283.  
  1284. CommuneTrain:
  1285. if $Theurgy.LearningRate >= 15 then return
  1286. gosub put1 "commune" "^"
  1287. gosub put1 "commune sense" "^"
  1288. gosub roundtime
  1289. if %communeLevel < 8 then return
  1290. if %communeTimer = 1 then return
  1291. evalmath communeElunedStart $gametime-%communeElunedTime
  1292. if %communeTimer = 0 and %communeElunedStart > 1250 then gosub PerformEluned
  1293. if %communeTimer = 1 then return
  1294. if %communeMeraud = 0 then gosub PerformMeraud
  1295. if %communeTimer = 1 then return
  1296. return
  1297.  
  1298. Pray:
  1299. evalmath PrayStart $gametime - %Last_Pray_God
  1300. if %PrayStart < 605 then return
  1301. gosub put1 "pray huldah" "^You glance at your surroundings before snarling"
  1302. var Last_Pray_God $gametime
  1303. return
  1304.  
  1305. PrayBadge:
  1306. evalmath PrayBadge $gametime - %Last_Pray_Badge
  1307. if %PrayBadge < 3605 then return
  1308. gosub put1 "hold badge" "^You take off a pilgrim's badge"
  1309. gosub put1 "pray badge" "^You think upon the immortals|Roundtime"
  1310. gosub put1 "wear badge" "^You put on a pilgrim's badge"
  1311. var Last_Pray_Badge $gametime
  1312. return
  1313.  
  1314.  
  1315. LastRite:
  1316. evalmath lastriteStart $gametime-%lastriteTime
  1317. if %lastriteStart < 605 || if %communeMeraud = 0 then return
  1318. gosub put1 "Recite Phelim, give me strength for my righteous vengeance.\; Chadatru, guide my sword to swing in justice.\; Everild, give me the power to conquer my enemies.\; Truffenyi, let me not lose sight of compassion and mercy\; Else, I will become like those I despise.\; Urrem'tier, receive into your fetid grasp these wicked souls\; May the Tamsine's realms never know their evil ways again" "You lift your voice|^You recite"
  1319. gosub put1 "pray %creature" "^Quietly touching your|^You bend over the corpse|Roundtime"
  1320. var lastriteTime $gametime
  1321. gosub Stand
  1322. return
  1323.  
  1324. PerformMeraud:
  1325. if %communeMeraud = 1 then return
  1326. gosub StanceShield
  1327. var stowedItemRMC none
  1328. var stowedItemLMC none
  1329. if "$righthandnoun" != "" then
  1330. {
  1331. var stowedItemRMC $righthandnoun
  1332. if "%stowedItemRMC" = "ball and chain" then var stowedItemRMC ball
  1333. if $righthandnoun = stonebow then gosub UnloadLX
  1334. if $righthandnoun = sling then gosub UnloadLX
  1335. gosub stowright right
  1336. gosub stow shard
  1337. }
  1338. if "$lefthandnoun" != "" then
  1339. {
  1340. var stowedItemLMC $lefthandnoun
  1341. gosub stow left
  1342. }
  1343. gosub get incense
  1344. gosub drop incense
  1345. gosub get great
  1346. gosub get flint
  1347. gosub put1 "light incense with my flint" "^You strike a piece of|But the fragrant incense is already lit\."
  1348. gosub stowleft left
  1349. gosub get incense
  1350. gosub put1 "wave incense at %charactername" "^You wave some"
  1351. gosub put1 "snuff incense" "You snuff out|^But that"
  1352. gosub stow incense
  1353. gosub get vial
  1354. gosub put1 "sprinkle vial on %charactername" "^You sprinkle yourself"
  1355. gosub stow vial
  1356. gosub Retreat
  1357. gosub Retreat
  1358. gosub put1 "commune meraud" "You feel the power of|^You close your eyes and concentrate|^As you commune you sense that the ground is already"
  1359. var communeTimer 1
  1360. gosub stand
  1361. gosub stow great
  1362. if %stowedItemRMC != "none" then gosub get %stowedItemRMC
  1363. if %stowedItemLMC != "none" then gosub get %stowedItemLMC
  1364. return
  1365.  
  1366. PerformEluned:
  1367. if %trainingTM = 1 then return
  1368. gosub StanceShield
  1369. var stowedItemREC none
  1370. var stowedItemLEC none
  1371. if "$righthandnoun" != "" then
  1372. {
  1373. var stowedItemREC $righthandnoun
  1374. if "%stowedItemREC" = "ball and chain" then var stowedItemREC ball
  1375. if $righthandnoun = stonebow then gosub UnloadLX
  1376. if $righthandnoun = sling then gosub UnloadLX
  1377. gosub stowright right
  1378. }
  1379. if "$lefthandnoun" != "" then
  1380. {
  1381. var stowedItemLEC $lefthandnoun
  1382. gosub stow left
  1383. }
  1384. pause 5
  1385. gosub Retreat
  1386. gosub Retreat
  1387. gosub put1 "forage dirt" "^You cannot forage|^You manage|^Roundtime"
  1388. gosub Retreat
  1389. gosub get jar
  1390. gosub put1 "commune eluned" "^You grind some dirt in|You don't seem to have the right ritual matierial|^You feel like you have completed this commune too recently"
  1391. var communeElunedTime $gametime
  1392. gosub stow jar
  1393. if "$righthandnoun" = "dirt" then send empty right
  1394. if "%stowedItemREC" != "none" then gosub get %stowedItemREC
  1395. if "%stowedItemLEC" != "none" then gosub get %stowedItemLEC
  1396. if "$righthandnoun" = "stonebow" then gosub Load my shard
  1397. return
  1398.  
  1399.  
  1400. ###############################
  1401. ## Everything Else ##
  1402. ###############################
  1403.  
  1404. Put1:
  1405. var firstCommand $1
  1406. var waitString $2
  1407. var humReturnLabel Putting1
  1408. var retryString NULLNULLNULLNULL
  1409. if "$3" != "" then var retryString $3
  1410.  
  1411. Putting1:
  1412. matchre PausePutting1 %retryCommandTriggers|%retryString
  1413. matchre StopPlayingFirst %stop.playing.first.triggers
  1414. matchre Return %waitString
  1415. put %firstCommand
  1416. matchwait
  1417.  
  1418. PausePutting1:
  1419. pause .2
  1420. goto Putting1
  1421.  
  1422.  
  1423.  
  1424.  
  1425. Put2:
  1426. var firstCommand $1
  1427. var secondCommand $2
  1428. var waitString $3
  1429. var humReturnLabel Putting2
  1430. if $charactername = Copernicus then gosub status.check
  1431. var retryString NULLNULLNULLNULL
  1432. if "$4" != "" then var retryString $4
  1433.  
  1434. Putting2:
  1435. matchre PausePutting2 %retryCommandTriggers|%retryString
  1436. matchre StopPlayingFirst %stop.playing.first.triggers
  1437. matchre Return %waitString
  1438. put %firstCommand
  1439. put %secondCommand
  1440. matchwait
  1441.  
  1442. PausePutting2:
  1443. pause .3
  1444. goto Putting2
  1445.  
  1446.  
  1447.  
  1448. Put3:
  1449. var firstCommand $1
  1450. var secondCommand $2
  1451. var thirdCommand $3
  1452. var waitString $4
  1453. var humReturnLabel Putting3
  1454. if $charactername = Copernicus then gosub status.check
  1455. var retryString NULLNULLNULLNULL
  1456. if "$5" != "" then var retryString $5
  1457.  
  1458. Putting3:
  1459. matchre PausePutting3 %retryCommandTriggers|%retryString
  1460. matchre StopPlayingFirst %stop.playing.first.triggers
  1461. matchre Return %waitString
  1462. put %firstCommand
  1463. put %secondCommand
  1464. put %thirdCommand
  1465. matchwait
  1466.  
  1467. PausePutting3:
  1468. pause .4
  1469. goto Putting3
  1470.  
  1471.  
  1472. Put4:
  1473. var firstCommand $1
  1474. var secondCommand $2
  1475. var thirdCommand $3
  1476. var fourthCommand $4
  1477. var waitString $5
  1478. var humReturnLabel Putting4
  1479. if $charactername = Copernicus then gosub status.check
  1480. var retryString NULLNULLNULLNULL
  1481. if "$6" != "" then var retryString $6
  1482.  
  1483. Putting4:
  1484. matchre PausePutting4 %retryCommandTriggers|%retryString
  1485. matchre StopPlayingFirst %stop.playing.first.triggers
  1486. matchre Return %waitString
  1487. put %firstCommand
  1488. put %secondCommand
  1489. put %thirdCommand
  1490. put %fourthCommand
  1491. matchwait
  1492.  
  1493. PausePutting4:
  1494. pause .5
  1495. goto Putting4
  1496.  
  1497. WaitRoundtime:
  1498. waitforre ^Roundtime:
  1499. pause .1
  1500. return
  1501.  
  1502. WaitFatigue:
  1503. if $stamina > $1 then return
  1504. pause .5
  1505. goto WaitFatigue
  1506.  
  1507. WaitMana:
  1508. if $mana > $1 then return
  1509. pause .5
  1510. goto WaitMana
  1511.  
  1512. Prep:
  1513. gosub ReleaseSpell
  1514. var spellReady 0
  1515. gosub Put1 "prepare $0" "%prepStrings"
  1516. return
  1517.  
  1518. Harness:
  1519. gosub Put1 "harness $1" "^Roundtime:|^You strain, but cannot harness that much power\.|^You can't harness that much mana\!"
  1520. return
  1521.  
  1522. Cast:
  1523. gosub Put1 "cast $0" "^You gesture|^You reach with both your hands|^You point a crooked finger at|^You make a ruthless lashing gesture|^You can't cast|^You make a holy gesture and intone|have a spell prepared\!|^A warm sensation of security|^You strike your heel against the ground|^Your spell pattern collapses|^Wisps of spectral flame|^With a flick of your wrist,"
  1524. var spellReady 0
  1525. return
  1526.  
  1527. Release:
  1528. gosub Put1 "release spell" "^Type RELEASE HELP for more options\.|^You let your concentration|^You aren"
  1529. return
  1530.  
  1531. ReleaseSpell:
  1532. if "$preparedspell" = "None" then return
  1533. gosub Put1 "release spell" "^You let your concentration lapse and feel the spell's energies dissipate\.|^The deadening murk|^You aren't preparing a spell\."
  1534. return
  1535.  
  1536. ReleaseMana:
  1537. gosub Put1 "release mana" "^You release the mana you were holding\.|^You aren't holding any mana\."
  1538. return
  1539.  
  1540. Perceive:
  1541. Power:
  1542. gosub Put1 "power" "^Roundtime:"
  1543. return
  1544.  
  1545. Focus:
  1546. gosub Put1 "invoke my $0 spell" "^Roundtime:|^Your link to .+ is intact."
  1547. return
  1548.  
  1549. #Need more matches here, and for focus as well
  1550. Charge:
  1551. gosub Put1 "charge my $0" "^Roundtime:"
  1552. return
  1553.  
  1554. Forage:
  1555. gosub Put1 "forage $0" "^Roundtime:|^You really need to have at least one hand free to forage properly\."
  1556. return
  1557.  
  1558. WaitForT:
  1559. var pause.time $1
  1560. var waitForString $2
  1561. put #var waitTriggerFALSE
  1562. action put #var waitTriggered TRUE when %waitForString
  1563. var timePaused 0
  1564.  
  1565. #echo waiting for %wait.string for %pause.time seconds
  1566. WaitingForText:
  1567. pause .2
  1568. math timePaused add .2
  1569. if %timePaused > %pauseTime then return
  1570. if $waitTriggered = TRUE then return
  1571. goto WaitingForText
  1572.  
  1573. Moving:
  1574. matchre StandThenMove ^You must be standing to do that\.
  1575. matchre PauseThenMove %retryCommandTriggers
  1576. matchre RetreatFromMeleeThenMove ^You are engaged to .+ melee range\!|do that while engaged\!
  1577. matchre RetreatFromPoleThenMove ^You are engaged to .+ at pole weapon range\!
  1578. matchre Return ^Obvious|^It's pitch dark
  1579. put %moveDirection
  1580. matchwait
  1581.  
  1582. StandThenMove:
  1583. gosub Stand
  1584. goto Moving
  1585.  
  1586. PauseThenMove:
  1587. pause .2
  1588. goto Moving
  1589.  
  1590. RetreatFromMeleeThenMove:
  1591. put retreat
  1592. RetreatFromPoleThenMove:
  1593. put retreat
  1594. goto Moving
  1595.  
  1596.  
  1597. Drop:
  1598. gosub Put1 "drop $0" "^You drop|^What were you referring to\?|^But you aren't holding that\."
  1599. return
  1600.  
  1601. Aim:
  1602. gosub Put1 "aim" "You begin to target|^There is nothing else|^You shift your target to|^You are already targetting that\!|^You need both hands in order to aim\.|^At what are you trying to aim\?|^Your .+ isn't loaded\!|^But the .+ in your right hand isn't a ranged weapon\!|^You don't have a ranged weapon to aim with\!"
  1603. return
  1604.  
  1605. Load:
  1606. gosub Put1 "load $0" "^Roundtime|^Your .+ is already loaded|^What weapon are you trying to load\?|^You don't have the proper ammunition readily available for your|^You can't load .+, silly\!"
  1607. return
  1608.  
  1609. Stand:
  1610. if $standing then return
  1611. gosub Put1 "stand" "^You stand back up\.|^You stand up|^You are already standing\.|^You are so unbalanced you cannot manage to stand\.|^You are overburdened and cannot manage to stand\.|^The weight of all your possessions prevents you from standing\."
  1612. pause .1
  1613. goto Stand
  1614.  
  1615. Awaken:
  1616. if $sleepState = 0 then return
  1617. gosub Put1 "awaken" "^You awaken from your reverie|^But you are not sleeping"
  1618. return
  1619.  
  1620. CheckToAwaken:
  1621. if "$sleeping" = "TRUE" then gosub Awaken
  1622. return
  1623.  
  1624. Sleep:
  1625. if $sleepState = 1 then return
  1626. gosub Put1 "sleep" "^You relax and allow your mind to enter a state of rest\.|^You are already resting your mind\!"
  1627. return
  1628.  
  1629. CheckToSleep:
  1630. if "$sleeping" = "FALSE" then gosub Sleep
  1631. return
  1632.  
  1633. Exp:
  1634. return
  1635. gosub Put1 "exp" "^EXP HELP"
  1636. return
  1637.  
  1638.  
  1639. Stowleft:
  1640. if $lefthand = Empty then return
  1641. gosub Put1 "stow $0" "^Stow what\?|^You put your .+ in your|^But that is already in your inventory\."
  1642. return
  1643.  
  1644. Stowright:
  1645. if $righthand = Empty then return
  1646. gosub Put1 "stow $0" "^Stow what\?|^You put your .+ in your|^But that is already in your inventory\."
  1647. return
  1648.  
  1649.  
  1650. Wear:
  1651. gosub Put1 "wear $0" "^You slip some|^You sling|^You attach|^You put.+on|^You strap|^You work your way into|^You slide your left arm through|^You hang|^You drape|^You put .+ around|^You slide|^You are already wearing that\.|^Wear what\?|^You can't wear any more items like that\."
  1652. return
  1653.  
  1654. Remove:
  1655. gosub Put1 "remove my $0" "^You pull off|^You remove|^You loosen the straps securing|^You take.+off|^You slide|^You sling|^You work your way out of|^You aren't wearing that\.|^Remove what\?|^What were you referring to\?"
  1656. return
  1657.  
  1658. StopHumming:
  1659. if %humming = 0 then return
  1660. gosub Put1 "stop hum" "^You stop playing your song\.|^In the name of love\?"
  1661. return
  1662.  
  1663. StartHumming:
  1664. if $Vocals.LearningRate > 9 then return
  1665. if %humming = 1 then return
  1666. gosub Put1 "hum %song %songStyle" "^You begin to hum|^You fumble slightly as you begin to hum|^You struggle to begin to hum|^You continue to hum|^You are already performing something\."
  1667. return
  1668.  
  1669. RunScript:
  1670. put .$0
  1671. waitforre ^$1 done@
  1672. return
  1673.  
  1674. ConvertToOrdinal:
  1675. var ordinalVarName $1
  1676. var ordinalVarValue $2
  1677. echo $1 $2
  1678. if %ordinalVarValue = 1 then
  1679. {
  1680. var %ordinalVarName first
  1681. return
  1682. }
  1683. if %ordinalVarValue = 2 then
  1684. {
  1685. var %ordinalVarName second
  1686. return
  1687. }
  1688. if %ordinalVarValue = 3 then
  1689. {
  1690. var %ordinalVarName third
  1691. return
  1692. }
  1693. if %ordinalVarValue = 4 then
  1694. {
  1695. var %ordinalVarName fourth
  1696. return
  1697. }
  1698. if %ordinalVarValue = 5 then
  1699. {
  1700. var %ordinalVarName fifth
  1701. return
  1702. }
  1703. if %ordinalVarValue = 6 then
  1704. {
  1705. var %ordinalVarName sixth
  1706. return
  1707. }
  1708. if %ordinalVarValue = 7 then
  1709. {
  1710. var %ordinalVarName seventh
  1711. return
  1712. }
  1713. if %ordinalVarValue = 8 then
  1714. {
  1715. var %ordinal.var.name eighth
  1716. return
  1717. }
  1718. if %ordinalVarValue = 9 then
  1719. {
  1720. var %ordinalVarName ninth
  1721. return
  1722. }
  1723. if %ordinalVarValue = 10 then
  1724. {
  1725. var %ordinalVarName tenth
  1726. return
  1727. }
  1728. var %ordinalVarName eleventh
  1729. return
  1730.  
  1731. Unhide:
  1732. gosub Put1 "unhide" "^"
  1733. return
  1734.  
  1735. Search:
  1736. gosub Put1 "search $0" "^You search|^It's already been picked clean|^It's not dead yet\!|^I could not find what you were referring to\."
  1737. return
  1738.  
  1739. CheckMindstate:
  1740. gosub Put1 "mind" "^Overall"
  1741. return
  1742.  
  1743. Retreat:
  1744. if %needToRetreat = 0 then return
  1745. if "$standing" = "0" then gosub stand
  1746. put retreat
  1747. waitforre ^You retreat|^You try to|^\.\.\.wait|^You stop advancing|^You are already|^You sneak back out|You can't do that while entangled
  1748. goto Retreat
  1749.  
  1750.  
  1751. hyhoffense:
  1752. variable hyh offense
  1753. send rel
  1754. pause .5
  1755. put prep hyh 10
  1756. pause 12
  1757.  
  1758. castoffense:
  1759. variable hyh offense
  1760. if $preparedspell = None then goto hyhoffense
  1761. put cast male offense
  1762. gosub roundtime
  1763. if $preparedspell != None then goto castoffense
  1764. return
  1765.  
  1766.  
  1767. hyhdefense:
  1768. variable hyh defense
  1769. send rel
  1770. pause .5
  1771. put prep hyh 10
  1772. pause 12
  1773.  
  1774. castdefense:
  1775. if $preparedspell = None then goto hyhdefense
  1776. put cast male defense
  1777. gosub roundtime
  1778. if $preparedspell != None then goto castdefense
  1779. return
  1780.  
  1781. stanceshield:
  1782. send stance shield
  1783. gosub roundtime
  1784. return
  1785.  
  1786. stanceparry:
  1787. send stance parry
  1788. gosub roundtime
  1789. return
  1790.  
  1791. stanceevasion:
  1792. send stance evasion
  1793. gosub roundtime
  1794. return
  1795.  
  1796. buffcheck:
  1797. var Sol 0
  1798. var Bene 0
  1799. var Mpp 0
  1800. var Mapp 0
  1801. var Cen 0
  1802. pause .5
  1803. put perc self
  1804. gosub roundtime
  1805. pause .5
  1806. buffcheck2:
  1807. if %Sol = 0 then gosub buffsol
  1808. if %Bene = 0 then gosub buffbene
  1809. if %Mapp = 0 then {
  1810. gosub buffmapp
  1811. gosub buffmpp
  1812. gosub buffcen
  1813. }
  1814. if %Mpp = 0 then gosub buffmpp
  1815. if %Cen = 0 then gosub buffCen
  1816. if %hyhset = 0 then gosub hyh%hyh
  1817. return
  1818.  
  1819. buffsol:
  1820. gosub roundtime
  1821. send rel
  1822. gosub roundtime
  1823. put prep sol
  1824. pause
  1825. pause
  1826. send charge my fem 5
  1827. gosub roundtime
  1828. send charge my fem 5
  1829. gosub roundtime
  1830. send charge my fem 5
  1831. gosub roundtime
  1832. send charge my fem 5
  1833. gosub roundtime
  1834. send invoke my fem
  1835. gosub roundtime
  1836. pause 5
  1837. put touch orb
  1838. gosub roundtime
  1839. return
  1840.  
  1841. buffbene:
  1842. gosub roundtime
  1843. send rel
  1844. gosub roundtime
  1845. send prep bene
  1846. pause
  1847. pause
  1848. send charge my fem 5
  1849. gosub roundtime
  1850. send charge my fem 5
  1851. gosub roundtime
  1852. send charge my fem 5
  1853. gosub roundtime
  1854. send invoke my fem
  1855. gosub roundtime
  1856. pause 10
  1857. send touch my orb
  1858. gosub roundtime
  1859. return
  1860.  
  1861. buffmapp:
  1862. gosub roundtime
  1863. send rel
  1864. gosub roundtime
  1865. send rel symb
  1866. send prep mapp
  1867. pause
  1868. pause
  1869. send charge my fem 5
  1870. gosub roundtime
  1871. send charge my fem 5
  1872. gosub roundtime
  1873. send charge my fem 5
  1874. gosub roundtime
  1875. send charge my fem 5
  1876. gosub roundtime
  1877. send charge my fem 5
  1878. gosub roundtime
  1879. send invoke my fem
  1880. gosub roundtime
  1881. pause 3
  1882. send cast
  1883. gosub roundtime
  1884. if %Mapp = 0 then goto buffmapp
  1885. return
  1886.  
  1887. buffmpp:
  1888. gosub roundtime
  1889. send rel
  1890. gosub roundtime
  1891. send rel symb
  1892. send prep mpp 10
  1893. pause
  1894. pause
  1895. send charge my fem 5
  1896. gosub roundtime
  1897. send charge my fem 5
  1898. gosub roundtime
  1899. send charge my fem 5
  1900. gosub roundtime
  1901. send charge my fem 5
  1902. gosub roundtime
  1903. send charge my fem 5
  1904. gosub roundtime
  1905. send charge my fem 5
  1906. gosub roundtime
  1907. send invoke my fem
  1908. gosub roundtime
  1909. send harness 5
  1910. gosub roundtime
  1911. send cast
  1912. gosub roundtime
  1913. return
  1914.  
  1915. buffcen:
  1916. gosub roundtime
  1917. send rel
  1918. gosub roundtime
  1919. send prep cen
  1920. pause
  1921. pause
  1922. send charge my fem 5
  1923. gosub roundtime
  1924. send charge my fem 5
  1925. gosub roundtime
  1926. send charge my fem 5
  1927. gosub roundtime
  1928. send charge my fem 5
  1929. gosub roundtime
  1930. send charge my fem 5
  1931. gosub roundtime
  1932. send charge my fem 5
  1933. gosub roundtime
  1934. send invoke my fem
  1935. gosub roundtime
  1936. send cast
  1937. gosub roundtime
  1938. return
  1939.  
  1940. UnloadLX:
  1941. gosub put1 "unload" "^But your|^You unload|^Round|^You don't have|^You can't unload"
  1942. if $lefthand != "cambrinth armband" then gosub stowleft left
  1943. gosub stowright right
  1944. return
  1945.  
  1946. wearbundle:
  1947. pause
  1948. send pull my bund
  1949. pause
  1950. send wear my bund
  1951. pause
  1952. if $lefthand != Empty || $righthand != Empty then {
  1953. evalmath bundlecount %bundlecount + 1
  1954. if %bundlecount >= 5 then {
  1955. send #echo Something went wrong with bundling, exiting
  1956. send exit
  1957. }
  1958. goto wearbundle
  1959. }
  1960. return
  1961.  
  1962. killyoung:
  1963. send rel spell
  1964. pause
  1965. send ret;ret
  1966. pause
  1967. send face young gryphon
  1968. pause .5
  1969.  
  1970. killyoung2:
  1971. send prep ff 10
  1972. pause .5
  1973. send targ
  1974. pause 8
  1975. send har 5
  1976. pause
  1977. pause
  1978. send har 5
  1979. pause
  1980. pause
  1981. send cast
  1982. pause
  1983. pause
  1984. if matchre("$roomobjs","\(dead\)|which appears dead" then {
  1985. gosub loot
  1986. return
  1987. }
  1988. goto killyoung2
  1989.  
  1990. stow:
  1991. variable stowweapon $1
  1992. stow.weapon2:
  1993. match stow.weapon2 Sorry, you may only type ahead 1 command.
  1994. match stow.weapon2 wait
  1995. matchre unload ^You need to unload the
  1996. matchre unload ^You should unload
  1997. match return Stow what?
  1998. match return You put your
  1999. send stow %stowweapon
  2000. matchwait 2
  2001. goto stow.weapon2
  2002.  
  2003. unload:
  2004. match unload wait
  2005. match unload Sorry, you may only type ahead 1 command.
  2006. match stow.all You unload
  2007. match stow.all You don't have a ranged
  2008. match stow.right But your
  2009. send unload $righthandnoun
  2010. matchwait 2
  2011. goto unload
  2012.  
  2013. stow.right:
  2014. match stow.right wait
  2015. match stow.right Sorry, you may only type ahead 1 command.
  2016. match return You put your
  2017. match reutrn Stow what?
  2018. send stow right
  2019. matchwait 2
  2020. goto stow.right
  2021.  
  2022. stow.all:
  2023. stow.left:
  2024. match stow.left wait
  2025. match stow.left Sorry, you may only type ahead 1 command.
  2026. match stow.right Stow what?
  2027. match stow.right You put your
  2028. send stow left
  2029. matchwait 2
  2030. goto stow.left
  2031.  
  2032. get:
  2033. var get $1
  2034. get1:
  2035. matchre get1 ^Sorry|wait
  2036. matchre return ^.*you get a.*$
  2037. matchre return ^You get
  2038. matchre return ^You pull
  2039. matchre return ^You pick up
  2040. matchre return ^You stop as you realize
  2041. matchre return ^What were you referring to\?
  2042. matchre return ^You are already holding that\.
  2043. matchre stow.all ^You need a free hand to pick that up\.
  2044. matchre return ^But that is already in your inventory\.
  2045. matchre return ^You fade in for a moment as you pick up
  2046. matchre return ^You are not strong enough to pick that up\!
  2047. put get %get
  2048. matchwait 2
  2049. goto get1
  2050.  
  2051.  
  2052.  
  2053. BaseEnd:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement