mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 06:27:26 +01:00
Streamlines the ghost-to-player creation process
Also refactors ERT equipment to be actual outfits instead of hardcoded
This commit is contained in:
@@ -23,6 +23,9 @@
|
||||
var/created_window = /obj/structure/window/basic
|
||||
var/full_window = /obj/structure/window/full/basic
|
||||
|
||||
/obj/item/stack/sheet/glass/fifty
|
||||
amount = 50
|
||||
|
||||
/obj/item/stack/sheet/glass/cyborg
|
||||
materials = list()
|
||||
|
||||
|
||||
@@ -98,14 +98,17 @@ var/global/list/datum/stack_recipe/metal_recipes = list(
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=1"
|
||||
|
||||
/obj/item/stack/sheet/metal/cyborg
|
||||
materials = list()
|
||||
|
||||
/obj/item/stack/sheet/metal/fifty
|
||||
amount = 50
|
||||
|
||||
/obj/item/stack/sheet/metal/narsie_act()
|
||||
if(prob(20))
|
||||
new /obj/item/stack/sheet/runed_metal(loc, amount)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/sheet/metal/cyborg
|
||||
materials = list()
|
||||
|
||||
/obj/item/stack/sheet/metal/New(var/loc, var/amount=null)
|
||||
recipes = metal_recipes
|
||||
return ..()
|
||||
@@ -285,4 +288,4 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
|
||||
w_class = 3
|
||||
throw_speed = 1
|
||||
throw_range = 3
|
||||
origin_tech = "materials=2;biotech=2"
|
||||
origin_tech = "materials=2;biotech=2"
|
||||
|
||||
@@ -376,6 +376,9 @@ RCD
|
||||
explosion(src, 0, 0, 3, 1, flame_range = 1)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/rcd/preloaded
|
||||
matter = 100
|
||||
|
||||
/obj/item/weapon/rcd/combat
|
||||
name = "combat RCD"
|
||||
max_matter = 500
|
||||
|
||||
@@ -715,6 +715,18 @@
|
||||
desc = "A modified ID card given only to those people who have devoted their lives to the better interests of Nanotrasen. It sparkles blue."
|
||||
icon_state = "lifetimeid"
|
||||
|
||||
/obj/item/weapon/card/id/ert
|
||||
name = "ERT ID"
|
||||
icon_state = "ERT_empty"
|
||||
|
||||
/obj/item/weapon/card/id/ert/commander
|
||||
icon_state = "ERT_leader"
|
||||
/obj/item/weapon/card/id/ert/security
|
||||
icon_state = "ERT_security"
|
||||
/obj/item/weapon/card/id/ert/engineering
|
||||
icon_state = "ERT_engineering"
|
||||
/obj/item/weapon/card/id/ert/medic
|
||||
icon_state = "ERT_medical"
|
||||
// Decals
|
||||
/obj/item/weapon/id_decal
|
||||
name = "identification card decal"
|
||||
|
||||
@@ -72,4 +72,46 @@
|
||||
user.forceMove(get_turf(src))
|
||||
log_admin("[key_name(user)] was incarnated by a respawner machine.")
|
||||
message_admins("[key_name_admin(user)] was incarnated by a respawner machine.")
|
||||
user.incarnate_ghost()
|
||||
user.incarnate_ghost()
|
||||
|
||||
/obj/structure/ghost_beacon
|
||||
name = "ethereal beacon"
|
||||
desc = "A structure that draws ethereal attention when active. Use an empty hand to activate."
|
||||
icon = 'icons/obj/lavaland/artefacts.dmi'
|
||||
icon_state = "anomaly_crystal"
|
||||
anchored = 1
|
||||
density = 1
|
||||
var/active = FALSE
|
||||
var/ghost_alert_delay = 30 SECONDS
|
||||
var/last_ghost_alert
|
||||
|
||||
|
||||
/obj/structure/ghost_beacon/initialize()
|
||||
. = ..()
|
||||
last_ghost_alert = world.time
|
||||
if(active)
|
||||
processing_objects.Add(src)
|
||||
|
||||
/obj/structure/ghost_beacon/Destroy()
|
||||
if(active)
|
||||
processing_objects.Remove(src)
|
||||
. = ..()
|
||||
|
||||
/obj/structure/ghost_beacon/attack_ghost(mob/dead/observer/user)
|
||||
if(user.can_advanced_admin_interact())
|
||||
attack_hand(user)
|
||||
|
||||
/obj/structure/ghost_beacon/attack_hand(mob/user)
|
||||
if(!is_admin(user))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You [active ? "disable" : "enable"] \the [src].</span>")
|
||||
if(active)
|
||||
processing_objects.Remove(src)
|
||||
else
|
||||
processing_objects.Add(src)
|
||||
active = !active
|
||||
|
||||
/obj/structure/ghost_beacon/process()
|
||||
if(last_ghost_alert + ghost_alert_delay < world.time)
|
||||
notify_ghosts("[src] active in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src)
|
||||
last_ghost_alert = world.time
|
||||
|
||||
Reference in New Issue
Block a user