YASSE Hitbasic (script)

From Elanthipedia
Jump to navigation Jump to search
YASSE Hitbasic (script)
Category combat
Front-end YASSE
Author Hithrael


Description

This is part of the YASSE Combat Package.

Syntax

Run as .scriptname <skinning override>, where the <skinning override> is left blank if you want to use your global settings for skinning, or as change if you want to either skin or not skin. (e.g. if your global variable is set to "yes" and you run the script as .hit change, it will temporarily change the script to avoid skinning. The next time script is run, if run normally, it will skin)

At any time (excepting when the script is skinning or looting), you can enter into the command prompt "changing weapons", where the script will pause for ten seconds to allow you to change weapons, and then go to the start prompt (selecting what fighting style) where the script will pause until a new style is selected. This will allow setting like the skinning change and amount of arrangement to retain their localized settings.

Updates

Last Updated:

  • 03/30/2011: Revision 2, improved skinning support, faster flow, better support for shields
NOTE: The script does not play well with weapons of the same shortname (e.g. battle axe versus hand axe) at this time. The script will not hang, but you may find yourself training HE instead of ME if weapons have the same shortname.
NOTE: Thrown weapon support is for non-lodging weapons only at this time.
NOTE: Ranged weapon script will hang if you run out of ammo at this time (generally not a problem if you have at least 10 ammo).
Changes made for better ranged support in the future
  • 03/14/2011: Revision 1.1b, fixed crossbow functionality which caused skinning bug
  • 03/14/2011: Revision 1.1, added basic thrown support. Ranged functionality exists, but poorly.
  • 11/20/2010: Revision 1.0

Script

set predefined on

#Add more messaging
#Search for the above language to find points in the script were more language is needed.

#Action calls
action [There is nothing else to face!] gosub foewait2
action [At what are you trying to] gosub foewait1
action [You aren't close enough to attack] gosub foewait2
action [But you are already dodging!] put parry
action [You are already in a position to parry.] put dodge
action [To whom are you speaking?] goto end
action [What are you trying to throw?] goto thrown2
action [changing weapons] goto weaponchange

#Action calls for combat/critter death
#Add more messaging
action [lifeless mound] gosub loot
action [collapses to the ground] gosub loot
action [then grows still] gosub loot
action [grows limp and seems to deflate] gosub loot
action [before collapsing] gosub loot
action [stops all movement] gosub loot
action [body explodes into a gaseous cloud] gosub loot
action [rebellious flame dies out] gosub loot
action [and lies still] gosub loot
action [then lies still] gosub loot
action [then goes limp] gosub loot



#Local settings 
setvariable bunglearrange no

if %1 contains change
	gosub overrideskin
pause

#Weapons portion
setup:
pause
boxmessage Enter fighting style now. \nClasses include: \n Blunt, Edged, lightedged, thrustedged, Pike, Halberd, Quarterstaff, Shortstaff, Thrown, and Ranged

getline
pause
boxmessage Fighting style is: %l

if %l eq ranged
	setglobalvariable rangedhunting yes
	else
	setglobalvariable rangedhunting no

setvariable huntingweapontemp [%righthanditem]
getword -1 $huntingweapontemp$
boxmessage %w
setglobalvariable huntingweapon %w

if %l eq thrown
	setvariable thrownweapon %w

put glance

goto %l

#THROWN WEAPONS
thrown:
pause
put throw
waitfor roundtime

thrown2:
put get $thrownweapon$
pause
goto thrown

#RANGED WEAPONS
ranged:
pause
match ranged2 already loaded
put load
matchwait $loadwait$

ranged2:
pause
put aim
waitfor You think you have your best shot possible now.
put fire
pause
goto ranged

#BLUNT WEAPONS
blunt:
pause
put feint
waitfor roundtime
pause
put bash
waitfor roundtime
pause
put sweep
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put swing
waitfor roundtime
pause
put dodge
waitfor roundtime
pause
goto blunt


#EDGED WEAPONS
lightedged:
pause
put feint
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put slice
waitfor roundtime
pause
put chop
waitfor roundtime
pause
put dodge
waitfor roundtime
pause
goto lightedged

edged:
pause
put feint
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put sweep
waitfor roundtime
pause
put slice
waitfor roundtime
pause
put chop
waitfor roundtime
pause
put parry
waitfor roundtime
pause
goto edged

thrustedged:
pause
put feint
waitfor roundtime
pause
put lunge
waitfor roundtime
pause
put thrust
waitfor roundtime
pause
put jab
waitfor roundtime
pause
put slam
waitfor roundtime
pause
put parry
waitfor roundtime
pause
goto thrustedged


#POLE WEAPONS
halberd:
pause
put feint
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put slice
waitfor roundtime
pause
put thrust
waitfor roundtime
pause
put sweep
waitfor roundtime
pause
put chop
waitfor roundtime
pause
goto halberd

pike:
pause
put dodge
waitfor roundtime
pause
put jab
waitfor roundtime
pause
put sweep
waitfor roundtime
pause
put thrust
waitfor roundtime
pause
put lunge
waitfor roundtime
pause
goto pike


#STAFF WEAPONS
quarterstaff:
pause
put feint
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put swing
waitfor roundtime
pause
put thrust
waitfor roundtime
pause
put sweep
waitfor roundtime
pause
put chop
waitfor roundtime
pause
goto quarterstaff

shortstaff:
pause
put feint
waitfor roundtime
pause
put draw
waitfor roundtime
pause
put slice
waitfor roundtime
pause
put parry
waitfor roundtime
pause
put thrust
waitfor roundtime
pause
put chop
waitfor roundtime
pause
goto shortstaff

#Action Call Scripts
loot:
pause
put look
nextroom

skin:
if $bunglearrange$ eq yes
	begin
	setglobalvariable arrangenumber 0
	goto skincontinue
	end
if $skincheck$ eq no
	goto lootstuff
pause
match lootstuff cannot be skinned
match arrangestop worthless now
match arrangestop not to damage
put arrange
matchwait 04
goto skincontinue

arrangestop:
pause
setvariable bunglearrange yes
boxmessage Skinning is so difficult, arrange attempts are being skipped.
goto lootstuff

skincontinue:
if %youalsosee contains dead
	begin
		call skin
		pause
	end

lootstuff:
if $skincheck$ eq no
	put sheath my $huntingweapon$
call loot
pause
if $rangedhunting$ eq no
	put wield my $huntingweapon$
	else
	put remove my $huntingweapon$
pause
return

foewait1:
pause
pausetext 60 [melee range]
pause
return

foewait2:
waitfor melee range
pause
return

weaponchange:
boxmessage Pausing for 10 seconds to change fighting style. \nThen follow prompt.
pause 10
goto setup

overrideskin:
boxmessage Overriding normal skinning process.
if $skincheck$ eq yes
	setvariable skincheck no
	else
	setvariable skincheck yes
return

end:
exit