status.txt 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. //===== rAthena Documentation ================================
  2. //= Status Change Database Structure
  3. //===== By: ==================================================
  4. //= rAthena Dev Team
  5. //===== Last Updated: ========================================
  6. //= 20241109
  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. RemoveOnHermode - Removed by CG_HERMODE.
  204. StopAttacking - Makes the unit stop attacking.
  205. StopCasting - Makes the unit stop casting skills.
  206. StopWalking - Makes the unit stop walking.
  207. BossResist - Cannot be applied to Boss Monster (Mob has mode MD_STATUS_IMMUNE).
  208. MvpResist - Cannot be applied to MvP (Mob has mode MD_MVP).
  209. SendOption - Sends the STATE_CHANGE packet. For statuses that have Opt1, Opt2, or Opt3 values.
  210. SendLook - Sends the STATE_CHANGE packet. For statuses that have body/look changes through 'Option' flags (only for players).
  211. OnTouch - Triggers OnTouch_ NPC events. For statuses that have an invisible effect.
  212. UnitMove - Triggers when the player has moved location and invokes the skill unit on place.
  213. NonPlayer - Sends the NPC_SHOWEFST_UPDATE packet. Used to send effects to NPC/monsters.
  214. RequireWeapon - Status requires a weapon to be equipped.
  215. RequireNoWeapon - Status requires that no weapons be equipped.
  216. RequireShield - Status requires a shield to be equipped.
  217. SuperNoviceAngel - Status that is given from Super Novice Angel.
  218. TaekwonAngel - Status that is given from Taekwon Angel.
  219. RemoveFromHomOnWarp - Removes the status from the Homunculus when teleporting or warping to another map.
  220. RemoveFromHomOnMapWarp - Removes the status from the Homunculus when warping to another map.
  221. ---------------------------------------
  222. MinDuration: Minimum duration, in milliseconds, after reduction calculation for status resistance.
  223. ---------------------------------------
  224. MinRate: Minimum success rate, at n/10000, after reduction calculation for status resistance.
  225. ---------------------------------------
  226. Fail: List of status that causes the status to fail to activate.
  227. ---------------------------------------
  228. EndOnStart: List of status that will end if the status activates.
  229. ---------------------------------------
  230. EndReturn: List of status that will end if the status activates and it won't give its effect.
  231. The statuses checked in this list are done at the beginning of status_change_start(). If at least 1 status from this list
  232. is removed then it will return back and not check anything else.
  233. ---------------------------------------
  234. EndOnEnd: List of status that will end when the status becomes inactive.
  235. ---------------------------------------
  236. Script: Script to execute, when starting the status change. When this is set all battle relevant status will be recalculated, after
  237. executing the script. Scripted status changes can only be started on players.
  238. ---------------------------------------
  239. Notes:
  240. 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'.
  241. 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
  242. clearing means.
  243. The function 'status_change_clear_buffs' is called by CG_TAROTCARD, RK_REFRESH, RK_LUXANIMA, CG_HERMODE, PA_GOSPEL, and LG_INSPIRATION.
  244. CG_TAROTCARD and CG_HERMODE only remove buffs while PA_GOSPEL and LG_INSPIRATION remove buffs and debuffs.
  245. 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
  246. effect to remove buffs or debuffs.
  247. ---- Removed comments from source ----
  248. - Mado is immune to increase agi, wind walk, cart boost, etc (others above) [Ind]
  249. - 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
  250. http://irowiki.org/wiki/Cart_Boost_%28Genetic%29 (view date: 2014-01-26)
  251. http://irowiki.org/wiki/Cart_Boost (view date: 2014-01-26)
  252. - kRO Update 2014-02-12: Cannot be stacked with Platinum Alter and Madness Canceler (and otherwise?) [Cydh]
  253. - SC_BERSERK, SC_SATURDAYNIGHTFEVER, and SC__BLOODYLUST are all like berserk, do not everlap each other.
  254. - SC_STONE, SC_FREEZE, SC_DEEPSLEEP, SC_SLEEP, SC_STUN, SC_FREEZING, and SC_CRYSTALIZE cannot override other opt1 status changes. [Skotlex]
  255. TODO: SC that has OPT1: SC_STONE, SC_FREEZE, SC_STUN, SC_SLEEP, SC_BURNING, SC_WHITEIMPRISON, SC_CRYSTALIZE
  256. - Immune to Frozen and Freezing status if under Warmer status. [Jobbie]
  257. - SC_ONEHAND removes the Aspd potion effect, as reported by Vicious. [Skotlex]
  258. - SC_ALL_RIDING. Already mounted, just dismount.
  259. - SC_GN_CARTBOOST andSC_CARTBOOST cancel Decrease Agi, but take no further effect [Skotlex]