YASSE Hitbasic (script)

From Elanthipedia
Revision as of 01:17, 31 March 2011 by Maintenance script (talk | contribs) (upgraded to 2.1)
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.

Lastly, magic variables are local to this script, and should be changed as appropriate.

Updates

Last Updated:

  • 03/31/2011: Revision 2.1, improved skinning, added magic support
  • 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
action [before taking her last breath] gosub loot



#Local settings 
setvariable bunglearrange no
setvariable spell pd
setvariable mana 15

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
if %l eq magic
	setglobalvariable magichunting yes
	else
	setglobalvariable magichunting no

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

if %l eq thrown
	setvariable thrownweapon %w

put glance

goto %l


#MAGIC SPELLS
magic:

prep:
match target You trace
match target You are already
put prep $spell$ $mana$
matchwait

target:
match face You are not engaged
match cast You begin to weave
match pausing 
put target
matchwait

cast:
pause 2
match prep You gesture at
match release The secondary spell pattern
put cast
matchwait

face:
pause
match pausing There is nothing else to face!
match prep You turn to face
put face next
matchwait

pausing:
put release
match prep You are already facing
match prep You turn to face
match pausing2 There is nothing else to face!
put face %1
matchwait 60

pausing2:
boxmessage Waiting for something to close to pole range.
pausetext 60 [closes to pole] 
goto prep

release:
put release
goto face


#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
	setvariable arrangenumber 0
	goto skincontinue
	end
if $skincheck$ eq no
	goto lootstuffprep
pause
match lootstuffprep 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 lootstuffprep

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

lootstuffprep:
if $magichunting$ eq yes
	goto lootstuff
if $rangedhunting$ eq no
	put sheath my $huntingweapon$
	else
	put wear my $huntingweapon$

lootstuff:
pause
call loot
pause
if $magichunting$ eq yes
	return
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