Files
vgstation13/code/modules/RCD/engie.dm
SECBATON GRIFFON dada53f31c Suicide_act() update (#30086)
* Beginning suicide_act rework

* compile

* more acts

* compile

* compile

* compile

* compile

* better logic

* oh

* oh

* grammar

* TTVs now act like c4

* or now

* now for flares

* compile

* more general ones

* better

* even better

* generalises these too

* supermatter

* oversight

* circuit imprinters

* oversight

* tweaks

* tanks

* consistency

* oversight

* better chem dispenser one

* computers and gibbers

* oversights

* tweaks

* Fix

* processor

* NOOSINGS FINALLY PORTED FROM HIPPIE

* woops

* removing redundant code, consistency too

* more redundancy down

* this is better

* forgot one

* making nearby item checks more sane now

* better bomb one

* oversiiiight

* cuts down redundant function

* now for welderbomb suicide

* sanity

* more sanity

* switch looks nicer

* these too, obligatory

* oh right

* oh right

* hopefully these work right now

* updating for this one now

* species check

Co-authored-by: SECBATON GRIFFON <sage>
2021-08-24 20:48:18 -05:00

56 lines
1.6 KiB
Plaintext

/obj/item/device/rcd/matter/engineering
schematics = list(
/datum/rcd_schematic/decon,
/datum/rcd_schematic/con_floors,
/datum/rcd_schematic/con_walls,
/datum/rcd_schematic/con_airlock,
/datum/rcd_schematic/con_window,
)
/obj/item/device/rcd/matter/engineering/New()
. = ..()
rcd_list += src
/obj/item/device/rcd/matter/engineering/Destroy()
. = ..()
rcd_list -= src
/obj/item/device/rcd/matter/engineering/afterattack(var/atom/A, var/mob/user)
if(malf_rcd_disable)
return
return ..()
/obj/item/device/rcd/matter/engineering/suicide_act(var/mob/living/user)
visible_message("<span class='danger'>[user] is using the deconstruct function on \the [src] on \himself! It looks like \he's trying to commit suicide!</span>")
user.death(1)
return SUICIDE_ACT_CUSTOM
/obj/item/device/rcd/matter/engineering/pre_loaded/New() //Comes with max energy
..()
matter = max_matter
/obj/item/device/rcd/borg/engineering
schematics = list(
/datum/rcd_schematic/decon,
/datum/rcd_schematic/con_floors,
/datum/rcd_schematic/con_walls,
/datum/rcd_schematic/con_airlock/borg,
/datum/rcd_schematic/con_window/borg,
)
/obj/item/device/rcd/matter/engineering/pre_loaded/admin
name = "experimental Rapid-Construction-Device (RCD)"
max_matter = INFINITY
/obj/item/device/rcd/matter/engineering/pre_loaded/admin/afterattack(var/atom/A, var/mob/user)
if(!user.check_rights(R_ADMIN))
visible_message("\The [src] disappears into nothing.")
qdel(src)
return
return ..()
/obj/item/device/rcd/matter/engineering/pre_loaded/admin/delay(var/mob/user, var/atom/target, var/amount)
return TRUE