mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 21:49:11 +01:00
QoL stuffs (#19285)
This commit is contained in:
@@ -65,6 +65,9 @@
|
||||
/obj/item/anomaly_scanner
|
||||
name = "anomaly scanner"
|
||||
desc = "A hand-held anomaly scanner, able to distinguish the particles that might affect a stable anomaly."
|
||||
description_info = "Click on an emitter to change into an anomalous emitter.<br>\
|
||||
Click on an anomaly harvester to link the scanned anomaly to it.<br>\
|
||||
Danger type adds severity. Unstable changes state. Containment stabilizes at the cost of health. Transformation adds modifiers."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "anom_scanner"
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -168,38 +171,43 @@
|
||||
starts_with = list(
|
||||
/obj/item/anomaly_releaser,
|
||||
/obj/item/anomaly_scanner,
|
||||
/obj/item/anomaly_choice,
|
||||
/obj/item/assembly/signaler/anomaly/choice,
|
||||
/obj/item/clothing/gloves/black
|
||||
)
|
||||
|
||||
/obj/item/anomaly_choice
|
||||
/obj/item/assembly/signaler/anomaly/choice
|
||||
name = "latent anomaly core"
|
||||
desc = "A supposedly inert anomaly core. It hums softly if held close."
|
||||
icon = 'icons/obj/assemblies/new_assemblies.dmi'
|
||||
icon_state = "inert"
|
||||
worth = 0
|
||||
var/picked = FALSE
|
||||
anomaly_type = /obj/effect/anomaly/flux // Default
|
||||
|
||||
/obj/item/anomaly_choice/attack_self(mob/user, modifiers)
|
||||
/obj/item/assembly/signaler/anomaly/choice/attack_self(mob/user, modifiers)
|
||||
. = ..(user)
|
||||
if(.)
|
||||
return TRUE
|
||||
|
||||
if(picked)
|
||||
return TRUE
|
||||
|
||||
var/list/choices = list()
|
||||
var/list/core_types = subtypesof(/obj/item/assembly/signaler/anomaly)
|
||||
var/list/core_types = subtypesof(/obj/effect/anomaly)
|
||||
|
||||
// Two random cores
|
||||
for(var/i = 0, i < 2, i++)
|
||||
var/type = pick(core_types)
|
||||
var/obj/item/assembly/signaler/anomaly/core = new type
|
||||
choices[capitalize(core.name)] = type
|
||||
var/obj/effect/anomaly/anom = new type
|
||||
choices[capitalize(anom.name)] = type
|
||||
|
||||
// Guaranteed
|
||||
var/preset = /obj/item/assembly/signaler/anomaly/flux
|
||||
var/obj/item/assembly/signaler/anomaly/preset_core = new preset
|
||||
choices[capitalize(preset_core.name)] = preset
|
||||
var/preset = /obj/effect/anomaly/flux
|
||||
var/obj/effect/anomaly/preset_anom = new preset
|
||||
choices[capitalize(preset_anom.name)] = preset
|
||||
|
||||
var/choice = tgui_input_list(user, "Choose an anomaly core.", "Anomaly Core Selection", choices)
|
||||
|
||||
if(choice)
|
||||
var/type = choices[choice]
|
||||
new type(get_turf(src))
|
||||
qdel(src)
|
||||
if(choice && !picked)
|
||||
anomaly_type = choices[choice]
|
||||
picked = TRUE
|
||||
|
||||
@@ -231,6 +231,10 @@
|
||||
anomalous = !anomalous
|
||||
burst_delay = anomalous ? 3 : 8
|
||||
to_chat(user, span_notice("The beam is now set to [anomalous ? "anomalous." : "normal."]"))
|
||||
if(anomalous)
|
||||
description_info = "Use a multitool to change the particle type."
|
||||
else
|
||||
description_info = initial(description_info)
|
||||
return
|
||||
if(W.has_tool_quality(TOOL_MULTITOOL) && anomalous)
|
||||
var/chosen_particle = tgui_input_list(user, "Select particle type", "Particle Selection", ANOMALY_PARTICLE_ALL)
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
to_chat(user, span_notice("Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code]."))
|
||||
return TRUE
|
||||
|
||||
if(istype(W, /obj/item/anomaly_scanner))
|
||||
to_chat(user, span_notice("Sealed anomalous energies detected. Use of a releaser will unleash these energies."))
|
||||
return TRUE
|
||||
|
||||
if(istype(W, /obj/item/anomaly_releaser))
|
||||
var/obj/item/anomaly_releaser/releaser = W
|
||||
if(releaser.used)
|
||||
|
||||
Reference in New Issue
Block a user