#include <lib.h>
#include <damage_types.h>
#include <vendor_types.h>
inherit LIB_ITEM;
void create(){
::create();
SetKeyName("firearms_wound");
SetId(({"firearms_wound"}));
SetInvis(1);
SetMass(0);
SetDollarCost(0);
SetVendorType(VT_TREASURE);
}
void init(){
::init();
add_action("lookit","look");
set_heart_beat(20);
}
void lookit(string str){
if(str == "at wound" || str == "at wounds" || str == "at my wounds" ||
str == "at my wound" || str == "at gunshot wound" || str == "at gunshot wounds"){
if(base_name(this_player()) == base_name(environment()) ){
write("You have been wounded by gunfire. There "+
"are "+cardinal(this_player()->GetLead())+" bullet holes "+
"in your body.");
return;
}
}
}
string GetAffectLong(object ob) {
if(!ob || !living(ob)) return 0;
return ob->GetName() + " is suffering from gunshot wounds.";
}
void heart_beat(){
int dam,num,tmp;
object ob;
ob=environment();
if(!living(ob)){ this_object()->eventDestruct(); return; }
num = ob->GetLead();
if(!num){
tmp = ob->GetLead("gunshot_wounds");
ob->AddLead("gunshot_wounds", -tmp);
tmp = ob->GetLead("rifleshot_wounds");
ob->AddLead("rifleshot_wounds", -tmp);
this_object()->eventDestruct();
return;
}
dam = num*10;
tell_object(ob,"You bleed heavily from your gunshot wounds.");
tell_room(environment(ob), ob->GetName()+
" bleeds heavily from "+possessive(environment())+" gunshot wounds.",environment());
ob->eventReceiveDamage(this_object(),TRAUMA,dam,0,"torso");
return;
}
mixed CanGet(object ob) { return "Your hands slip on the gunshot wounds.";}
mixed CanDrop(object ob) { return "Your hands slip on the gunshot wounds.";}