Find
You are looking at a vorpal slice
Created by
Chaotic Bob
, last updated 29 Dec 2006
Code
##tickloc:runsub ticked;
##ticked:
$cnt = $actor's counter;
$fromhit = $actor's slot1;
$tohit = $actor's slot2;
$weapon = $actor's slot3;
case $cnt do doinit,dodamage,dodamage,dodamage,dodamage,alldone;
##doinit:
$adverb = (cleanly,effectively,perfectly,thoroughly,totally,utterly);
$verb = (chops,cleaves,clips,hacks,hews,lops,severs,whacks);
$part = (finger,hand,arm,foot,leg,ear,nose);
say 'msg',"[$weapon] inflicts [$actor] which $adverb $verb the $part off of [$tohit]!";
clear $actor,all;
update $actor = "counter=1,host='$tohit',hosthow='on'";
relook $loc;
$gross = (bloody,mangled,severed,disembodied);
$newclass = "$gross $part";
$jd = 52819;
copy $jd;
set $new_id's loc to $loc;
set $new_id's class to $newclass;
set $new_id's name to '';
set $new_id's colour to 'crimson';
set $new_id's pose to 'dead';
set $new_id's health to 0;
set $new_id's owner to $fromhit;
relook $loc;
##dodamage:
$hlth = $tohit's health;
take 8 from $hlth;
if $hlth < 0 then zeroit;
set $tohit's health to $hlth;
$t = $target;
$target = $tohit;
say 'bleed',"[$actor] on [$tohit] is bleeding profusely!";
$target = $t;
add 1 to $cnt;
set $actor's counter to $cnt;
if $hlth < 1 then saydead;
##zeroit:
$hlth = 0;
##saydead:
say 'msg',"[$tohit] dies from loss of blood";
set $actor's counter to 5;
##alldone:
say 'msg',"[$actor] on [$tohit] stops bleeding.";
set $actor's loc to $weapon;
unhost $actor;
clear $actor,all;
update $actor = "host=0,hosthow='',counter=0";
relook $loc;
switch $actor off;