You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
314 lines
13 KiB
Plaintext
314 lines
13 KiB
Plaintext
//===== 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]
|