Guest User

Untitled

a guest
Apr 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.55 KB | None | 0 0
  1. include nuckbaseCombat.cmd
  2.  
  3. ###################################
  4. ## VARIABLE INITILIZATION
  5. ###################################
  6.  
  7.  
  8. ##beep actions##
  9. #action put #beep when "<to you>"
  10. #action put #beep when "<to you faintly>"
  11. #action put #beep when old hag
  12. #action put #beep when mouse
  13. #action put #beep when says
  14. #action put #beep when SEND
  15. #action put #beep when nudges
  16. #action put #beep when asks
  17. #action put #beep when exlaims
  18. #action put #beep when taps
  19. #action put #beep when whispers
  20. #action put #beep when hugs
  21. #action put #beep when grins at
  22. #action put #beep when waves to you
  23. #action put #beep when waves at you
  24. #action put #beep when winks at you
  25. #action put #beep when shakes you
  26. #action put #beep when leans on you
  27. #action put #beep when peers quizically
  28. #action put #beep when Khurek
  29. #action put #beep when Ventuul
  30. #action put #beep when Sinstra
  31. #action put #beep when Vorasus
  32. #action put #beep when Ithida
  33. #action put #beep when Arithne
  34. #action put #beep when yellow duck
  35. #action put #beep when You hear the voice of
  36. #action put #beep when loud thoughts in your head
  37. #action put #beep when You get an odd feeling that someone is watching you.
  38. #action put #beep when You're beat up
  39. #action put #beep when You're terribly wounded
  40. #action put #beep when You're badly hurt
  41. #action put #beep when begins to watch the goings on carefully.
  42. #action put #beep when voice
  43. #action put #beep when "
  44. #action put #beep when (([^\Wa-z0-9]\s){2,})
  45. #action put #beep when (\b[^\Wa-z0-9]{2,}\b)(?<!(TO|PIRP|SKILL|EXP|HELP|STOP|LISTENING|BANNGG|STOW|HR|INVENTORY|APPRAISE|POP|FACE))
  46.  
  47. var bundlefull 0
  48. var mainContainer backpack
  49. var currentStance
  50. var cambrinth armband
  51. var PMSpell Ease
  52. var MDSpell Ease
  53. var MDAmount 11
  54. var spellPrep hot 10
  55. var panicSet 0
  56. var juggler bears
  57. var sbWeapon bow
  58. var lxWeapon crossbow
  59. var leWeapon jambiya
  60. var meWeapon scimitar
  61. var heWeapon sword
  62. var rmOn 0
  63. var killSpell ae 15
  64. var noMobs 0
  65. var parryStance 0
  66. var shieldStance 0
  67. var stanceEvasion 0
  68. var mobs bloodvine
  69. var hcLOCKED 0
  70. var boneLOCKED 0
  71. var clothLOCKED 0
  72. var hcARMOR 1
  73. var boneARMOR 0
  74. var clothARMOR 0
  75. var legs chain greave
  76. var FA 0
  77. var ps 0
  78. var shieldon 0
  79. var tendleftleg 0
  80. var tendabdomen 0
  81. var tendback 0
  82. var tendrightleg 0
  83. var tendchest 0
  84. var tendrightarm 0
  85. var tendleftarm 0
  86. var canjuggle 1
  87. var diseased 0
  88.  
  89. ###################################
  90. ## ACTIONS ##
  91. ###################################
  92.  
  93.  
  94.  
  95. action var FA 1 when ^Why do you need to|^You continue to study the|^You continue studying the
  96.  
  97.  
  98. action setvar canjuggle 0 when ^Your injuries make juggling impossible\.
  99.  
  100. action var tendleftleg 1 when ^The bandages binding your left leg
  101. action var tendabdomen 1 when ^The bandages binding your abdomen
  102. action var tendback 1 when ^The bandages binding your back
  103. action var tendrightleg 1 when ^The bandages binding your right leg
  104. action var tendchest 1 when ^The bandages binding your chest
  105. action var tendrightarm 1 when ^The bandages binding your right arm
  106. action var tendleftarm 1 when ^The bandages binding your left arm
  107. action var tendchest 1 when ^You skillfully remove the blood-red thorn from your
  108.  
  109.  
  110. action goto ImDead2 when eval $dead = 1
  111. action goto ImDead when eval %diseased = 1
  112. action goto ImDead when eval $health < 70
  113. #action goto ImDead when eval $bleeding = 1
  114. action goto ImDead when ^You pick up a barbed arrowhead\.
  115. action goto ImDead when ^You move along to follow your mark\.
  116. action goto ImDead when ^^You feel a wave of nausea
  117.  
  118. action var ambushAttack 1 when you feint your
  119. action var ambushAttack 2 when you jab your
  120. action var ambushAttack 0 when you kick your foot
  121. action var bundlefull 1 when ^Where did you intend
  122. action var shieldon 1 when ^You slide your left arm
  123. action var shieldon 0 when ^You loosen the strap
  124.  
  125. ##########################################
  126. ## Monster Death Messages ##
  127. ##########################################
  128.  
  129. var deadMob none
  130. if $righthand != sword then
  131. {
  132. gosub stow right
  133. gosub get sword
  134. }
  135. if $lefthand != Empty then gosub stow left
  136. put awaken;exp all
  137. waitforre ^EXP HELP
  138. gosub CheckSpells
  139. pause .5
  140. gosub Remove buckler
  141. gosub wear buckler
  142. put stance parry
  143. var stanceParry 1
  144. pause 1
  145. timer start
  146. gosub CheckBleeder
  147. gosub put1 "hunt" "^You take note of all the tracks|^You find yourself unable"
  148. goto Main
  149.  
  150. EnableDeathMessages:
  151. action var deadMob eel;var skinMob 0 when ceases all movement\.|lies still\.|before expiring\.|then goes limp\.|before taking her last breath\.|and falls into a heap\.|howl and goes still\.|its final breath\.|before going still\.|before lying motionless\.|flops to the ground\.|before relaxing in death\.|in a heap with a dull thud\.|ground with a thud\.
  152. return
  153.  
  154. DisableDeathMessages:
  155. action remove ceases all movement\.|lies still\.|before expiring\.|then goes limp\.|before taking her last breath\.|and falls into a heap\.|howl and goes still\.|its final breath\.|before going still\.|before lying motionless\.|flops to the ground\.|before relaxing in death\.|in a heap with a dull thud\.|ground with a thud\.
  156. return
  157.  
  158. CheckForDeadMob:
  159. if "%deadMob" = "none" then return
  160. if %skinMob = 1 then gosub SkinMob
  161. gosub put1 "loot treasure" "^You search the|^I could not find|^You move over to"
  162. put l
  163. pause 1
  164. put .loot
  165. waitforre ^Encumbrance
  166. gosub GetArrow
  167. if $monstercount > 0 then return
  168. return
  169.  
  170.  
  171. GetArrow:
  172. if !contains("$roomobjs", "long arrow") then return
  173. gosub Stow long arrow
  174. goto GetArrow
  175.  
  176.  
  177.  
  178. #######################################
  179. ## MAIN LOOP ##
  180. #######################################
  181.  
  182.  
  183.  
  184.  
  185. Main:
  186. gosub DefenseTrain
  187. gosub CheckForaging
  188. gosub StealthsTrain
  189. #gosub BundleMySkin
  190. put stow right
  191. gosub MagicTrain
  192. gosub DefenseTrain
  193. gosub SBTrain
  194. #gosub BundleMySkin
  195. gosub LTTrain
  196. #gosub BundleMySkin
  197. gosub HETrain
  198. #gosub BundleMySkin
  199. gosub DefenseTrain
  200. #gosub HBTrain
  201. #gosub BundleMySkin
  202. gosub BrawlMain
  203. #gosub BundleMySkin
  204. goto Main
  205.  
  206.  
  207. DefenseTrain:
  208. gosub CheckBleeder
  209. wield right my sword
  210. if $monstercount = 0 then gosub NoMobs
  211. if $monstercount > $danceMax then gosub Kill
  212. gosub CheckSpells
  213. if $Shield_Usage.LearningRate > 14 and $Parry_Ability.LearningRate > 24 then return
  214. if %t > 75 then gosub Hunt
  215. gosub CheckStance2
  216. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  217. goto DefenseTrain
  218.  
  219. CheckForaging:
  220. if $Foraging.LearningRate > 30 then return
  221. gosub MovetoForage
  222. gosub Foraging
  223. gosub ReturnfromForage
  224. gosub get %stowedItemR
  225. gosub get %stowedItemL
  226. return
  227.  
  228. MoveToForage:
  229. gosub Retreat
  230. gosub HideForStalking
  231. pause 1
  232. gosub put1 "#goto 3" "^Encumbrance"
  233. pause 1
  234. return
  235.  
  236. ReturnfromForage:
  237. gosub put1 "#goto 238" "^Encumbrance"
  238. pause 1
  239. return
  240.  
  241.  
  242. #######################################
  243. ## LT Loop ##
  244. #######################################
  245.  
  246. LTTrain:
  247. gosub CheckBleeder
  248. if $Light_Thrown.LearningRate > 24 then
  249. {
  250. gosub Stanceshield
  251. gosub Stow bola
  252. return
  253. }
  254. gosub StanceShield
  255. #if %stanceEvasion 1 then gosub retreat
  256. if $righthand != Empty then gosub stow right
  257. gosub StopHumming
  258. gosub FaceLastMob
  259.  
  260. LTAttack:
  261. gosub CheckBleeder
  262. gosub CheckSpells
  263. if %t > 75 then gosub Hunt
  264. gosub CheckBleeder
  265. #if %stanceEvasion = 1 then gosub retreat
  266. if $righthand != Empty and $righthandnoun != bola then gosub stow right
  267. gosub put1 "wield my bola" "^You draw out"
  268. if $monstercount > $danceMax then gosub Kill
  269. if $monstercount = 0 then gosub nomobs
  270. gosub RetreatIfLocked
  271. #if %stanceEvasion = 1 then gosub retreat
  272. gosub EnableDeathMessages
  273. gosub DoAttack throw
  274. gosub Stow bola
  275. pause 3
  276. gosub CheckStam 85
  277. gosub DisableDeathMessages
  278. gosub CheckForDeadMob
  279. if "%deadMob" != "none" then
  280. {
  281. var deadMob none
  282. goto LTTrain
  283. }
  284. if $Light_Thrown.LearningRate > 24 then goto LTTrain
  285. goto LTAttack
  286.  
  287. #######################################
  288. ## HE Loop ##
  289. #######################################
  290.  
  291.  
  292. HETrain:
  293. gosub CheckBleeder
  294. if $monstercount > $danceMax then gosub kill
  295. if %t > 75 then gosub Hunt
  296. gosub CheckBleeder
  297. gosub CheckRest
  298. if $Heavy_Edged.LearningRate > 24 then return
  299. if $monstercount = 0 then gosub NoMobs
  300. gosub StopHumming
  301. gosub Get my %heWeapon
  302. gosub HEMain
  303. gosub stanceshield
  304. gosub Stow my %heWeapon
  305. gosub Dodge
  306. return
  307.  
  308. HEMain:
  309. gosub CheckBleeder
  310. if $monstercount > $danceMax then gosub kill
  311. if $Appraisal.LearningRate < 10 then gosub app %mobs quick
  312. if %t > 75 then gosub Hunt
  313. gosub CheckBleeder
  314. gosub CheckStance2
  315. gosub CheckRest
  316. if $Heavy_Edged.LearningRate > 24 then return
  317. gosub NoMobs
  318. gosub FaceLastMob
  319. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  320. counter set 0
  321. var heCombo feint|draw|sweep|slice|chop
  322.  
  323.  
  324. HEAttack:
  325. gosub CheckBleeder
  326. gosub CheckSpells
  327. if $monstercount > $danceMax then gosub kill
  328. gosub CheckStance2
  329. if $Heavy_Edged.LearningRate > 24 then return
  330. if %t > 75 then gosub Hunt
  331. if %c > 4 then counter set 0
  332. eval heAttack element("%heCombo", %c)
  333. counter add 1
  334. gosub EnableDeathMessages
  335. if $monstercount = 0 then gosub NoMobs
  336. gosub DoAttack %heAttack
  337. gosub DisableDeathMessages
  338. gosub CheckForDeadMob
  339. if "%deadMob" != "none" then
  340. {
  341. var deadMob none
  342. goto HEMain
  343. }
  344. goto HEAttack
  345.  
  346.  
  347. #######################################
  348. ## HB Loop ##
  349. #######################################
  350.  
  351.  
  352. HBTrain:
  353. gosub CheckBleeder
  354. if $monstercount > $danceMax then gosub kill
  355. if %t > 75 then gosub Hunt
  356. gosub CheckBleeder
  357. gosub CheckRest
  358. if $Heavy_Blunt.LearningRate > 24 then return
  359. if $monstercount = 0 then gosub NoMobs
  360. gosub StopHumming
  361. if $righthandnoun != "hhr'ata" then gosub stow right
  362. gosub Get my hhr
  363. gosub HBMain
  364. gosub stanceshield
  365. gosub Stow my hhr
  366. gosub Dodge
  367. return
  368.  
  369. HBMain:
  370. gosub CheckBleeder
  371. if $monstercount > $danceMax then gosub kill
  372. if $Appraisal.LearningRate < 10 then gosub app %mobs quick
  373. if %t > 75 then gosub Hunt
  374. gosub CheckBleeder
  375. gosub CheckStance2
  376. gosub CheckRest
  377. if $Heavy_Blunt.LearningRate > 24 then return
  378. gosub NoMobs
  379. gosub FaceLastMob
  380. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  381. counter set 0
  382. var hbCombo feint|bash|sweep|draw|swing
  383.  
  384.  
  385. HBAttack:
  386. gosub CheckBleeder
  387. gosub CheckSpells
  388. if $monstercount > $danceMax then gosub kill
  389. gosub CheckStance2
  390. if $Heavy_Blunt.LearningRate > 24 then return
  391. if %t > 75 then gosub Hunt
  392. if %c > 4 then counter set 0
  393. eval hbAttack element("%hbCombo", %c)
  394. counter add 1
  395. gosub EnableDeathMessages
  396. if $monstercount = 0 then gosub NoMobs
  397. gosub DoAttack %hbAttack
  398. gosub DisableDeathMessages
  399. gosub CheckForDeadMob
  400. if "%deadMob" != "none" then
  401. {
  402. var deadMob none
  403. goto HBMain
  404. }
  405. goto HBAttack
  406.  
  407. #######################################
  408. ## Brawl Loop ##
  409. #######################################
  410.  
  411. BrawlTrain:
  412. gosub CheckBleeder
  413. if $monstercount > $danceMax then gosub kill
  414. if %t > 75 then gosub Hunt
  415. gosub CheckBleeder
  416. gosub CheckRest
  417. if $Brawling.LearningRate > 24 then return
  418. if $monstercount = 0 then gosub NoMobs
  419. gosub StopHumming
  420. if $righthand != Empty then gosub stow right
  421. gosub HBMain
  422. gosub Dodge
  423. return
  424.  
  425. BrawlMain:
  426. gosub CheckBleeder
  427. if $monstercount > $danceMax then gosub kill
  428. if $Appraisal.LearningRate < 10 then gosub app %mobs quick
  429. if %t > 75 then gosub Hunt
  430. gosub CheckBleeder
  431. gosub CheckStance2
  432. gosub CheckRest
  433. if $Brawling.LearningRate > 24 then return
  434. gosub NoMobs
  435. gosub FaceLastMob
  436. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  437. counter set 0
  438. var brawlCombo punch|elbow|kick
  439.  
  440.  
  441. BrawlAttack:
  442. gosub CheckBleeder
  443. gosub CheckSpells
  444. if $monstercount > $danceMax then gosub kill
  445. gosub CheckStance2
  446. if $Brawling.LearningRate > 24 then return
  447. if %t > 75 then gosub Hunt
  448. if %c > 2 then counter set 0
  449. eval brawlAttack element("%brawlCombo", %c)
  450. counter add 1
  451. gosub EnableDeathMessages
  452. if $monstercount = 0 then gosub NoMobs
  453. gosub DoAttack %brawlAttack
  454. gosub DisableDeathMessages
  455. gosub CheckForDeadMob
  456. if "%deadMob" != "none" then
  457. {
  458. var deadMob none
  459. goto BrawlMain
  460. }
  461. goto BrawlAttack
  462.  
  463.  
  464. #######################################
  465. ## SB Loop ##
  466. #######################################
  467.  
  468.  
  469.  
  470. SBTrain:
  471. gosub CheckBleeder
  472. if $monstercount = 0 then gosub NoMobs
  473. if $Short_Bow.LearningRate > 24 then return
  474. gosub StopHumming
  475. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  476. gosub Dodge
  477. gosub Stanceevasion
  478. if %stanceEvasion 1 then gosub retreat
  479. if $righthand != Empty and $righthandnoun != bow then gosub Stow right
  480. gosub get %sbWeapon
  481. gosub SBMain
  482. gosub stow %sbWeapon
  483. return
  484.  
  485. SBMain:
  486. gosub CheckBleeder
  487. gosub CheckSpells
  488. if $Short_Bow.LearningRate > 24 then return
  489. gosub StanceEvasion
  490. if %stanceEvasion 1 then gosub retreat
  491. gosub NoMobs
  492. gosub FaceLastMob
  493.  
  494. SBAttack:
  495. gosub CheckBleeder
  496. gosub CheckSpells
  497. if $Short_Bow.LearningRate > 24 then return
  498. gosub Retreat
  499. #if $Shield_Usage.LearningRate > 30 then gosub RetreatIfLocked
  500. #if $Shield_Usage.LearningRate > 30 then gosub RetreatIfLocked
  501. if %t > 75 then gosub Hunt2
  502. gosub CheckBleeder
  503. if %stanceEvasion 1 then gosub retreat
  504. gosub Retreat
  505. #if $Shield_Usage.LearningRate > 30 then gosub RetreatIfLocked
  506. gosub Retreat
  507. gosub Load my long arro
  508. gosub retreat
  509. gosub CheckBleeder
  510. gosub Aim
  511. #if $Shield_Usage.LearningRate > 30 then gosub RetreatIfLocked
  512. gosub Retreat
  513. {
  514. if $Appraisal.LearningRate < 10 then
  515.  
  516. {
  517. gosub CheckBleeder
  518. gosub app %mobs quick
  519. gosub Retreat
  520. gosub app %mobs quick
  521. gosub Retreat
  522. gosub CheckBleeder
  523. gosub app %mobs quick
  524. gosub Retreat
  525. gosub app %mobs quick
  526. gosub retreat
  527. }
  528. else
  529. if $Brawling.LearningRate < 1 then
  530. {
  531. gosub Retreat
  532. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  533. gosub Retreat
  534. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  535. gosub Retreat
  536. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  537. gosub Retreat
  538. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  539. }
  540. else
  541. if $Brawling.LearningRate > 35 and $Appraisal.LearningRate > 35 then
  542. {
  543. pause 3
  544. gosub Retreat
  545. pause 3
  546. gosub Retreat
  547. pause 3
  548. gosub Retreat
  549. pause 3
  550. gosub Retreat
  551. }
  552. }
  553. gosub EnableDeathMessages
  554. if $monstercount = 0 then gosub NoMobs
  555. gosub DoAttack fire
  556. gosub DisableDeathMessages
  557. gosub CheckForDeadMob
  558. if "%deadMob" != "none" then
  559. {
  560. var deadMob none
  561. goto SBMain
  562. }
  563. goto SBAttack
  564.  
  565. WaitForFire:
  566. gosub CheckBleeder
  567. gosub Retreat
  568. pause 3
  569. gosub Retreat
  570. pause 3
  571. gosub Retreat
  572. pause 3
  573. gosub Retreat
  574. pause 3
  575. return
  576.  
  577. #######################################
  578. ## Magic Loop ##
  579. #######################################
  580.  
  581.  
  582. MagicTrain:
  583. #gosub MDTrain
  584. #gosub PMHATrain
  585. gosub TMTrain
  586. return
  587.  
  588.  
  589.  
  590. #######################################
  591. ## MD Loop ##
  592. #######################################
  593.  
  594.  
  595.  
  596. MDTrain:
  597. gosub CheckBleeder
  598. if $Arcana.LearningRate > 20 then return
  599. gosub StopHumming
  600. gosub MonsterCheck
  601. gosub stanceshield
  602. gosub stow right
  603. gosub get %cambrinth
  604. gosub put1 "swap" "^You move a|^You have nothing"
  605. gosub MDMain
  606. gosub stow %cambrinth
  607. return
  608.  
  609. MDMain:
  610. gosub CheckBleeder
  611. gosub CheckRest
  612. if $monstercount > $danceMax then gosub kill
  613. if %t is > 90 then gosub Hunt
  614. gosub CheckBleeder
  615. if $Arcana.LearningRate > 20 then return
  616. gosub Prep %MDSpell
  617. if $monstercount > $danceMax then gosub kill
  618. gosub Charge %cambrinth %MDAmount
  619. if $monstercount > $danceMax then gosub kill
  620. gosub Focus my %cambrinth
  621. gosub Cast
  622. gosub CheckBleeder
  623. if $monstercount > $danceMax then gosub kill
  624. gosub CheckMana 99
  625. goto MDMain
  626.  
  627. #######################################
  628. ## PM Loop ##
  629. #######################################
  630.  
  631. PMHATrain:
  632. gosub StopHumming
  633. var stowedItem none
  634. if $righthandnoun != "" then
  635. {
  636. var stowedItem $righthandnoun
  637. gosub stow right
  638.  
  639. }
  640. var stowedItem none
  641. if $lefthandnoun != "" then
  642. {
  643. var stowedItem $lefthandnoun
  644. gosub stow left
  645. }
  646. pause .5
  647. gosub PMHAMain
  648. gosub stow armband
  649. return
  650.  
  651. PMHAMain:
  652. if $monstercount > $danceMax then gosub kill
  653. gosub checkstance2
  654. if $Primary_Magic.LearningRate > 14 then return
  655. if %t is > 90 then gosub Hunt
  656. if $lefthand != "bronze armband" then
  657. {
  658. gosub put1 "get %cambrinth" "^You get a|^You are already"
  659. gosub put1 "swap" "^You move a|^You have nothing"
  660. }
  661. gosub Prep %PMSpell
  662. gosub Charge %cambrinth %MDAmount
  663. gosub Focus my %cambrinth
  664. gosub Cast
  665. gosub CheckMana 85
  666. goto PMHAMain
  667.  
  668.  
  669. #######################################
  670. ## TM Loop ##
  671. #######################################
  672.  
  673.  
  674. TMTrain:
  675. gosub CheckBleeder
  676. if $monstercount = 0 then gosub NoMobs
  677. gosub StopHumming
  678. gosub TMMain
  679. return
  680.  
  681. TMMain:
  682. gosub CheckStance2
  683. if %stanceParry = 1 and $righthand != "bastard sword" then
  684. {
  685. gosub stow right
  686. gosub get sword
  687. }
  688. if $Targeted_Magic.LearningRate > 24 then return
  689. if %t is > 90 then gosub Hunt
  690. gosub CheckBleeder
  691. if $monstercount = 0 then return
  692. gosub Put1 "face next" "^You turn to face|^There is nothing else"
  693. gosub EnableDeathMessages
  694. gosub TMKilling
  695. gosub DisableDeathMessages
  696. gosub CheckForDeadMob
  697. if "%deadMob" != "none" then
  698. {
  699. var deadMob none
  700. goto TMMain
  701. }
  702. goto TMMain
  703.  
  704. TMKilling:
  705. gosub CheckBleeder
  706. gosub CheckSpells
  707. if $Targeted_Magic.LearningRate > 24 then return
  708. if %deadMob != "none" then return
  709. if $monstercount > $danceMax then gosub kill
  710. gosub ReleaseSpell
  711. gosub CheckMana 85
  712. gosub Put2 "prep bolt 3" "target" "^You begin to weave mana lines|^You are not engaged to|^Your target pattern is already formed on"
  713. pause 1
  714. gosub Put2 "cast" "awake" "^You gesture|^But you|^You awaken"
  715. if $monstercount > $danceMax then gosub kill
  716. if $Appraisal.LearningRate < 9 then gosub app %mobs quick
  717. return
  718.  
  719.  
  720. #######################################
  721. ## Stealth ##
  722. #######################################
  723.  
  724.  
  725. StealthsTrain:
  726. gosub CheckBleeder
  727. #if $monstercount > $danceMax then gosub kill
  728. if $monstercount = 0 then gosub NoMobs
  729. if $Hiding.LearningRate > 29 then return
  730. gosub StopHumming
  731. gosub StanceEvasion
  732. if $righthand != Empty and $righthandnoun != bow then gosub Stow right
  733. gosub get %sbWeapon
  734. gosub StealthsMain
  735. gosub stow %sbWeapon
  736. return
  737.  
  738. StealthsMain:
  739. gosub CheckBleeder
  740. if $Hiding.LearningRate > 29 then return
  741. #if $monstercount > $danceMax then gosub kill
  742. gosub StanceEvasion
  743. gosub NoMobs
  744. gosub FaceLastMob
  745.  
  746. StealthAttack:
  747. gosub CheckBleeder
  748. gosub CheckSpells
  749. if $Hiding.LearningRate > 29 then return
  750. #if $monstercount > $danceMax then gosub kill
  751. #if %t > 75 then gosub Hunt2
  752. #if $monstercount > $danceMax then gosub kill
  753. gosub put1 "retreat" "^You retreat|^You are already|^You stop advan"
  754. gosub Load my long arro
  755. gosub Advance
  756. gosub Aim
  757. gosub CheckBleeder
  758. gosub HideforStalking
  759. gosub Advance
  760. gosub put1 "stalk" "^You move into position|^There is nothing|^You're already|your hiding place\!|Stalking is"
  761. gosub Advance
  762. gosub EnableDeathMessages
  763. if $monstercount = 0 then gosub NoMobs
  764. gosub HideforStalking
  765. gosub put1 "poach" "Roundtime|^At what are|^How can you"
  766. gosub DisableDeathMessages
  767. gosub CheckForDeadMob
  768. if "%deadMob" != "none" then
  769. {
  770. var deadMob none
  771. goto StealthsMain
  772. }
  773. goto StealthAttack
  774.  
  775.  
  776. FirstAid:
  777. gosub CheckSpells
  778. if $monstercount > 0 then return
  779. if $First_Aid.LearningRate > 24 then return
  780. gosub StanceShield
  781. if $righthand != red compendium then gosub Stow right
  782. gosub StartHumming
  783. gosub Get my compend
  784. gosub Put1 "open my compen" "^You open your|^That is already"
  785. gosub FirstAidMain
  786. gosub Put1 "close my compen" "^You close your"
  787. gosub Stow compendium in my pack
  788. gosub StopHumming
  789. setvar FA 0
  790. return
  791.  
  792. FirstAidMain:
  793. gosub CheckSpells
  794. if $monstercount > 0 then return
  795. if %FA = 1 then return
  796. if $monstercount > $danceMax then gosub kill
  797. if %t is > 90 then gosub Hunt
  798. if $First_Aid.LearningRate > 24 then return
  799. gosub StartHumming
  800. gosub FirstAidStudy
  801. goto FirstAidMain
  802.  
  803. FirstAidStudy:
  804. if $monstercount > 0 then return
  805. if $monstercount > $danceMax then gosub kill
  806. gosub Put1 "study my compen" "^With a sudden|^Why do you need to|^You begin|Roundtime"
  807. gosub Put1 "turn my compen" "^You turn to the section"
  808. return
  809.  
  810.  
  811. Hunt2:
  812. gosub CheckBleeder
  813. if $Power_Perceive.LearningRate < 15 then
  814. {
  815. gosub Retreat
  816. gosub Perceive
  817. }
  818. if $Perception.LearningRate > 32 then return
  819. gosub retreat
  820. timer stop
  821. timer clear
  822. timer start
  823. gosub put1 "hunt" "^You take note|^You find yourself unable"
  824. if $Appraisal.LearningRate < 9 then
  825. {
  826. gosub Retreat
  827. gosub app %mobs quick
  828. }
  829. gosub Retreat
  830. return
  831.  
  832.  
  833.  
  834.  
  835. Hunt:
  836. gosub CheckBleeder
  837. if $Power_Perceive.LearningRate < 15 then gosub Perceive
  838. if $Perception.LearningRate > 32 then return
  839. timer stop
  840. timer clear
  841. timer start
  842. if $Appraisal.LearningRate < 9 then gosub app %mobs quick
  843. gosub put1 "hunt" "^You take note|^You find yourself unable"
  844. return
  845.  
  846. NoMobs:
  847. gosub CheckBleeder
  848. gosub CheckSpells
  849. if %t is > 90 then gosub Hunt
  850. gosub CheckBleeder
  851. if $monstercount > 0 then return
  852. gosub CheckRest
  853. gosub StartHumming
  854. if $Perception.LearningRate < 35 then
  855. {
  856. var stowedItemR none
  857. var stowedItemL none
  858. if $righthandnoun != "" then
  859. {
  860. var stowedItemR $righthandnoun
  861. if $righthandnoun = bow then gosub UnloadSB
  862. gosub stow right
  863. }
  864. if $lefthandnoun != "" then
  865. {
  866. var stowedItemL $lefthandnoun
  867. gosub stow left
  868. }
  869. var noMobs 1
  870. #gosub Stanceshield
  871. #gosub get my %juggler
  872. #gosub Juggle
  873. #gosub stow right
  874. gosub Juggling
  875. gosub NoMobsPM
  876. gosub FirstAid
  877. gosub Waiting4mobs
  878. if %stowedItemR != "none" then gosub get my %stowedItemR
  879. if %stowedItemL != "none" then gosub get my %stowedItemL
  880. if $righthandnoun = "bow" then gosub Load my long arro
  881. var noMobs 0
  882. #gosub ForagingTrain1
  883. }
  884. goto NoMobs
  885.  
  886. Waiting4mobs:
  887. gosub CheckBleeder
  888. if $monstercount > 0 then return
  889. pause 30
  890. put look
  891. goto Waiting4Mobs
  892.  
  893. ForagingTrain:
  894. gosub Dodge
  895. gosub stanceevasion
  896.  
  897. ForagingTrain1:
  898. pause 15
  899. put exp
  900. if $monstercount > 0 then return
  901. goto ForagingTrain1
  902.  
  903. ForageTrain2:
  904. gosub put1 "collect stem" "^Roundtime"
  905. gosub put1 "kick pile" "^You take a step"
  906. if $monstercount > 0 then return
  907. goto ForageTrain2
  908.  
  909. Foraging:
  910. gosub CheckBleeder
  911. if $Foraging.LearningRate > 30 then return
  912. {
  913. var stowedItem none
  914. if $righthandnoun != "" then
  915. {
  916. var stowedItem $righthandnoun
  917. gosub stow right
  918. }
  919. var stowedItem none
  920. if $lefthandnoun != "" then
  921. {
  922. var stowedItem $lefthandnoun
  923. gosub stow left
  924. }
  925. pause .5
  926. gosub put1 "collect laven" "You manage|You wander|You forage|You\'re sure|^Roundtime"
  927. gosub put1 "kick pile" "I could not|You take"
  928. goto Foraging
  929.  
  930. SpillOver:
  931. if $monstercount > 0 then return
  932. if $Perception.LearningRate < 34 then return
  933. gosub Retreat
  934. pause 3
  935. gosub Retreat
  936. pause 3
  937. gosub Retreat
  938. goto SpillOver
  939.  
  940. StanceParry:
  941. gosub get my sword
  942. gosub Parry
  943. gosub put1 "stance parry" "^You are now set to use"
  944. var stanceParry 1
  945. var stanceEvasion 0
  946. return
  947.  
  948. StanceShield:
  949. gosub Dodge
  950. gosub put1 "stance shield" "^You are now set to use"
  951. var stanceParry 0
  952. var stanceEvasion 0
  953. return
  954.  
  955.  
  956. StanceEvasion:
  957. gosub Dodge
  958. gosub put1 "stance evasion" "^You are now set to use"
  959. var stanceParry 0
  960. var stanceEvasion 1
  961. return
  962.  
  963. CheckStance2:
  964. if $Parry_Ability.LearningRate > 25 and $Shield_Usage.LearningRate > 25 and %stanceEvasion = 0 then gosub StanceEvasion
  965. else
  966. {
  967. if $Parry_Ability.LearningRate < 25 and %stanceParry = 0 then gosub StanceParry
  968. else
  969. {
  970. if $Shield_Usage.LearningRate < 25 and $Parry_Ability.LearningRate > 25 and %stanceParry = 1 then gosub StanceShield
  971. }
  972. }
  973. return
  974.  
  975. SkinMob:
  976. if $Skinning.LearningRate > 34 then return
  977. #gosub Retreat
  978. gosub stanceshield
  979. var skinMob 0
  980. gosub Awaken
  981. gosub put1 "arrange all" "Roundtime|^Arrange what\?|making this impossible\."
  982. gosub Put1 "skin" "Roundtime|^Skin what\?"
  983. if $lefthand = "bloodvine hide" then gosub put1 "empty left" "^You drop"
  984. if $righthand = "bloodvine hide" then gosub put1 "empty right" ^You drop"
  985. return
  986.  
  987. UnloadSB:
  988. gosub put1 "unload" "^But your|^You unload|^Round|^You don't have"
  989. gosub stow left
  990. gosub stow right
  991. return
  992.  
  993. BundleMySkin:
  994. if contains("$roomobjs", "a lumpy bundle") then gosub put1 "get bundle" "^You are already|^You pick up"
  995. else
  996. {
  997. gosub get bund rope
  998. }
  999. gosub get hide
  1000. gosub put1 "bundle" "^You carefully fit|^That's not going|^Where did you|^You bundle up"
  1001. if %bundlefull = 1 then
  1002. {
  1003. gosub drop bundle
  1004. gosub get bund rope
  1005. gosub put1 "bundle" "^You bundle up|^That's not going|^Where did you|^You carefully fit"
  1006. var bundlefull 0
  1007. }
  1008. if contains("$roomobjs", "pale bloodvine hide") then gosub BundleOF
  1009. gosub drop bundle
  1010. return
  1011.  
  1012. BundleOF:
  1013. if !contains("$roomobjs", "pale bloodvine hide") then return
  1014. gosub get hide
  1015. gosub put1 "bundle" "^You bundle up|^That's not going|^You carefully|^Where did you"
  1016. goto BundleOF
  1017.  
  1018. Juggling:
  1019. gosub CheckBleeder
  1020. gosub CheckSpells
  1021. {
  1022. var stowedItem none
  1023. if $righthandnoun != "" then
  1024. {
  1025. var stowedItem $righthandnoun
  1026. gosub stow right
  1027. }
  1028. var stowedItem none
  1029. if $lefthandnoun != "" then
  1030. {
  1031. var stowedItem $lefthandnoun
  1032. gosub stow left
  1033. }
  1034. pause .5
  1035. gosub Get my %juggler
  1036. gosub JuggleMain
  1037. gosub Stow %juggler
  1038. return
  1039.  
  1040. JuggleMain:
  1041. gosub CheckBleeder
  1042. gosub CheckSpells
  1043. if $monstercount > 0 then return
  1044. if $Perception.LearningRate > 25 then return
  1045. gosub StartHumming
  1046. if %canjuggle = 0 then return
  1047. gosub Juggle
  1048. goto JuggleMain
  1049.  
  1050. Juggle:
  1051. if $monstercount > 0 then return
  1052. matchre Return ^You toss
  1053. matchre Return ^Your injuries make juggling impossible
  1054. matchre Juggle \.\.\.wait
  1055. matchre Juggling ^But you're not holding
  1056. matchre Return ^You cannot juggle in
  1057. put juggle my %juggler
  1058. matchwait
  1059.  
  1060.  
  1061.  
  1062. NoMobsPM:
  1063. gosub CheckBleeder
  1064. gosub CheckSpells
  1065. gosub StopHumming
  1066. var stowedItem none
  1067. if $righthandnoun != "" then
  1068. {
  1069. var stowedItem $righthandnoun
  1070. gosub stow right
  1071.  
  1072. }
  1073. var stowedItem none
  1074. if $lefthandnoun != "" then
  1075. {
  1076. var stowedItem $lefthandnoun
  1077. gosub stow left
  1078. }
  1079. pause .5
  1080. gosub NoMobsPM2
  1081. gosub ReleaseSpell
  1082. gosub stow armband
  1083. return
  1084.  
  1085. NoMobsPM2:
  1086. gosub CheckBleeder
  1087. gosub CheckSpells
  1088. if $monstercount > 0 then return
  1089. if $Arcana.LearningRate > 32 then return
  1090. if $lefthand != "bronze armband" then
  1091. {
  1092. gosub put1 "get %cambrinth" "^You get a|^You are already"
  1093. gosub put1 "swap" "^You move a|^You have nothing"
  1094. }
  1095. gosub Prep %PMSpell
  1096. gosub Charge %cambrinth %MDAmount
  1097. gosub Charge %cambrinth %MDAmount
  1098. gosub Focus my %cambrinth
  1099. gosub Cast
  1100. gosub CheckMana 85
  1101. goto NoMobsPM2
  1102. return
  1103.  
  1104. Kill:
  1105. gosub Retreat
  1106. gosub CheckBleeder
  1107. gosub StopHumming
  1108. gosub Put1 "bob" "^You bob suddenly, lowering yourself into a smaller target\.|^At what are you trying to bob"
  1109. gosub Stanceevasion
  1110. var stowedItemR none
  1111. var stowedItemL none
  1112. if $righthand != Empty then
  1113. {
  1114. var stowedItemR $righthandnoun
  1115. gosub Stow right
  1116. }
  1117. if $lefthand != Empty then
  1118. {
  1119. var stowedItemL $lefthandnoun
  1120. gosub Stow left
  1121. }
  1122. gosub get %sbWeapon
  1123. gosub killMain
  1124. gosub stow %sbWeapon
  1125. gosub get %stowedItemR
  1126. if %stowedItemL != none then gosub get %stowedItemL
  1127. return
  1128.  
  1129. KillMain:
  1130. gosub CheckBleeder
  1131. if $monstercount <= $danceMax then return
  1132. gosub CheckSpells
  1133. gosub StanceEvasion
  1134. gosub Retreat
  1135. gosub FaceLastMob
  1136.  
  1137. KillAttack:
  1138. gosub CheckBleeder
  1139. gosub GetArrow
  1140. gosub CheckSpells
  1141. gosub Retreat
  1142. gosub Load my long arro
  1143. gosub CheckBleeder
  1144. gosub retreat
  1145. gosub Aim
  1146. gosub retreat
  1147. gosub EnableDeathMessages
  1148. gosub DoAttack fire
  1149. gosub DisableDeathMessages
  1150. gosub CheckForDeadMob
  1151. if "%deadMob" != "none" then
  1152. {
  1153. var deadMob none
  1154. goto KillMain
  1155. }
  1156. goto KillAttack
  1157.  
  1158.  
  1159. CheckBleeder:
  1160. if %tendchest = 0 then return
  1161. else
  1162. {
  1163. setvar tendchest 0
  1164. gosub put1 "tend my chest" "^You work carefully at tending|^You skillfully remove"
  1165. return
  1166. }
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172. ImDead2:
  1173. put #play alarm.wav
  1174. pause 1
  1175. goto ImDead2
  1176.  
  1177. ImDead:
  1178. gosub Retreat
  1179. put #play alarm.wav
  1180. pause 3
  1181. gosub Retreat
  1182. goto ImDead
Add Comment
Please, Sign In to add comment