Skip to content

Commit

Permalink
Random options update (rathena#3993)
Browse files Browse the repository at this point in the history
* Implemented additional random options from official server
Fixed rathena#3988

Thanks to @Stolao @cydh @aleos89
  • Loading branch information
secretdataz authored Jun 30, 2020
1 parent fb00561 commit 2e04ca9
Show file tree
Hide file tree
Showing 10 changed files with 214 additions and 47 deletions.
68 changes: 46 additions & 22 deletions db/const.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ RDMOPT_ATTR_TOLERACE_SAINT 31
RDMOPT_ATTR_TOLERACE_DARKNESS 32
RDMOPT_ATTR_TOLERACE_TELEKINESIS 33
RDMOPT_ATTR_TOLERACE_UNDEAD 34
RDMOPT_ATTR_TOLERACE_ALL 35
RDMOPT_ATTR_TOLERACE_ALLBUTNOTHING 35
RDMOPT_DAMAGE_PROPERTY_NOTHING_USER 36
RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET 37
RDMOPT_DAMAGE_PROPERTY_WATER_USER 38
Expand Down Expand Up @@ -186,27 +186,51 @@ RDMOPT_HEAL_MODIFY_PERCENT 169
RDMOPT_DEC_SPELL_CAST_TIME 170
RDMOPT_DEC_SPELL_DELAY_TIME 171
RDMOPT_DEC_SP_CONSUMPTION 172
RDMOPT_HP_DRAIN 173
RDMOPT_SP_DRAIN 174
RDMOPT_WEAPON_ATTR_NOTHING 175
RDMOPT_WEAPON_ATTR_WATER 176
RDMOPT_WEAPON_ATTR_GROUND 177
RDMOPT_WEAPON_ATTR_FIRE 178
RDMOPT_WEAPON_ATTR_WIND 179
RDMOPT_WEAPON_ATTR_POISON 180
RDMOPT_WEAPON_ATTR_SAINT 181
RDMOPT_WEAPON_ATTR_DARKNESS 182
RDMOPT_WEAPON_ATTR_TELEKINESIS 183
RDMOPT_WEAPON_ATTR_UNDEAD 184
RDMOPT_WEAPON_INDESTRUCTIBLE 185
RDMOPT_BODY_INDESTRUCTIBLE 186
RDMOPT_MDAMAGE_SIZE_SMALL_TARGET 187
RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET 188
RDMOPT_MDAMAGE_SIZE_LARGE_TARGET 189
RDMOPT_MDAMAGE_SIZE_SMALL_USER 190
RDMOPT_MDAMAGE_SIZE_MIDIUM_USER 191
RDMOPT_MDAMAGE_SIZE_LARGE_USER 192
//RDMOPT_ATTR_TOLERACE_ALL 193
RDMOPT_WEAPON_ATTR_NOTHING 173
RDMOPT_WEAPON_ATTR_WATER 174
RDMOPT_WEAPON_ATTR_GROUND 175
RDMOPT_WEAPON_ATTR_FIRE 176
RDMOPT_WEAPON_ATTR_WIND 177
RDMOPT_WEAPON_ATTR_POISON 178
RDMOPT_WEAPON_ATTR_SAINT 179
RDMOPT_WEAPON_ATTR_DARKNESS 180
RDMOPT_WEAPON_ATTR_TELEKINESIS 181
RDMOPT_WEAPON_ATTR_UNDEAD 182
RDMOPT_WEAPON_INDESTRUCTIBLE 183
RDMOPT_BODY_INDESTRUCTIBLE 184
RDMOPT_MDAMAGE_SIZE_SMALL_TARGET 185
RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET 186
RDMOPT_MDAMAGE_SIZE_LARGE_TARGET 187
RDMOPT_MDAMAGE_SIZE_SMALL_USER 188
RDMOPT_MDAMAGE_SIZE_MIDIUM_USER 189
RDMOPT_MDAMAGE_SIZE_LARGE_USER 190
RDMOPT_ATTR_TOLERACE_ALL 191
RDMOPT_RACE_WEAPON_TOLERACE_NOTHING 192
RDMOPT_RACE_WEAPON_TOLERACE_UNDEAD 193
RDMOPT_RACE_WEAPON_TOLERACE_ANIMAL 194
RDMOPT_RACE_WEAPON_TOLERACE_PLANT 195
RDMOPT_RACE_WEAPON_TOLERACE_INSECT 196
RDMOPT_RACE_WEAPON_TOLERACE_FISHS 197
RDMOPT_RACE_WEAPON_TOLERACE_DEVIL 198
RDMOPT_RACE_WEAPON_TOLERACE_HUMAN 199
RDMOPT_RACE_WEAPON_TOLERACE_ANGEL 200
RDMOPT_RACE_WEAPON_TOLERACE_DRAGON 201
RDMOPT_RANGE_WEAPON_ATTACK_DAMAGE_TARGET 202
RDMOPT_RANGE_WEAPON_ATTACK_DAMAGE_USER 203
RDMOPT_RACE_TOLERACE_PLAYER_DORAM 204
RDMOPT_RACE_DAMAGE_PLAYER_HUMAN 205
RDMOPT_RACE_DAMAGE_PLAYER_DORAM 206
RDMOPT_RACE_MDAMAGE_PLAYER_HUMAN 207
RDMOPT_RACE_MDAMAGE_PLAYER_DORAM 208
RDMOPT_RACE_CRI_PERCENT_PLAYER_HUMAN 209
RDMOPT_RACE_CRI_PERCENT_PLAYER_DORAM 210
RDMOPT_RACE_IGNORE_DEF_PERCENT_PLAYER_HUMAN 211
RDMOPT_RACE_IGNORE_DEF_PERCENT_PLAYER_DORAM 212
RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLAYER_HUMAN 213
RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLAYER_DORAM 214
RDMOPT_REFLECT_DAMAGE_PERCENT 215
RDMOPT_MELEE_ATTACK_DAMAGE_TARGET 216
RDMOPT_MELEE_ATTACK_DAMAGE_USER 217

SWORDCLAN 1
ARCWANDCLAN 2
Expand Down
55 changes: 39 additions & 16 deletions db/re/item_randomopt_db.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@ RDMOPT_ATTR_TOLERACE_SAINT,{ bonus2 bSubEle,Ele_Holy,getrandomoptinfo(ROA_VALUE)
RDMOPT_ATTR_TOLERACE_DARKNESS,{ bonus2 bSubEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
RDMOPT_ATTR_TOLERACE_TELEKINESIS,{ bonus2 bSubEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
RDMOPT_ATTR_TOLERACE_UNDEAD,{ bonus2 bSubEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
RDMOPT_ATTR_TOLERACE_ALL,{ bonus2 bSubEle,Ele_All,getrandomoptinfo(ROA_VALUE); }
// TODO: Confirm if damage reduction is implemented correctly.
// kRO desc : <ELEMENT> 몬스터로부터 받는 물리 데미지 %d%% 감소.
RDMOPT_ATTR_TOLERACE_ALLBUTNOTHING,{ for(.@i = Ele_Water; .@i < Ele_Undead; ++.@i) bonus2 bSubEle,.@i,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_PROPERTY_NOTHING_USER,{ bonus2 bSubDefEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,{ bonus2 bAddEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_PROPERTY_WATER_USER,{ bonus2 bSubDefEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
Expand Down Expand Up @@ -89,15 +87,15 @@ RDMOPT_BODY_ATTR_SAINT,{ bonus bDefEle,Ele_Holy; }
RDMOPT_BODY_ATTR_DARKNESS,{ bonus bDefEle,Ele_Dark; }
RDMOPT_BODY_ATTR_TELEKINESIS,{ bonus bDefEle,Ele_Ghost; }
RDMOPT_BODY_ATTR_UNDEAD,{ bonus bDefEle,Ele_Undead; }
//RDMOPT_BODY_ATTR_ALL,{ /* Needs more info */ }
//RDMOPT_BODY_ATTR_ALL,{}
RDMOPT_RACE_TOLERACE_NOTHING,{ bonus2 bSubRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_UNDEAD,{ bonus2 bSubRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_ANIMAL,{ bonus2 bSubRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_PLANT,{ bonus2 bSubRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_INSECT,{ bonus2 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_FISHS,{ bonus2 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_DEVIL,{ bonus2 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bSubRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_ANGEL,{ bonus2 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_TOLERACE_DRAGON,{ bonus2 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_NOTHING,{ bonus2 bAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -107,7 +105,7 @@ RDMOPT_RACE_DAMAGE_PLANT,{ bonus2 bAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE);
RDMOPT_RACE_DAMAGE_INSECT,{ bonus2 bAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_FISHS,{ bonus2 bAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_DEVIL,{ bonus2 bAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_ANGEL,{ bonus2 bAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_DRAGON,{ bonus2 bAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_NOTHING,{ bonus2 bMagicAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -117,7 +115,7 @@ RDMOPT_RACE_MDAMAGE_PLANT,{ bonus2 bMagicAddRace,RC_Plant,getrandomoptinfo(ROA_V
RDMOPT_RACE_MDAMAGE_INSECT,{ bonus2 bMagicAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_FISHS,{ bonus2 bMagicAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_DEVIL,{ bonus2 bMagicAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bMagicAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_ANGEL,{ bonus2 bMagicAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_DRAGON,{ bonus2 bMagicAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_CRI_PERCENT_NOTHING,{ bonus2 bCriticalAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE)/10; }
Expand All @@ -127,7 +125,7 @@ RDMOPT_RACE_CRI_PERCENT_PLANT,{ bonus2 bCriticalAddRace,RC_Plant,getrandomoptinf
RDMOPT_RACE_CRI_PERCENT_INSECT,{ bonus2 bCriticalAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_FISHS,{ bonus2 bCriticalAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_DEVIL,{ bonus2 bCriticalAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; bonus2 bCriticalAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_ANGEL,{ bonus2 bCriticalAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_CRI_PERCENT_DRAGON,{ bonus2 bCriticalAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE)/10; }
RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,{ bonus2 bIgnoreDefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -137,7 +135,7 @@ RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,{ bonus2 bIgnoreDefRaceRate,RC_Plant,getran
RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,{ bonus2 bIgnoreDefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,{ bonus2 bIgnoreDefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,{ bonus2 bIgnoreDefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreDefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,{ bonus2 bIgnoreDefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -147,7 +145,7 @@ RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,getr
RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreMdefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,{ bonus2 bAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -168,7 +166,7 @@ RDMOPT_DAMAGE_SIZE_MIDIUM_USER,{ bonus2 bSubSize,Size_Medium,getrandomoptinfo(RO
RDMOPT_DAMAGE_SIZE_LARGE_USER,{ bonus2 bSubSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_SIZE_PERFECT,{ bonus bNoSizeFix,1; }
RDMOPT_DAMAGE_CRI_TARGET,{ bonus bCritAtkRate,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_CRI_USER,{ bonus bCriticalDef,getrandomoptinfo(ROA_VALUE); }
RDMOPT_DAMAGE_CRI_USER,{ bonus bCritDefRate,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,{ bonus bLongAtkRate,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RANGE_ATTACK_DAMAGE_USER,{ bonus bLongAtkDef,getrandomoptinfo(ROA_VALUE); }
RDMOPT_HEAL_VALUE,{ bonus bHealPower,getrandomoptinfo(ROA_VALUE); }
Expand All @@ -193,8 +191,33 @@ RDMOPT_BODY_INDESTRUCTIBLE,{ bonus bUnbreakableArmor,1; }
RDMOPT_MDAMAGE_SIZE_SMALL_TARGET,{ bonus2 bMagicAddSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET,{ bonus2 bMagicAddSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
RDMOPT_MDAMAGE_SIZE_LARGE_TARGET,{ bonus2 bMagicAddSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
//RDMOPT_MDAMAGE_SIZE_SMALL_USER,{}
//RDMOPT_MDAMAGE_SIZE_MIDIUM_USER,{}
//RDMOPT_MDAMAGE_SIZE_LARGE_USER,{}
//redefined?
//RDMOPT_ATTR_TOLERACE_ALL,{}
RDMOPT_MDAMAGE_SIZE_SMALL_USER,{ bonus2 bMagicSubSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
RDMOPT_MDAMAGE_SIZE_MIDIUM_USER,{ bonus2 bMagicSubSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
RDMOPT_MDAMAGE_SIZE_LARGE_USER,{ bonus2 bMagicSubSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
RDMOPT_ATTR_TOLERACE_ALL,{ bonus2 bSubEle,Ele_All,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_WEAPON_TOLERACE_NOTHING,{ bonus3 bSubRace,RC_Formless,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_UNDEAD,{ bonus3 bSubRace,RC_Undead,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_ANIMAL,{ bonus3 bSubRace,RC_Brute,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_PLANT,{ bonus3 bSubRace,RC_Plant,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_INSECT,{ bonus3 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_FISHS,{ bonus3 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_DEVIL,{ bonus3 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_HUMAN,{ bonus3 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_ANGEL,{ bonus3 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
RDMOPT_RACE_WEAPON_TOLERACE_DRAGON,{ bonus3 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE),BF_WEAPON; }
// RDMOPT_RANGE_WEAPON_ATTACK_DAMAGE_TARGET,{}
// RDMOPT_RANGE_WEAPON_ATTACK_DAMAGE_USER,{}
RDMOPT_RACE_TOLERACE_PLAYER_DORAM,{ bonus2 bSubRace,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_PLAYER_HUMAN,{ bonus2 bAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_DAMAGE_PLAYER_DORAM,{ bonus2 bAddRace,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_PLAYER_HUMAN,{ bonus2 bMagicAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_MDAMAGE_PLAYER_DORAM,{ bonus2 bMagicAddRace,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_CRI_PERCENT_PLAYER_HUMAN,{ bonus2 bCriticalAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_CRI_PERCENT_PLAYER_DORAM,{ bonus2 bCriticalAddRace,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_PLAYER_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_DEF_PERCENT_PLAYER_DORAM,{ bonus2 bIgnoreDefRaceRate,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLAYER_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLAYER_DORAM,{ bonus2 bIgnoreMdefRaceRate,RC_Player_Doram,getrandomoptinfo(ROA_VALUE); }
// RDMOPT_REFLECT_DAMAGE_PERCENT,{}
RDMOPT_MELEE_ATTACK_DAMAGE_TARGET,{ bonus bShortAtkRate,getrandomoptinfo(ROA_VALUE); }
RDMOPT_MELEE_ATTACK_DAMAGE_USER,{ bonus bNearAtkDef,getrandomoptinfo(ROA_VALUE); }
2 changes: 1 addition & 1 deletion doc/atcommands.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1360,7 +1360,7 @@ Affected files:
-- atcommand: atcommand_athena.conf, groups.conf
-- battleconf: battle_athena.conf, battle_conf.txt
-- instancedb: instance_db.txt
-- itemdb: item_db.txt, item_group_db.txt, item_trade.txt, item_noequip.txt, item_nouse.txt, item_combo_db.txt, item_avail.txt, item_stack.txt, item_delay.txt, item_buyingstore.txt, item_flag.txt
-- itemdb: item_db.txt, item_group_db.txt, item_trade.txt, item_noequip.txt, item_nouse.txt, item_combo_db.txt, item_avail.txt, item_stack.txt, item_delay.txt, item_buyingstore.txt, item_flag.txt, item_randomopt_db.txt, item_randomopt_group.txt
-- mobdb: mob_db.txt, mob_item_ratio.txt, mob_chat_db.txt, mob_avail.txt, mob_race2_db.txt, mob_branch.txt, mob_poring.txt, mob_boss.txt, mob_pouch.txt, mob_classchange.txt, pet_db.yml, homunculus_db.txt, homun_skill_tree.txt, exp_homun.txt, mercenary_db.txt, mercenary_skill_db.txt, elemental_db.txt, elemental_skill_db.txt
-- motd: motd.txt
-- msgconf: atcommand_athena.conf
Expand Down
3 changes: 3 additions & 0 deletions doc/item_bonus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ bonus2 bSkillAtk,sk,n; Increases damage of skill sk by n%
bonus bShortAtkRate,n; Increases damage of short ranged attacks by n%
bonus bLongAtkRate,n; Increases damage of long ranged attacks by n%
bonus bCritAtkRate,n; Increases critical damage by +n%
bonus bCritDefRate,n; Decreases critical damage received by n%
bonus bCriticalDef,n; Decreases the chance of being hit by critical hits by n%
bonus2 bWeaponAtk,w,n; Adds n ATK when weapon of type w is equipped
bonus2 bWeaponDamageRate,w,n; Adds n% damage to normal attacks when weapon of type w is equipped
Expand Down Expand Up @@ -232,6 +233,7 @@ bonus2 bSubDefEle,e,x; +x% damage reduction from enemy with defense element
bonus2 bAddRace,r,x; +x% physical damage against race r
bonus2 bMagicAddRace,r,x; +x% magical damage against race r
bonus2 bSubRace,r,x; +x% damage reduction against race r
bonus3 bSubRace,r,x,bf; +x% damage reduction against race r with trigger criteria bf

bonus2 bAddClass,c,x; +x% physical damage against class c
bonus2 bMagicAddClass,c,x; +x% magical damage against class c
Expand All @@ -240,6 +242,7 @@ bonus2 bSubClass,c,x; +x% damage reduction against class c
bonus2 bAddSize,s,x; +x% physical damage against size s
bonus2 bMagicAddSize,s,x; +x% magical damage against size s
bonus2 bSubSize,s,x; +x% damage reduction against size s
bonus2 bMagicSubSize,s,x; +x% magic damage reduction against size s
bonus bNoSizeFix; Ignores the size modifier when calculating damage

bonus2 bAddDamageClass,mid,x; +x% physical damage against monster mid
Expand Down
Loading

0 comments on commit 2e04ca9

Please sign in to comment.