Updated Guillotine Poison item behavior (#2396)

* Fixes #1044.
* Poisons are now consumable by all classes.
* Using the item directly gives no benefit.
* Adjusted the item type to 2 (usable) from 0 (healing).
* A Dagger or Katar weapon is required to use Poisoning Weapon.
* Casting Poisoning Weapon again will cancel the previous bonus.
Thanks to @cydh and @Playtester!
This commit is contained in:
Aleos
2017-09-02 10:49:18 -04:00
committed by GitHub
parent 470364cbe1
commit 6ef8a97cf0
5 changed files with 12 additions and 17 deletions

View File

@@ -580,7 +580,7 @@
2025,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_CREATENEWPOISON
2026,0,0,10,0,0,0,99,0,0,none,0,0,6128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_ANTIDOTE
2027,0,0,20:24:28:32:36,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON
2027,0,0,20:24:28:32:36,0,0,0,1:16,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON
2028,0,0,40:36:32:28:24,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_WEAPONBLOCKING
2029,0,0,5:8:11:14:17,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_COUNTERSLASH
2030,0,0,20,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_WEAPONCRUSH

View File

@@ -6857,14 +6857,14 @@
//===================================================================
// Guillotine Cross Poisons
//===================================================================
12717,Poison_Paralysis,Paralyze,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_PARALYSE,300000,0,10,2; },{},{}
12718,Poison_Leech,Leech End,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_LEECHESEND,300000,0,10,2; },{},{}
12719,Poison_Oblivion,Oblivion Curse,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_OBLIVIONCURSE,300000,0,10,2; },{},{}
12720,Poison_Disheart,Disheart,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_DEATHHURT,300000,0,10,2; },{},{}
12721,Poison_Numb,Toxin,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_TOXIN,300000,0,10,2; },{},{}
12722,Poison_Fever,Pyrexia,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_PYREXIA,300000,0,10,2; },{},{}
12723,Poison_Laughing,Magic Mushroom,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_MAGICMUSHROOM,300000,0,10,2; },{},{}
12724,Poison_Fatigue,Venom Bleed,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_VENOMBLEED,15000,0,10,2; },{},{}
12717,Poison_Paralysis,Paralyze,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12718,Poison_Leech,Leech End,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12719,Poison_Oblivion,Oblivion Curse,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12720,Poison_Disheart,Disheart,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12721,Poison_Numb,Toxin,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12722,Poison_Fever,Pyrexia,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12723,Poison_Laughing,Magic Mushroom,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
12724,Poison_Fatigue,Venom Bleed,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
//===================================================================
// Rune Knight's Rune Stones
//===================================================================

View File

@@ -579,7 +579,7 @@
2025,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_CREATENEWPOISON
2026,0,0,10,0,0,0,99,0,0,none,0,0,6128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_ANTIDOTE
2027,0,0,20:24:28:32:36,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON
2027,0,0,20:24:28:32:36,0,0,0,1:16,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON
2028,0,0,40:36:32:28:24,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_WEAPONBLOCKING
2029,0,0,5:8:11:14:17,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_COUNTERSLASH
2030,0,0,20,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GC_WEAPONCRUSH

View File

@@ -4887,12 +4887,6 @@ bool pc_isUseitem(struct map_session_data *sd,int n)
if( itemdb_group_item_exists(IG_MERCENARY, nameid) && sd->md != NULL )
return false; // Mercenary Scrolls
/**
* Only GCross may use poisons
**/
if( itemdb_group_item_exists(IG_POISON, nameid) && (sd->class_&MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS )
return false;
if( item->flag.group || item->type == IT_CASH) { //safe check type cash disappear when overweight [Napster]
if( pc_is90overweight(sd) ) {
clif_msg(sd, ITEM_CANT_OBTAIN_WEIGHT);

View File

@@ -19520,7 +19520,8 @@ int skill_poisoningweapon(struct map_session_data *sd, unsigned short nameid)
clif_skill_fail(sd,GC_POISONINGWEAPON,USESKILL_FAIL_LEVEL,0);
return 0;
}
status_change_end(&sd->bl, SC_POISONINGWEAPON, INVALID_TIMER); // End the status so a new poison can be applied (if changed)
chance = 2 + 2 * sd->menuskill_val; // 2 + 2 * skill_lv
sc_start4(&sd->bl,&sd->bl, SC_POISONINGWEAPON, 100, pc_checkskill(sd, GC_RESEARCHNEWPOISON), //in Aegis it store the level of GC_RESEARCHNEWPOISON in val1
type, chance, val4, skill_get_time(GC_POISONINGWEAPON, sd->menuskill_val));