mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-08 15:28:40 +00:00
* When any object is hit by an explosion, we no longer always call ex_act() on all its contents indiscriminately. The default contents_explosion() does nothing and it's overriden for certain objects only like storage items, machines with occupants, mechs. I've also overriden handle_atom_del() for many objects so that any sudden deletion of an object referenced in an object var of its container properly nullifies such references, avoiding potential runtime and updating the container's icon_state (e.g. admin-delete a mixer's beaker and the mixer's sprite updates immediately). I've tweaked bomb effect on worn clothes, having some armor but not 100% now still protects your clothes somewhat. Fixes some arguments of ex_act in living/ex_act() and other mobs. * derp and map fixes. * dem map fixes, man. * More work on code that use implants, simplified now that we can use the "implants" carbon var. * some fixes * more typos and fixes.
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
/obj/item/weapon/implant/weapons_auth
|
|
name = "firearms authentication implant"
|
|
desc = "Lets you shoot your guns"
|
|
icon_state = "auth"
|
|
origin_tech = "magnets=2;programming=7;biotech=5;syndicate=5"
|
|
activated = 0
|
|
|
|
/obj/item/weapon/implant/weapons_auth/get_data()
|
|
var/dat = {"<b>Implant Specifications:</b><BR>
|
|
<b>Name:</b> Firearms Authentication Implant<BR>
|
|
<b>Life:</b> 4 hours after death of host<BR>
|
|
<b>Implant Details:</b> <BR>
|
|
<b>Function:</b> Allows operation of implant-locked weaponry, preventing equipment from falling into enemy hands."}
|
|
return dat
|
|
|
|
|
|
/obj/item/weapon/implant/adrenalin
|
|
name = "adrenal implant"
|
|
desc = "Removes all stuns and knockdowns."
|
|
icon_state = "adrenal"
|
|
origin_tech = "materials=2;biotech=4;combat=3;syndicate=4"
|
|
uses = 3
|
|
|
|
/obj/item/weapon/implant/adrenalin/get_data()
|
|
var/dat = {"<b>Implant Specifications:</b><BR>
|
|
<b>Name:</b> Cybersun Industries Adrenaline Implant<BR>
|
|
<b>Life:</b> Five days.<BR>
|
|
<b>Important Notes:</b> <font color='red'>Illegal</font><BR>
|
|
<HR>
|
|
<b>Implant Details:</b> Subjects injected with implant can activate an injection of medical cocktails.<BR>
|
|
<b>Function:</b> Removes stuns, increases speed, and has a mild healing effect.<BR>
|
|
<b>Integrity:</b> Implant can only be used three times before reserves are depleted."}
|
|
return dat
|
|
|
|
/obj/item/weapon/implant/adrenalin/activate()
|
|
uses--
|
|
imp_in << "<span class='notice'>You feel a sudden surge of energy!</span>"
|
|
imp_in.SetStunned(0)
|
|
imp_in.SetWeakened(0)
|
|
imp_in.SetParalysis(0)
|
|
imp_in.adjustStaminaLoss(-75)
|
|
imp_in.lying = 0
|
|
imp_in.update_canmove()
|
|
|
|
imp_in.reagents.add_reagent("synaptizine", 10)
|
|
imp_in.reagents.add_reagent("omnizine", 10)
|
|
imp_in.reagents.add_reagent("stimulants", 10)
|
|
if(!uses)
|
|
qdel(src)
|
|
|
|
|
|
/obj/item/weapon/implant/emp
|
|
name = "emp implant"
|
|
desc = "Triggers an EMP."
|
|
icon_state = "emp"
|
|
origin_tech = "biotech=3;magnets=4;syndicate=1"
|
|
uses = 3
|
|
|
|
/obj/item/weapon/implant/emp/activate()
|
|
uses--
|
|
empulse(imp_in, 3, 5)
|
|
if(!uses)
|
|
qdel(src)
|
|
|
|
|
|
//Health Tracker Implant
|
|
|
|
/obj/item/weapon/implant/health
|
|
name = "health implant"
|
|
activated = 0
|
|
var/healthstring = ""
|
|
|
|
/obj/item/weapon/implant/health/proc/sensehealth()
|
|
if (!implanted)
|
|
return "ERROR"
|
|
else
|
|
if(isliving(implanted))
|
|
var/mob/living/L = implanted
|
|
healthstring = "<small>Oxygen Deprivation Damage => [round(L.getOxyLoss())]<br />Fire Damage => [round(L.getFireLoss())]<br />Toxin Damage => [round(L.getToxLoss())]<br />Brute Force Damage => [round(L.getBruteLoss())]</small>"
|
|
if (!healthstring)
|
|
healthstring = "ERROR"
|
|
return healthstring |