Empath Self-Healing Suite (script)

From elanthipedia
Jump to: navigation, search
Empath Self-Healing Suite (script)
Category utility,Empath
Front-end Genie
Author Isharon


Description

These scripts heal wounds by casting Heal, Heal Wounds, and Heal Scars.

  • Heal: Uses Heal to heal all wounds and scars. (This is often faster than using Heal Wounds and Heal Scars but not as fast as using Fountain of Creation and/or Regenerate.) The script uses cambrinth.
  • Heal for Newbies: This script uses only Heal Wounds and Heal Scars and does not use cambrinth.
  • Heal Most: This script uses cambrinth to heal everything except the Empath's external wounds. (Head and nerve wounds are healed to prevent interference with spell-casting.) External wounds that are severe or worse will be reduced to a more manageable level. (Severe arm and hand wounds prevent tending.) The wound healing uses Heal Wounds; the scar healing uses Heal.
  • Heal for Bleeders: This script uses cambrinth to heal everything except the Empath's bleeding external wounds. (Head and nerve wounds are healed to prevent interference with spell-casting.) External wounds that are severe or worse will be reduced to a more manageable level. (Severe arm and hand wounds prevent tending.) The wound healing uses Heal Wounds; the scar healing uses Heal.
  • Heal Scars: This script uses cambrinth and Heal to heal scars. It is sometimes used by the other self-healing scripts, so you need to install this script and name it healscar.

Instructions

Syntax

None of these scripts requires any additional syntax with the exception of Heal Scars, which requires you to specify the total amount of mana that you wish to use per cast. (For example, .HEALSCAR 15.)

Required Genie Settings

Some of these scripts use cambrinth (worn or held). You need to open your character's variables file and add a variable for cambrinth.

#var {cambrinth} {your cambrinth}

You will also need to set the "half cap" variables for Heal, Heal Wounds, and Heal Scars. These variables determine the total amount of mana that you will channel into these spells. The half value is intended to be the average of the minimum prep and your personal mana cap. For example, the minimum prep for Heal Wounds is 1. If you can cast it at 35 mana, the half cap value would be 18 (the average of 35 and 1).

#var {half.heal} {your half cap for Heal}
#var {half.hw} {your half cap for Heal Wounds}
#var {half.hs} {your half cap for Heal Scars}

This script automates the setting of spell variables.

Changelog

12/6/2014

  • Increased speed.

11/15/2013

  • Added sound alert to end of scripts.
  • Fixed hangup at end of performance.

3/6/2013

  • Updated for Empaths 3.0, including the use of global variables to determine mana amounts.

1/29/2012

  • Reduced the amount of mana used by Heal for Newbies to make it better for unskilled Empaths.

1/4/2012

  • Increased amount of mana that is used to cast Heal on scars.

04/28/2011

  • Fixed a bug in Heal that was healing only internal head wounds in the magic-hindering section.

03/31/2011

  • Squashed an annoying bug in Heal for Newbies.

Scripts

Heal

action var fullprep yes when ^You feel fully prepared to cast your spell
evalmath harness.heal round(($half.heal) / 2)
evalmath harness.hw round(($half.hw) / 3)
evalmath harness.hs round(($half.hs) / 3)

send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything

start:
var All_Clean 0
var SKIN_MYW 0
var SKIN_MYS 0
var HEAD_MYW 0
var HEAD_MYS 0
var NECK_MYW 0
var CHEST_MYW 0
var ABDOMEN_MYW 0
var BACK_MYW 0
var TAIL_MYW 0
var RIGHT_ARM_MYW 0
var LEFT_ARM_MYW 0
var RIGHT_HAND_MYW 0
var LEFT_HAND_MYW 0
var RIGHT_LEG_MYW 0
var LEFT_LEG_MYW 0
var RIGHT_EYE_MYW 0
var LEFT_EYE_MYW 0
var NECK_MYS 0
var CHEST_MYS 0
var ABDOMEN_MYS 0
var BACK_MYS 0
var TAIL_MYS 0
var RIGHT_ARM_MYS 0
var LEFT_ARM_MYS 0
var RIGHT_HAND_MYS 0
var LEFT_HAND_MYS 0
var RIGHT_LEG_MYS 0
var LEFT_LEG_MYS 0
var RIGHT_EYE_MYS 0
var LEFT_EYE_MYS 0

pause
EmpathWounds:
echo ***** Checking for magic-hindering wounds *****
send perceive health self
action setvariable TEMP $1_$2 when ^Wounds to the (LEFT|RIGHT) (\w+):$
action setvariable TEMP $1 when ^Wounds to the (\w+):$
action setvariable %TEMP_MYW 1 when Fresh (External|Internal):.*?\-\-\s+insignificant$
action setvariable %TEMP_MYS 1 when Scars (External|Internal):.*?\-\-\s+insignificant$
action setvariable %TEMP_MYW 2 when Fresh (External|Internal):.*?\-\-\s+negligible$
action setvariable %TEMP_MYS 2 when Scars (External|Internal):.*?\-\-\s+negligible$
action setvariable %TEMP_MYW 3 when Fresh (External|Internal):.*?\-\-\s+minor$
action setvariable %TEMP_MYS 3 when Scars (External|Internal):.*?\-\-\s+minor$
action setvariable %TEMP_MYW 4 when Fresh (External|Internal):.*?\-\-\s+more than minor$
action setvariable %TEMP_MYS 4 when Scars (External|Internal):.*?\-\-\s+more than minor$
action setvariable %TEMP_MYW 5 when Fresh (External|Internal):.*?\-\-\s+harmful$
action setvariable %TEMP_MYS 5 when Scars (External|Internal):.*?\-\-\s+harmful$
action setvariable %TEMP_MYW 6 when Fresh (External|Internal):.*?\-\-\s+very harmful$
action setvariable %TEMP_MYS 6 when Scars (External|Internal):.*?\-\-\s+very harmful$
action setvariable %TEMP_MYW 7 when Fresh (External|Internal):.*?\-\-\s+damaging$
action setvariable %TEMP_MYS 7 when Scars (External|Internal):.*?\-\-\s+damaging$
action setvariable %TEMP_MYW 8 when Fresh (External|Internal):.*?\-\-\s+very damaging$
action setvariable %TEMP_MYS 8 when Scars (External|Internal):.*?\-\-\s+very damaging$
action setvariable %TEMP_MYW 9 when Fresh (External|Internal):.*?\-\-\s+severe$
action setvariable %TEMP_MYS 9 when Scars (External|Internal):.*?\-\-\s+severe$
action setvariable %TEMP_MYW 10 when Fresh (External|Internal):.*?\-\-\s+very severe$
action setvariable %TEMP_MYS 10 when Scars (External|Internal):.*?\-\-\s+very severe$
action setvariable %TEMP_MYW 11 when Fresh (External|Internal):.*?\-\-\s+devastating$
action setvariable %TEMP_MYS 11 when Scars (External|Internal):.*?\-\-\s+devastating$
action setvariable %TEMP_MYW 12 when Fresh (External|Internal):.*?\-\-\s+very devastating$
action setvariable %TEMP_MYS 12 when Scars (External|Internal):.*?\-\-\s+very devastating$
action setvariable %TEMP_MYW 13 when Fresh (External|Internal):.*?\-\-\s+useless$
action setvariable %TEMP_MYS 13 when Scars (External|Internal):.*?\-\-\s+useless$
waitforre ^You .+ vitality
pause

echo ***** Wound variables set! *****

BadWounds:

if %SKIN_MYW > 0 then
{
var part skin
gosub HW
}

if %SKIN_MYS > 0 then
{
var part nerves
gosub HS
}

if %HEAD_MYW > 0 then
{
var part head
gosub HW
}

if %HEAD_MYS > 0 then
{
var part head
gosub HS
}

wounds:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing your wounds *****
send prep heal
var fullprep no
pause 2

send charge my $cambrinth %harness.heal
wait
pause

send charge my $cambrinth %harness.heal
wait
pause

send invoke my $cambrinth
wait
pause

if %fullprep = no then waiteval %fullprep = yes
send cast wound
matchre scars ^Your wounds are completely healed|^Your scars are completely healed|^Your body is completely healed
matchwait 1
goto wounds

scars:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing your scars *****
send prep heal
var fullprep no
pause 2

send charge my $cambrinth %harness.heal
wait
pause

send charge my $cambrinth %harness.heal
wait
pause

send invoke my $cambrinth
wait
pause

if %fullprep = no then waiteval %fullprep = yes
send cast scar
matchre end ^Your wounds are completely healed|^Your scars are completely healed|^Your body is completely healed
matchwait 1
goto scars

HW:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing wounds to your %part *****
send prep hw
var fullprep no
pause 2
send charge my $cambrinth %harness.hw
wait
pause .5
send charge my $cambrinth %harness.hw
wait
pause .5
send invoke my $cambrinth
wait
pause .5
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HW

HS:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing scars to your %part *****
send prep hs
var fullprep no
pause 2
send charge my $cambrinth %harness.hs
wait
pause .5
send charge my $cambrinth %harness.hs
wait
pause .5
send invoke my $cambrinth
wait
pause .5
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HS

return:
return

end:
send perceive health self
waitforre ^You .+ vitality
pause
echo ***** You are fully healed *****
put #play ScriptEnd

Heal for Newbies

#debuglevel 10
action var fullprep yes when ^You feel fully prepared to cast your spell
action goto End when ^\.\.\.no injuries to speak of\.$
evalmath harness.heal round(($half.heal) / 2)
evalmath harness.hw round(($half.hw) / 3)
evalmath harness.hs round(($half.hs) / 3)

send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything

Diagnose:
echo ***** Diagnosing your wounds and scars *****
gosub WoundVars
#gosub BadWounds
gosub Wounds
gosub Scars
goto Diagnose

pause
WoundVars:
var All_Clean 0
var HEAD_MYEW 0
var HEAD_MYIW 0
var HEAD_MYES 0
var HEAD_MYIS 0
var NECK_MYEW 0
var NECK_MYIW 0
var CHEST_MYEW 0
var CHEST_MYIW 0
var ABDOMEN_MYEW 0
var ABDOMEN_MYIW 0
var BACK_MYEW 0
var BACK_MYIW 0
var TAIL_MYEW 0
var TAIL_MYIW 0
var RIGHT_EYE_MYEW 0
var RIGHT_EYE_MYIW 0
var LEFT_EYE_MYEW 0
var LEFT_EYE_MYIW 0
var RIGHT_ARM_MYEW 0
var RIGHT_ARM_MYIW 0
var LEFT_ARM_MYEW 0
var LEFT_ARM_MYIW 0
var RIGHT_HAND_MYEW 0
var RIGHT_HAND_MYIW 0
var LEFT_HAND_MYEW 0
var LEFT_HAND_MYIW 0
var RIGHT_LEG_MYEW 0
var RIGHT_LEG_MYIW 0
var LEFT_LEG_MYEW 0
var LEFT_LEG_MYIW 0
var NECK_MYES 0
var NECK_MYIS 0
var CHEST_MYES 0
var CHEST_MYIS 0
var ABDOMEN_MYES 0
var ABDOMEN_MYIS 0
var BACK_MYES 0
var BACK_MYIS 0
var TAIL_MYES 0
var TAIL_MYIS 0
var RIGHT_EYE_MYES 0
var RIGHT_EYE_MYIS 0
var LEFT_EYE_MYES 0
var LEFT_EYE_MYIS 0
var RIGHT_ARM_MYES 0
var RIGHT_ARM_MYIS 0
var LEFT_ARM_MYES 0
var LEFT_ARM_MYIS 0
var RIGHT_HAND_MYES 0
var RIGHT_HAND_MYIS 0
var LEFT_HAND_MYES 0
var LEFT_HAND_MYIS 0
var RIGHT_LEG_MYES 0
var RIGHT_LEG_MYIS 0
var LEFT_LEG_MYES 0
var LEFT_LEG_MYIS 0
var SKIN_MYEW 0
var SKIN_MYIW 0
var SKIN_MYES 0
var SKIN_MYIS 0
pause
action setvariable TEMP $1_$2 when ^Wounds to the (LEFT|RIGHT) (\w+):$
action setvariable TEMP $1 when ^Wounds to the (\w+):$
action setvariable %TEMP_MYEW 1 when Fresh External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIW 1 when Fresh Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYES 1 when Scars External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIS 1 when Scars Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYEW 2 when Fresh External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIW 2 when Fresh Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYES 2 when Scars External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIS 2 when Scars Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYEW 3 when Fresh External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIW 3 when Fresh Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYES 3 when Scars External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIS 3 when Scars Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYEW 4 when Fresh External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIW 4 when Fresh Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYES 4 when Scars External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIS 4 when Scars Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYEW 5 when Fresh External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIW 5 when Fresh Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYES 5 when Scars External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIS 5 when Scars Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYEW 6 when Fresh External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIW 6 when Fresh Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYES 6 when Scars External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIS 6 when Scars Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYEW 7 when Fresh External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIW 7 when Fresh Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYES 7 when Scars External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIS 7 when Scars Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYEW 8 when Fresh External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIW 8 when Fresh Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYES 8 when Scars External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIS 8 when Scars Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYEW 9 when Fresh External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIW 9 when Fresh Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYES 9 when Scars External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIS 9 when Scars Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYEW 10 when Fresh External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIW 10 when Fresh Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYES 10 when Scars External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIS 10 when Scars Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYEW 11 when Fresh External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIW 11 when Fresh Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYES 11 when Scars External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIS 11 when Scars Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYEW 12 when Fresh External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIW 12 when Fresh Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYES 12 when Scars External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIS 12 when Scars Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYEW 13 when Fresh External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIW 13 when Fresh Internal:.*?\-\-\s+useless$
action setvariable %TEMP_MYES 13 when Scars External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIS 13 when Scars Internal:.*?\-\-\s+useless$
send perceive health self
waitforre ^You .+ vitality
wait
pause
return

BadWounds:
if %SKIN_MYEW > 0 || %SKIN_MYIW > 0 then
{
var part skin
gosub HW
gosub HS
}
if %SKIN_MYES > 0 || %SKIN_MYIS > 0 then
{
var part nerves
gosub HS
}
if %HEAD_MYEW > 0 || %HEAD_MYIW > 0 then
{
var part head
gosub HW
gosub HS
}
if %HEAD_MYES > 0 || %HEAD_MYIS > 0 then
{
var part nerves
gosub HS
}
return

Wounds:
echo ***** Diagnosing your wounds *****
gosub WoundVars
if %NECK_MYEW > 0 || %NECK_MYIW > 0 then
{
var part neck
gosub HW
}
if %CHEST_MYEW > 0 || %CHEST_MYIW > 0 then
{
var part chest
gosub HW
}
if %ABDOMEN_MYEW > 0 || %ABDOMEN_MYIW > 0 then
{
var part abdomen
gosub HW
}
if %BACK_MYEW > 0 || %BACK_MYIW > 0 then
{
var part back
gosub HW
}
if %TAIL_MYEW > 0 || %TAIL_MYIW > 0 then
{
var part tail
gosub HW
}
if %RIGHT_ARM_MYEW > 0 || %RIGHT_ARM_MYIW > 0 then
{
var part right arm
gosub HW
}
if %LEFT_ARM_MYEW > 0 || %LEFT_ARM_MYIW > 0 then
{
var part left arm
gosub HW
}
if %RIGHT_HAND_MYEW > 0 || %RIGHT_HAND_MYIW > 0 then
{
var part right hand
gosub HW
}
if %LEFT_HAND_MYEW > 0 || %LEFT_HAND_MYIW > 0 then
{
var part left hand
gosub HW
}
if %RIGHT_LEG_MYEW > 0 || %RIGHT_LEG_MYIW > 0 then
{
var part right leg
gosub HW
}
if %LEFT_LEG_MYEW > 0 || %LEFT_LEG_MYIW > 0 then
{
var part left leg
gosub HW
}
if %RIGHT_EYE_MYEW > 0 || %RIGHT_EYE_MYIW > 0 then
{
var part right eye
gosub HW
}
if %LEFT_EYE_MYEW > 0 || %LEFT_EYE_MYIW > 0 then
{
var part left eye
gosub HW
}
return

Scars:
echo ***** Diagnosing your scars *****
gosub WoundVars
if %NECK_MYES > 0 || %NECK_MYIS > 0 then
{
var part neck
gosub HS
}
if %CHEST_MYES > 0 || %CHEST_MYIS > 0 then
{
var part chest
gosub HS
}
if %ABDOMEN_MYES > 0 || %ABDOMEN_MYIS > 0 then
{
var part abdomen
gosub HS
}
if %BACK_MYES > 0 || %BACK_MYIS > 0 then
{
var part back
gosub HS
}
if %TAIL_MYES > 0 || %TAIL_MYIS > 0 then
{
var part tail
gosub HS
}
if %RIGHT_ARM_MYES > 0 || %RIGHT_ARM_MYIS > 0 then
{
var part right arm
gosub HS
}
if %LEFT_ARM_MYES > 0 || %LEFT_ARM_MYIS > 0 then
{
var part left arm
gosub HS
}
if %RIGHT_HAND_MYES > 0 || %RIGHT_HAND_MYIS > 0 then
{
var part right hand
gosub HS
}
if %LEFT_HAND_MYES > 0 || %LEFT_HAND_MYIS > 0 then
{
var part left hand
gosub HS
}
if %RIGHT_LEG_MYES > 0 || %RIGHT_LEG_MYIS > 0 then
{
var part right leg
gosub HS
}
if %LEFT_LEG_MYES > 0 || %LEFT_LEG_MYIS > 0 then
{
var part left leg
gosub HS
}
if %RIGHT_EYE_MYES > 0 || %RIGHT_EYE_MYIS > 0 then
{
var part right eye
gosub HS
}
if %LEFT_EYE_MYES > 0 || %LEFT_EYE_MYIS > 0 then
{
var part left eye
gosub HS
}
return

HW:
if $mana < 80 then waiteval $mana >= 80
echo ***** Now healing wounds to your %part *****
send prepare hw
var fullprep no
pause 2
send harness %harness.hw
wait
pause
send harness %harness.hw
wait
pause .25
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HW

HS:
if $mana < 80 then waiteval $mana >= 80
echo ***** Now healing scars to your %part *****
send prepare hs
var fullprep no
pause 2
send harness %harness.hs
wait
pause
send harness %harness.hs
wait
pause .25
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HS

return:
return

End:
echo ***** You are completely healed *****
put #play ScriptEnd

Heal Most

action var fullprep yes when ^You feel fully prepared to cast your spell
evalmath harness.heal round(($half.heal) / 2)
evalmath harness.hw round(($half.hw) / 3)
evalmath harness.hs round(($half.hs) / 3)

send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything

echo ***** Diagnosing your high-priority wounds *****
gosub WoundVars
gosub BadWounds
gosub ReduceWounds
gosub InternalWounds
goto End

pause
WoundVars:
var All_Clean 0
var HEAD_MYEW 0
var HEAD_MYIW 0
var HEAD_MYES 0
var HEAD_MYIS 0
var NECK_MYEW 0
var NECK_MYIW 0
var CHEST_MYEW 0
var CHEST_MYIW 0
var ABDOMEN_MYEW 0
var ABDOMEN_MYIW 0
var BACK_MYEW 0
var BACK_MYIW 0
var TAIL_MYEW 0
var TAIL_MYIW 0
var RIGHT_EYE_MYEW 0
var RIGHT_EYE_MYIW 0
var LEFT_EYE_MYEW 0
var LEFT_EYE_MYIW 0
var RIGHT_ARM_MYEW 0
var RIGHT_ARM_MYIW 0
var LEFT_ARM_MYEW 0
var LEFT_ARM_MYIW 0
var RIGHT_HAND_MYEW 0
var RIGHT_HAND_MYIW 0
var LEFT_HAND_MYEW 0
var LEFT_HAND_MYIW 0
var RIGHT_LEG_MYEW 0
var RIGHT_LEG_MYIW 0
var LEFT_LEG_MYEW 0
var LEFT_LEG_MYIW 0
var SKIN_MYEW 0
var SKIN_MYIW 0
var SKIN_MYES 0
var SKIN_MYIS 0
pause
send perceive health self
action setvariable TEMP $1_$2 when ^Wounds to the (LEFT|RIGHT) (\w+):$
action setvariable TEMP $1 when ^Wounds to the (\w+):$
action setvariable %TEMP_MYEW 1 when Fresh External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIW 1 when Fresh Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYES 1 when Scars External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIS 1 when Scars Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYEW 2 when Fresh External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIW 2 when Fresh Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYES 2 when Scars External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIS 2 when Scars Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYEW 3 when Fresh External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIW 3 when Fresh Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYES 3 when Scars External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIS 3 when Scars Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYEW 4 when Fresh External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIW 4 when Fresh Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYES 4 when Scars External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIS 4 when Scars Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYEW 5 when Fresh External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIW 5 when Fresh Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYES 5 when Scars External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIS 5 when Scars Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYEW 6 when Fresh External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIW 6 when Fresh Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYES 6 when Scars External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIS 6 when Scars Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYEW 7 when Fresh External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIW 7 when Fresh Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYES 7 when Scars External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIS 7 when Scars Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYEW 8 when Fresh External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIW 8 when Fresh Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYES 8 when Scars External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIS 8 when Scars Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYEW 9 when Fresh External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIW 9 when Fresh Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYES 9 when Scars External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIS 9 when Scars Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYEW 10 when Fresh External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIW 10 when Fresh Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYES 10 when Scars External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIS 10 when Scars Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYEW 11 when Fresh External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIW 11 when Fresh Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYES 11 when Scars External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIS 11 when Scars Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYEW 12 when Fresh External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIW 12 when Fresh Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYES 12 when Scars External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIS 12 when Scars Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYEW 13 when Fresh External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIW 13 when Fresh Internal:.*?\-\-\s+useless$
action setvariable %TEMP_MYES 13 when Scars External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIS 13 when Scars Internal:.*?\-\-\s+useless$
waitforre ^You .+ vitality
wait
pause
return

BadWounds:
if %SKIN_MYEW > 0 || %SKIN_MYIW > 0 then
{
var part skin
gosub HWR
gosub HS
}
if %SKIN_MYES > 0 || %SKIN_MYIS > 0 then
{
var part nerves
gosub HS
}
if %HEAD_MYEW > 0 || %HEAD_MYIW > 0 then
{
var part head
gosub HWR
gosub HS
}
if %HEAD_MYES > 0 || %HEAD_MYIS > 0 then
{
var part nerves
gosub HS
}
return

ReduceWounds:
if %RIGHT_ARM_MYEW > 0&& %RIGHT_ARM_MYEW > 8 then
{
var part right arm
gosub HWM 2
}
if %LEFT_ARM_MYEW > 0&& %LEFT_ARM_MYEW > 8 then
{
var part left arm
gosub HWM 2
}
if %RIGHT_HAND_MYEW > 0&& %RIGHT_HAND_MYEW > 8 then
{
var part right hand
gosub HWM 2
}
if %LEFT_HAND_MYEW > 0&& %LEFT_HAND_MYEW > 8 then
{
var part left hand
gosub HWM 2
}
if %NECK_MYEW > 0&& %NECK_MYEW > 8 then
{
var part neck
gosub HWM 3
}
if %CHEST_MYEW > 0&& %CHEST_MYEW > 8 then
{
var part chest
gosub HWM 3
}
if %ABDOMEN_MYEW > 0&& %ABDOMEN_MYEW > 8 then
{
var part abdomen
gosub HWM 3
}
if %BACK_MYEW > 0&& %BACK_MYEW > 8 then
{
var part back
gosub HWM 3
}
if %TAIL_MYEW > 0&& %TAIL_MYEW > 8 then
{
var part tail
gosub HWM 2
}
if %RIGHT_LEG_MYEW > 0&& %RIGHT_LEG_MYEW > 8 then
{
var part right leg
gosub HWM 2
}
if %LEFT_LEG_MYEW > 0&& %LEFT_LEG_MYEW > 8 then
{
var part left leg
gosub HWM 2
}
if %RIGHT_EYE_MYEW > 0&& %RIGHT_EYE_MYEW > 8 then
{
var part right eye
gosub HWM 3
}
if %LEFT_EYE_MYEW > 0&& %LEFT_EYE_MYEW > 8 then
{
var part left eye
gosub HWM 3
}
return

InternalWounds:
echo ***** Diagnosing your internal wounds *****
gosub WoundVars
if %NECK_MYIW > 0 then
{
var part neck
gosub HWI
}
if %CHEST_MYIW > 0 then
{
var part chest
gosub HWI
}
if %ABDOMEN_MYIW > 0 then
{
var part abdomen
gosub HWI
}
if %BACK_MYIW > 0 then
{
var part back
gosub HWI
}
if %TAIL_MYIW > 0 then
{
var part tail
gosub HWI
}
if %RIGHT_ARM_MYIW > 0 then
{
var part right arm
gosub HWI
}
if %LEFT_ARM_MYIW > 0 then
{
var part left arm
gosub HWI
}
if %RIGHT_HAND_MYIW > 0 then
{
var part right hand
gosub HWI
}
if %LEFT_HAND_MYIW > 0 then
{
var part left hand
gosub HWI
}
if %RIGHT_LEG_MYIW > 0 then
{
var part right leg
gosub HWI
}
if %LEFT_LEG_MYIW > 0 then
{
var part left leg
gosub HWI
}
if %RIGHT_EYE_MYIW > 0 then
{
var part right eye
gosub HWI
}
if %LEFT_EYE_MYIW > 0 then
{
var part left eye
gosub HWI
}
return

HS:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing your scars *****
send prep heal
var fullprep no
pause 2

send charge my $cambrinth %harness.heal
wait
pause

send charge my $cambrinth %harness.heal
wait
pause

send invoke my $cambrinth
wait
pause

gosub casttimer
send cast scar
matchre end ^Your wounds are completely healed|^Your scars are completely healed|^Your body is completely healed
matchwait 1
goto scars

casttimer:
if $spelltime >= 12 then
{
return
}
pause
goto casttimer

HWR:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing wounds to your %part *****
send prep hw
var fullprep no
pause 2
send charge my $cambrinth %harness.hw
wait
pause .5
send charge my $cambrinth %harness.hw
wait
pause .5
send invoke my $cambrinth
wait
pause .5
gosub casttimer
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HWR

HWI:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing internal wounds to your %part *****
send prep hw
var fullprep no
pause 2
send charge my $cambrinth %harness.hw
wait
pause .5
send charge my $cambrinth %harness.hw
wait
pause .5
send invoke my $cambrinth
wait
pause .5
gosub casttimer
send cast %part internal
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HWI

HS:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing scars to your %part *****
send prep hs
var fullprep no
pause 2
send charge my $cambrinth %harness.hs
wait
pause .5
send charge my $cambrinth %harness.hs
wait
pause .5
send invoke my $cambrinth
wait
pause .5
gosub casttimer
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HS

HWM:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now reducing external wounds to your %part *****
put prep hw $0
pause 3
CAST:
send cast %part
waitforre ^You gesture
goto return

return:
return

End:
echo ***** Now healing your scars *****
send .healscar 32

Heal for Bleeders

action var fullprep yes when ^You feel fully prepared to cast your spell
evalmath harness.heal round(($half.heal) / 2)
evalmath harness.hw round(($half.hw) / 3)
evalmath harness.hs round(($half.hs) / 3)

send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything

echo ***** Diagnosing your high-priority wounds *****
gosub WoundVars
gosub BadWounds
gosub ReduceWounds
gosub ExternalWounds
gosub InternalWounds
goto End

pause
WoundVars:
var All_Clean 0
var HEAD_MYEW 0
var HEAD_MYIW 0
var HEAD_MYES 0
var HEAD_MYIS 0
var NECK_MYEW 0
var NECK_MYIW 0
var CHEST_MYEW 0
var CHEST_MYIW 0
var ABDOMEN_MYEW 0
var ABDOMEN_MYIW 0
var BACK_MYEW 0
var BACK_MYIW 0
var TAIL_MYEW 0
var TAIL_MYIW 0
var RIGHT_EYE_MYEW 0
var RIGHT_EYE_MYIW 0
var LEFT_EYE_MYEW 0
var LEFT_EYE_MYIW 0
var RIGHT_ARM_MYEW 0
var RIGHT_ARM_MYIW 0
var LEFT_ARM_MYEW 0
var LEFT_ARM_MYIW 0
var RIGHT_HAND_MYEW 0
var RIGHT_HAND_MYIW 0
var LEFT_HAND_MYEW 0
var LEFT_HAND_MYIW 0
var RIGHT_LEG_MYEW 0
var RIGHT_LEG_MYIW 0
var LEFT_LEG_MYEW 0
var LEFT_LEG_MYIW 0
var SKIN_MYEW 0
var SKIN_MYIW 0
var SKIN_MYES 0
var SKIN_MYIS 0
pause
send perceive health self
action setvariable TEMP $1_$2 when ^Wounds to the (LEFT|RIGHT) (\w+):$
action setvariable TEMP $1 when ^Wounds to the (\w+):$
action setvariable %TEMP_MYEW 1 when Fresh External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIW 1 when Fresh Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYES 1 when Scars External:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYIS 1 when Scars Internal:.*?\-\-\s+insignificant$
action setvariable %TEMP_MYEW 2 when Fresh External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIW 2 when Fresh Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYES 2 when Scars External:.*?\-\-\s+negligible$
action setvariable %TEMP_MYIS 2 when Scars Internal:.*?\-\-\s+negligible$
action setvariable %TEMP_MYEW 3 when Fresh External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIW 3 when Fresh Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYES 3 when Scars External:.*?\-\-\s+minor$
action setvariable %TEMP_MYIS 3 when Scars Internal:.*?\-\-\s+minor$
action setvariable %TEMP_MYEW 4 when Fresh External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIW 4 when Fresh Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYES 4 when Scars External:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYIS 4 when Scars Internal:.*?\-\-\s+more than minor$
action setvariable %TEMP_MYEW 5 when Fresh External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIW 5 when Fresh Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYES 5 when Scars External:.*?\-\-\s+harmful$
action setvariable %TEMP_MYIS 5 when Scars Internal:.*?\-\-\s+harmful$
action setvariable %TEMP_MYEW 6 when Fresh External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIW 6 when Fresh Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYES 6 when Scars External:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYIS 6 when Scars Internal:.*?\-\-\s+very harmful$
action setvariable %TEMP_MYEW 7 when Fresh External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIW 7 when Fresh Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYES 7 when Scars External:.*?\-\-\s+damaging$
action setvariable %TEMP_MYIS 7 when Scars Internal:.*?\-\-\s+damaging$
action setvariable %TEMP_MYEW 8 when Fresh External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIW 8 when Fresh Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYES 8 when Scars External:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYIS 8 when Scars Internal:.*?\-\-\s+very damaging$
action setvariable %TEMP_MYEW 9 when Fresh External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIW 9 when Fresh Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYES 9 when Scars External:.*?\-\-\s+severe$
action setvariable %TEMP_MYIS 9 when Scars Internal:.*?\-\-\s+severe$
action setvariable %TEMP_MYEW 10 when Fresh External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIW 10 when Fresh Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYES 10 when Scars External:.*?\-\-\s+very severe$
action setvariable %TEMP_MYIS 10 when Scars Internal:.*?\-\-\s+very severe$
action setvariable %TEMP_MYEW 11 when Fresh External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIW 11 when Fresh Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYES 11 when Scars External:.*?\-\-\s+devastating$
action setvariable %TEMP_MYIS 11 when Scars Internal:.*?\-\-\s+devastating$
action setvariable %TEMP_MYEW 12 when Fresh External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIW 12 when Fresh Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYES 12 when Scars External:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYIS 12 when Scars Internal:.*?\-\-\s+very devastating$
action setvariable %TEMP_MYEW 13 when Fresh External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIW 13 when Fresh Internal:.*?\-\-\s+useless$
action setvariable %TEMP_MYES 13 when Scars External:.*?\-\-\s+useless$
action setvariable %TEMP_MYIS 13 when Scars Internal:.*?\-\-\s+useless$
waitforre ^You .+ vitality
wait
pause
return

BadWounds:
if %SKIN_MYEW > 0 || %SKIN_MYIW > 0 then
{
var part skin
gosub HWR
gosub HS
}
if %SKIN_MYES > 0 || %SKIN_MYIS > 0 then
{
var part nerves
gosub HS
}
if %HEAD_MYEW > 0 || %HEAD_MYIW > 0 then
{
var part head
gosub HWR
gosub HS
}
if %HEAD_MYES > 0 || %HEAD_MYIS > 0 then
{
var part nerves
gosub HS
}
return

ReduceWounds:
if %RIGHT_ARM_MYEW > 0&& %RIGHT_ARM_MYEW > 8 then
{
var part right arm
gosub HWM 2
}
if %LEFT_ARM_MYEW > 0&& %LEFT_ARM_MYEW > 8 then
{
var part left arm
gosub HWM 2
}
if %RIGHT_HAND_MYEW > 0&& %RIGHT_HAND_MYEW > 8 then
{
var part right hand
gosub HWM 2
}
if %LEFT_HAND_MYEW > 0&& %LEFT_HAND_MYEW > 8 then
{
var part left hand
gosub HWM 2
}
if %NECK_MYEW > 0&& %NECK_MYEW > 8 then
{
var part neck
gosub HWM 3
}
if %CHEST_MYEW > 0&& %CHEST_MYEW > 8 then
{
var part chest
gosub HWM 3
}
if %ABDOMEN_MYEW > 0&& %ABDOMEN_MYEW > 8 then
{
var part abdomen
gosub HWM 3
}
if %BACK_MYEW > 0&& %BACK_MYEW > 8 then
{
var part back
gosub HWM 3
}
if %TAIL_MYEW > 0&& %TAIL_MYEW > 8 then
{
var part tail
gosub HWM 2
}
if %RIGHT_LEG_MYEW > 0&& %RIGHT_LEG_MYEW > 8 then
{
var part right leg
gosub HWM 2
}
if %LEFT_LEG_MYEW > 0&& %LEFT_LEG_MYEW > 8 then
{
var part left leg
gosub HWM 2
}
if %RIGHT_EYE_MYEW > 0&& %RIGHT_EYE_MYEW > 8 then
{
var part right eye
gosub HWM 3
}
if %LEFT_EYE_MYEW > 0&& %LEFT_EYE_MYEW > 8 then
{
var part left eye
gosub HWM 3
}
return

ExternalWounds:
echo ***** Diagnosing your external wounds *****
gosub WoundVars
if %NECK_MYEW > 0&& %NECK_MYEW < 5 then
{
var part neck
gosub HWR
}
if %CHEST_MYEW > 0&& %CHEST_MYEW < 5 then
{
var part chest
gosub HWR
}
if %ABDOMEN_MYEW > 0&& %ABDOMEN_MYEW < 5 then
{
var part abdomen
gosub HWR
}
if %BACK_MYEW > 0&& %BACK_MYEW < 5 then
{
var part back
gosub HWR
}
if %TAIL_MYEW > 0&& %TAIL_MYEW < 5 then
{
var part tail
gosub HWR
}
if %RIGHT_ARM_MYEW > 0&& %RIGHT_ARM_MYEW < 5 then
{
var part right arm
gosub HWR
}
if %LEFT_ARM_MYEW > 0&& %LEFT_ARM_MYEW < 5 then
{
var part left arm
gosub HWR
}
if %RIGHT_HAND_MYEW > 0&& %RIGHT_HAND_MYEW < 5 then
{
var part right hand
gosub HWR
}
if %LEFT_HAND_MYEW > 0&& %LEFT_HAND_MYEW < 5 then
{
var part left hand
gosub HWR
}
if %RIGHT_LEG_MYEW > 0&& %RIGHT_LEG_MYEW < 5 then
{
var part right leg
gosub HWR
}
if %LEFT_LEG_MYEW > 0&& %LEFT_LEG_MYEW < 5 then
{
var part left leg
gosub HWR
}
if %RIGHT_EYE_MYEW > 0&& %RIGHT_EYE_MYEW < 5 then
{
var part right eye
gosub HWR
}
if %LEFT_EYE_MYEW > 0&& %LEFT_EYE_MYEW < 5 then
{
var part left eye
gosub HWR
}
return

InternalWounds:
echo ***** Diagnosing your internal wounds *****
gosub WoundVars
if %NECK_MYIW > 0 then
{
var part neck
gosub HWI
}
if %CHEST_MYIW > 0 then
{
var part chest
gosub HWI
}
if %ABDOMEN_MYIW > 0 then
{
var part abdomen
gosub HWI
}
if %BACK_MYIW > 0 then
{
var part back
gosub HWI
}
if %TAIL_MYIW > 0 then
{
var part tail
gosub HWI
}
if %RIGHT_ARM_MYIW > 0 then
{
var part right arm
gosub HWI
}
if %LEFT_ARM_MYIW > 0 then
{
var part left arm
gosub HWI
}
if %RIGHT_HAND_MYIW > 0 then
{
var part right hand
gosub HWI
}
if %LEFT_HAND_MYIW > 0 then
{
var part left hand
gosub HWI
}
if %RIGHT_LEG_MYIW > 0 then
{
var part right leg
gosub HWI
}
if %LEFT_LEG_MYIW > 0 then
{
var part left leg
gosub HWI
}
if %RIGHT_EYE_MYIW > 0 then
{
var part right eye
gosub HWI
}
if %LEFT_EYE_MYIW > 0 then
{
var part left eye
gosub HWI
}
return

HS:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing your scars *****
send prep heal
var fullprep no
pause 2

send charge my $cambrinth %harness.heal
wait
pause

send charge my $cambrinth %harness.heal
wait
pause

send invoke my $cambrinth
wait
pause

if %fullprep = no then waiteval %fullprep = yes
send cast scar
matchre end ^Your wounds are completely healed|^Your scars are completely healed|^Your body is completely healed
matchwait 1
goto scars

HWR:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing wounds to your %part *****
send prep hw
var fullprep no
pause 2
send charge my $cambrinth %harness.hw
wait
pause .5
send charge my $cambrinth %harness.hw
wait
pause .5
send invoke my $cambrinth
wait
pause .5
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HWR

HWI:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing internal wounds to your %part *****
send prep hw
var fullprep no
pause 2
send charge my $cambrinth %harness.hw
wait
pause .5
send charge my $cambrinth %harness.hw
wait
pause .5
send invoke my $cambrinth
wait
pause .5
if %fullprep = no then waiteval %fullprep = yes
send cast %part internal
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HWI

HS:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now healing scars to your %part *****
send prep hs
var fullprep no
pause 2
send charge my $cambrinth %harness.hs
wait
pause .5
send charge my $cambrinth %harness.hs
wait
pause .5
send invoke my $cambrinth
wait
pause .5
if %fullprep = no then waiteval %fullprep = yes
send cast %part reverse
matchre return appears? completely healed\.$
matchre return but it cannot heal what is not injured
matchwait 1
goto HS

HWM:
if $mana < 40 then waiteval $mana >= 40
echo ***** Now reducing external wounds to your %part *****
put prep hw $0
pause 3
CAST:
send cast %part
waitforre ^You gesture
goto return

return:
return

End:
echo ***** Now healing your scars *****
send .healscar 32

Heal Scars

action var fullprep yes when ^You feel fully prepared to cast your spell
evalmath harness.heal round(($half.heal) / 2)
evalmath harness.hw round(($half.hw) / 3)
evalmath harness.hs round(($half.hs) / 3)

send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything

cast:
send prep heal
var fullprep no
pause 2

send charge my $cambrinth %harness.heal
wait
pause

send charge my $cambrinth %harness.heal
wait
pause

send invoke my $cambrinth
wait
pause

casttimer:
if $spelltime >= 12 then
{
goto castspell
}
pause
goto casttimer

castspell:
send cast scar
matchre end ^Your wounds are completely healed|^Your scars are completely healed|^Your body is completely healed
matchwait 1

if $mana < 40 then waiteval $mana >= 40
goto cast

end:
echo ***** You have no more scars *****
put #play ScriptEnd