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
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
|
|
|