summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/messages.conf3
-rw-r--r--db/pre-re/item_db.conf152
-rw-r--r--db/re/item_db.conf131
-rw-r--r--src/map/clif.h1
-rw-r--r--src/map/itemdb.h50
-rw-r--r--src/map/pc.c42
6 files changed, 242 insertions, 137 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/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/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/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/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)