//===== rAthena Documentation ================================ //= Status Change Database Structure //===== By: ================================================== //= rAthena Dev Team //===== Last Updated: ======================================== //= 20241109 //===== 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. --------------------------------------- Script: Script to execute, when starting the status change. When this is set all battle relevant status will be recalculated, after executing the script. Scripted status changes can only be started on players. --------------------------------------- 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]