Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include base2.cmd
- include exp.cmd
- #debug 4
- put #var rotation 1
- #### VARS ######
- #IMPORTANT CHANGES
- #ADD BLOCK BUYING
- #ADJUST SONG FOR PERFORMANCE
- #TRY TO ADD IN OM AGAIN BUT MORE CAREFULLY
- #ADD INVENTORY COUNT CONTROL TO SELL BUNDLES WHEN NECESSARY
- #ADD CHECK FOR DISEASE TO KEEP FROM IDLING AT EMPATH FOREVER
- #AUTOMATICALLY COLLECT DIRT
- #things to be changed
- # adding OM for attunement and RUE
- #increase sorcery protection (grabbing weapons and stowing them if hand burnt off) + go to empath after backlash + #noncombat scripting after magic debuff
- #
- # add shield of light but make sure that if it is not active, that it puts on shield (targe) (ADDED BUT NEEDS CHECK)
- # with EASE included, maybe make it so it always skins for more money
- # changed skinning to always skin even if skinning skill is locked. Hope to generate more money
- #add timer for empaths to go back to hunting when diseased
- #add triggers for backlash to get healed
- ######TRADER ISSUES
- ## FIX ROOMNUMBERS
- # BLOCKS TO BRAID
- # FIX BLOCKS IN GENERAL
- # NEW KRONSELL
- #ETC.
- setvariable trainbow 0
- setvariable trainslings 0
- setvariable crossbowammo bolt
- setvariable armorswapping 1
- ##swappable weapon variable##
- setvariable swappables LE|2HE
- setvariable sorceryspell aura sight 10
- var Critter ram
- var Pelt sheepskin
- put #config monstercountignorelist lynx|leopard|panther|owl|shadowling|Shadow Servant|appears dead|(dead)|construct|zombie|priestess
- put #var Weapon.SB bola
- put #var Weapon.LB throwing hammer
- put #var Weapon.2HB bar mace
- put #var Weapon.SE scimitar
- put #var Weapon.LE bastard sword
- put #var Weapon.2HE bastard sword
- put #var Weapon.Pole spear
- put #var Weapon.Staves nightstick
- put #var Weapon.LT bola
- put #var Weapon.HT throwing hammer
- put #var Weapon.Xbow stonebow
- put #var Weapon.Bow longbow
- put #var Weapon.Slings sling
- put #var Weapon.Brawl scimitar
- put #var Weapon.OH scimitar
- put #var Weapon.TM bastard sword
- var block 1
- var Lootlist map|scroll|parchment|tablet|ostracon|bark|roll|Silver coin|gold coin
- action var Health 0 when You have no significant injuries.|eval $health = 100
- action var Health 1 when Get some healing and then try it again.|You are in no condition to do that.|skin rash
- action put empty left;goto quitter when You try to stuff your
- action put quit when eval $health < 25
- action var dropped $1;goto quitter when Your (.*)falls to the ground.
- action (quitter) goto quitter when eval $health < 55
- action (quitter) goto quitter when You are in no condition to do that.
- action (quitter) goto quitter when Your (left|right) hand is too injured to do that.
- action (quitter) goto quitter when You can't pick that up with your hand that damaged.
- action (quit) instant put quit when eval $health < 40
- action instant stow $0 when Your (.*) falls to the ground.
- action put #script pause when eval $connected = 0
- var stealth.timer 0
- var tactics.timer 0
- var hunting.timer 0
- var appraisal.timer 0
- timer clear
- timer start
- var attacks 0
- action math attacks add 1 when \[Roundtime
- var misses 0
- action math misses add 1 when dodges|evades
- var start.time %t
- var start.misses 0
- var start.attacks 0
- action (exp) on
- gosub action.exp
- var Lock 15
- var Unlock 5
- gosub armoron
- #gosub map oshu
- #gosub critter
- #put .feint5
- #waitforre END OF FEINT
- if_1 if %1 > 0 then put #var Rotation %1
- goto Rotation
- #### MAIN LOOP ######
- Rotation:
- gosub clear
- if $Rotation > 15 then put #var Rotation 1
- if $Rotation > 0 then goto $Rotation
- var Exp.count 2
- put #var Rotation 1
- 1:
- gosub bow Bow
- 2:
- gosub bow Xbow
- 3:
- gosub bow Slings
- 4:
- put #var Rotation 5
- goto $Rotation
- gosub melee Brawl
- 5:
- gosub thrown LT
- 6:
- put #var Rotation 10
- goto $Rotation
- gosub thrown HT
- 7:
- put #var Rotation 10
- goto $Rotation
- gosub melee SE
- 8:
- #put #var rotation 10
- #goto $Rotation
- gosub melee SB
- 9:
- put #var Rotation 10
- goto $Rotation
- gosub melee LE
- 10:
- gosub melee LB
- 11:
- gosub melee 2HE
- 12:
- gosub melee 2HB
- 13:
- gosub melee Pole
- 14:
- gosub melee Staves
- 15:
- #if %Health = 1 then goto quitter
- ECHO END OF SCRIPT
- pause 1
- echo Ending Exp.count is %Exp.count and Rotation is on $Rotation
- gosub Exp.Step
- put #var Rotation 0
- goto Rotation
- Exp.Step:
- if %Exp.count < $Rotation then return
- if %Lock < 30 then {
- math Lock add 5
- math Unlock add 5
- }
- if %Lock = 30 then {
- gosub mech
- var Lock 15
- var Unlock 5
- }
- gosub action.exp
- return
- #### MAIN SUBS #####
- melee:
- math Exp.count add $Exp.$1
- put #math Rotation + $Exp.$1
- if $Exp.$1 = 1 then return
- var Skill $1
- ECHO Skill $1
- ECHO Exp.count %Exp.count
- Echo next.rotation $Rotation
- Echo Your $1 is at $Exp.$1
- put #echo >log Starting %Skill
- put #echo >log red Bow $Bow.LearningRate | Xbow $Crossbow.LearningRate | Slings $Slings.LearningRate | Brawl $Brawling.LearningRate | LT $Light_Thrown.LearningRate | HT $Heavy_Thrown.LearningRate | SE $Small_Edged.LearningRate | SB $Small_Blunt.LearningRate | LE $Large_Edged.LearningRate | LB $Large_Blunt.LearningRate | 2HE $Twohanded_Edged.LearningRate | 2HB $Twohanded_Blunt.LearningRate | Pole $Polearms.LearningRate | Staves $Staves.LearningRate | OH $Offhand_Weapon.LearningRate
- var hand right
- if "$1" = "OH" then var hand left
- if matchre("$righthand",("bow|crossbow|stonebow")) then gosub wear $1
- if !matchre("$righthand","$Weapon.%Skill|Empty") then gosub sheath right
- if matchre("$lefthand","$Weapon.%Skill") then gosub swap
- gosub stance parry
- var attack feint
- if "%Skill" = "Brawl" then var attack gouge
- if "%Skill" = "OH" then {
- var attack feint left
- gosub stance shield
- }
- gosub wield $Weapon.%Skill
- if contains("%swappables","%Skill") then gosub swap.%Skill
- gosub sub.skills
- #if $Exp.Stealth != 1 then gosub armoroff
- gosub armorswap
- gosub melee.loop
- if %armor = 0 then gosub armoron
- gosub sheath $Weapon.%Skill
- evalmath finished %t -%start.time
- put #echo >log It took you %finished seconds to lock %Skill
- var start.time %t
- evalmath current.misses %misses - %start.misses
- evalmath current.attacks %attacks - %start.attacks
- put #echo >log You attacked %current.attacks times and missed %current.misses times with your $Weapon.%Skill!
- var start.attacks %attacks
- var start.misses %misses
- put #math Rotation + $Exp.%Skill
- return
- armoroff:
- if %armorswapping = 0 then return
- gosub remove greave
- gosub stow greave
- var armor 0
- return
- armoron:
- if %armorswapping = 0 then return
- gosub put2 "get greave" "wear greave" "You attach|You are"
- var armor 1
- return
- armorswap:
- if %armorswapping = 0 then return
- if $Exp.Plate$Exp.Brig$Exp.Chain = 111 then return
- var wear chain
- if $Exp.Chain != 1 then var wear chain
- else if $Exp.Plate != 1 then var wear light
- else if $Exp.Brig != 1 then var wear scale
- if %worn = %wear then return
- gosub E.wield Empty
- gosub remove greaves
- gosub stow greaves
- gosub get %wear greaves
- gosub wear %wear greaves
- var worn %wear
- return
- melee.loop:
- if $Exp.%Skill = 1 then {
- echo $1 is at $Exp.$1
- echo %Skill is at $Exp.%Skill
- return
- }
- if $monstercount < 1 then gosub idle
- gosub combat
- gosub attack %attack
- if %skin = 1 then gosub search
- goto melee.loop
- thrown:
- math Exp.count add $Exp.$1
- put #math Rotation + $Exp.$1
- if $Exp.$1 = 1 then return
- var Skill $1
- ECHO Skill $1
- ECHO Exp.count %Exp.count
- Echo next.rotation $Rotation
- Echo Your $1 is at $Exp.$1
- put #echo >log Starting %Skill
- put #echo >log red Bow $Bow.LearningRate | Xbow $Crossbow.LearningRate | Slings $Slings.LearningRate | Brawl $Brawling.LearningRate | LT $Light_Thrown.LearningRate | HT $Heavy_Thrown.LearningRate | SE $Small_Edged.LearningRate | SB $Small_Blunt.LearningRate | LE $Large_Edged.LearningRate | LB $Large_Blunt.LearningRate | 2HE $Twohanded_Edged.LearningRate | 2HB $Twohanded_Blunt.LearningRate | Pole $Polearms.LearningRate | Staves $Staves.LearningRate | OH $Offhand_Weapon.LearningRate
- var hand right
- if matchre("$righthand",("bow|crossbow|stonebow")) then gosub wear $1
- if !matchre("$righthand","$Weapon.%Skill|Empty") then gosub sheath right
- gosub wield $Weapon.%Skill
- gosub stance shield
- gosub armorswap
- gosub sub.skills
- gosub throw.loop
- gosub stow $Weapon.%Skill
- evalmath finished %t -%start.time
- put #echo >log It took you %finished seconds to lock %Skill
- var start.time %t
- evalmath current.misses %misses - %start.misses
- evalmath current.attacks %attacks - %start.attacks
- put #echo >log You attacked %current.attacks times and missed %current.misses times with your $Weapon.%Skill!
- var start.attacks %attacks
- var start.misses %misses
- put #math Rotation + $Exp.%Skill
- return
- throw.loop:
- if $Exp.%Skill = 1 then {
- echo %Skill is at $Exp.%Skill
- return
- }
- if $monstercount < 1 then gosub idle
- gosub combat
- gosub attack lob
- gosub get $Weapon.%Skill
- if %skin = 1 then gosub search
- goto throw.loop
- bow:
- math Exp.count add $Exp.$1
- put #math Rotation + $Exp.$1
- if $Exp.$1 = 1 then return
- var Skill $1
- ECHO Skill $1
- ECHO Exp.count %Exp.count
- Echo next.rotation $Rotation
- Echo Your $1 is at $Exp.$1
- put #echo >log Starting %Skill
- put #echo >log red Bow $Bow.LearningRate | Xbow $Crossbow.LearningRate | Slings $Slings.LearningRate | Brawl $Brawling.LearningRate | LT $Light_Thrown.LearningRate | HT $Heavy_Thrown.LearningRate | SE $Small_Edged.LearningRate | SB $Small_Blunt.LearningRate | LE $Large_Edged.LearningRate | LB $Large_Blunt.LearningRate | 2HE $Twohanded_Edged.LearningRate | 2HB $Twohanded_Blunt.LearningRate | Pole $Polearms.LearningRate | Staves $Staves.LearningRate | OH $Offhand_Weapon.LearningRate
- gosub stance shield
- if matchre("$righthand",("bow|crossbow|stonebow")) then gosub wear $1
- if !matchre("$righthand","$Weapon.%Skill|Empty") then gosub sheath right
- var ammo %crossbowammo
- if "%Skill" = "Bow" then var ammo arrow
- if "%Skill" = "Slings" then var ammo shard
- gosub remove $Weapon.%Skill
- gosub sub.skills
- if $Exp.Stealth != 1 then gosub armoroff
- else gosub armorswap
- gosub bow.loop
- if %armor = 0 then gosub armoron
- gosub wear $Weapon.%Skill
- evalmath finished %t -%start.time
- put #echo >log It took you %finished seconds to lock %Skill
- var start.time %t
- evalmath current.misses %misses - %start.misses
- evalmath current.attacks %attacks - %start.attacks
- put #echo >log You attacked %current.attacks times and missed %current.misses times with your $Weapon.%Skill!
- var start.attacks %attacks
- var start.misses %misses
- put #math Rotation + $Exp.%Skill
- return
- bow.loop:
- if $Exp.%Skill = 1 then {
- echo %Skill is at $Exp.%Skill
- return
- }
- if $monstercount < 1 then gosub idle
- if !contains("$Weapon.%Skill","$righthand") then gosub get $Weapon.%Skill
- #gosub Put2 "get my %ammo" "load my $Weapon.%Skill" "^Roundtime|^Your .+ is already loaded"
- gosub L.Wield %ammo
- gosub load
- #gosub aim.bow
- if "$righthand" = "Empty" then gosub remove $Weapon.%Skill
- gosub Put2 "stow left" "aim" "^You begin to target|^You are already targetting that!|^You shift your|^There is nothing else to face!"
- gosub combat
- gosub aiming
- if $hidden = 1 then gosub attack poach
- else gosub attack fire
- if %skin = 1 then gosub search
- gosub ammo
- goto bow.loop
- aim.bow:
- pause .1
- match aim.bow Sorry,
- match aim.bow ...wait
- match return You begin to target
- match return You are already
- match return There is nothing
- match get.bow isn't a ranged
- match get.bow You don't have a ranged weapon to aim with!
- put stow left
- put aim
- matchwait
- get.bow:
- gosub stow left
- gosub stow right
- gosub remove $Weapon.%Skill
- if !contains("$Weapon.%Skill","$righthand") then gosub get $Weapon.%Skill
- return
- ########## CRITTER ##########################
- Critter:
- gosub map 35
- if "$roomplayers" != "" then gosub map 34
- pause .2
- if "$roomplayers" != "" then gosub map 33
- pause .2
- if "$roomplayers" != "" then gosub map 41
- return
- ######### CLIMBING SUB #############################
- Climb:
- gosub Steeds.to.Shard
- put .noobclimbshard
- waitforre CLIMB DONE
- Climb.end:
- gosub Shard.to.Steeds
- put #math Rotation add 1
- return
- Shard.to.Steeds:
- if $zoneid = 67 then {
- if $Time.isDay = 1 then gosub map s gate
- else {
- gosub map e gate
- gosub map s gate
- # }
- }
- if $zoneid = 68 then gosub map 63
- if $zoneid = 68 and $roomid = 63 then return
- pause .2
- ECHO LOOPING CUZ FAILED GETTING TO STEEDS
- goto Shard.to.Steeds
- Steeds.to.Shard:
- if $zoneid = 68 then {
- if $Time.isDay = 1 then gosub map s gate
- else gosub e gate
- }
- if $zoneid = 66 then gosub e gate
- if $zoneid = 67 then return
- pause .2
- ECHO LOOPING CUZ FAILED GETTING TO SHARD
- goto Steeds.to.Shard
- ####### MECH SUB ##############3
- Mech:
- gosub map 5
- gosub unload
- gosub wear $righthandnoun
- gosub stow left
- gosub stow right
- #put .blocks
- #waitforre END OF BLOCKS
- #put .grassbraid
- #waitforre END OF BRAID
- #put .drop lead rope rucksack
- #pause 10
- #put .drop braid rope rucksack
- #pause 15
- #put #script pause drop
- gosub map 2
- gosub Critter
- put #math Rotation add 1
- goto Rotation
- ###################################################
- aiming:
- action var aiming 0 when You begin to target
- action var aiming 1 when You think you have
- timer clear
- timer start
- if $Exp.Stealth != 1 then goto aim.hide.loop
- else goto aim.loop
- return
- aim.hide.loop:
- if %t > 15 then return
- if %aiming = 1 then return
- if $hidden = 1 then pause 1
- if $hidden = 0 then {
- #gosub retreat
- gosub hide
- }
- pause .2
- goto aim.hide.loop
- aim.loop:
- if %aiming = 1 then return
- if %t > 15 then return
- if $Exp.HT != 1 then goto aim.HT
- else if $Exp.LT != 1 then goto aim.LT
- else if "%Skill" != "Bow" then gosub aim.OH
- else gosub attack weave
- pause .2
- goto aim.loop
- aim.LT:
- gosub L.Wield $Weapon.LT
- gosub attack lob left
- gosub get $Weapon.LT
- gosub attack lob left
- gosub stow $Weapon.LT
- return
- aim.HT:
- gosub L.Wield $Weapon.HT
- gosub attack lob left
- gosub get $Weapon.HT
- gosub attack lob left
- gosub stow $Weapon.HT
- pause .2
- return
- aim.OH:
- gosub L.Wield $Weapon.LT
- gosub attack feint left
- gosub attack feint left
- gosub sheath left
- pause .2
- return
- search:
- if !contains("$lefthand","Empty") and "%Skill" != "OH" then gosub stow left
- #if $Exp.Skin != 1 then gosub skinning
- gosub skinning
- if contains("$lefthand|$righthand","%Pelt") then {
- if "%Skill" = "Bow" or "%Skill" = "Xbow" then gosub wear $Weapon.%Skill
- if "%SKill" = "OH" then gosub sheath $Weapon.%Skill
- else gosub sheath $Weapon.%Skill
- gosub stow my %Pelt
- gosub bundle.tie
- }
- gosub loot treasure
- if "%Skill" = "OH" and "$lefthand" = "Empty" then {
- var hand left
- gosub wield $Weapon.OH
- }
- else if !contains("$righthand","$Weapon.%Skill") then {
- var hand right
- gosub wield $Weapon.%Skill
- }
- var skin 0
- return
- loot:
- var Return loot
- match return has already been searched for that!
- match return You should probably wait until
- match return I could not find
- match return You find nothing of interest.
- match looting was carrying
- match looting You find
- put loot $0
- goto matchwait
- looting:
- gosub gems
- loot.cycle:
- if matchre("$roomobjs",("map|scroll|parchment|tablet|ostracon|bark|\broll\b|Silver coin|coin")) then gosub stow $0
- else return
- goto loot.cycle
- Gems.tie:
- put tie pouch
- pause .2
- if "%Skill" != "OH" then gosub stow left
- else gosub stow right
- Gems:
- var Return Gems
- matchre return any more room in|^Stow what|^You just can't get|^But that's closed
- matchre Gems ^You put your|closing it once more.
- matchre New.Pouch too full to fit another gem into.
- match gems.tie You've already got a wealth of gems in there! You'd better tie it up before putting more gems inside.
- put stow gem
- goto matchwait
- New.Pouch:
- gosub sheath $Weapon.%Skill
- put empty left;empty right
- gosub remove pouch
- gosub put pouch in rucksack
- gosub get pouch from baldric
- gosub wear pouch
- put store gem pouch
- if "%Skill" = "OH" then var hand left
- else var hand right
- gosub wield $Weapon.%Skill
- goto Gems
- Sell.bundle:
- var HaveBundle 1
- action var HaveBundle 0 when Remove what?
- if matchre("$righthand|$lefthand","rope") then gosub stow rope in my rucksack
- gosub remove bundle
- gosub sell bundle
- action remove Remove what?
- if %HaveBundle = 0 then return
- goto Sell.bundle
- Bundle.tie:
- gosub put1 "tie my l bundle" " you tie the bundle, forming it into a much tighter package|Tie what?" "TIE the bundle again."
- gosub get rope
- if !contains("$righthand|$lefthand","%Pelt") then gosub get %Pelt
- gosub put1 "bundle" "You stuff|You bundle"
- gosub put2 "pull bundle" "wear bundle" "You sling|You drape|You attach|You put" "You can't"
- return
- ######### COMBAT GOSUBS ############################
- sub.skills:
- gosub tactics
- #gosub armorswap
- return
- combat:
- gosub appraisal
- if %hunting.timer < $gametime then gosub Hunter
- return
- Hunter:
- evalmath hunting.timer $gametime + 75
- gosub health
- #if %Health = 1 then goto Quitter
- gosub hunting
- gosub flee
- return
- health:
- var Health 1
- gosub put1 "health" "Your body"
- return
- flee:
- if $Exp.Ath = 1 then return
- if $monstercount = 0 then return
- if %flee.timer > $gametime then return
- evalmath flee.timer $gametime +300
- gosub put1 "flee out" "You assess|Obvious|Your attempt|You manage"
- if $Exp.Hide != 1 then {
- gosub remove greave
- gosub hide
- put unhide
- gosub hide
- put unhide
- gosub hide
- gosub wear greave
- }
- if $Exp.Out != 1 then gosub put2 "kick stems" "collect stem" "Roundtime|You cannot|The room is too|Something seems broken"
- return
- tactics:
- if $Exp.Tactics = 1 then return
- if %tactics.timer > $gametime then return
- evalmath tactics.timer $gametime + 120
- gosub put1 "anal" "a massive opening|You must be closer|Analyze what|There is nothing else to face" "weakness|tiny weakness|slight opening|small opening|moderate|good opening|large opening|substantial opening|You fail|great opening|exceptional opening"
- return
- hunting:
- if $Perception.LearningRate > 30 then return
- gosub hunt
- return
- appraisal:
- if %appraisal.timer > $gametime then return
- evalmath appraisal.timer $gametime + 60
- if $Exp.App = 1 then return
- gosub appraise %Critter quick
- return
- if $monstercount = 2 then gosub appraise second %Critter quick
- if $monstercount = 3 then gosub appraise third %Critter quick
- if $monstercount = 4 then gosub appraise third %Critter quick
- if $monstercount = 5 then gosub appraise third %Critter quick
- return
- armorswap:
- if %armorswapping = 0 then return
- if $Exp.Plate$Exp.Brig$Exp.Chain = 111 then return
- var wear chain
- if $Exp.Chain != 1 then var wear chain
- else if $Exp.Plate != 1 then var wear light
- else if $Exp.Brig != 1 then var wear scale
- if %worn = %wear then return
- if "%Skill" = "OH" then gosub stow right
- else gosub stow left
- gosub remove greaves
- gosub stow greaves
- gosub get %wear greaves
- gosub wear %wear greaves
- var worn %wear
- return
- ##### IDLE SECTION #######
- idle:
- if $monstercount > 0 then return
- put dump junk
- gosub Blocks
- gosub L.Wield Empty
- gosub collecting
- gosub scholar
- gosub stand
- goto idle
- collecting:
- if $monstercount > 0 or $Exp.Mech = 1 then return
- if contains("$roomobjs","pile") then put kick pile
- gosub collect rock
- goto collecting
- scholar:
- var comp 0
- scholar.1:
- if %comp >= 10 then return
- if $monstercount > 0 then return
- if $Exp.Schol = 1 then return
- gosub E.Wield comp
- gosub turn comp
- gosub study comp
- gosub stow comp
- math comp add 1
- goto scholar.1
- blocks:
- if %block = 0 then return
- if $monstercount > 0 or $Exp.Mlore = 1 then {
- gosub R.Wield $Weapon.%Skill
- return
- }
- gosub R.Wield shaper
- gosub L.Wield block
- if !contains("$righthand|$lefthand","block") then {
- var block 0
- gosub R.Wield $Weapon.%Skill
- return
- }
- gosub shape.block my onyx block to scorpion
- if contains("$righthand|$lefthand","bead") then gosub drop bead
- goto blocks
- shape.block:
- pause .1
- match shape.block ...wait
- match shape.block sorry,
- match drop.block damaging the block.
- match return Roundtime
- match return You need to hold the
- put shape $0
- matchwait
- drop.block:
- gosub drop block
- goto blocks
- if contains("$roomobjs","dead") then gosub loot
- gosub ammo
- if $monstercount > 0 and "$roomplayers" = "" then return
- gosub combat
- if $roomid = 321 then var next.room 301
- else evalmath next.room $roomid + 1
- gosub map %next.room
- pause .1
- goto idle
- move.1:
- gosub map 512
- if "$roomplayers" != "" then gosub map 483
- if "$roomplayers" != "" then gosub map 480
- if "$roomplayers" != "" then gosub map 484
- if "$roomplayers" != "" then gosub map 485
- if "$roomplayers" != "" then gosub map 481
- if "$roomplayers" != "" then {
- echo ROOMS FULL
- put say may I hunt with you?
- }
- return
- move.2:
- gosub map 459
- if "$roomplayers" != "" then gosub map 455
- if "$roomplayers" != "" then gosub map 457
- if "$roomplayers" != "" then gosub map 458
- if "$roomplayers" != "" then gosub map 461
- if "$roomplayers" != "" then {
- echo ROOMS FULL
- put say may I hunt with you?
- }
- return
- ####### MINOR GOSUBS ######
- swap.LE:
- gosub put1 "swap sword" "heavy edged" "two-handed edged"
- var learning Large_Edged
- return
- swap.2HE:
- gosub put1 "swap sword" "two-handed edged" "heavy edged"
- var learning Twohanded_Edged
- return
- swap.LB:
- gosub put1 "swap bar mace" "heavy blunt" "two-handed blunt"
- var learning Large_Blunt
- return
- swap.2HB:
- gosub put1 "swap bar mace" "two-handed blunt" "heavy blunt"
- var learning Twohanded_Blunt
- return
- Ammo:
- if "$lefthand" != "Empty" then gosub stow left
- #if contains("$righthand","crossbow") then gosub wear crossbow
- if matchre("$roomobjs",("bolt|shard|fist|\belonated stone\b|arrow")) then gosub stow $0
- else return
- goto Ammo
- ######## MAGIC ########
- ###### QUITTER ######
- quitter:
- action (quitter) off
- action put quit when eval $health < 20
- put #script abort feint5
- gosub stance shield
- gosub retreat
- gosub stow left
- gosub stow right
- gosub retreat
- gosub get %dropped
- put unload
- pause
- gosub stow left
- gosub stow spear
- #gosub stow hammer
- gosub stow mallet
- gosub stow throwing hammer
- gosub stow sword
- gosub stow nightstick
- gosub stow scimitar
- gosub sheath right
- gosub wear $righthandnoun
- gosub ammo
- gosub stance shield
- gosub stow left
- gosub stow right
- gosub get bola
- gosub stow bola
- gosub get throw hammer
- gosub stow hammer
- gosub Release
- gosub Hunt.to.heal
- gosub stow left
- pause 3
- gosub stow left
- gosub stow right
- put .blackfusell
- waitfor END OF KRONSELL
- gosub stow left
- gosub stow right
- action (quitter) on
- gosub stand
- gosub map 174
- gosub critter
- put .blackfushamans
- gosub map bundle
- gosub remove t bundle
- gosub put2 "sell t bundle" "stow rope" "You put|Stow what"
- gosub remove l bund
- gosub get %Pelt from l bund
- put sell l bundle
- pause
- gosub get bundling rope
- if !contains("$righthand|$lefthand","%Pelt") then gosub get %Pelt
- gosub put1 "bundle" "You stuff|You bundle"
- gosub put2 "pull bundle" "wear bundle" "You sling|You drape|You attach|You put" "You can't"
- #gosub map e gate
- gosub map bank
- put .bank
- pause 5
- #gosub map 256
- #gosub buffs
- gosub Heal.to.hunt
- gosub critter
- if "$roomplayers" != "" then gosub map 256
- else if "$roomplayers" != "" then gosub map 260
- put .vladgerm
- quitter.loop:
- PAUSE 40
- ECHO WAITING FOR FURTHER INSTRUCTIONS
- goto quitter.loop
- gosub put2 "sell l bund" "stow rope" "You put|Stow"
- gosub remove t bund
- gosub put2 "sell t bund" "stow rope" "You put|Stow
- Hunt.to.heal:
- gosub map 1
- if $roomid != 318 then gosub map heal
- if $roomid = 318 then return
- pause .2
- ECHO LOOPING Hunt.to.heal
- goto Hunt.to.heal
- Heal.to.hunt:
- gosub map 174
- if $roomid != 2 then gosub map 2
- if $roomid = 2 then goto critter
- pause .2
- ECHO LOOPING Heal.to.hunt
- goto Heal.to.hunt
- Repair:
- CheckRest:
- if $MindState > 1 then
- {
- gosub Dodge
- gosub Rest
- }
- gosub Awaken
- return
- Rest:
- var resting TRUE
- gosub StopHumming
- pause 1
- gosub Unhide
- gosub Sleep
- gosub Release
- counter set 0
- echo Clearing mind state...
- gosub RestWait
- return
- RestWait:
- counter add 1
- gosub CheckSpells
- gosub MonsterCheck
- gosub Sleep
- pause 1
- gosub Retreat
- if %c < 20 then goto RestWait
- gosub CheckMindstate
- if $MindState = 0 then
- {
- var resting FALSE
- return
- }
- counter set 0
- echo Clearing mind state...
- goto RestWait
- ##### BUFF TRIGGERS #####
- action var lastMobTypeAtMelee $1;var lastMobOrdinalAtMelee $2 when (\S+) \((\d+).+melee range\.
- action var lastMobTypeAtPole $1;var lastMobOrdinalAtPole $2 when (\S+) \((\d+).+pole weapon range\.
- action var lastMobTypeAtMissile $1;var lastMobOrdinalAtMissile $2 when (\S+) \((\d+).+missile range\.
- action var lastMobTypeAtMelee NULL;var lastMobOrdinalAtMelee NULL;var lastMobTypeAtPole NULL;var lastMobOrdinalAtPole NULL;var lastMobTypeAtMissile NULL;var lastMobOrdinalAtMissile NULL when ^ You assess your combat situation\.\.\.
- return
- ### EXTRA EXP CRAP ###
- var Unlock1 18
- var Lock1 30
- action (exp) put #var Exp.Staves 0 when eval $Staves.LearningRate < %Unlock1
- action (exp) put #var Exp.Staves 1 when eval $Staves.LearningRate > %Lock1
- action (exp) put #var Exp.Pole 0 when eval $Polearms.LearningRate < %Unlock1
- action (exp) put #var Exp.Pole 1 when eval $Polearms.LearningRate > %Lock1
- action (exp) put #var Exp.SB 0 when eval $Small_Blunt.LearningRate < %Unlock1
- action (exp) put #var Exp.SB 1 when eval $Small_Blunt.LearningRate > %Lock1
- action (exp) put #var Exp.LB 0 when eval $Large_Blunt.LearningRate < %Unlock1
- action (exp) put #var Exp.LB 1 when eval $Large_Blunt.LearningRate > %Lock1
- action (exp) put #var Exp.2HB 0 when eval $Twohanded_Blunt.LearningRate < %Unlock1
- action (exp) put #var Exp.2HB 1 when eval $Twohanded_Blunt.LearningRate > %Lock1
- action (exp) put #var Exp.LE 0 when eval $Large_Edged.LearningRate < %Unlock1
- action (exp) put #var Exp.LE 1 when eval $Large_Edged.LearningRate > %Lock1
- action (exp) put #var Exp.2HE 0 when eval $Twohanded_Edged.LearningRate < %Unlock1
- action (exp) put #var Exp.2HE 1 when eval $Twohanded_Edged.LearningRate > %Lock1
- action (exp) put #var Exp.Brawl 0 when eval $Brawling.LearningRate < %Unlock1
- action (exp) put #var Exp.Brawl 1 when eval $Brawling.LearningRate > %Lock1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement