Find
You are looking at a material called svirus
Created by
omenofdoom
, last updated 03 Jul 2009
Code
##tickloc:
runsub svirus;
##svirus:
if $actor's health > 0 then svirus2 else svirusend;
##svirus2:
runsub svirus3/20;
$matv = $actor's matvals;
manipulate $matv get svirus to $svirus by 1;
manipulate $svirus get stage to $stage by 2;
if $stage = '' then svirusstart;
runsub svirusadv/20;
case $stage do sviruss0,sviruss1,sviruss3;
##sviruss0:
//;
##sviruss1:
$what = (coughs,shivers,sneezes);
$how = (violently,uncontrollably);
say 'disease',"[$actor] $what $how.";
foreach in $loc do svirusinf;
##sviruss2:
$feel = (kind of,a bit,sort of,slightly);
$sign = (weak,feverish,light-headed,nauseous,slow,dizzy);
say 'disease',"[$actor] feels $feel $sign.";
$hlth = $actor's health;
take 1 from $health;
set $actor's health to $hlth;
if $health > 0 then goahead else svirusdie;
##sviruss3:
$feel = (a bit,slightly,a little);
print "[$actor] feels $feel stronger.";
$mat = $actor's material;
$matv = $actor's matvals;
swap $mat take '_svirus_';
swap $mat add '_symbiote_';
manipulate $matv set svirus to "";
set $actor's material to $mat;
set $actor's matvals to $matv;
##svirusend:
getgender $actor;
$mat = $actor's material;
$matv = $actor's matvals;
swap $mat take '_svirus_';
set $actor's material to $mat;
manipulate $matvals set cowpox to "";
set $actor's matvals to $matv;
set $actor's pose to 'dead';
##svirusadv:
add 1 to $stage;
manipulate $svirus set stage to $stage by 2;
manipulate $matv set svirus to $svirus by 1;
set $actor's matvals to $matv;
##svirusstart:
$stage = 0;
##svirusinf:
$mat = $for_id's material;
if $mat like 'living' then svirusinf2;
##svirusinf2:
if $mat like 'svirus' then dontinf else svirusinf3;
##svirusinf3:
if $mat like 'symbiote' then dontinf else svirusinf4;
##svirusinf4:
swap $mat add '_svirus_';
set $for_id's material to $mat;
$matv = $for_id's matvals;
manipulate $svirus set stage to 0 by 2;
manipulate $svirus set infctedby to $actor by 2;
manipulate $matv set svirus to $svirus by 1;
set $for_id's matvals to $matv;
##svirusdie:
say 'disease',"[$actor] crumples without a sound.";
if $actor's class = 'player' then svirusdie2;
##svirusdie2:
multivar $morgue='52618',$corpse=52819;
$fname = $actor's name;
divide $worth by 2;
copy $corpse;
multiset $new_id to "health=0,name='$fname',pose='dead',pwd=",loc='$loc',worth=0";
getgender $actor;
print "[$actor]'s spirit rises from $hisher body";
relocate $actor to $morgue print "[$actor]'s spirit moves swiftly to another place, leaving behind a corpse." then "The spirit of [$actor] arrives.";
sayto $actor,"You are dead.";