Poison System
Lets players poison weapons with poison potions (gated by the Poisoning skill) and applies damage-over-time when a poisoned weapon lands a hit. Source: UOD - System Poison.scp.
How it works
Applying poison to a weapon — F_POISON / F_POISON_DO:
F_POISONvalidates that the target is an item and specifically a weapon, then asks the player to target the poison to use (F_POISON_DO).F_POISON_DOrequires the second target to be a poison potion (MORE1==s_poison). It rolls the Poisoning skill viaskillusequick 30 (poisoning/2). On success it playssnd_spell_poison, adds thet_poisontypedef to the weapon'sevents, consumes skill, and confirms. On failure it falls through to a normal skill attempt (action=30).
Poisoned weapon behaviour — TYPEDEF t_poison:
@clickshows[Poisoned at N%](based ontag.poison/10), except on food.@weaponhit: with a ~1-in-3 chance (and if the victim isn't wearing/resistingi_rune_poison), poisons the victim fortag.poison/2, makes them "become sick," and decrementsTAG.POISONby 5. WhenTAG.POISONreaches 0 the poison wears off andt_poisonis removed from the weapon.
I_FORCE_POISON is a helper equip-script that force-applies s_poison spell effect and sound to its link (used to script-poison a target directly).
Note: The file also contains an anti-cheat trap TYPEDEF
t_fucker: any character who clicks or double-clicks an item bearing this type is logged (GOTCHA <uid> <name> <account>) and immediatelyjail-ed andstone-d (frozen). This is a honeypot, not part of normal poison play.
Key definitions
| DEFNAME | Role |
|---|---|
F_POISON / F_POISON_DO |
Player-driven "poison a weapon" targeting flow |
t_poison (TYPEDEF) |
Runtime behaviour of a poisoned weapon; TAG.POISON = potency |
I_FORCE_POISON |
Script helper to force a poison effect on a linked target |
i_rune_poison |
Item that grants poison resistance / immunity (checked on hit) |
t_fucker (TYPEDEF) |
Honeypot: auto-jails anyone who interacts with the item |
Skill 30 (Poisoning) |
Skill gate for applying poison |