From 17751aa4d71d85a35a498e4c1677b9ee9d26331a Mon Sep 17 00:00:00 2001 From: Atemo <Atemo@users.noreply.github.com> Date: Mon, 29 Aug 2022 13:28:09 +0200 Subject: [PATCH] Added 'Gradable' in item DB (#7218) * Added 'Gradable' in item DB ** The field defines if the item can be graded (renewal). (Default: false) Thanks to @attackjom, @Lemongrass3110 ! --- db/import-tmpl/item_db.yml | 1 + db/item_db.yml | 1 + db/pre-re/item_db.yml | 1 + db/pre-re/item_db_equip.yml | 1 + db/pre-re/item_db_etc.yml | 1 + db/pre-re/item_db_usable.yml | 1 + db/re/item_db.yml | 1 + db/re/item_db_equip.yml | 191 +++++++++++++++++++++++++++++++++++ db/re/item_db_etc.yml | 1 + db/re/item_db_usable.yml | 1 + doc/item_db.txt | 4 + doc/yaml/db/item_db.yml | 1 + doc/yaml/sql/item_db2_re.sql | 1 + doc/yaml/sql/item_db_re.sql | 1 + sql-files/item_db2_re.sql | 1 + sql-files/item_db_re.sql | 1 + src/map/clif.cpp | 5 + src/map/itemdb.cpp | 16 ++- src/map/itemdb.hpp | 2 +- src/tool/yaml2sql.cpp | 2 + 20 files changed, 232 insertions(+), 2 deletions(-) diff --git a/db/import-tmpl/item_db.yml b/db/import-tmpl/item_db.yml index 9097078528..56af674622 100644 --- a/db/import-tmpl/item_db.yml +++ b/db/import-tmpl/item_db.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/item_db.yml b/db/item_db.yml index 37d96136b4..d1fd5b5e88 100644 --- a/db/item_db.yml +++ b/db/item_db.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/pre-re/item_db.yml b/db/pre-re/item_db.yml index 4f18c64050..a75f06fec4 100644 --- a/db/pre-re/item_db.yml +++ b/db/pre-re/item_db.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/pre-re/item_db_equip.yml b/db/pre-re/item_db_equip.yml index a9120def12..ebfae31683 100644 --- a/db/pre-re/item_db_equip.yml +++ b/db/pre-re/item_db_equip.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/pre-re/item_db_etc.yml b/db/pre-re/item_db_etc.yml index 09997ec170..02785388f1 100644 --- a/db/pre-re/item_db_etc.yml +++ b/db/pre-re/item_db_etc.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/pre-re/item_db_usable.yml b/db/pre-re/item_db_usable.yml index 4ba624824b..a0dac1bc7c 100644 --- a/db/pre-re/item_db_usable.yml +++ b/db/pre-re/item_db_usable.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/re/item_db.yml b/db/re/item_db.yml index 3f3927fdb0..e89134bde3 100644 --- a/db/re/item_db.yml +++ b/db/re/item_db.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/re/item_db_equip.yml b/db/re/item_db_equip.yml index 8249d5ccbe..98fdc08373 100644 --- a/db/re/item_db_equip.yml +++ b/db/re/item_db_equip.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) @@ -68591,6 +68592,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 200 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -102587,6 +102589,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -118887,6 +118890,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -139727,6 +139731,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 190 Refineable: true + Gradable: true View: 512 Script: | .@g = getenchantgrade(); @@ -139879,6 +139884,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 190 Refineable: true + Gradable: true View: 2090 Script: | .@r = getrefine(); @@ -139906,6 +139912,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 190 Refineable: true + Gradable: true View: 2102 Script: | .@r = getrefine(); @@ -140006,6 +140013,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 190 Refineable: true + Gradable: true View: 2104 Script: | .@r = getrefine(); @@ -140033,6 +140041,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 1646 Script: | .@g = getenchantgrade(); @@ -140066,6 +140075,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 368 Script: | .@g = getenchantgrade(); @@ -140115,6 +140125,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 1220 Script: | .@g = getenchantgrade(); @@ -140165,6 +140176,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 1645 Script: | .@g = getenchantgrade(); @@ -140211,6 +140223,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 589 Script: | .@g = getenchantgrade(); @@ -141806,6 +141819,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 495 Script: | .@g = getenchantgrade(); @@ -141853,6 +141867,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 150 Refineable: true + Gradable: true View: 461 Script: | .@g = getenchantgrade(); @@ -147645,6 +147660,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -147695,6 +147711,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -147744,6 +147761,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -147794,6 +147812,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -147845,6 +147864,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -147896,6 +147916,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -148321,6 +148342,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -148366,6 +148388,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -148411,6 +148434,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -148456,6 +148480,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -148826,6 +148851,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true View: 2 Script: | .@g = getenchantgrade(); @@ -148887,6 +148913,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 160 Refineable: true + Gradable: true View: 1 Script: | .@g = getenchantgrade(); @@ -150149,6 +150176,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bBaseAtk,15*(.@r/2); @@ -150175,6 +150203,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bBaseAtk,15*(.@r/2); @@ -150201,6 +150230,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bMatk,10*(.@r/2); @@ -150229,6 +150259,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bMatk,15*(.@r/2); @@ -150278,6 +150309,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bBaseAtk,15*(.@r/2); @@ -150305,6 +150337,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@r = getrefine(); bonus bBaseAtk,15*(.@r/2); @@ -150735,6 +150768,7 @@ Body: ArmorLevel: 2 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -150835,6 +150869,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -150881,6 +150916,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -150927,6 +150963,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -150973,6 +151010,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -152639,6 +152677,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -152684,6 +152723,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -152728,6 +152768,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -152772,6 +152813,7 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -155791,6 +155833,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -155835,6 +155878,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -155888,6 +155932,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156014,6 +156059,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156065,6 +156111,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156362,6 +156409,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156417,6 +156465,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156470,6 +156519,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156607,6 +156657,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156640,6 +156691,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -156675,6 +156727,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157164,6 +157217,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157208,6 +157262,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157254,6 +157309,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157360,6 +157416,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157643,6 +157700,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157694,6 +157752,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157746,6 +157805,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157789,6 +157849,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); if (.@g >= ENCHANTGRADE_D) { @@ -157820,6 +157881,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157853,6 +157915,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -157954,6 +158017,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158003,6 +158067,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158057,6 +158122,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); if (.@g >= ENCHANTGRADE_D) { @@ -158220,6 +158286,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158575,6 +158642,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158620,6 +158688,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158702,6 +158771,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158864,6 +158934,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -158916,6 +158987,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159246,6 +159318,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159298,6 +159371,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159519,6 +159593,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159570,6 +159645,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159621,6 +159697,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -159997,6 +160074,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160144,6 +160222,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160180,6 +160259,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160235,6 +160315,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160286,6 +160367,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160336,6 +160418,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160384,6 +160467,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160911,6 +160995,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -160963,6 +161048,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -161013,6 +161099,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -161242,6 +161329,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -161855,6 +161943,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -161912,6 +162001,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162147,6 +162237,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162182,6 +162273,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162218,6 +162310,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162333,6 +162426,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162386,6 +162480,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162440,6 +162535,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162493,6 +162589,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162545,6 +162642,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162604,6 +162702,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162656,6 +162755,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162707,6 +162807,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -162762,6 +162863,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163134,6 +163236,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163178,6 +163281,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163223,6 +163327,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163340,6 +163445,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163390,6 +163496,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163581,6 +163688,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163635,6 +163743,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163688,6 +163797,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -163995,6 +164105,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164041,6 +164152,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164162,6 +164274,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164214,6 +164327,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164423,6 +164537,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164478,6 +164593,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164787,6 +164903,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164833,6 +164950,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -164954,6 +165072,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165006,6 +165125,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165215,6 +165335,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165270,6 +165391,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165697,6 +165819,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165740,6 +165863,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165794,6 +165918,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165917,6 +166042,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -165968,6 +166094,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166201,6 +166328,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166255,6 +166383,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166309,6 +166438,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166649,6 +166779,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166694,6 +166825,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166775,6 +166907,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166896,6 +167029,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -166952,6 +167086,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167306,6 +167441,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167351,6 +167487,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167468,6 +167605,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167518,6 +167656,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167752,6 +167891,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167806,6 +167946,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -167861,6 +168002,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168017,6 +168159,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168063,6 +168206,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168220,6 +168364,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168273,6 +168418,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168481,6 +168627,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -168560,6 +168707,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169002,6 +169150,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169055,6 +169204,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169109,6 +169259,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169234,6 +169385,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169286,6 +169438,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169511,6 +169664,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169569,6 +169723,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -169629,6 +169784,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170068,6 +170224,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); bonus bUnbreakableWeapon; @@ -170122,6 +170279,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170173,6 +170331,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170223,6 +170382,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170781,6 +170941,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170825,6 +170986,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170869,6 +171031,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170913,6 +171076,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -170958,6 +171122,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171111,6 +171276,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171161,6 +171327,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171212,6 +171379,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171528,6 +171696,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171581,6 +171750,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171635,6 +171805,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171687,6 +171858,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -171964,6 +172136,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172019,6 +172192,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172067,6 +172241,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172116,6 +172291,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172311,6 +172487,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172366,6 +172543,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172415,6 +172593,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172465,6 +172644,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172634,6 +172814,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172687,6 +172868,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -172736,6 +172918,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173012,6 +173195,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173067,6 +173251,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173115,6 +173300,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173163,6 +173349,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173327,6 +173514,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 220 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173382,6 +173570,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 230 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173431,6 +173620,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 210 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); @@ -173479,6 +173669,7 @@ Body: WeaponLevel: 5 EquipLevelMin: 190 Refineable: true + Gradable: true Script: | .@g = getenchantgrade(); .@r = getrefine(); diff --git a/db/re/item_db_etc.yml b/db/re/item_db_etc.yml index b9ada8f97e..481ecc03eb 100644 --- a/db/re/item_db_etc.yml +++ b/db/re/item_db_etc.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/db/re/item_db_usable.yml b/db/re/item_db_usable.yml index f0747f8214..89e5a4728e 100644 --- a/db/re/item_db_usable.yml +++ b/db/re/item_db_usable.yml @@ -44,6 +44,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/doc/item_db.txt b/doc/item_db.txt index 38d4918d74..abdb482101 100644 --- a/doc/item_db.txt +++ b/doc/item_db.txt @@ -219,6 +219,10 @@ Refineable: Defines if the item can be refined. --------------------------------------- +Gradable: Defines if the item can be graded. + +--------------------------------------- + View: For normal items, defines a replacement view-sprite for the item. --------------------------------------- diff --git a/doc/yaml/db/item_db.yml b/doc/yaml/db/item_db.yml index 94dd7fd6cb..7c66ab5afe 100644 --- a/doc/yaml/db/item_db.yml +++ b/doc/yaml/db/item_db.yml @@ -27,6 +27,7 @@ # EquipLevelMin Minimum required level to equip. (Default: 0) # EquipLevelMax Maximum level that can equip. (Default: 0) # Refineable If the item can be refined. (Default: false) +# Gradable If the item can be graded. (Default: false) # View View sprite of an item. (Default: 0) # AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null) # Flags: Item flags. (Default: null) diff --git a/doc/yaml/sql/item_db2_re.sql b/doc/yaml/sql/item_db2_re.sql index 2b24bc7f40..de0d9e95b2 100644 --- a/doc/yaml/sql/item_db2_re.sql +++ b/doc/yaml/sql/item_db2_re.sql @@ -80,6 +80,7 @@ CREATE TABLE `item_db2_re` ( `equip_level_min` tinyint(3) unsigned DEFAULT NULL, `equip_level_max` tinyint(3) unsigned DEFAULT NULL, `refineable` tinyint(1) unsigned DEFAULT NULL, + `gradable` tinyint(1) unsigned DEFAULT NULL, `view` smallint(5) unsigned DEFAULT NULL, `alias_name` varchar(50) DEFAULT NULL, `flag_buyingstore` tinyint(1) unsigned DEFAULT NULL, diff --git a/doc/yaml/sql/item_db_re.sql b/doc/yaml/sql/item_db_re.sql index bbb762d973..7d9461c432 100644 --- a/doc/yaml/sql/item_db_re.sql +++ b/doc/yaml/sql/item_db_re.sql @@ -80,6 +80,7 @@ CREATE TABLE `item_db_re` ( `equip_level_min` tinyint(3) unsigned DEFAULT NULL, `equip_level_max` tinyint(3) unsigned DEFAULT NULL, `refineable` tinyint(1) unsigned DEFAULT NULL, + `gradable` tinyint(1) unsigned DEFAULT NULL, `view` smallint(5) unsigned DEFAULT NULL, `alias_name` varchar(50) DEFAULT NULL, `flag_buyingstore` tinyint(1) unsigned DEFAULT NULL, diff --git a/sql-files/item_db2_re.sql b/sql-files/item_db2_re.sql index 1975b17f16..ccbc076210 100644 --- a/sql-files/item_db2_re.sql +++ b/sql-files/item_db2_re.sql @@ -82,6 +82,7 @@ CREATE TABLE `item_db2_re` ( `equip_level_min` tinyint(3) unsigned DEFAULT NULL, `equip_level_max` tinyint(3) unsigned DEFAULT NULL, `refineable` tinyint(1) unsigned DEFAULT NULL, + `gradable` tinyint(1) unsigned DEFAULT NULL, `view` smallint(5) unsigned DEFAULT NULL, `alias_name` varchar(50) DEFAULT NULL, `flag_buyingstore` tinyint(1) unsigned DEFAULT NULL, diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql index 6ecae4fffc..87f3010117 100644 --- a/sql-files/item_db_re.sql +++ b/sql-files/item_db_re.sql @@ -82,6 +82,7 @@ CREATE TABLE `item_db_re` ( `equip_level_min` tinyint(3) unsigned DEFAULT NULL, `equip_level_max` tinyint(3) unsigned DEFAULT NULL, `refineable` tinyint(1) unsigned DEFAULT NULL, + `gradable` tinyint(1) unsigned DEFAULT NULL, `view` smallint(5) unsigned DEFAULT NULL, `alias_name` varchar(50) DEFAULT NULL, `flag_buyingstore` tinyint(1) unsigned DEFAULT NULL, diff --git a/src/map/clif.cpp b/src/map/clif.cpp index 8aee68d9de..8ca7787d45 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -23545,6 +23545,11 @@ void clif_parse_enchantgrade_add( int fd, struct map_session_data* sd ){ return; } + // Item can't be enhanced + if( !sd->inventory_data[index]->flag.gradable ){ + return; + } + uint16 level = 0; if( sd->inventory_data[index]->type == IT_WEAPON ){ diff --git a/src/map/itemdb.cpp b/src/map/itemdb.cpp index 91c3e58c3c..dc8ca6e25a 100644 --- a/src/map/itemdb.cpp +++ b/src/map/itemdb.cpp @@ -570,6 +570,18 @@ uint64 ItemDatabase::parseBodyNode(const ryml::NodeRef& node) { item->flag.no_refine = true; } + if (this->nodeExists(node, "Gradable")) { + bool gradable; + + if (!this->asBool(node, "Gradable", gradable)) + return 0; + + item->flag.gradable = gradable; + } else { + if (!exists) + item->flag.gradable = false; + } + if (this->nodeExists(node, "View")) { uint32 look; @@ -3099,6 +3111,8 @@ static bool itemdb_read_sqldb_sub(std::vector<std::string> str) { rootNode["EquipLevelMax"] << str[index]; if (!str[++index].empty()) rootNode["Refineable"] << (std::stoi(str[index]) ? "true" : "false"); + if (!str[++index].empty()) + rootNode["Gradable"] << (std::stoi(str[index]) ? "true" : "false"); if (!str[++index].empty()) rootNode["View"] << str[index]; if (!str[++index].empty()) @@ -3265,7 +3279,7 @@ static int itemdb_read_sqldb(void) { "`delay_duration`,`delay_status`,`stack_amount`,`stack_inventory`,`stack_cart`,`stack_storage`,`stack_guildstorage`,`nouse_override`,`nouse_sitting`," "`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_tradepartner`,`trade_nosell`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`,`equip_script`,`unequip_script`" #ifdef RENEWAL - ",`magic_attack`,`class_third`,`class_third_upper`,`class_third_baby`,`class_fourth`,`job_kagerouoboro`,`job_rebellion`,`job_summoner`,`job_spirit_handler`" + ",`magic_attack`,`class_third`,`class_third_upper`,`class_third_baby`,`class_fourth`,`job_kagerouoboro`,`job_rebellion`,`job_summoner`,`job_spirit_handler`,`gradable`" #endif " FROM `%s`", item_db_name[fi]) ) { Sql_ShowDebug(mmysql_handle); diff --git a/src/map/itemdb.hpp b/src/map/itemdb.hpp index a6808a7acc..cf782e60fe 100644 --- a/src/map/itemdb.hpp +++ b/src/map/itemdb.hpp @@ -1246,6 +1246,7 @@ struct item_data bool broadcast; ///< Will be broadcasted if someone obtain the item [Cydh] bool bindOnEquip; ///< Set item as bound when equipped e_item_drop_effect dropEffect; ///< Drop Effect Mode + unsigned gradable : 1; } flag; struct {// item stacking limitation uint16 amount; @@ -1443,7 +1444,6 @@ const char *itemdb_typename_ammo (e_ammo_type ammo); #define itemdb_value_buy(n) itemdb_search(n)->value_buy #define itemdb_value_sell(n) itemdb_search(n)->value_sell -#define itemdb_canrefine(n) (!itemdb_search(n)->flag.no_refine) //Item trade restrictions [Skotlex] bool itemdb_isdropable_sub(struct item_data *itd, int gmlv, int unused); bool itemdb_cantrade_sub(struct item_data *itd, int gmlv, int gmlv2); diff --git a/src/tool/yaml2sql.cpp b/src/tool/yaml2sql.cpp index 09e6d55484..410f449047 100644 --- a/src/tool/yaml2sql.cpp +++ b/src/tool/yaml2sql.cpp @@ -626,6 +626,8 @@ static bool item_db_yaml2sql(const std::string &file, const std::string &table) column.append("`equip_level_max`,"); if (appendEntry(input["Refineable"], value)) column.append("`refineable`,"); + if (appendEntry(input["Gradable"], value)) + column.append("`gradable`,"); if (appendEntry(input["View"], value)) column.append("`view`,"); if (appendEntry(input["AliasName"], value, true))