Chivalry Tanking Script by demlar
# Some things taken from Jaseowns scripts
#Modified by: Demlar
# UO Outlands
##IMPORTANT!!!
## **** this script currently assumes you have the auto unquip and reequip in razor ****
# requip is this way because we wont need to requip soon.
# have a seperate script that taunts all and plays this script after. (if needed dm and will add it to the list of scripts *patch will prevent this as some point*)
#Version 1.2
#Changes:
# 1.1
# 1: Updated useCurePotionBelowHp now should work properly.
# 2: Codex update should populate the codex
#
# 1.2
# 1: Fixed CodexHotbar to work properly
#
#############################################################
@setvar! chivCD 30000
@setvar! skinningCD 3000
#
# USER PREFERENCES!!
@setvar! autoSkinning 0
@setvar! autoDropGold 1
@setvar! useCurePotionBelowHp 80
@setvar! useCleansebyFire 1
#mainly for bosses
if not timerexists ChivHeal1
createtimer ChivHeal1
settimer ChivHeal1 chivCD
endif
if not timerexists ChivHeal2
createtimer ChivHeal2
settimer ChivHeal2 chivCD
endif
if not timerexists chivCloseWounds
createtimer chivCloseWounds
settimer chivCloseWounds chivCD
endif
if not timerexists chivCleansebyFire
createtimer chivCleansebyFire
settimer chivCleansebyFire chivCD
endif
if not timerexists skinningTimer
createtimer skinningTimer
settimer skinningTimer skinningCD
endif
if not timerexists HPots
createtimer HPots
settimer HPots 10000
endif
#Finding Your Weapons and Shield
overhead 'setting hands'
if findlayer self righthand as item
@setvar! rightEquip item
endif
if findlayer self lefthand as item
@setvar! leftEquip item
endif
#Starting up verbose info your missing!
overhead 'Checking inventory'
if count 'bandages' = 0
overhead 'No Bandages!'
overhead 'Get some Bandages!' 88
elseif not findtype 'Yellow Potion' backpack
overhead 'No Greater heal pots'
overhead 'Get some Greater heal pots!' 88
elseif not findtype 'Orange Potion' backpack
overhead 'No Greater cure pots'
overhead 'Get some Greater Cure pots!' 88
endif
#lets stop the script, if we dont have anything. are you tanking hits bro?
if count 'bandages' = 0 or not findtype "Yellow Potion" backpack or not findtype "Orange Potion" backpack
overhead "Stopping script" 88
stop
endif
if findtype "shield codex|fencing codex|macing codex|sword codex|archery codex|wrestling codex" backpack as item
getlabel item codexDesc
while not gumpexists 2016719803
overhead "Loading Codex Hotbar"
say "[CodexHotBar"
wait 350
endwhile
endif
#No Hands left behind
###########################################
if rhandempty
lift rightEquip
drop 'self' RightHand
endif
if lhandempty
lift leftEquip
drop 'self' LeftHand
endif
endif
###############################################
while not dead
if not bandaging and hp < maxhp and count 'bandages' > 0
hotkey 'Bandage Self'
wait 300
endif
#check for food buffs
if not findbuff "food satisfaction" and findtype 'tray' backpack as food
dclick food
wait 500
endif
#poison removal sequence
if poisoned and timer chivCleansebyFire > chivCD and useCleansebyFire = 1
overhead "Cleansing Poison With Fire"
wait 250
say '[CleanseByFire'
if insysmsg "Holy symbols remaining:"
settimer chivCleansebyFire 0
endif
endif
if poisoned and hp < useCurePotionBelowHp
while poisoned
if findtype 'Orange Potion' backpack
overhead 'Cure Pot Used!'
hotkey "Drink Cure"
wait 1000
endif
endwhile
endif
#need a pot check here dont do it if we dont have any pots!!!
if poisoned and hp <= 40
overhead "Emergency Poison Removal Activated"
if not findbuff "I cannot gate travel" and timer ChivHeal1 > chivCD
say '[HolyLight'
if insysmsg "Holy symbols remaining:"
settimer ChivHeal1 0
endif
endif
endif
if findbuff "bleed" and timer chivCloseWounds > chivCD and useCloseWounds > 0
overhead "Bleed Detected. Closing wounds."
say '[Closewounds'
wait 500
if insysmsg "Holy symbols remaining:"
settimer chivCloseWounds 0
wait 350
else
settimer chivCloseWounds 27000
endif
endif
//Reduce Disease Damage
if findbuff "disease" and timer chivCloseWounds > 30000 and useCloseWounds > 0
say '[Closewounds'
overhead "You got diseased. Closing Wounds."
if insysmsg "Holy symbols remaining:"
settimer chivCloseWounds 0
wait 350
else
settimer chivCloseWounds 27000
endif
endif
//Emergency Heal Sequence
if diffhits > 30
if timer ChivHeal1 > chivCD
say '[Holylight'
wait 250
if insysmsg "Holy symbols remaining:"
settimer ChivHeal1 0
endif
endif
endif
wait 350
if diffhits > 50
if timer ChivHeal2 > chivCD
say '[NobleSacrifice'
wait 350
target self
wait 350
if targetexists
hotkey 'cancel current target'
hotkey 'clear target queue'
endif
if insysmsg "Holy symbols remaining:"
settimer ChivHeal2 0
endif
endif
endif
#need a pot check here dont do it if we dont have any pots!!!
if diffhits > 50 and timer HPots > 10000 and findtype 'Yellow Potion' backpack
wait 250
hotkey 'Drink Heal'
overhead "Healing Pot Used"
settimer HPots 0
wait 550
endif
if autoSkinning = 1 and findtype "corpse" ground -1 -1 2 as skinCorpse
if findtype "Elven Spellblade" backpack and timer skinningTimer >= skinningCD
while not targetexists
useskill 'forensicevaluation'
endwhile
if targetexists beneficial or targetexists neutral
hotkey "Target Self"
wait 200
settimer skinningTimer 0
@ignore skinCorpse
endif
endif
endif
if autoDropGold = 1 and findbuff "weaken" and weight > maxweight
if findtype "gold coin" backpack as item
lift item 2000
droprelloc 0 0
wait 200
if insysmsg "cannot drop anything"
drop backpack -1 -1 -1
endif
wait 650
else
overhead "We are overweight and cannot drop anything" 34
endif
endif
// Trapped
if paralyzed
if findtype "pouch" backpack 38
yell "[pouch"
wait 200
else
overhead "Out of Pouches!" 34
endif
endif
// capture world saving outside the loop
if insysmsg 'world is saving'
for 30
overhead 'Waiting for world save...'
wait 1000
if insysmsg 'save complete'
overhead 'Save complete - continue on!' 88
replay
endif
endfor
endif
endwhile