123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- //===== 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]
|