Files
Bubberstation/code/game/objects/items/nuke_tools.dm
phil235 30ca862473 Fixes hardsuit not having 300hp (I gave it to the helmet, but had forgotten about the suit itself)
All unique traitor steal objective item are now immune to all damage except severity=1 explosion.
Mobs on fire no longer get damage to their worn backpacks, belts, id, pocket stuff, and suit storage.
All backpacks are now nonflammable, and bag oh holding and engineer backpack are now fireproof.
Mob receiving melee attacks now only have its outer layer of clothes damaged, e.g. no damage to jumpsuit when wearing a suit.
Made all hyposprays (not just the CMO's) acid proof.
Made the singularity gen and tesla gen immune to fire.
2016-10-17 22:51:57 +02:00

84 lines
2.6 KiB
Plaintext

//Items for nuke theft traitor objective
//the nuke core - objective item
/obj/item/nuke_core
name = "plutonium core"
desc = "Extremely radioactive. Wear goggles."
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "plutonium_core"
item_state = "plutoniumcore"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
var/pulse = 0
var/cooldown = 0
/obj/item/nuke_core/New()
..()
START_PROCESSING(SSobj, src)
/obj/item/nuke_core/attackby(obj/item/nuke_core_container/container, mob/user)
if(istype(container))
container.load(src, user)
else
return ..()
/obj/item/nuke_core/process()
if(cooldown < world.time - 60)
cooldown = world.time
flick("plutonium_core_pulse", src)
radiation_pulse(get_turf(src), 1, 4, 40, 1)
//nuke core box, for carrying the core
/obj/item/nuke_core_container
name = "nuke core container"
desc = "Solid container for radioactive objects."
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "core_container_empty"
item_state = "tile"
var/obj/item/nuke_core/core = null
/obj/item/nuke_core_container/proc/load(obj/item/nuke_core/ncore, mob/user)
if(core || !istype(ncore))
return 0
ncore.loc = src
core = ncore
icon_state = "core_container_loaded"
user << "<span class='warning'>Container is sealing...</span>"
addtimer(src, "seal", 50)
return 1
/obj/item/nuke_core_container/proc/seal()
if(istype(core))
STOP_PROCESSING(SSobj, core)
icon_state = "core_container_sealed"
playsound(loc, 'sound/items/Deconstruct.ogg', 60, 1)
if(ismob(loc))
loc << "<span class='warning'>[src] is permanently sealed, [core]'s radiation is contained.</span>"
/obj/item/nuke_core_container/attackby(obj/item/nuke_core/core, mob/user)
if(istype(core))
if(!user.unEquip(core))
user << "<span class='warning'>The [core] is stuck to your hand!</span>"
return
else
load(core, user)
else
return ..()
//snowflake screwdriver, works as a key to start nuke theft, traitor only
/obj/item/weapon/screwdriver/nuke
name = "screwdriver"
desc = "A screwdriver with an ultra thin tip."
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "screwdriver_nuke"
toolspeed = 2
/obj/item/weapon/paper/nuke_instructions
info = "How to break into a Nanotrasen self-destruct terminal and remove its plutonium core:<br>\
<ul>\
<li>Use a screwdriver with a very thin tip (provided) to unscrew the terminal's front panel</li>\
<li>Dislodge and remove the front panel with a crowbar</li>\
<li>Cut the inner metal plate with a welding tool</li>\
<li>Pry off the inner plate with a crowbar to expose the radioactive core</li>\
<li>Use the core container to remove the plutonium core; the container will take some time to seal</li>\
<li>???</li>"