lanAKAIan's THF

Some people were asking so I went digging through my hard drive to find this. I have not played thief since my last reformat however and this may be a version that was in progress. I will update in a few days once I get a chance to look at it.
EDIT: Have made some modifications but am not done. Will add explanations soon

About my XML

My XML is primarily designed to be used in conjunction with manual set switching. By this I mean after most actions, there is no after cast specified. I prefer to hit a separate macro to switch back to my accuracy gear, or evasion gear. One of the reasons for this is to handle the variable amount of time I may want to keep SA or TA gear equipped. I have considered changing this in the future to make use of variables and just return to the previous set equipped for weaponskills.

Features

Restore Set

My XML is designed around the fact I often switch between using evasion or tp gear for general mele. When I cast utsusemi or use a weaponskill, my XML is designed to return me to that set, even if I had been in SATA gear.

Bad Gear

I never joined a HNM/Dynamis linkshell, and just help out friends occasionally in those. My actual linkshell consists of two other people that come on twice a week if we arent busy. All in all this equates to not having particularly amazing gear. The xml is designed with the knowledge that others probably do however, and may necessitate more customized gear for more customized situations.

Seperate Gear for SA, TA, and SATA

While there is only a slight difference in my gear for these sets, the XML supports separate sets for them so you don't have to compromise.

Setup

FFXI Macros / Windower Aliases

In order for the RestoreSet feature of my XML to work properly, you must set up relevant set change macros to also record the set switched to. The basic format being(for ffxi macros)

//sc set Evasion
//sc var set Evasion

I personally have macros to do this for just my Accuracy/TP gear, and Evasion set, but if you regularly switch to more, there is no reason you can not add them in.

XML Configuration

Aside from the obvious necessary gear changes, you will want to adjust three variables. THFOffHand, THOffHand, and StealOffHand. These variables are used in conjunction with their respective groups to decide what sub weapons to equip. They are externalized into variables in order to handle a quirk of the current way SpellCast handles inheritance.

I was finding that while I did have access to all my group THF inherited sets while in group TH, those sets were being carried over without consideration for my standard set override. This would cause me to switch weapons any time I changed to a set whose baseset was standard. This could have been fixed by copying in all the sets from THF group, but I did not want to have to update two areas of code for gear changes. A simple locking section on the top of the XML was also not an option due to my use of manual set switching.

Design Considerations

Will fill this in at some point.

my THF.xml

<?xml version="1.0" ?>
<spellcast>
 
	<config
			RequireVersion="2.11"
			Debug="true"
			ShowGearSwaps="False" />
	<sets>
 
		<group default="yes" name="THF">
			<set name="Standard">
				<main>Blau Dolch</main>
				<sub>$OffHand</sub>
				<range>Ziska's Crossbow</range>
				<head>Walahra Turban</head>
				<neck>Chivalrous Chain</neck>
				<lear>Suppanomimi</lear>
				<rear>Drone Earring</rear>
				<body>Pln. Khazagand</body>
				<hands>War Gloves</hands>
				<lring>Sniper's Ring</lring>
				<rring>Sniper's Ring</rring>
				<back>Amemet Mantle +1</back>
				<waist>Potent Belt</waist>
				<legs>Pln. Seraweels</legs>
				<feet>Dragon Leggings</feet>
			</set>
 
			<!--Techically restating alot of gear since it inherits, but i like to be clear what I am specifying-->
			<set name="THF-SA" BaseSet="Standard">
				<head>Assassin's Bonnet</head>
				<neck>Spike Necklace</neck>
				<body>Dragon Harness</body>
				<hands>Dragon Mittens</hands>
				<lring>Rajas Ring</lring>
				<rring>Spinel Ring</rring>
				<waist>Warwolf Belt</waist>
				<legs>Dragon Subligar</legs>
				<feet>Dragon Leggings</feet>
			</set>
 
			<set name="THF-TA" BaseSet="Standard">
				<head>Assassin's Bonnet</head>
				<neck>Harmonia's Torque</neck>
				<body>Dragon Harness</body>
				<hands>Dragon Mittens</hands>
				<lring>Emerald Ring</lring>
				<rring>Emerald Ring</rring>
				<waist>Warwolf Belt</waist>
				<feet>Dragon Leggings</feet>
			</set>
 
			<set name="THF-SATA" BaseSet="Standard">
				<head>Assassin's Bonnet</head>
				<neck>Spike Necklace</neck>
				<body>Dragon Harness</body>
				<hands>Dragon Mittens</hands>
				<lring>Rajas Ring</lring>
				<rring>Emerald Ring</rring>
				<waist>Warwolf Belt</waist>
				<legs>Dragon Subligar</legs>
				<feet>Dragon Leggings</feet>
			</set>
 
			<!--This does not inherit because I do not want it to override everything from SATA-->
			<set name="Weapon Skill">
				<head>Optical Hat</head>
			</set>
 
			<set name="Steal" BaseSet="Standard">
				<head>Rogue's Bonnet</head>
				<hands>Thief's Kote</hands>
				<waist>Key Ring Belt</waist>
				<legs>Rog. Culotte</legs>
				<feet>Rogue's Poulaines</feet>
			</set>
 
			<set name="Evasion" BaseSet="Standard">
				<head>Optical Hat</head>
				<neck>Evasion Torque</neck>
				<body>Scorpion Harness</body>
				<lring>Emerald Ring</lring>
				<rring>Emerald Ring</rring>
				<lear>Velocity Earring</lear>
				<rear>Elusive Earring</rear>
				<waist>Scouter's Rope</waist>
				<back>Corse Cape</back>
				<feet>Dance Shoes</feet>
			</set>
 
			<set name="Ranged" BaseSet="Evasion">
				<head>Optical Hat</head>
				<lring>Emerald Ring</lring>
				<rring>Emerald Ring</rring>
				<body>Rapparee Harness</body>
			</set>
 
 
			<set name="Haste">
				<body>Rapparee Harness</body>
				<head>Walahra Turban</head>
			</set>
 
			<set name="Haste-Evasion" BaseSet="Evasion" >
				<body>Rapparee Harness</body>
				<head>Walahra Turban</head>
			</set>
 
		</group>
 
		<!--Sc doesn't actually handle other sets inherited in here as if they were derived from the standard set from here... sooo leave out weapons in original -->
		<!--Uses variables to fix issue-->
		<group name="TH" Inherit="THF">
			<set name="Standard" BaseGroup="THF" BaseSet="Standard">
				<sub lock="yes">$OffHand</sub>
			</set>
		</group>
 
		<group name="Steal" Inherit="THF">
			<set name="Standard" BaseGroup="THF" BaseSet="Standard">
				<sub lock="yes">$OffHand</sub>
			</set>
		</group>
 
	</sets>
 
	<variables>
		<!--Special overrides to deal with inheritance issues-->
		<var name="THFOffHand">Sirocco Kukri</var>
		<var name="THOffHand">Thief's Knife</var>
		<var name="StealOffHand">Bartholomew's Knife</var>
		<var name="OffHand">$%GroupOffHand</var>
 
		<!--Assumes use of seting this when you use certain equip changes... ie acc, evasion, etc-->
		<var name="RestoreSet">Standard</var>
	</variables>
 
	<rules>
		<!--There are three types of actions a thief would be worrying about.-->
		<if type="JobAbility">
			<if spell="Sneak Attack">
				<if buffActive="Trick Attack">
					<!--SATA Gear-->
					<action type="equip" when="precast" set="THF-SATA" />
				</if>
				<else>
					<!--Normal SA gear-->
					<action type="equip" when="precast" set="THF-SA" />
				</else>
			</if>
			<elseif spell="Trick Attack">
				<if buffActive="Sneak Attack">
					<!--SATA Gear-->
					<action type="equip" when="precast" set="THF-SATA" />
				</if>
				<else>
					<!--Normal TA gear-->
					<action type="equip" when="precast" set="THF-TA" />
				</else>
			</elseif>
			<elseif spell="Steal">
				<action type="castdelay" delay=".3" />
				<action type="Equip" when="precast" set="Steal" />
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</elseif>
			<elseif spell="Mug">
				<action type="castdelay" delay=".2" />
				<action type="Equip" when="precast">
					<head>Assassin's Bonnet</head>
				</action>
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</elseif>
			<elseif spell="Flee">
				<action type="Equip" when="precast">
					<feet>Rogue's Poulaines</feet>
				</action>
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</elseif>
			<elseif spell="Hide">
				<action type="Equip" when="precast">
					<body>Rogue's Vest</body>
				</action>
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</elseif>
			<elseif spell="Accomplice">
				<action type="Equip" when="Aftercast" set="Evasion" />	
				<!--This may be annoying. Will have to play to decide in this case. Is reallly just here for flee-->
				<action type="var" cmd="set RestoreSet Evasion" />
			</elseif>
		</if>
		<elseif type="WeaponSkill">
			<!--Find out if we even have tp, otherwise don't try and switch equipment-->
			<if NotTPLT="100">
				<!--Theoretically these shoudl be tweaked and would be different-->
				<!--If things from ws would overwrite things from sata... make another level-->
				<!--Do i need optical hat? prolly not if i would rather use assassin's bonnet-->
				<if spell="Dancing Edge">
					<!--Accuracy varies with TP-->
					<!--Modifiers: DEX:30% ; CHR:40%-->
					<action type="castdelay" delay=".2" />
					<action type="Equip" when="precast" set="Weapon Skill" />
				</if>
				<elseif spell="Shark Bite">
					<!--Damage Varies with TP-->
					<!--Modifiers: DEX:50%-->
					<action type="castdelay" delay=".2" />
					<action type="Equip" when="precast" set="Weapon Skill" />
				</elseif>
				<elseif spell="Evisceration">
					<!--Critical hit chance varies with TP-->
					<!--Modifiers: DEX:30% ; CHR:40%-->
					<action type="castdelay" delay=".2" />
					<action type="Equip" when="precast" set="Weapon Skill" />
				</elseif>
 
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</if>
		</elseif>
		<else>
			<!--Ninjutsu stuff-->
			<!--HRRRM could use variables to track which utsusemi we casted last... and switch accordingly... maybe base off time since last cast instead^^-->
			<if spell="Utsusemi: Ichi">
				<action type="Equip" when="precast" set="Evasion" />
				<action type="midcastdelay" delay="2.8" />
				<action type="Equip" when="midcast" set="Haste-Evasion"/>
				<if BuffActive="Copy Image">
					<!--Cancel currently active shadows. Technically only need for Ni to Ichi, but no way to tell... well probably could with variables now-->
					<!--Needs the cancel pluugin to be loaded aswell-->
					<action type="Command" when="midcast">cancel 66</action>
				</if>
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</if>
			<elseif spell="Utsusemi: Ni">
				<!-- Utsusemi:Ni recast time no haste is 45 sec. cast time 1.5 sec-->
				<!--<action type="castdelay" delay=".2" />-->
				<action type="Equip" when="precast" set="Haste-Evasion"/>
				<action type="Equip" when="Aftercast" set="$RestoreSet" />
			</elseif>
 
			<!--Other less oftin-->
			<elseif spell="Ranged">
				<action type="Equip" when="precast" set="Ranged" />
				<action type="Equip" when="Aftercast" set="Evasion" />
				<!--This may be annoying. Will have to play to decide in this case. Is reallly just here for flee-->
				<action type="var" cmd="set RestoreSet Evasion" />
			</elseif>
		</else>			
	</rules>
</spellcast>
plugins/spellcast/userxml/thf/lanakaian_thf.txt · Last modified: 2009/08/08 14:00 (external edit)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0