diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index ccb4ee96a..d5dde9750 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -2852,12 +2852,16 @@ void Client::Handle_OP_ApplyPoison(const EQApplicationPacket *app) // Poisons that don't proc until a level higher than the // rogue simply won't apply at all, no skill check done. - if (ChanceRoll < (.9 + GetLevel()/1000)) { + uint16 poison_skill = GetSkill(EQEmu::skills::SkillApplyPoison); + + if (ChanceRoll < (.75 + poison_skill / 1000)) { ApplyPoisonSuccessResult = 1; - AddProcToWeapon(poison->Proc.Effect, false, - (GetDEX() / 100) + 103); + AddProcToWeapon(poison->Proc.Effect, false, (GetDEX() / 100) + 103); } } + else { + Message(Chat::Red, "A piercing weapon must be wielded to apply poison."); + } // Live always deletes the item, success or failure. Even if too high. DeleteItemInInventory(ApplyPoisonData->inventorySlot, 1, true);