//===== rAthena Documentation ================================ //= Status Change Database Structure //===== By: ================================================== //= rAthena Dev Team //===== Last Updated: ======================================== //= 20221216 //===== Description: ========================================= //= Explanation of the status.yml file and structure. //============================================================ --------------------------------------- Status: Status change name. See src/map/script_constants.hpp for SC_ constants. --------------------------------------- Icon: Status change icon or client effect that will be displayed client-side. See src/map/script_constants.hpp for EFST_ constants. --------------------------------------- DurationLookup: Used for default duration lookup in skill_db.yml. The lookup is used for some item bonuses as default duration. --------------------------------------- States: Specified states given when the SC is active. None - No special state. (Default) NoMove - Cannot move. NoMoveCond - Condition check for SCS_NOMOVE. NoPickItem - Cannot pick item. NoPickItemCond - Condition check for SCS_NOPICKITEM. NoDropItem - Cannot drop item. NoDropItemCond - Condition check for SCS_NODROPITEM. NoCast - Cannot cast a skill. NoCastCond - Condition check for SCS_NOCAST. NoChat - Cannot chat and open chat room. NoChatCond - Condition check for SCS_NOCHATCOND. NoEquipItem - Cannot put on equipment. NoEquipItemCond - Condition check for SCS_NOEQUIPITEM. NoUnEquipItem - Cannot put off equipment. NoUnEquipItemCond - Condition check for SCS_NOUNEQUIPITEM. NoConsumeItem - Cannot consume item. NoConsumeItemCond - Condition check for SCS_NOCONSUMEITEM. NoAttack - Cannot attack. NoAttackCond - Condition check for SCS_NOATTACK. NoWarp - Cannot warp. NoWarpCond - Condition check for SCS_NOWARP. NoDeathPenalty - Cannot lose experience on death. NoDeathPenaltyCond - Condition check for SCS_NODEATHPENALTY. NoInteract - Cannot interact with client (sit/stand or talk with NPC). NoInteractCond - Condition check for SCS_NOINTERACT. States that have a suffix of "Cond" means the State has hard coded conditions in status.cpp::status_calc_state --------------------------------------- CalcFlags: Flag that indicates which status calculation needs to be performed. Even if the value is changed in the status_db.yml the SC must have the respective bonus defined in source. None - Calculates nothing. (Default) Base - Base status MaxHp - Maximum HP MaxSp - Maximum SP Str - STR Agi - AGI Vit - VIT Int - INT Dex - DEX Luk - LUK Batk - Base Attack Watk - Weapon Attack Matk - Magic Attack Hit - Hit/accuracy rate Flee - Flee/dodge rate Def - Equipment Defense Def2 - Defense Mdef - Equipment Magic Defense Mdef2 - Magic Defense Speed - Walk speed Aspd - Attack speed Dspd - Damage delay speed Cri - Critical rate Flee2 - Perfect dodge rate Atk_Ele - Attack Element Def_Ele - Defense Element Mode - Mode Size - Size Race - Race Range - Range Regen - Regeneration MaxAp - Maximum AP Pow - POW Sta - STA Wis - WIS Spl - SPL Con - CON Crt - CRT Patk - Physical Power Smatk - Spell Magic Attack Res - Physical Resistance Mres - Magic Resistance Hplus - Heal Plus Crate - Critical Rate Dye - Dye All - Calculates all CalcFlags --------------------------------------- Opt1: Special effect when status is active (Aegis: BODYSTATE_*). This option is not stackable. These effects also apply their special behaviors. None - No effect (Default) Stone - Stone curse effect StoneWait - Stone curse incubation effect Freeze - Freeze effect Stun - Stun effect Sleep - Sleep effect StoneWait - Effect before Stone is really applied Burning - Burning effect Imprison - Imprison effect Crystalize - Crystalize effect --------------------------------------- Opt2: Special option/client effect when status is active (Aegis: HEALTHSTATE_*). None - No effect (Default) Poison - Posioned effect Curse - Cursed effect Silence - Silenced effect SignumCrucis - Signum Crucis effect Blind - Blind effect Angelus - Angelus effect Bleeding - Bleeding effect Dpoison - Heavy Poisoned effect Fear - Fear effect --------------------------------------- Opt3: Special option/client effect when status is active (Aegis: SHOW_EFST_*) Normal - No effect (Default) Quicken - Quicken effect OverThrust - Overthrust effect EnergyCoat - Energy Coat effect ExplosionSpirits - Explosion Spirits effect SteelBody - Steel Body effect BladeStop - Blade Stop effect AuraBlade - Aura Blade effect Berserk - Berserk effect LightBlade - Light Blade effect Moonlit - Moonlit effect Marionette - Marionette effect Assumptio - Assumptio effect Warm - Warm effect Kaite - Kaite effect Bunsin - Bunshin effect SoulLink - Soul Link effect Undead - Undead effect Contract - Contract effect --------------------------------------- Options: Special option/client effect state when status is active. Nothing - No effect (Default) Sight - Sight effect Hide - Hide effect Cloak - Cloaking effect Falcon - Falcon effect Riding - Riding effect Invisible - Invisible effect Orcish - Orcish effect, the ugly face! Wedding - Wedding costume Ruwach - Ruwach effect ChaseWalk - Chasewalk effect Flying - Flying effect (Star Gladiator's Union) Xmas - Christmas costume Transform - Transformation Summer - Summer costume Dragon1 - Dragon Dragon2 - Dragon Dragon3 - Dragon Dragon4 - Dragon Dragon5 - Dragon Wug - Wug WugRider - Riding a Wug Madogear - Madogear Hanbok - Hanbok costume Oktoberfest - Oktoberfest costume --------------------------------------- Flags: Various status flags for specific status change events. None - No special flag. (Default) BlEffect - Status should have BL_SCEFFECT as relevant effect, must have an EFST (displays on BL_PC, BL_HOM, BL_MER, BL_MOB, BL_ELEM). BL_PC is the default value. DisplayPc - Displays status effect when player logs in. DislpayNpc - Displays status effect on a NPC. Debuff - Status is considered a debuff. Used in combination with 'battle_config.debuff_on_logout'. SetStand - Sets player to standing state. OverlapIgnoreLevel - The status will successfully activate for any level if the status is already active. FailedMado - Cannot be applied if Madogear is active. MadoCancel - Cancels the status when mounting Madogear. MadoEndCancel - Cancels the status when unmounting Madogear. MobLoseTarget - When active on a monster it will lose the target. RestartOnMapWarp - Restarts the timer of a status when warping to another map. SpreadEffect - Passes the status onto a target when SC_DEADLYINFECT is active. SendVal1 - Notifies the client of a status change (val1). SendVal2 - Notifies the client of a status change (val2). SendVal3 - Notifies the client of a status change (val3). NoClearbuff - Cannot be removed by 'status_change_clear_buffs()', 'sc_end SC_ALL', 'status_change_clear(3)', etc. NoForcedEnd - Cannot be removed by sc_end. NoRemoveOnDead - Cannot be removed when a player dies. NoDispell - Cannot be removed by SA_DISPELL. NoClearance - Cannot be removed by AB_CLEARANCE. NoBanishingBuster - Cannot be removed by RL_BANISHING_BUSTER. NoSave - Won't be saved when player logs out. NoSaveInfinite - Infinite duration status won't be saved when player logs out. NoWarning - Ignores the status_change_start check for statuses that have no defining features associated to them in the status database. RemoveOnDamaged - Removed when receiving damage. RemoveOnRefresh - Removed by RK_REFRESH. RemoveOnLuxAnima - Removed by RK_LUXANIMA. RemoveOnMapWarp - Removed when warping to another map. RemoveOnChangeMap - Removed when changing map-server. RemoveChemicalProtect - Removed by AM_CP_ARMOR/AM_CP_HELM/AM_CP_SHIELD/AM_CP_WEAPON. RemoveElementalOption - Removed by elemental changing modes/quitting/EL_TIDAL_WEAPON/EL_WATER_SCREEN on the master and elemental. RemoveOnUnequip - Removed when unequipping any type of equipment. RemoveOnUnequipWeapon - Removed when unequipping a weapon. RemoveOnUnequipArmor - Removed when unequipping an armor. RemoveOnHermode - Removed by CG_HERMODE. StopAttacking - Makes the unit stop attacking. StopCasting - Makes the unit stop casting skills. StopWalking - Makes the unit stop walking. BossResist - Cannot be applied to Boss Monster (Mob has mode MD_STATUS_IMMUNE). MvpResist - Cannot be applied to MvP (Mob has mode MD_MVP). SendOption - Sends the STATE_CHANGE packet. For statuses that have Opt1, Opt2, or Opt3 values. SendLook - Sends the STATE_CHANGE packet. For statuses that have body/look changes through 'Option' flags (only for players). OnTouch - Triggers OnTouch_ NPC events. For statuses that have an invisible effect. UnitMove - Triggers when the player has moved location and invokes the skill unit on place. NonPlayer - Sends the NPC_SHOWEFST_UPDATE packet. Used to send effects to NPC/monsters. RequireWeapon - Status requires a weapon to be equipped. RequireNoWeapon - Status requires that no weapons be equipped. RequireShield - Status requires a shield to be equipped. SuperNoviceAngel - Status that is given from Super Novice Angel. TaekwonAngel - Status that is given from Taekwon Angel. RemoveFromHomOnWarp - Removes the status from the Homunculus when teleporting or warping to another map. RemoveFromHomOnMapWarp - Removes the status from the Homunculus when warping to another map. --------------------------------------- MinDuration: Minimum duration, in milliseconds, after reduction calculation for status resistance. --------------------------------------- MinRate: Minimum success rate, at n/10000, after reduction calculation for status resistance. --------------------------------------- Fail: List of status that causes the status to fail to activate. --------------------------------------- EndOnStart: List of status that will end if the status activates. --------------------------------------- EndReturn: List of status that will end if the status activates and it won't give its effect. The statuses checked in this list are done at the beginning of status_change_start(). If at least 1 status from this list is removed then it will return back and not check anything else. --------------------------------------- EndOnEnd: List of status that will end when the status becomes inactive. --------------------------------------- Notes: By default, statuses are 'Buff' (those that aren't explicitely given the 'Debuff' flag) which are removable by 'map_quit' in combination with 'battle_config.debuff_on_logout'. The NoClearbuff flag prevents some permanent and non-permanent statuses that cannot be removed by 'status_change_clear', 'status_change_clear_buffs', 'map_quit', or other clearing means. The function 'status_change_clear_buffs' is called by CG_TAROTCARD, RK_REFRESH, RK_LUXANIMA, CG_HERMODE, PA_GOSPEL, and LG_INSPIRATION. CG_TAROTCARD and CG_HERMODE only remove buffs while PA_GOSPEL and LG_INSPIRATION remove buffs and debuffs. RK_REFRESH and RK_LUXANIMA only remove statuses that have the Rem_On_Rerfresh or RemoveOnLuxAnima flag. Works just like SA_DISPELL, AB_CLEARANCE, RL_BANISHING_BUSTER that has the effect to remove buffs or debuffs. ---- Removed comments from source ---- - Mado is immune to increase agi, wind walk, cart boost, etc (others above) [Ind] - Cart Boost cannot be affected by Slow grace. Assumed if player got Slow Grace first, Cart Boost is failed since Cart Boost doesn't cancel Slow Grace effect http://irowiki.org/wiki/Cart_Boost_%28Genetic%29 (view date: 2014-01-26) http://irowiki.org/wiki/Cart_Boost (view date: 2014-01-26) - kRO Update 2014-02-12: Cannot be stacked with Platinum Alter and Madness Canceler (and otherwise?) [Cydh] - SC_BERSERK, SC_SATURDAYNIGHTFEVER, and SC__BLOODYLUST are all like berserk, do not everlap each other. - SC_STONE, SC_FREEZE, SC_DEEPSLEEP, SC_SLEEP, SC_STUN, SC_FREEZING, and SC_CRYSTALIZE cannot override other opt1 status changes. [Skotlex] TODO: SC that has OPT1: SC_STONE, SC_FREEZE, SC_STUN, SC_SLEEP, SC_BURNING, SC_WHITEIMPRISON, SC_CRYSTALIZE - Immune to Frozen and Freezing status if under Warmer status. [Jobbie] - SC_ONEHAND removes the Aspd potion effect, as reported by Vicious. [Skotlex] - SC_ALL_RIDING. Already mounted, just dismount. - SC_GN_CARTBOOST andSC_CARTBOOST cancel Decrease Agi, but take no further effect [Skotlex]