summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/messages.conf3
-rw-r--r--db/constants.conf45
-rw-r--r--db/pre-re/item_db.conf152
-rw-r--r--db/pre-re/skill_db.conf1
-rw-r--r--db/re/item_db.conf131
-rw-r--r--db/re/skill_db.conf1
-rw-r--r--doc/constants.md44
-rw-r--r--sql-files/item_db.sql50
-rw-r--r--sql-files/item_db_re.sql50
-rw-r--r--src/map/clif.c29
-rw-r--r--src/map/clif.h1
-rw-r--r--src/map/itemdb.h50
-rw-r--r--src/map/npc.h3
-rw-r--r--src/map/pc.c42
-rw-r--r--src/map/status.h84
15 files changed, 471 insertions, 215 deletions
diff --git a/conf/messages.conf b/conf/messages.conf
index efc8d8a36..3cebc4173 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -51,7 +51,8 @@
23: Job level can't go any higher.
24: Job level raised.
25: Job level lowered.
-//26-27 FREE
+26: [%d] seconds left until you can use
+//27 FREE
28: No player found.
29: 1 player found.
30: %d players found.
diff --git a/db/constants.conf b/db/constants.conf
index 79530e7d1..d98a3d036 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -3504,6 +3504,51 @@ constants_db: {
4_F_REBELLION2: 10201
4_F_REBELLION3: 10202
4_M_ILYA: 10203
+ // Free ID - 10204
+ 4_ELDER: 10205
+ 4_LUNATIC: 10206
+ 4_F_NOVICE2: 10207
+ 4_WICKEDNYMPH: 10208
+ 4_F_PREMI: 10209
+ 4_M_COSTELL: 10210
+ 4_M_YATTWARP: 10211
+ 4_M_EVOKASCUDI: 10212
+ 4_M_JOHNNYJAMES: 10213
+ 4_M_ALBERTFORD: 10214
+ 4_M_SEANMCCURDY: 10215
+ 4_M_KARAMPUCCI: 10216
+ 4_M_CACTUSMAN1: 10217
+ 4_M_CACTUSMAN2: 10218
+ 4_M_CACTUSMAN3: 10219
+ 4_M_CACTUSLADY: 10220
+ 4_M_GAST: 10221
+ 4_M_CACTUSCHILD: 10222
+ 4_KING: 10223
+ 4_F_BOMI: 10224
+ 4_M_CACTUSCHIEF: 10225
+ 4_F_CACTUSCHILD2: 10226
+ 4_F_CACTUSLADY2: 10227
+ 4_F_CACTUSLADY3: 10228
+ 4_M_CACTUS: 10229
+ 4_M_COWRAIDERS1: 10230
+ 4_M_COWRAIDERS2: 10231
+ 4_M_COWRAIDERS3: 10232
+ 4_F_JP14THEVT: 10233
+ 4_M_POORSCHOLAR: 10234
+ 4_M_PEPPERROTI: 10235
+ JP_NPC01: 10236
+ 4_PURPLE_WARP: 10237
+ 4_F_NARIN: 10238
+ 4_M_URGENT_MAN: 10239
+ 4_M_KEEN_SOLDIER: 10240
+ 4_F_SLOPPY_WOMAN: 10241
+ 4_F_DRKAFRA01: 10242
+ 4_M_DRZONDA01: 10243
+ 4_M_SWD_RENO: 10244
+ 4_M_KNG_RENO: 10245
+ 4_M_AC_RUMIN: 10246
+ 4_M_HIGH_WIZARD: 10247
+ 4_SYSTEM_BOX: 10248
comment__: "Mercenary IDs"
MER_LIF: 6001
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index a681d5753..cfa7cb7d1 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -1197,6 +1197,9 @@ item_db: (
Buy: 2000
Weight: 100
BuyingStore: true
+ Nouse: {
+ sitting: true
+ }
Script: <" itemskill SM_ENDURE,1; ">
},
{
@@ -1207,6 +1210,9 @@ item_db: (
Buy: 1500
Weight: 100
BuyingStore: true
+ Nouse: {
+ sitting: true
+ }
Script: <" itemskill SM_SELFPROVOKE,1; ">
},
{
@@ -74741,11 +74747,15 @@ item_db: (
Name: "Paralyze"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_PARALYSE,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_PARALYSE, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74754,11 +74764,15 @@ item_db: (
Name: "Leech End"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_LEECHESEND,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_LEECHESEND, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74767,11 +74781,15 @@ item_db: (
Name: "Oblivion Curse"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_OBLIVIONCURSE,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_OBLIVIONCURSE, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74780,11 +74798,15 @@ item_db: (
Name: "Disheart"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_DEATHHURT,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_DEATHHURT, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74793,11 +74815,15 @@ item_db: (
Name: "Toxin"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_TOXIN,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_TOXIN, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74806,11 +74832,15 @@ item_db: (
Name: "Pyrexia"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_PYREXIA,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74819,11 +74849,16 @@ item_db: (
Name: "Magic Mushroom"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ BuyingStore: true
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_MAGICMUSHROOM,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -74832,11 +74867,15 @@ item_db: (
Name: "Venom Bleed"
Type: 0
Buy: 2
- Weight: 100
+ Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 8
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_VENOMBLEED,15000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;
">
},
@@ -74848,6 +74887,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Delay: 120000
Trade: {
@@ -74863,7 +74905,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_REFRESH,1; ">
+ Script: <" itemskill RK_REFRESH, 1; ">
},
{
Id: 12726
@@ -74872,6 +74914,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Delay: 30000
Trade: {
@@ -74887,7 +74932,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_CRUSHSTRIKE,1; ">
+ Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
},
{
Id: 12727
@@ -74896,6 +74941,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Delay: 60000
Trade: {
@@ -74911,7 +74959,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_MILLENNIUMSHIELD,1; ">
+ Script: <" itemskill RK_MILLENNIUMSHIELD, 1; ">
},
{
Id: 12728
@@ -74920,6 +74968,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Trade: {
nodrop: true
@@ -74934,7 +74985,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_VITALITYACTIVATION,1; ">
+ Script: <" itemskill RK_VITALITYACTIVATION, 1; ">
},
{
Id: 12729
@@ -74943,6 +74994,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Trade: {
nodrop: true
@@ -74957,7 +75011,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_FIGHTINGSPIRIT,1; ">
+ Script: <" itemskill RK_FIGHTINGSPIRIT, 1; ">
},
{
Id: 12730
@@ -74966,6 +75020,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Trade: {
nodrop: true
@@ -74980,7 +75037,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_ABUNDANCE,1; ">
+ Script: <" itemskill RK_ABUNDANCE, 1; ">
},
{
Id: 12731
@@ -74989,6 +75046,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Trade: {
nodrop: true
@@ -75003,7 +75063,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_GIANTGROWTH,1; ">
+ Script: <" itemskill RK_GIANTGROWTH, 1; ">
},
{
Id: 12732
@@ -75012,6 +75072,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Delay: 1000
Trade: {
@@ -75027,7 +75090,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_STORMBLAST,1; ">
+ Script: <" itemskill RK_STORMBLAST, 1; ">
},
{
Id: 12733
@@ -75036,6 +75099,9 @@ item_db: (
Type: 11
Buy: 100
Weight: 100
+ Job: {
+ Knight: true
+ }
Upper: 8
Trade: {
nodrop: true
@@ -75050,9 +75116,10 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_STONEHARDSKIN,1; ">
+ Script: <" itemskill RK_STONEHARDSKIN, 1; ">
},
-// Rune Knight Rune Ores
+
+//== Rune Knight Rune Ores =============================
{
Id: 12734
AegisName: "Runstone_Quality"
@@ -75060,10 +75127,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
- Upper: 8
BuyingStore: true
Script: <" makerune 5; ">
},
@@ -75074,10 +75137,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
- Upper: 8
BuyingStore: true
Script: <" makerune 11; ">
},
@@ -75088,10 +75147,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
- Upper: 8
BuyingStore: true
Script: <" makerune 14; ">
},
@@ -75102,10 +75157,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
- Upper: 8
BuyingStore: true
Script: <" makerune 2; ">
},
@@ -75116,10 +75167,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
- Upper: 8
BuyingStore: true
Script: <" makerune 8; ">
},
@@ -96076,7 +96123,20 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 8
Delay: 60000
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
Stack: [20, 1]
Script: <" itemskill RK_LUXANIMA,1; ">
},
diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf
index 39ae0b313..80527b4f6 100644
--- a/db/pre-re/skill_db.conf
+++ b/db/pre-re/skill_db.conf
@@ -29842,6 +29842,7 @@ skill_db: (
}
Requirements: {
SPCost: 40
+ State: "Cart"
}
},
{
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index ca826e58d..d1f416b08 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -1218,6 +1218,9 @@ item_db: (
Buy: 2000
Weight: 100
BuyingStore: true
+ Nouse: {
+ sitting: true
+ }
Script: <" itemskill SM_ENDURE,1; ">
},
{
@@ -1228,6 +1231,9 @@ item_db: (
Buy: 1500
Weight: 100
BuyingStore: true
+ Nouse: {
+ sitting: true
+ }
Script: <" itemskill SM_SELFPROVOKE,1; ">
},
{
@@ -94153,10 +94159,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_PARALYSE,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_PARALYSE, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94166,10 +94176,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_LEECHESEND,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_LEECHESEND, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94179,10 +94193,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_OBLIVIONCURSE,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_OBLIVIONCURSE, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94192,10 +94210,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_DEATHHURT,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_DEATHHURT, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94205,10 +94227,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_TOXIN,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_TOXIN, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94218,10 +94244,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_PYREXIA,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94231,10 +94261,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_MAGICMUSHROOM,300000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;
">
},
{
@@ -94244,10 +94278,14 @@ item_db: (
Type: 0
Buy: 2
Weight: 20
+ Job: {
+ Assassin: true
+ }
+ Upper: 56
BuyingStore: true
Script: <"
specialeffect2 EF_ENCHANTPOISON;
- sc_start SC_VENOMBLEED,15000,0,10,SCFLAG_FIXEDTICK;
+ sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;
">
},
@@ -94259,6 +94297,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Delay: 120000
Trade: {
nodrop: true
@@ -94273,7 +94315,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_REFRESH,1; ">
+ Script: <" itemskill RK_REFRESH, 1; ">
},
{
Id: 12726
@@ -94282,6 +94324,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Delay: 30000
Trade: {
nodrop: true
@@ -94296,7 +94342,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_CRUSHSTRIKE,1; ">
+ Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
},
{
Id: 12727
@@ -94305,6 +94351,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Delay: 60000
Trade: {
nodrop: true
@@ -94319,7 +94369,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_MILLENNIUMSHIELD,1; ">
+ Script: <" itemskill RK_MILLENNIUMSHIELD, 1; ">
},
{
Id: 12728
@@ -94328,6 +94378,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Trade: {
nodrop: true
notrade: true
@@ -94341,7 +94395,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_VITALITYACTIVATION,1; ">
+ Script: <" itemskill RK_VITALITYACTIVATION, 1; ">
},
{
Id: 12729
@@ -94350,6 +94404,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Trade: {
nodrop: true
notrade: true
@@ -94363,7 +94421,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_FIGHTINGSPIRIT,1; ">
+ Script: <" itemskill RK_FIGHTINGSPIRIT, 1; ">
},
{
Id: 12730
@@ -94372,6 +94430,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Trade: {
nodrop: true
notrade: true
@@ -94385,7 +94447,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_ABUNDANCE,1; ">
+ Script: <" itemskill RK_ABUNDANCE, 1; ">
},
{
Id: 12731
@@ -94394,6 +94456,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Trade: {
nodrop: true
notrade: true
@@ -94407,7 +94473,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_GIANTGROWTH,1; ">
+ Script: <" itemskill RK_GIANTGROWTH, 1; ">
},
{
Id: 12732
@@ -94416,6 +94482,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Delay: 1000
Trade: {
nodrop: true
@@ -94430,7 +94500,7 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_STORMBLAST,1; ">
+ Script: <" itemskill RK_STORMBLAST, 1; ">
},
{
Id: 12733
@@ -94439,6 +94509,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Trade: {
nodrop: true
notrade: true
@@ -94452,8 +94526,10 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_STONEHARDSKIN,1; ">
+ Script: <" itemskill RK_STONEHARDSKIN, 1; ">
},
+
+//== Rune Knight Rune Ores =============================
{
Id: 12734
AegisName: "Runstone_Quality"
@@ -94461,9 +94537,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
BuyingStore: true
Script: <" makerune 5; ">
},
@@ -94474,9 +94547,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
BuyingStore: true
Script: <" makerune 11; ">
},
@@ -94487,9 +94557,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
BuyingStore: true
Script: <" makerune 14; ">
},
@@ -94500,9 +94567,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
BuyingStore: true
Script: <" makerune 2; ">
},
@@ -94513,9 +94577,6 @@ item_db: (
Type: 0
Buy: 2
Weight: 100
- Job: {
- Knight: true
- }
BuyingStore: true
Script: <" makerune 8; ">
},
@@ -146815,6 +146876,10 @@ item_db: (
Type: 11
Buy: 2
Weight: 100
+ Job: {
+ Knight: true
+ }
+ Upper: 56
Delay: 60000
Trade: {
nodrop: true
@@ -146826,7 +146891,7 @@ item_db: (
noauction: true
}
Stack: [20, 1]
- Script: <" itemskill RK_LUXANIMA,1; ">
+ Script: <" itemskill RK_LUXANIMA, 1; ">
},
{
Id: 22669
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index ffc5e4e52..2a59785fa 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -30657,6 +30657,7 @@ skill_db: (
}
Requirements: {
SPCost: 40
+ State: "Cart"
}
},
{
diff --git a/doc/constants.md b/doc/constants.md
index c6665126c..1d5c816ba 100644
--- a/doc/constants.md
+++ b/doc/constants.md
@@ -3430,6 +3430,50 @@
- `4_F_REBELLION2`: 10201
- `4_F_REBELLION3`: 10202
- `4_M_ILYA`: 10203
+- `4_ELDER`: 10205
+- `4_LUNATIC`: 10206
+- `4_F_NOVICE2`: 10207
+- `4_WICKEDNYMPH`: 10208
+- `4_F_PREMI`: 10209
+- `4_M_COSTELL`: 10210
+- `4_M_YATTWARP`: 10211
+- `4_M_EVOKASCUDI`: 10212
+- `4_M_JOHNNYJAMES`: 10213
+- `4_M_ALBERTFORD`: 10214
+- `4_M_SEANMCCURDY`: 10215
+- `4_M_KARAMPUCCI`: 10216
+- `4_M_CACTUSMAN1`: 10217
+- `4_M_CACTUSMAN2`: 10218
+- `4_M_CACTUSMAN3`: 10219
+- `4_M_CACTUSLADY`: 10220
+- `4_M_GAST`: 10221
+- `4_M_CACTUSCHILD`: 10222
+- `4_KING`: 10223
+- `4_F_BOMI`: 10224
+- `4_M_CACTUSCHIEF`: 10225
+- `4_F_CACTUSCHILD2`: 10226
+- `4_F_CACTUSLADY2`: 10227
+- `4_F_CACTUSLADY3`: 10228
+- `4_M_CACTUS`: 10229
+- `4_M_COWRAIDERS1`: 10230
+- `4_M_COWRAIDERS2`: 10231
+- `4_M_COWRAIDERS3`: 10232
+- `4_F_JP14THEVT`: 10233
+- `4_M_POORSCHOLAR`: 10234
+- `4_M_PEPPERROTI`: 10235
+- `JP_NPC01`: 10236
+- `4_PURPLE_WARP`: 10237
+- `4_F_NARIN`: 10238
+- `4_M_URGENT_MAN`: 10239
+- `4_M_KEEN_SOLDIER`: 10240
+- `4_F_SLOPPY_WOMAN`: 10241
+- `4_F_DRKAFRA01`: 10242
+- `4_M_DRZONDA01`: 10243
+- `4_M_SWD_RENO`: 10244
+- `4_M_KNG_RENO`: 10245
+- `4_M_AC_RUMIN`: 10246
+- `4_M_HIGH_WIZARD`: 10247
+- `4_SYSTEM_BOX`: 10248
### Mercenary IDs
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index 774dacb5d..4ff49624c 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -167,8 +167,8 @@ REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','11','60','30','50
REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','11','300','150','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
REPLACE INTO `item_db` VALUES ('603','Old_Blue_Box','Old Blue Box','2','10000','5000','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 603,1;','','');
REPLACE INTO `item_db` VALUES ('604','Branch_Of_Dead_Tree','Dead Branch','2','50','25','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','monster \"this\",-1,-1,\"--ja--\",-1,1,\"\";','','');
-REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
-REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
+REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
+REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
REPLACE INTO `item_db` VALUES ('607','Yggdrasilberry','Yggdrasil Berry','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 100,100;','','');
REPLACE INTO `item_db` VALUES ('608','Seed_Of_Yggdrasil','Yggdrasil Seed','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50,50;','','');
REPLACE INTO `item_db` VALUES ('609','Amulet','Amulet','2','100','50','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -4937,28 +4937,28 @@ REPLACE INTO `item_db` VALUES ('12713','Monster_Extract','Monster Extract','2','
REPLACE INTO `item_db` VALUES ('12714','Easter_Scroll','Easter Scroll','2','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 12714,1;','','');
REPLACE INTO `item_db` VALUES ('12715','Black_Treasure_Box','Black Treasure Box','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12716','Indian_Rice_Cake','Indian Rice Cake','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12717','Poison_Paralysis','Paralyze','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PARALYSE,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12718','Poison_Leech','Leech End','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_LEECHESEND,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12719','Poison_Oblivion','Oblivion Curse','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_OBLIVIONCURSE,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12720','Poison_Contamination','Disheart','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_DEATHHURT,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_TOXIN,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PYREXIA,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_MAGICMUSHROOM,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_VENOMBLEED,15000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nauthiz Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH,1;','','');
-REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Raido Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE,1;','','');
-REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Berkana Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD,1;','','');
-REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isa Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION,1;','','');
-REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Othila Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT,1;','','');
-REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Uruz Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE,1;','','');
-REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Thurisaz Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH,1;','','');
-REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Wyrd Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST,1;','','');
-REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalaz Rune','11','100','50','100','0','0','0','0','0','18446744073709551615','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN,1;','','');
-REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Luxurious Rune','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 5;','','');
-REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rune','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 11;','','');
-REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rune','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 14;','','');
-REPLACE INTO `item_db` VALUES ('12737','Runstone_Ordinary','General Rune','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 2;','','');
-REPLACE INTO `item_db` VALUES ('12738','Runstone_Rare','Rare Rune','0','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 8;','','');
+REPLACE INTO `item_db` VALUES ('12717','Poison_Paralysis','Paralyze','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PARALYSE, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12718','Poison_Leech','Leech End','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_LEECHESEND, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12719','Poison_Oblivion','Oblivion Curse','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_OBLIVIONCURSE, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12720','Poison_Contamination','Disheart','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_DEATHHURT, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_TOXIN, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nauthiz Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Raido Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Berkana Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
+REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isa Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
+REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Othila Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Uruz Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Thurisaz Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Wyrd Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST, 1;','','');
+REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalaz Rune','11','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
+REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Luxurious Rune','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 5;','','');
+REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rune','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 11;','','');
+REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rune','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 14;','','');
+REPLACE INTO `item_db` VALUES ('12737','Runstone_Ordinary','General Rune','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 2;','','');
+REPLACE INTO `item_db` VALUES ('12738','Runstone_Rare','Rare Rune','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 8;','','');
REPLACE INTO `item_db` VALUES ('12739','Snow_Flower','Snow Flowers','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('12740','Inc_Str_Scroll','Amplification Scroll','2','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_STR_SCROLL, 60000, 20;','','');
REPLACE INTO `item_db` VALUES ('12741','Inc_Int_Scroll','Intellect Amplification Scroll','2','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_INT_SCROLL, 60000, 20;','','');
@@ -6228,6 +6228,6 @@ REPLACE INTO `item_db` VALUES ('19504','T_Sunglasses','T Sunglasses','5','0','0'
REPLACE INTO `item_db` VALUES ('19505','T_Cigarette','T Cigarette','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','4096','0','0',NULL,'0','0','54','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19506','T_Valkyrie_Feather_Band','T Valkyrie Feather Band','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','0',NULL,'1','0','300','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('19507','Fine_Sun','Clear Sun','5','0','0','0','0','0','0','0','0','18446744073709551615','63','2','1024','0','1',NULL,'0','0','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','60000','0',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
+REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
REPLACE INTO `item_db` VALUES ('22777','Buff_Gift_Set','Buff Gift Set','2','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','getitem 14534,5; getitem 12215,5; getitem 12216,5;','','');
REPLACE INTO `item_db` VALUES ('22837','Integer_Time','Integer Time','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','TmpRouletteBronze += 1;','','');
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index 9434ed539..2cf498356 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -169,8 +169,8 @@ REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','11','60','30','50
REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','11','300','150','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
REPLACE INTO `item_db` VALUES ('603','Old_Blue_Box','Old Blue Box','2','10000','5000','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','8',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 603,1;','','');
REPLACE INTO `item_db` VALUES ('604','Branch_Of_Dead_Tree','Dead Branch','2','50','25','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','monster \"this\",-1,-1,\"--ja--\",-1,1,\"\";','','');
-REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
-REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
+REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
+REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
REPLACE INTO `item_db` VALUES ('607','Yggdrasilberry','Yggdrasil Berry','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','5000','0',NULL,'0',NULL,'0',NULL,'0','percentheal 100,100;','','');
REPLACE INTO `item_db` VALUES ('608','Seed_Of_Yggdrasil','Yggdrasil Seed','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','3000','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50,50;','','');
REPLACE INTO `item_db` VALUES ('609','Amulet','Amulet','2','100','50','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6484,28 +6484,28 @@ REPLACE INTO `item_db` VALUES ('12713','Monster_Extract','Monster Extract','2','
REPLACE INTO `item_db` VALUES ('12714','Easter_Scroll','Easter Scroll','2','1','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem Easter_Scroll,1;','','');
REPLACE INTO `item_db` VALUES ('12715','Black_Treasure_Box','Black Treasure Chest','2','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12716','Indian_Rice_Cake','Indian Rice Cake','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12717','Poison_Paralysis','Paralysis','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PARALYSE,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12718','Poison_Leech','Leech End','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_LEECHESEND,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12719','Poison_Oblivion','Oblivion Curse','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_OBLIVIONCURSE,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12720','Poison_Contamination','Death Hurt','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_DEATHHURT,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_TOXIN,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PYREXIA,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_MAGICMUSHROOM,300000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_VENOMBLEED,15000,0,10,SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nosiege Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH,1;','','');
-REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Rhydo Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE,1;','','');
-REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Verkana Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD,1;','','');
-REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isia Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION,1;','','');
-REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Asir Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT,1;','','');
-REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Urj Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE,1;','','');
-REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Turisus Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH,1;','','');
-REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Pertz Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST,1;','','');
-REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalas Runestone','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN,1;','','');
-REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Quality Rough Runestone','0','2','1','100','0','0','0','0','0','128','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 5;','','');
-REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rough Runestone','0','2','1','100','0','0','0','0','0','128','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 11;','','');
-REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rough Runestone','0','2','1','100','0','0','0','0','0','128','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 14;','','');
-REPLACE INTO `item_db` VALUES ('12737','Runstone_Ordinary','General Rough Runestone','0','2','1','100','0','0','0','0','0','128','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 2;','','');
-REPLACE INTO `item_db` VALUES ('12738','Runstone_Rare','Rare Rough Runestone','0','2','1','100','0','0','0','0','0','128','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 8;','','');
+REPLACE INTO `item_db` VALUES ('12717','Poison_Paralysis','Paralysis','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PARALYSE, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12718','Poison_Leech','Leech End','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_LEECHESEND, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12719','Poison_Oblivion','Oblivion Curse','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_OBLIVIONCURSE, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12720','Poison_Contamination','Death Hurt','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_DEATHHURT, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_TOXIN, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_ENCHANTPOISON; sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;','','');
+REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nosiege Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Rhydo Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Verkana Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
+REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isia Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
+REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Asir Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Urj Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Turisus Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Pertz Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST, 1;','','');
+REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalas Runestone','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
+REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Quality Rough Runestone','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 5;','','');
+REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rough Runestone','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 11;','','');
+REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rough Runestone','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 14;','','');
+REPLACE INTO `item_db` VALUES ('12737','Runstone_Ordinary','General Rough Runestone','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 2;','','');
+REPLACE INTO `item_db` VALUES ('12738','Runstone_Rare','Rare Rough Runestone','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','makerune 8;','','');
REPLACE INTO `item_db` VALUES ('12739','Snow_Flower','Snow Flower','2','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('12740','Inc_Str_Scroll','Amplification Scroll','2','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_POTION_BERSERK; sc_start SC_STR_SCROLL, 60000, 20;','','');
REPLACE INTO `item_db` VALUES ('12741','Inc_Int_Scroll','Intellect Amplification Scroll','2','1','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','specialeffect2 EF_SPELLBREAKER; sc_start SC_INT_SCROLL, 60000, 20;','','');
@@ -9772,7 +9772,7 @@ REPLACE INTO `item_db` VALUES ('22085','Elegant_Doram_Shoes','Elegant Doram Shoe
REPLACE INTO `item_db` VALUES ('22508','Para_Team_Mark_','Eden Group Mark','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','1200000','507',NULL,'0',NULL,'0',NULL,'0','warp \"moc_para01\", 171, 115;','','');
REPLACE INTO `item_db` VALUES ('22514','Candy_Holder','Candy Holder','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22515','Key_Of_Twisted_Time','Twisted Key of Time','3','10','5','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','','');
+REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA, 1;','','');
REPLACE INTO `item_db` VALUES ('22669','HALLOWEEN_G_BOX','Halloween Box','2','0','0','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 22669,1;','','');
REPLACE INTO `item_db` VALUES ('22670','DARK_INVITATION','Invitation of Darkness','2','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','.@temp = rand(1,3); if (.@temp == 1) { specialeffect2 EF_DEVIL; warp \"niflheim\",193,186; } else if (.@temp == 2) { specialeffect2 EF_DEVIL; warp \"niflheim\",106,254; } else { specialeffect2 EF_DEVIL; warp \"niflheim\",347,255; }','','');
REPLACE INTO `item_db` VALUES ('22675','Mysterious_Scroll','Mysterious Scroll','2','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_INT,3600000,30;','','');
diff --git a/src/map/clif.c b/src/map/clif.c
index 5939222e9..8ab6e71a4 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -11025,39 +11025,36 @@ void clif_parse_RemoveOption(int fd,struct map_session_data *sd)
void clif_parse_ChangeCart(int fd,struct map_session_data *sd) __attribute__((nonnull (2)));
/// Request to change cart's visual look (CZ_REQ_CHANGECART).
/// 01af <num>.W
-void clif_parse_ChangeCart(int fd,struct map_session_data *sd)
+void clif_parse_ChangeCart(int fd, struct map_session_data *sd)
{// TODO: State tracking?
int type;
- if( pc->checkskill(sd, MC_CHANGECART) < 1 )
+ if (pc->checkskill(sd, MC_CHANGECART) == 0)
return;
#ifdef RENEWAL
- if( sd->npc_id || sd->state.workinprogress&1 ){
+ if (sd->npc_id || sd->state.workinprogress&1) {
clif->msgtable(sd, MSG_NPC_WORK_IN_PROGRESS);
return;
}
#endif
- type = RFIFOW(fd,2);
+ type = RFIFOW(fd, 2);
+
+ if (
#ifdef NEW_CARTS
- if( (type == 9 && sd->status.base_level > 131) ||
- (type == 8 && sd->status.base_level > 121) ||
- (type == 7 && sd->status.base_level > 111) ||
- (type == 6 && sd->status.base_level > 101) ||
+ (type == 9 && sd->status.base_level > 130) ||
+ (type == 8 && sd->status.base_level > 120) ||
+ (type == 7 && sd->status.base_level > 110) ||
+ (type == 6 && sd->status.base_level > 100) ||
+#endif
(type == 5 && sd->status.base_level > 90) ||
(type == 4 && sd->status.base_level > 80) ||
(type == 3 && sd->status.base_level > 65) ||
(type == 2 && sd->status.base_level > 40) ||
(type == 1))
-#else
- if( (type == 5 && sd->status.base_level > 90) ||
- (type == 4 && sd->status.base_level > 80) ||
- (type == 3 && sd->status.base_level > 65) ||
- (type == 2 && sd->status.base_level > 40) ||
- (type == 1))
-#endif
- pc->setcart(sd,type);
+
+ pc->setcart(sd, type);
}
/// Request to select cart's visual look for new cart design (CZ_SELECTCART).
diff --git a/src/map/clif.h b/src/map/clif.h
index e16655c1a..6b5fb8dca 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -69,6 +69,7 @@ struct view_data;
#define COLOR_RED 0xff0000U
#define COLOR_GREEN 0x00ff00U
#define COLOR_WHITE 0xffffffU
+#define COLOR_YELLOW 0xffff00U
#define COLOR_DEFAULT COLOR_GREEN
/**
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 618111d2a..138a783ae 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -147,6 +147,23 @@ enum item_itemid {
ITEMID_BLACK_THING = 12435,
ITEMID_BOARDING_HALTER = 12622,
ITEMID_NOBLE_NAMEPLATE = 12705,
+ ITEMID_POISON_PARALYSIS = 12717,
+ ITEMID_POISON_LEECH = 12718,
+ ITEMID_POISON_OBLIVION = 12719,
+ ITEMID_POISON_CONTAMINATION = 12720,
+ ITEMID_POISON_NUMB = 12721,
+ ITEMID_POISON_FEVER = 12722,
+ ITEMID_POISON_LAUGHING = 12723,
+ ITEMID_POISON_FATIGUE = 12724,
+ ITEMID_NAUTHIZ = 12725,
+ ITEMID_RAIDO = 12726,
+ ITEMID_BERKANA = 12727,
+ ITEMID_ISA = 12728,
+ ITEMID_OTHILA = 12729,
+ ITEMID_URUZ = 12730,
+ ITEMID_THURISAZ = 12731,
+ ITEMID_WYRD = 12732,
+ ITEMID_HAGALAZ = 12733,
ITEMID_DUN_TELE_SCROLL1 = 14527,
ITEMID_BATTLE_MANUAL25 = 14532,
ITEMID_BATTLE_MANUAL100 = 14533,
@@ -161,6 +178,7 @@ enum item_itemid {
ITEMID_PILEBUNCKER_S = 16030,
ITEMID_PILEBUNCKER_P = 16031,
ITEMID_PILEBUNCKER_T = 16032,
+ ITEMID_LUX_ANIMA = 22540,
};
enum cards_item_list {
@@ -262,37 +280,6 @@ enum cash_food_item_list {
};
/**
- * GC Poison
- */
-enum poison_item_list {
- ITEMID_POISON_PARALYSIS = 12717,
- ITEMID_POISON_LEECH, // 12718
- ITEMID_POISON_OBLIVION, // 12719
- ITEMID_POISON_CONTAMINATION, // 12720
- ITEMID_POISON_NUMB, // 12721
- ITEMID_POISON_FEVER, // 12722
- ITEMID_POISON_LAUGHING, // 12723
- ITEMID_POISON_FATIGUE, // 12724
-};
-
-
-/**
- * Rune Knight
- **/
-enum rune_item_list {
- ITEMID_NAUTHIZ = 12725,
- ITEMID_RAIDO, // 12726
- ITEMID_BERKANA, // 12727
- ITEMID_ISA, // 12728
- ITEMID_OTHILA, // 12729
- ITEMID_URUZ, // 12730
- ITEMID_THURISAZ, // 12731
- ITEMID_WYRD, // 12732
- ITEMID_HAGALAZ, // 12733
- ITEMID_LUX_ANIMA = 22540,
-};
-
-/**
* Geneticist
*/
enum geneticist_item_list {
@@ -566,7 +553,6 @@ struct item_data {
#define itemdb_canrefine(n) (!itemdb->search(n)->flag.no_refine)
#define itemdb_allowoption(n) (!itemdb->search(n)->flag.no_options)
-#define itemdb_is_rune(n) (((n) >= ITEMID_NAUTHIZ && (n) <= ITEMID_HAGALAZ) || (n) == ITEMID_LUX_ANIMA)
#define itemdb_is_element(n) ((n) >= ITEMID_SCARLET_PTS && (n) <= ITEMID_LIME_GREEN_PTS)
#define itemdb_is_spellbook(n) ((n) >= ITEMID_MAGIC_BOOK_FB && (n) <= ITEMID_MAGIC_BOOK_DL)
#define itemdb_is_poison(n) ((n) >= ITEMID_POISON_PARALYSIS && (n) <= ITEMID_POISON_FATIGUE)
diff --git a/src/map/npc.h b/src/map/npc.h
index 6180e9765..3bd11d536 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -125,7 +125,6 @@ struct npc_data {
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
-
#define START_NPC_NUM 110000000
enum actor_classes {
@@ -142,7 +141,7 @@ enum actor_classes {
#define MAX_NPC_CLASS 1000
// New NPC range
#define MAX_NPC_CLASS2_START 10001
-#define MAX_NPC_CLASS2_END 10203
+#define MAX_NPC_CLASS2_END 10248
//Script NPC events.
enum npce_event {
diff --git a/src/map/pc.c b/src/map/pc.c
index e9855c16d..b4985dd5f 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4840,11 +4840,7 @@ int pc_isUseitem(struct map_session_data *sd,int n)
switch( nameid ) { // TODO: Is there no better way to handle this, other than hardcoding item IDs?
case ITEMID_ANODYNE:
- if( map_flag_gvg2(sd->bl.m) )
- return 0;
- /* Fall through */
- case ITEMID_ALOEBERA:
- if( pc_issit(sd) )
+ if (map_flag_gvg2(sd->bl.m))
return 0;
break;
case ITEMID_WING_OF_FLY:
@@ -4921,17 +4917,6 @@ int pc_isUseitem(struct map_session_data *sd,int n)
if( nameid >= ITEMID_BOW_MERCENARY_SCROLL1 && nameid <= ITEMID_SPEARMERCENARY_SCROLL10 && sd->md != NULL ) // Mercenary Scrolls
return 0;
- /**
- * Only Rune Knights may use runes
- **/
- if (itemdb_is_rune(nameid) && (sd->job & MAPID_THIRDMASK) != MAPID_RUNE_KNIGHT)
- return 0;
- /**
- * Only GCross may use poisons
- **/
- else if (itemdb_is_poison(nameid) && (sd->job & MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS)
- return 0;
-
if( item->package || item->group ) {
if (pc_is90overweight(sd)) {
clif->msgtable(sd, MSG_ITEM_CANT_OBTAIN_WEIGHT);
@@ -5078,15 +5063,22 @@ int pc_useitem(struct map_session_data *sd,int n) {
if( sd->inventory_data[n]->flag.delay_consume && ( sd->ud.skilltimer != INVALID_TIMER /*|| !status->check_skilluse(&sd->bl, &sd->bl, ALL_RESURRECTION, 0)*/ ) )
return 0;
- if( sd->inventory_data[n]->delay > 0 ) {
- ARR_FIND(0, MAX_ITEMDELAYS, i, sd->item_delay[i].nameid == nameid );
- if( i == MAX_ITEMDELAYS ) /* item not found. try first empty now */
- ARR_FIND(0, MAX_ITEMDELAYS, i, !sd->item_delay[i].nameid );
- if( i < MAX_ITEMDELAYS ) {
- if( sd->item_delay[i].nameid ) {// found
- if( DIFF_TICK(sd->item_delay[i].tick, tick) > 0 ) {
- int e_tick = (int)(DIFF_TICK(sd->item_delay[i].tick, tick)/1000);
- clif->msgtable_num(sd, MSG_SECONDS_UNTIL_USE, e_tick + 1); // [%d] seconds left until you can use
+ if (sd->inventory_data[n]->delay > 0) {
+ ARR_FIND(0, MAX_ITEMDELAYS, i, sd->item_delay[i].nameid == nameid);
+ if (i == MAX_ITEMDELAYS) /* item not found. try first empty now */
+ ARR_FIND(0, MAX_ITEMDELAYS, i, sd->item_delay[i].nameid == 0);
+ if (i < MAX_ITEMDELAYS) {
+ if (sd->item_delay[i].nameid != 0) {// found
+ if (DIFF_TICK(sd->item_delay[i].tick, tick) > 0) {
+ int delay_tick = (int)(DIFF_TICK(sd->item_delay[i].tick, tick) / 1000);
+#if PACKETVER >= 20101123
+ clif->msgtable_num(sd, MSG_SECONDS_UNTIL_USE, delay_tick + 1); // [%d] seconds left until you can use
+#else
+ char delay_msg[100];
+ clif->msgtable_num(sd, MSG_SECONDS_UNTIL_USE, delay_tick + 1); // [%d] seconds left until you can use
+ sprintf(delay_msg, msg_sd(sd, 26), delay_tick + 1);
+ clif->messagecolor_self(sd->fd, COLOR_YELLOW, delay_msg);
+#endif
return 0; // Delay has not expired yet
}
} else {// not yet used item (all slots are initially empty)
diff --git a/src/map/status.h b/src/map/status.h
index 6f68c36c3..06e7e07b8 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -1759,10 +1759,10 @@ enum si_type {
//SI_HEALTHSTATE_HEAVYPOISON = 890,
//SI_HEALTHSTATE_FEAR = 891,
//SI_CHERRY_BLOSSOM_CAKE = 892,
- SI_SU_STOOP = 893,
- SI_CATNIPPOWDER = 894,
+ SI_SU_STOOP = 893,
+ SI_CATNIPPOWDER = 894,
SI_BLOSSOM_FLUTTERING = 895,
- SI_SV_ROOTTWIST = 896,
+ SI_SV_ROOTTWIST = 896,
//SI_ATTACK_PROPERTY_NOTHING = 897,
//SI_ATTACK_PROPERTY_WATER = 898,
//SI_ATTACK_PROPERTY_GROUND = 899,
@@ -1784,11 +1784,11 @@ enum si_type {
//SI_RESIST_PROPERTY_DARKNESS = 914,
//SI_RESIST_PROPERTY_TELEKINESIS = 915,
//SI_RESIST_PROPERTY_UNDEAD = 916,
- SI_BITESCAR = 917,
- SI_ARCLOUSEDASH = 918,
- SI_TUNAPARTY = 919,
- SI_SHRIMP = 920,
- SI_FRESHSHRIMP = 921,
+ SI_BITESCAR = 917,
+ SI_ARCLOUSEDASH = 918,
+ SI_TUNAPARTY = 919,
+ SI_SHRIMP = 920,
+ SI_FRESHSHRIMP = 921,
//SI_PERIOD_RECEIVEITEM = 922,
//SI_PERIOD_PLUSEXP = 923,
//SI_PERIOD_PLUSJOBEXP = 924,
@@ -1800,14 +1800,78 @@ enum si_type {
//SI_HELM_ISIA = 930,
//SI_HELM_ASIR = 931,
//SI_HELM_URJ = 932,
- SI_SUHIDE = 933,
+ SI_SUHIDE = 933,
//SI_ = 934,
//SI_DORAM_BUF_01 = 935,
//SI_DORAM_BUF_02 = 936,
- SI_SPRITEMABLE = 937,
+ SI_SPRITEMABLE = 937,
+ //SI_AID_PERIOD_RECEIVEITEM = 938,
+ //SI_AID_PERIOD_PLUSEXP = 939,
+ //SI_AID_PERIOD_PLUSJOBEXP = 940,
+ //SI_AID_PERIOD_DEADPENALTY = 941,
+ //SI_AID_PERIOD_ADDSTOREITEMCOUNT = 942,
+ //SI_ = 943,
+ //SI_ = 944,
+ //SI_ = 945,
+ //SI_ = 946,
+ //SI_ = 947,
+ //SI_ = 948,
+ //SI_ = 949,
+ //SI_HISS = 950,
+ //SI_ = 951,
+ //SI_NYANGGRASS = 952,
+ //SI_CHATTERING = 953,
+ //SI_ = 954,
+ //SI_ = 955,
+ //SI_ = 956,
+ //SI_ = 957,
+ //SI_ = 958,
+ //SI_ = 959,
+ //SI_ = 960,
+ //SI_GROOMING = 961,
+ //SI_PROTECTIONOFSHRIMP = 962,
//SI_EP16_2_BUFF_SS = 963,
//SI_EP16_2_BUFF_SC = 964,
//SI_EP16_2_BUFF_AC = 965,
+ //SI_GS_MAGICAL_BULLET = 966,
+ //SI_ = 967,
+ //SI_ = 968,
+ //SI_ = 969,
+ //SI_ = 970,
+ //SI_ = 971,
+ //SI_ = 972,
+ //SI_ = 973,
+ //SI_ = 974,
+ //SI_ = 975,
+ //SI_FALLEN_ANGEL = 976,
+ //SI_ = 977,
+ //SI_ = 978,
+ //SI_BLAZE_BEAD = 979,
+ //SI_FROZEN_BEAD = 980,
+ //SI_BREEZE_BEAD = 981,
+ //SI_ = 982,
+ //SI_AID_PERIOD_RECEIVEITEM_2ND = 983,
+ //SI_AID_PERIOD_PLUSEXP_2ND = 984,
+ //SI_AID_PERIOD_PLUSJOBEXP_2ND = 985,
+ //SI_PRONTERA_JP = 986,
+ //SI_ = 987,
+ //SI_GLOOM_CARD = 988,
+ //SI_PHARAOH_CARD = 989,
+ //SI_KIEL_CARD = 990,
+ //SI_ = 991,
+ //SI_CHEERUP = 992,
+ //SI_ = 993,
+ //SI_ = 994,
+ //SI_S_MANAPOTION = 995,
+ //SI_M_DEFSCROLL = 996,
+ //SI_ = 997,
+ //SI_ = 998,
+ //SI_ = 999,
+ //SI_AS_RAGGED_GOLEM_CARD = 1000,
+ //SI_LHZ_DUN_N1 = 1001,
+ //SI_LHZ_DUN_N2 = 1002,
+ //SI_LHZ_DUN_N3 = 1003,
+ //SI_LHZ_DUN_N4 = 1004,
#ifndef SI_MAX
SI_MAX,
#endif