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 . 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 or . 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 . 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 and . All besides mpaftercast and mppaftercast may also be used in . 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. 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: 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:
$%ad_elementStaff
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 - 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{}. Above is true if p_hp is greater than hpthreshhold or forcethreshhold is false 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. would return true if hp was equal to 1200. 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