status.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. //===== rAthena Documentation ================================
  2. //= Status Change Database Structure
  3. //===== By: ==================================================
  4. //= rAthena Dev Team
  5. //===== Last Updated: ========================================
  6. //= 20220421
  7. //===== Description: =========================================
  8. //= Explanation of the status.yml file and structure.
  9. //============================================================
  10. ---------------------------------------
  11. Status: Status change name.
  12. See src/map/script_constants.hpp for SC_ constants.
  13. ---------------------------------------
  14. Icon: Status change icon or client effect that will be displayed client-side.
  15. See src/map/script_constants.hpp for EFST_ constants.
  16. ---------------------------------------
  17. DurationLookup: Used for default duration lookup in skill_db.yml. The lookup is used for some item bonuses as default duration.
  18. ---------------------------------------
  19. States: Specified states given when the SC is active.
  20. None - No special state. (Default)
  21. NoMove - Cannot move.
  22. NoMoveCond - Condition check for SCS_NOMOVE.
  23. NoPickItem - Cannot pick item.
  24. NoPickItemCond - Condition check for SCS_NOPICKITEM.
  25. NoDropItem - Cannot drop item.
  26. NoDropItemCond - Condition check for SCS_NODROPITEM.
  27. NoCast - Cannot cast a skill.
  28. NoCastCond - Condition check for SCS_NOCAST.
  29. NoChat - Cannot chat and open chat room.
  30. NoChatCond - Condition check for SCS_NOCHATCOND.
  31. NoEquipItem - Cannot put on equipment.
  32. NoEquipItemCond - Condition check for SCS_NOEQUIPITEM.
  33. NoUnEquipItem - Cannot put off equipment.
  34. NoUnEquipItemCond - Condition check for SCS_NOUNEQUIPITEM.
  35. NoConsumeItem - Cannot consume item.
  36. NoConsumeItemCond - Condition check for SCS_NOCONSUMEITEM.
  37. NoAttack - Cannot attack.
  38. NoAttackCond - Condition check for SCS_NOATTACK.
  39. NoWarp - Cannot warp.
  40. NoWarpCond - Condition check for SCS_NOWARP.
  41. NoDeathPenalty - Cannot lose experience on death.
  42. NoDeathPenaltyCond - Condition check for SCS_NODEATHPENALTY.
  43. NoInteract - Cannot interact with client (sit/stand or talk with NPC).
  44. NoInteractCond - Condition check for SCS_NOINTERACT.
  45. States that have a suffix of "Cond" means the State has hard coded conditions in status.cpp::status_calc_state
  46. ---------------------------------------
  47. 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.
  48. None - Calculates nothing. (Default)
  49. Base - Base status
  50. MaxHp - Maximum HP
  51. MaxSp - Maximum SP
  52. Str - STR
  53. Agi - AGI
  54. Vit - VIT
  55. Int - INT
  56. Dex - DEX
  57. Luk - LUK
  58. Batk - Base Attack
  59. Watk - Weapon Attack
  60. Matk - Magic Attack
  61. Hit - Hit/accuracy rate
  62. Flee - Flee/dodge rate
  63. Def - Equipment Defense
  64. Def2 - Defense
  65. Mdef - Equipment Magic Defense
  66. Mdef2 - Magic Defense
  67. Speed - Walk speed
  68. Aspd - Attack speed
  69. Dspd - Damage delay speed
  70. Cri - Critical rate
  71. Flee2 - Perfect dodge rate
  72. Atk_Ele - Attack Element
  73. Def_Ele - Defense Element
  74. Mode - Mode
  75. Size - Size
  76. Race - Race
  77. Range - Range
  78. Regen - Regeneration
  79. MaxAp - Maximum AP
  80. Pow - POW
  81. Sta - STA
  82. Wis - WIS
  83. Spl - SPL
  84. Con - CON
  85. Crt - CRT
  86. Patk - Physical Power
  87. Smatk - Spell Magic Attack
  88. Res - Physical Resistance
  89. Mres - Magic Resistance
  90. Hplus - Heal Plus
  91. Crate - Critical Rate
  92. Dye - Dye
  93. All - Calculates all CalcFlags
  94. ---------------------------------------
  95. Opt1: Special effect when status is active (Aegis: BODYSTATE_*). This option is not stackable. These effects also apply their special behaviors.
  96. None - No effect (Default)
  97. Stone - Stone curse effect
  98. StoneWait - Stone curse incubation effect
  99. Freeze - Freeze effect
  100. Stun - Stun effect
  101. Sleep - Sleep effect
  102. StoneWait - Effect before Stone is really applied
  103. Burning - Burning effect
  104. Imprison - Imprison effect
  105. Crystalize - Crystalize effect
  106. ---------------------------------------
  107. Opt2: Special option/client effect when status is active (Aegis: HEALTHSTATE_*).
  108. None - No effect (Default)
  109. Poison - Posioned effect
  110. Curse - Cursed effect
  111. Silence - Silenced effect
  112. SignumCrucis - Signum Crucis effect
  113. Blind - Blind effect
  114. Angelus - Angelus effect
  115. Bleeding - Bleeding effect
  116. Dpoison - Heavy Poisoned effect
  117. Fear - Fear effect
  118. ---------------------------------------
  119. Opt3: Special option/client effect when status is active (Aegis: SHOW_EFST_*)
  120. Normal - No effect (Default)
  121. Quicken - Quicken effect
  122. OverThrust - Overthrust effect
  123. EnergyCoat - Energy Coat effect
  124. ExplosionSpirits - Explosion Spirits effect
  125. SteelBody - Steel Body effect
  126. BladeStop - Blade Stop effect
  127. AuraBlade - Aura Blade effect
  128. Berserk - Berserk effect
  129. LightBlade - Light Blade effect
  130. Moonlit - Moonlit effect
  131. Marionette - Marionette effect
  132. Assumptio - Assumptio effect
  133. Warm - Warm effect
  134. Kaite - Kaite effect
  135. Bunsin - Bunshin effect
  136. SoulLink - Soul Link effect
  137. Undead - Undead effect
  138. Contract - Contract effect
  139. ---------------------------------------
  140. Options: Special option/client effect state when status is active.
  141. Nothing - No effect (Default)
  142. Sight - Sight effect
  143. Hide - Hide effect
  144. Cloak - Cloaking effect
  145. Falcon - Falcon effect
  146. Riding - Riding effect
  147. Invisible - Invisible effect
  148. Orcish - Orcish effect, the ugly face!
  149. Wedding - Wedding costume
  150. Ruwach - Ruwach effect
  151. ChaseWalk - Chasewalk effect
  152. Flying - Flying effect (Star Gladiator's Union)
  153. Xmas - Christmas costume
  154. Transform - Transformation
  155. Summer - Summer costume
  156. Dragon1 - Dragon
  157. Dragon2 - Dragon
  158. Dragon3 - Dragon
  159. Dragon4 - Dragon
  160. Dragon5 - Dragon
  161. Wug - Wug
  162. WugRider - Riding a Wug
  163. Madogear - Madogear
  164. Hanbok - Hanbok costume
  165. Oktoberfest - Oktoberfest costume
  166. ---------------------------------------
  167. Flags: Various status flags for specific status change events.
  168. None - No special flag. (Default)
  169. 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.
  170. DisplayPc - Displays status effect when player logs in.
  171. DislpayNpc - Displays status effect on a NPC.
  172. Debuff - Status is considered a debuff. Used in combination with 'battle_config.debuff_on_logout'.
  173. SetStand - Sets player to standing state.
  174. OverlapIgnoreLevel - The status will successfully activate for any level if the status is already active.
  175. FailedMado - Cannot be applied if Madogear is active.
  176. MadoCancel - Cancels the status when mounting Madogear.
  177. MadoEndCancel - Cancels the status when unmounting Madogear.
  178. MobLoseTarget - When active on a monster it will lose the target.
  179. RestartOnMapWarp - Restarts the timer of a status when warping to another map.
  180. SpreadEffect - Passes the status onto a target when SC_DEADLYINFECT is active.
  181. SendVal1 - Notifies the client of a status change (val1).
  182. SendVal2 - Notifies the client of a status change (val2).
  183. SendVal3 - Notifies the client of a status change (val3).
  184. NoClearbuff - Cannot be removed by 'status_change_clear_buffs()', 'sc_end SC_ALL', 'status_change_clear(3)', etc.
  185. NoForcedEnd - Cannot be removed by sc_end.
  186. NoRemoveOnDead - Cannot be removed when a player dies.
  187. NoDispell - Cannot be removed by SA_DISPELL.
  188. NoClearance - Cannot be removed by AB_CLEARANCE.
  189. NoBanishingBuster - Cannot be removed by RL_BANISHING_BUSTER.
  190. NoSave - Won't be saved when player logs out.
  191. NoSaveInfinite - Infinite duration status won't be saved when player logs out.
  192. NoWarning - Ignores the status_change_start check for statuses that have no defining features associated to them in the status database.
  193. RemoveOnDamaged - Removed when receiving damage.
  194. RemoveOnRefresh - Removed by RK_REFRESH.
  195. RemoveOnLuxAnima - Removed by RK_LUXANIMA.
  196. RemoveOnMapWarp - Removed when warping to another map.
  197. RemoveOnChangeMap - Removed when changing map-server.
  198. RemoveChemicalProtect - Removed by AM_CP_ARMOR/AM_CP_HELM/AM_CP_SHIELD/AM_CP_WEAPON.
  199. RemoveElementalOption - Removed by elemental changing modes/quitting/EL_TIDAL_WEAPON/EL_WATER_SCREEN on the master and elemental.
  200. RemoveOnUnequip - Removed when unequipping any type of equipment.
  201. RemoveOnUnequipWeapon - Removed when unequipping a weapon.
  202. RemoveOnUnequipArmor - Removed when unequipping an armor.
  203. StopAttacking - Makes the unit stop attacking.
  204. StopCasting - Makes the unit stop casting skills.
  205. StopWalking - Makes the unit stop walking.
  206. BossResist - Cannot be applied to Boss Monster (Mob has mode MD_STATUS_IMMUNE).
  207. MvpResist - Cannot be applied to MvP (Mob has mode MD_MVP).
  208. SendOption - Sends the STATE_CHANGE packet. For statuses that have Opt1, Opt2, or Opt3 values.
  209. SendLook - Sends the STATE_CHANGE packet. For statuses that have body/look changes through 'Option' flags (only for players).
  210. OnTouch - Triggers OnTouch_ NPC events. For statuses that have an invisible effect.
  211. UnitMove - Triggers when the player has moved location and invokes the skill unit on place.
  212. NonPlayer - Sends the NPC_SHOWEFST_UPDATE packet. Used to send effects to NPC/monsters.
  213. RequireWeapon - Status requires a weapon to be equipped.
  214. RequireShield - Status requires a shield to be equipped.
  215. SuperNoviceAngel - Status that is given from Super Novice Angel.
  216. TaekwonAngel - Status that is given from Taekwon Angel.
  217. ---------------------------------------
  218. MinDuration: Minimum duration, in milliseconds, after reduction calculation for status resistance.
  219. ---------------------------------------
  220. MinRate: Minimum success rate, at n/10000, after reduction calculation for status resistance.
  221. ---------------------------------------
  222. Fail: List of status that causes the status to fail to activate.
  223. ---------------------------------------
  224. End: List of status that will end if the status activates.
  225. ---------------------------------------
  226. EndReturn: List of status that will end if the status activates and it won't give its effect.
  227. The statuses checked in this list are done at the beginning of status_change_start(). If at least 1 status from this list
  228. is removed then it will return back and not check anything else.
  229. ---------------------------------------
  230. Notes:
  231. 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'.
  232. 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
  233. clearing means.
  234. The function 'status_change_clear_buffs' is called by CG_TAROTCARD, RK_REFRESH, RK_LUXANIMA, CG_HERMODE, PA_GOSPEL, and LG_INSPIRATION.
  235. CG_TAROTCARD and CG_HERMODE only remove buffs while PA_GOSPEL and LG_INSPIRATION remove buffs and debuffs.
  236. 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
  237. effect to remove buffs or debuffs.
  238. ---- Removed comments from source ----
  239. - Mado is immune to increase agi, wind walk, cart boost, etc (others above) [Ind]
  240. - 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
  241. http://irowiki.org/wiki/Cart_Boost_%28Genetic%29 (view date: 2014-01-26)
  242. http://irowiki.org/wiki/Cart_Boost (view date: 2014-01-26)
  243. - kRO Update 2014-02-12: Cannot be stacked with Platinum Alter and Madness Canceler (and otherwise?) [Cydh]
  244. - SC_BERSERK, SC_SATURDAYNIGHTFEVER, and SC__BLOODYLUST are all like berserk, do not everlap each other.
  245. - SC_STONE, SC_FREEZE, SC_DEEPSLEEP, SC_SLEEP, SC_STUN, SC_FREEZING, and SC_CRYSTALIZE cannot override other opt1 status changes. [Skotlex]
  246. TODO: SC that has OPT1: SC_STONE, SC_FREEZE, SC_STUN, SC_SLEEP, SC_BURNING, SC_WHITEIMPRISON, SC_CRYSTALIZE
  247. - Immune to Frozen and Freezing status if under Warmer status. [Jobbie]
  248. - SC_ONEHAND removes the Aspd potion effect, as reported by Vicious. [Skotlex]
  249. - SC_ALL_RIDING. Already mounted, just dismount.
  250. - SC_GN_CARTBOOST andSC_CARTBOOST cancel Decrease Agi, but take no further effect [Skotlex]