From 018f3c4278351017b5eb727c0007d69303a53bf5 Mon Sep 17 00:00:00 2001
From: Jedzkie <jedzkie13@rocketmail.com>
Date: Tue, 18 Apr 2017 16:05:44 +0800
Subject: Removed hard coded checks for no use while sitting in Aloevera and
 Anodyne item.

---
 src/map/pc.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

(limited to 'src/map')

diff --git a/src/map/pc.c b/src/map/pc.c
index e9855c16d..0dde3cd9e 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:
-- 
cgit v1.2.3-70-g09d2


From 6f59f290d03774c697b0d3b6520d642b58141fe9 Mon Sep 17 00:00:00 2001
From: Jedzkie <jedzkie13@rocketmail.com>
Date: Tue, 18 Apr 2017 17:13:26 +0800
Subject: Update Rune Knight Runes & Ores

---
 db/pre-re/item_db.conf | 81 +++++++++++++++++++++++++++++++-------------------
 db/re/item_db.conf     | 77 +++++++++++++++++++++++++++++++----------------
 src/map/itemdb.h       | 28 +++++++----------
 src/map/pc.c           |  5 ----
 4 files changed, 113 insertions(+), 78 deletions(-)

(limited to 'src/map')

diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index dbcfe61e7..c3a4c8e94 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -74854,6 +74854,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Delay: 120000
 	Trade: {
@@ -74869,7 +74872,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_REFRESH,1; ">
+	Script: <" itemskill RK_REFRESH, 1; ">
 },
 {
 	Id: 12726
@@ -74878,6 +74881,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Delay: 30000
 	Trade: {
@@ -74893,7 +74899,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_CRUSHSTRIKE,1; ">
+	Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
 },
 {
 	Id: 12727
@@ -74902,6 +74908,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Delay: 60000
 	Trade: {
@@ -74917,7 +74926,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_MILLENNIUMSHIELD,1; ">
+	Script: <" itemskill RK_MILLENNIUMSHIELD, 1; ">
 },
 {
 	Id: 12728
@@ -74926,6 +74935,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Trade: {
 		nodrop: true
@@ -74940,7 +74952,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_VITALITYACTIVATION,1; ">
+	Script: <" itemskill RK_VITALITYACTIVATION, 1; ">
 },
 {
 	Id: 12729
@@ -74949,6 +74961,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Trade: {
 		nodrop: true
@@ -74963,7 +74978,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_FIGHTINGSPIRIT,1; ">
+	Script: <" itemskill RK_FIGHTINGSPIRIT, 1; ">
 },
 {
 	Id: 12730
@@ -74972,6 +74987,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Trade: {
 		nodrop: true
@@ -74986,7 +75004,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_ABUNDANCE,1; ">
+	Script: <" itemskill RK_ABUNDANCE, 1; ">
 },
 {
 	Id: 12731
@@ -74995,6 +75013,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Trade: {
 		nodrop: true
@@ -75009,7 +75030,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_GIANTGROWTH,1; ">
+	Script: <" itemskill RK_GIANTGROWTH, 1; ">
 },
 {
 	Id: 12732
@@ -75018,6 +75039,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Delay: 1000
 	Trade: {
@@ -75033,7 +75057,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_STORMBLAST,1; ">
+	Script: <" itemskill RK_STORMBLAST, 1; ">
 },
 {
 	Id: 12733
@@ -75042,6 +75066,9 @@ item_db: (
 	Type: 11
 	Buy: 100
 	Weight: 100
+	Job: {
+		Knight: true
+	}
 	Upper: 8
 	Trade: {
 		nodrop: true
@@ -75056,9 +75083,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"
@@ -75066,10 +75094,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
-	Upper: 8
 	BuyingStore: true
 	Script: <" makerune 5; ">
 },
@@ -75080,10 +75104,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
-	Upper: 8
 	BuyingStore: true
 	Script: <" makerune 11; ">
 },
@@ -75094,10 +75114,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
-	Upper: 8
 	BuyingStore: true
 	Script: <" makerune 14; ">
 },
@@ -75108,10 +75124,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
-	Upper: 8
 	BuyingStore: true
 	Script: <" makerune 2; ">
 },
@@ -75122,10 +75134,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
-	Upper: 8
 	BuyingStore: true
 	Script: <" makerune 8; ">
 },
@@ -96082,7 +96090,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 74740e693..7ebad4434 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -94265,6 +94265,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Delay: 120000
 	Trade: {
 		nodrop: true
@@ -94279,7 +94283,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_REFRESH,1; ">
+	Script: <" itemskill RK_REFRESH, 1; ">
 },
 {
 	Id: 12726
@@ -94288,6 +94292,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Delay: 30000
 	Trade: {
 		nodrop: true
@@ -94302,7 +94310,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_CRUSHSTRIKE,1; ">
+	Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
 },
 {
 	Id: 12727
@@ -94311,6 +94319,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Delay: 60000
 	Trade: {
 		nodrop: true
@@ -94325,7 +94337,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_MILLENNIUMSHIELD,1; ">
+	Script: <" itemskill RK_MILLENNIUMSHIELD, 1; ">
 },
 {
 	Id: 12728
@@ -94334,6 +94346,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Trade: {
 		nodrop: true
 		notrade: true
@@ -94347,7 +94363,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_VITALITYACTIVATION,1; ">
+	Script: <" itemskill RK_VITALITYACTIVATION, 1; ">
 },
 {
 	Id: 12729
@@ -94356,6 +94372,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Trade: {
 		nodrop: true
 		notrade: true
@@ -94369,7 +94389,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_FIGHTINGSPIRIT,1; ">
+	Script: <" itemskill RK_FIGHTINGSPIRIT, 1; ">
 },
 {
 	Id: 12730
@@ -94378,6 +94398,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Trade: {
 		nodrop: true
 		notrade: true
@@ -94391,7 +94415,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_ABUNDANCE,1; ">
+	Script: <" itemskill RK_ABUNDANCE, 1; ">
 },
 {
 	Id: 12731
@@ -94400,6 +94424,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Trade: {
 		nodrop: true
 		notrade: true
@@ -94413,7 +94441,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_GIANTGROWTH,1; ">
+	Script: <" itemskill RK_GIANTGROWTH, 1; ">
 },
 {
 	Id: 12732
@@ -94422,6 +94450,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Delay: 1000
 	Trade: {
 		nodrop: true
@@ -94436,7 +94468,7 @@ item_db: (
 		sitting: true
 	}
 	Stack: [20, 1]
-	Script: <" itemskill RK_STORMBLAST,1; ">
+	Script: <" itemskill RK_STORMBLAST, 1; ">
 },
 {
 	Id: 12733
@@ -94445,6 +94477,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Trade: {
 		nodrop: true
 		notrade: true
@@ -94458,8 +94494,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"
@@ -94467,9 +94505,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
 	BuyingStore: true
 	Script: <" makerune 5; ">
 },
@@ -94480,9 +94515,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
 	BuyingStore: true
 	Script: <" makerune 11; ">
 },
@@ -94493,9 +94525,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
 	BuyingStore: true
 	Script: <" makerune 14; ">
 },
@@ -94506,9 +94535,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
 	BuyingStore: true
 	Script: <" makerune 2; ">
 },
@@ -94519,9 +94545,6 @@ item_db: (
 	Type: 0
 	Buy: 2
 	Weight: 100
-	Job: {
-		Knight: true
-	}
 	BuyingStore: true
 	Script: <" makerune 8; ">
 },
@@ -146821,6 +146844,10 @@ item_db: (
 	Type: 11
 	Buy: 2
 	Weight: 100
+	Job: {
+		Knight: true
+	}
+	Upper: 56
 	Delay: 60000
 	Trade: {
 		nodrop: true
@@ -146832,7 +146859,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/itemdb.h b/src/map/itemdb.h
index 618111d2a..ac2382d90 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -147,6 +147,15 @@ enum item_itemid {
 	ITEMID_BLACK_THING           = 12435,
 	ITEMID_BOARDING_HALTER       = 12622,
 	ITEMID_NOBLE_NAMEPLATE       = 12705,
+	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 +170,7 @@ enum item_itemid {
 	ITEMID_PILEBUNCKER_S         = 16030,
 	ITEMID_PILEBUNCKER_P         = 16031,
 	ITEMID_PILEBUNCKER_T         = 16032,
+	ITEMID_LUX_ANIMA             = 22540,
 };
 
 enum cards_item_list {
@@ -275,23 +285,6 @@ enum poison_item_list {
 	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
  */
@@ -566,7 +559,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 0dde3cd9e..4b1a586a8 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4917,11 +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
 	 **/
-- 
cgit v1.2.3-70-g09d2


From bf21ba7f5924ba0e4a8cba2d21220ef481c90419 Mon Sep 17 00:00:00 2001
From: Jedzkie <jedzkie13@rocketmail.com>
Date: Tue, 18 Apr 2017 17:29:04 +0800
Subject: Update GX Poison items

---
 db/pre-re/item_db.conf | 65 +++++++++++++++++++++++++++++++++++++-------------
 db/re/item_db.conf     | 48 ++++++++++++++++++++++++++++++-------
 src/map/itemdb.h       | 22 +++++++----------
 src/map/pc.c           |  6 -----
 4 files changed, 97 insertions(+), 44 deletions(-)

(limited to 'src/map')

diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index c3a4c8e94..cfa7cb7d1 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -74747,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;
 	">
 },
 {
@@ -74760,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;
 	">
 },
 {
@@ -74773,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;
 	">
 },
 {
@@ -74786,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;
 	">
 },
 {
@@ -74799,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;
 	">
 },
 {
@@ -74812,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;
 	">
 },
 {
@@ -74825,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;
 	">
 },
 {
@@ -74838,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;
 	">
 },
 
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 7ebad4434..d1f416b08 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -94159,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;
 	">
 },
 {
@@ -94172,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;
 	">
 },
 {
@@ -94185,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;
 	">
 },
 {
@@ -94198,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;
 	">
 },
 {
@@ -94211,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;
 	">
 },
 {
@@ -94224,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;
 	">
 },
 {
@@ -94237,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;
 	">
 },
 {
@@ -94250,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;
 	">
 },
 
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index ac2382d90..138a783ae 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -147,6 +147,14 @@ 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,
@@ -271,20 +279,6 @@ enum cash_food_item_list {
 	ITEMID_VIT_DISH10_, // 12207
 };
 
-/**
- * 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
-};
-
 /**
  * Geneticist
  */
diff --git a/src/map/pc.c b/src/map/pc.c
index 4b1a586a8..991018012 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4917,12 +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 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);
-- 
cgit v1.2.3-70-g09d2


From 60f9a68f90d495323e9e4533c7a1573ca5d86e71 Mon Sep 17 00:00:00 2001
From: Jedzkie <jedzkie13@rocketmail.com>
Date: Tue, 18 Apr 2017 17:54:38 +0800
Subject: Fix showing NO_MSG messages when using below 20101123 clients

---
 conf/messages.conf |  3 ++-
 src/map/clif.h     |  1 +
 src/map/pc.c       | 25 ++++++++++++++++---------
 3 files changed, 19 insertions(+), 10 deletions(-)

(limited to 'src/map')

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/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/pc.c b/src/map/pc.c
index 991018012..b4985dd5f 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5063,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)
-- 
cgit v1.2.3-70-g09d2