YASSE Hitbasic (script)
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.
At any time (excepting when the script is 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:
- 07/29/2011: Revision 2.3a corrected several minor bugs.
- 07/28/2011: Revision 2.3 provided broader weapons support, removed hanging bugs, and now embeds the skinning script for faster runspeed. Temporarily removed ranged and thrown weapons pending further testing.
- 04/01/2011: Revision 2.2, cleaned up some errors. Improved magic functions.
- Previous note errors still exist, and the first arrange check is having issues but no longer causes a short hang.
- 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. #Needs classes split out for thrusting / etc. #Changing Weapons or Ending Script action [changing weapons] goto weaponchange action [enditnow] goto end #Initializing variables setvariable weaponwear no #Skinning stuff setvariable skinit yes setvariable arrangenumber $skinmax$ action [worthless now] setvariable skinittemp no action [not to damage] counter set $skinmax$ #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 [You don't have a weapon to] gosub weaponproblem action [Wouldn't it be better if you used a melee weapon?] goto rangedcheck action [You need two hands to wield this weapon! ]gosub clearhand #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 action [ceases all movement] gosub loot action [breathes its last] gosub loot action [feeble grunt of defiance] gosub loot #List of weapons to match setvariable bluntclass [hammer mallet gavel cosh prod cudgel zubke scepter bludgeon garz gauntlet mace club bulhawf cuska bola hhr'tami komno pin marlingspike k'trinni.shai'tai greathammer chain flail ukabi hara sledgehammer hhr'ata vilks.kodur mattock akabo maul] setvariable edgedclass [briquet dagget misericorde knife katar sword takouba kasai sunblade pugio poignard stiletto telek falcata koummya oben kythe dao dagger nehlata jambiya kris passabas rapier baselard gladius nambeli sashqa sabre adze curlade parang hanger scimitar shotel cutlass hatchet hand.axe claymore karambit greataxe flamberge greatsword shh'oi'ata kaskara condottiere nehdelata longsword spatha kudalata arzfilt broadsowrd schiavona flachion recada back-sword nimsha namkoba dagasse abassi cinqueda robe.sword] setvariable pikeclass [spear duraka.skefne fork allarh hunthsleg spear javelin pole.axe fauchard ngalio ilglaiks.skefne ranseur spetum lance pike] setvariable halberdclass [awgravet ava tzece halberd guisarme bardiche lochaber.axe scythe partisan khuj glaive] setvariable shortstaffclass [nightstick] setvariable quarterstaffclass [cane quarter.staff pike.staff staff] #Local settings setvariable spell pd setvariable mana 15 #Weapons portion setup: pause Boxmessage What weapon are you using?\n Use a "." for multi-word weapons. getline pause setvariable fightingstyle %l boxmessage Weapon is: $fightingstyle$ setglobalvariable huntingweapon %l if $huntingweapon$ eq magic begin setvariable magichunting yes setvariable weaponwear no save magic goto %s end getweapon: match wieldit you draw match wearit you're wearing match wieldit2 already holding put wield my $huntingweapon$ matchwait 04 goto end2 wieldit2: match getweapon you slip match getweapon you sheath put sheath $huntingweapon$ matchwait 02 put wear my $huntingweapon$ pause goto getweapon wearit: setvariable weaponwear yes put rem my $huntingweapon$ wieldit: if $bluntclass$ contains $huntingweapon$ begin save blunt goto %s end if $edgedclass$ contains $huntingweapon$ begin save edged goto %s end if $quarterstaffclass$ contains $huntingweapon$ begin save quarterstaff goto %s end if $shortstaffclass$ contains $huntingweapon$ begin save shortstaff goto %s end if $halberdclass$ contains $huntingweapon$ begin save halberd goto %s end if $pikeclass$ contains $huntingweapon$ begin save pike goto %s endboxmessage Fighting with %s style goto %s #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 20 pausing2: boxmessage Waiting for something to close to pole range. pausetext 30 [closes to pole] goto prep release: put release goto face #THROWN WEAPONS thrown: pause put throw waitfor roundtime thrown2: put get $thrownweapon$ pause goto %s #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. match ranged you fire put fire pause matchwait 03 goto %s #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 %s #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 %s 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 %s 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 %s #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 %s 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 %s #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 %s 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 %s #Skinning and Looting loot: pause put look waitfor Obvious paths counter clear goto skincheck skincheck: if $skinit$ eq no goto lootstuffprep if $skinittemp$ eq no begin boxmessage Flubbed arranging moving to looting. goto lootstuff end if $arrangeit$ eq yes goto arrange arrange: if %c < $arrangenumber$ begin match lootstuffprep cannot be skinned put arrange matchwait 02 counter inc goto arrange end setvariable skinittemp yes goto skinstuffprep skinstuffprep: if $magichunting$ eq yes goto skincontinue if $weaponwear$ eq yes put wear my $huntingweapon$ if $weaponwear$ eq no put sheath my $huntingweapon$ goto skincontinue skincontinue: if %youalsosee contains dead begin put wield my $skinknife$ waitfor $skinningknifemessage$ if %lefthanditem contains $shield$ begin setvariable shieldworn yes put wear my $shield$ end if $skinittemp$ eq yes begin match skinlower twists and slips match skinlower destroying the match skinlower unfortunate failure match skinlower claw wildly match skinlower that of mud match skinlower struggle with match skinlower worthless now match skinlower Skin what? match skinlower sheer incompetence match skinlower just barely match skinhigher impressive skill and grace match skinhigher working deftly match skinhigher nearly flawless match skinhigher you slice away match skincomplete work hard match skincomplete working hard match skincomplete blood soaks match skincomplete fairly well match skincomplete oozing flesh put skin matchwait 5 goto skincomplete end end goto lootstuff skinlower: if $arrangenumber$ == 0 setvariable arrangeit no if $arrangenumber$ > 0 begin counter set $arrangenumber$ counter dec end goto skincomplete skinhigher: if $skinmax$ >= $arrangenumber$ goto skincomplete boxmessage Increasing arranges by 1. counter set $arrangenumber$ counter inc setvariable $arrangenumber$ %c goto skincomplete skincomplete: put glance if %c < 0 counter set 0 goto lootstuff lootstuff: pause if %righthanditem contains knife begin pause put sheath my $skinknife$ end if $magichunting$ eq no begin if $weaponwear$ eq yes put remove my $huntingweapon$ if $weaponwear$ eq no put wield my $huntingweapon$ end pause call loot pause if $shieldworn$ eq yes put rem my $shield$ return pause return foewait1: pause pausetext 60 [melee range] pause return foewait2: pause pausetext 120 [melee range] pause return clearhand: put stow left return weaponchange: boxmessage Pausing for 10 seconds to change fighting style. \nThen follow prompt. pause 10 goto setup weaponproblem: glance pause boxmessage Something screwed up which hand your weapon is in. if %lefthanditem contains $huntingweapon$ begin put swap goto $fightingstyle$ end boxmessage Weapon was not in left hand or check failed. \n Pausing for 10 seconds then attempting to resume script. pause 10 return rangedcheck: if $rangedhunting$ eq yes goto ranged else goto weaponproblem end: put parry pausetext 05 [parry] exit end2: boxmessage Weapon failure