Extract Abilities

Whrip

Active Member
Useful script for extracting character abilities for cutting/pasting into scripts,etc.

Code:
;Whripped 4/22/07
variable string OutputFile = ${Script.CurrentDirectory}/ExtractedAbilities_${Me.FName}.txt

function main()
{
variable int i
for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	redirect -append "${OutputFile}" echo "${i} ${Me.Ability[${i}]}"
}

Output form:
Code:
1 Overwhelm I
2 Ranged Attack
3 Brutal Strike I
4 Kick I
5 Waylay I
6 Whirlwind I
7 Rend Armor I
8 Brutal Strike IV
9 Taunt I
10 Taunt II
11 Taunt III
12 Waylay II
13 Waylay III
14 Disarm
15 Riposte I
 

aChallenged1

Active Member
Nice, now to use it to create a list of the highest of each ability for use in combat scripts where it automatically fills in "Chain1" "Chain2" "Finish" "Heal1" "Heal2" "QuickHeal" etc.
 

Xeon

Active Member
I fleshed out the script a bit to give an idea of how to seperate the different types of Abilities:

Code:
/*
    Original script: Whripped 4/22/07
    Mod by: XeonX

*/

variable string OutputFile = ${Script.CurrentDirectory}/Abilities_${Me.FName}.txt
variable int i

function main()
{

	redirect -append "${OutputFile}" echo "=============ALL Abilities Dump================"

	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
		redirect -append "${OutputFile}" echo "  Type: ${Me.Ability[${i}].Type}"
		redirect -append "${OutputFile}" echo "  Target: ${Me.Ability[${i}].TargetType}"
		redirect -append "${OutputFile}" echo "  Range: ${Me.Ability[${i}].Range}"
	}

	redirect -append "${OutputFile}" echo "=============Self Buff Spells================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].TargetType.Equal[Self]} && ${Me.Ability[${i}].Type.Equal[Spell]}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Other Buff Abilities================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].TargetType.Equal[Defensive]} || ${Me.Ability[${i}].TargetType.Equal[Group]} || ${Me.Ability[${i}].TargetType.Equal[Ally]} 
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Combat Abilities================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsOffensive}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Melee Attacks================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsOffensive} && ${Me.Ability[${i}].Type.Equal[Combat Art]}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Ranged Attacks================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsOffensive} && ${Me.Ability[${i}].Type.Equal[Ranged Attack]}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Spell Attacks================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsOffensive} && ${Me.Ability[${i}].Type.Equal[Spell]}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Chains================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsChain}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Counters================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsCounter}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	}

	redirect -append "${OutputFile}" echo "=============Rescues================"
	for (i:Set[1] ; ${i}<=${Me.Ability} ; i:Inc)
	{
		if ${Me.Ability[${i}].IsRescue}
			redirect -append "${OutputFile}" echo "Name: ${Me.Ability[${i}].Name}"
	} 

}
 

Attachments

Last edited:

Whrip

Active Member
Thanks xeon. This is what I eventually planned to end up with. Was at work when I wrote the first one and figured i'd share it. Nice format. Saved me some work once again :)
 
Top Bottom