A plugin that manages gear swaps.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

324 lines
11 KiB

Player Information
p_hp - Current HP
p_hpp - Current HP %
p_mp - Current MP
p_mpp - Current MP %
p_tp - Current TP
p_hpmax - Max HP
p_mpmax - Max MP
p_fireresist - Fire Resistance
p_earthresist - Earth Resistance
p_waterresist - Water Resistance
p_windresist - Wind Resistance
p_iceresist - Ice Resistance
p_lightningresist - Thunder Resistance
p_lightresist - Light Resistance
p_darkresist - Dark Resistance
p_attack - Attack
p_defense - Defense
p_joblevel - Main Job's Level
p_subjoblevel - Sub Job's Level
p_mainjob - Main Job(brd, blu, etc)
p_subjob - Sub Job(brd, blu, etc)
p_job - Whole Job(mnk/war, whm/sch, etc)
p_status - Current Status
Possible Value: dead
Possible Value: engaged
Possible Value: idle
Possible Value: resting
Possible Value: unknown
Possible Value: zoning
p_name - Character Name
p_ismoving - True if char has moved since last outgoing 0x15, false if not
Environment Information
e_area - Current Zone
e_time - Current Vana Time(Expressed as a decimal, just replace : with ., ie: 23.50 is 11:50 PM)
e_moon - Current Vana Moon Phase
Possible Value: firstquarter
Possible Value: fullmoon
Possible Value: lastquarter
Possible Value: newmoon
Possible Value: unknown
Possible Value: waningcrescent
Possible Value: waninggibbous
Possible Value: waxingcrescent
Possible Value: waxinggibbous
e_moonpct - Current Moon %
e_day - Current Vana Day
Possible Value: darksday
Possible Value: earthsday
Possible Value: firesday
Possible Value: iceday
Possible Value: lightningday
Possible Value: lightsday
Possible Value: unknown
Possible Value: watersday
Possible Value: windsday
e_dayelement - Current Vana Day's Element
Possible Value: dark
Possible Value: earth
Possible Value: fire
Possible Value: ice
Possible Value: light
Possible Value: thunder
Possible Value: unknown
Possible Value: water
Possible Value: wind
e_weather - Current Vana Weather
Possible Value: clear
Possible Value: clouds
Possible Value: dark
Possible Value: darkx2
Possible Value: earth
Possible Value: earthx2
Possible Value: fire
Possible Value: firex2
Possible Value: fog
Possible Value: ice
Possible Value: icex2
Possible Value: light
Possible Value: lightx2
Possible Value: sunshine
Possible Value: thunder
Possible Value: thunderx2
Possible Value: unknown
Possible Value: water
Possible Value: waterx2
Possible Value: wind
Possible Value: windx2
e_weatherelement - Current Vana Weather's Element, if you have a storm spell active will return that element instead
Possible Value: dark
Possible Value: earth
Possible Value: fire
Possible Value: ice
Possible Value: light
Possible Value: No Target
Possible Value: none
Possible Value: thunder
Possible Value: unknown
Possible Value: water
Possible Value: wind
Target Information(All will return false if you have no target,
this is the target you have selected ingame not the target of any spell/ability)
t_distance - Target's Distance
t_hpp - Target's HP %
t_id - Target's ID
t_index - Target's index
t_name - Target's Name
t_type - Target Type
Possible Value: monster
Possible Value: npc
Possible Value: pc
Possible Value: self
Possible Value: unknown
Alliance Information
a_inally - Returns whether you're currently in an alliance.
Possible Value: false
Possible Value: true
a_count - Returns amount of people in your alliance.
a_actiontarget - Returns whether your action target is in alliance. *1
Possible Value: false
Possible Value: true
a_target - Returns whether your target is in alliance. Will return false if no target.
Possible Value: false
Possible Value: true
Party Information
pt_inparty - Returns true if anyone else is in your party.
Possible Value: false
Possible Value: true
pt_count - Returns amount of people in your immediate party.
pt_actiontarget - Returns whether your action target is in party. *1
Possible Value: false
Possible Value: true
pt_target - Returns whether your target is in party. Will return false if no target.
Possible Value: false
Possible Value: true
Equipment Information - If nothing equipped, will return nothing.
eq_main - Main slot item's name
eq_sub - Sub slot item's name
eq_range - Range slot item's name
eq_ammo - Ammo slot item's name
eq_head - Head slot item's name
eq_neck - Neck slot item's name
eq_ear1 - Left ear item's name
eq_lear - Same as eq_ear1
eq_ear2 - Right ear item's name
eq_rear - Same as eq_ear2
eq_body - Body item's name
eq_hands - Hand item's name
eq_ring1 - Left ring item's name
eq_lring - Same as eq_ring1
eq_ring2 - Right ring item's name
eq_rring - Same as eq_ring2
eq_back - Back item's name
eq_waist - Waist item's name
eq_legs - Leg item's name
eq_feet - Feet item's name
Action Target Information - This can only be used during processing of an action with a target.
It will return false if you try to call it inside idlegear, as there's no action target set.
at_distance - Distance to action target
at_hpp - Action target's HP %
at_id - Action target's ID
at_index - Action target's index
at_name - Action target's name
at_type - ACtion target's type
Possible Value: monster
Possible Value: npc
Possible Value: pc
Possible Value: self
Possible Value: unknown
Action Data - This can only be used during processing of an action.
JA/WS/Magic/Petskill/Petspell can use id and name.
ad_id - Action's ID
ad_name - Action's Name
ad_type has different values depending on where it is used.
ad_type - These are the possible values when used in <jobability>.
Possible Value: bloodpactrage
Possible Value: bloodpactward
Possible Value: corsairroll
Possible Value: jobability
Possible Value: ready
Possible Value: runeenchantment
Possible Value: quickdraw
Possible Value: waltz
ad_type - These are the possible values when used in <premagic> <petspell> or <midmagic>.
Possible Value: bardsong
Possible Value: blackmagic
Possible Value: bluemagic
Possible Value: ninjutsu
Possible Value: summoning
Possible Value: unknown
Possible Value: whitemagic
ad_type - These are the possible values when used in <petskill>.
Possible Value: bloodpactrage
Possible Value: bloodpactward
Possible Value: geows
Possible Value: pupws
Possible Value: ready
Possible Value: unknown
Possible Value: wyvern
These can be used in <premagic> and <midmagic>. All besides mpaftercast and mppaftercast may also be used in <petspell>.
ad_recast - Spell's base recast(in seconds)
ad_casttime - Spell's base casttime(in seconds)
ad_mpcost - Spell's mp cost
ad_mpaftercast - Your current MP - spell's mp cost, does not predict conserve mp/arts/etc
ad_mppaftercast - Your expected mp% after casting, does not predict conserve mp/arts/max mp changes/etc
ad_element - Spell's element
Possible Value: dark
Possible Value: earth
Possible Value: fire
Possible Value: ice
Possible Value: light
Possible Value: nonelemental
Possible Value: thunder
Possible Value: unknown
Possible Value: water
Possible Value: wind
ad_skill - Spell's Skill
Possible Value: bluemagic
Possible Value: darkmagic
Possible Value: divinemagic
Possible Value: elementalmagic
Possible Value: enhancingmagic
Possible Value: enfeeblingmagic
Possible Value: healingmagic
Possible Value: ninjutsu
Possible Value: singing
Possible Value: summoning
pet_active - Whether you have a pet out.
Possible Value: true
Possible Value: false
pet_hpp - Pet's current HP %.
pet_tp - Pet's current TP %.
pet_status - Pet's current status.
Possible Value: dead
Possible Value: engaged
Possible Value: idle
Possible Value: resting
Possible Value: unknown
Possible Value: zoning
pet_name - Pet's name.
pet_distance - Distance to your pet.
Pet rules will all return false if there is no active pet.
*1 - These have the same restrictions as any at_ rule.
buffactive - Check if buff is active. Takes buff ID or name. Can take 'x#' to represent multiple.
buffactive="214" - true if at least 1 march is active
buffactive="Marchx2" - true if at least 2 marches are active
buffactive="!Marchx2" - true if less than 2 marches are active
buffactive="214x2" - true if at least 2 marches are active
buffactive="214x2|Embrava" - true if at least 2 marches are active OR embrava is active
Rules that take numbers can be prefixed with > (greater than) or < (less than).
This doesn't apply to buffactive, because it doesn't make sense to.
<if p_mp="<500"> would trigger if the player's mp is below 500.
All rules can be prefixed with a single ! for 'not equal to', including buffactive but not advanced.
You may only use one prefix per | or & seperated section.
Basic rules can be constructed using or pipes(|), and & connectors, and will be read from right to left.
ie: <if p_mp=">500&<1000|<300"> will be sectioned into "|<300" "&<1000" and ">500". If it's below 300, the entire statement will be read as true.
If it is not below 1000, the statement will be read as false. If it passes the <1000 check, the statement will be true if it is above 500.
Basic rules are intended to be simplistic in nature, if you need compound logic see advanced rules later.
Rules that take text can include wildcards(*).
You can reference the value of a rule inside equipment names, set names, or ingame chat by prefixing it with a %.
You can reference the value of a variable under the same conditions by prefixing it with a $.
Variables and rules inside set names or equipment names are processed at the time of equip.
Example: <main>$%ad_elementStaff</main>
will be evaluated to $FireStaff if the active spell is fire element
if the variable FireStaff is set, it'll be replaced with the value of that
If this were triggered during idlegear, it would remain $%ad_elementStaff because action data is not available.
Advanced Rules
<if advanced="%p_hp>$HPThreshhold"> - true if p_hp's value is higher than the user-defined variable HPThreshhold
You can use the following comparers:
= Equal To
!= Not Equal To
>= Greater Than Or Equal To
> Greater Than
<= Less Than Or Equal To
< Less Than
| OR (one side evaluates to >zero or true)
& AND (both sides evaluate to >zero or true)
+ Addition
- Subtraction
** Multiplication(must use 2 stars, one could be confused with a wildcard)
/ Division
You must seperate all rules by either a comparer or parentheses(), brackets[], or braces{}.
<if advanced="(%p_hp>$HPThreshhold)|($ForceThreshhold=false)">
Above is true if p_hp is greater than hpthreshhold or forcethreshhold is false
<if advanced="{(%p_hp>$HPThreshhold)|($ForceThreshhold=false)}&(%p_mp>100)">
The above is true if mp is above 100 and either p_hp is greater than hpthreshhold or forcethreshhold is false
All elements are compared as case insensitive strings unless the comparer requires a number.
You can freely add anything adjacent to variables and rules.
<if advanced="d%p_hp=d1200"> would return true if hp was equal to 1200.
<if advanced="d%p_hpp=d80"> would return true if hpp was equal to 80
As illustrated in the above case, the longest existing match is always used after a % or $.
You cannot leave rules ambiguous, parentheses must seperate all operators.
"%p_hp>500" is fine
"%p_hp<500&%p_mp>200" is not
"(%p_hp<500)&(%p_mp>200)" is the correct way to do it, after evaluating each parentheses' statement from inside to outside,
you should end with one comparer and 2 values