General xenoarcheology touchup (#14485)

This commit is contained in:
listerla
2022-07-29 08:19:20 -04:00
committed by GitHub
parent 639fa39dd1
commit 17b1b0c556
19 changed files with 77 additions and 56 deletions

View File

@@ -31,6 +31,11 @@
materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/device/kinetic_analyzer
/datum/design/item/mining/pick_set
req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2)
materials = list(DEFAULT_WALL_MATERIAL = 1700, MATERIAL_GLASS = 200)
build_path = /obj/item/storage/box/excavation
//Frames
/datum/design/item/mining/ka_frame01
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)

View File

@@ -2,8 +2,8 @@
/obj/machinery/artifact_analyser
name = "anomaly analyzer"
desc = "Studies the emissions of anomalous materials to discover their uses."
icon = 'icons/obj/virology.dmi'
icon_state = "isolator"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "xenoarch_console"
anchored = 1
density = 1
var/scan_in_progress = 0

View File

@@ -2,7 +2,7 @@
/obj/machinery/artifact_scanpad
name = "anomaly scanner pad"
desc = "Place things here for scanning."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "tele0"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "xenoarch_analyser"
anchored = 1
density = 0

View File

@@ -1,30 +1,25 @@
/obj/machinery/suspension_gen
name = "suspension field generator"
desc = "Multi-phase mobile suspension field generator MK II \"Steadfast\". It has stubby legs bolted up against it's body for stabilising."
desc = "Multi-phase mobile suspension field generator MK III \"Stalwart\". It has stubby bolts up against its treads for stabilising."
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "suspension2"
icon_state = "suspension_loose"
density = TRUE
obj_flags = OBJ_FLAG_ROTATABLE
req_access = list(access_research)
active_power_usage = 25
var/open = FALSE
var/screwed = TRUE
var/locked = TRUE
var/field_type = "chlorine"
var/field_type = "carbon"
var/obj/item/cell/cell
var/obj/effect/suspension_field/suspension_field
var/static/list/field_types = list(
"carbon" = "Diffracted Carbon Dioxide Laser",
"nitrogen" = "Nitrogen Tracer Field",
"potassium" = "Potassium Refrigerant Cloud",
"nitrogen" = "Nitrogen Tracer Field",
"mercury" = "Mercury Dispersion Wave",
"iron" = "Iron Wafer Conduction Field",
"calcium" = "Calcium Binary De-Oxidiser",
"chlorine" = "Chlorine Diffusion Emissions",
"phoron" = "Phoron Saturated Field"
"iron" = "Iron Wafer Conduction Field"
)
/obj/machinery/suspension_gen/Initialize()
@@ -47,7 +42,7 @@
. = ..()
if(.)
return
ui_interact(user)
/obj/machinery/suspension_gen/attackby(obj/item/I, mob/user)
@@ -60,27 +55,24 @@
to_chat(user, SPAN_WARNING("\The [src]'s battery panel is open!"))
return
else if (I.iscrowbar())
if(!locked)
if(!screwed)
if(!suspension_field)
open = !open
to_chat(user, SPAN_NOTICE("You crowbar the battery panel [open ? "open" : "in place"]."))
update_icon()
else
to_chat(user, SPAN_WARNING("[src]'s safety locks are engaged, shut it down first."))
if(!screwed)
if(!suspension_field)
open = !open
to_chat(user, SPAN_NOTICE("You crowbar the battery panel [open ? "open" : "in place"]."))
update_icon()
else
to_chat(user, SPAN_WARNING("Unscrew [src]'s battery panel first."))
to_chat(user, SPAN_WARNING("[src]'s safety locks are engaged, shut it down first."))
else
to_chat(user, SPAN_WARNING("[src]'s security locks are engaged."))
return
to_chat(user, SPAN_WARNING("Unscrew [src]'s battery panel first."))
else if (I.iswrench())
if(!suspension_field)
anchored = !anchored
to_chat(user, SPAN_NOTICE("You wrench the stabilising legs [anchored ? "into place" : "up against the body"]."))
to_chat(user, SPAN_NOTICE("You wrench the stabilising bolts [anchored ? "into place" : "loose"]."))
playsound(loc, 'sound/items/wrench.ogg', 40)
if(anchored)
desc = "Multi-phase mobile suspension field generator MK II \"Steadfast\". It is resting securely on four stubby legs."
desc = "Multi-phase mobile suspension field generator MK III \"Stalwart\". It is firmly held in place by securing bolts."
else
desc = "Multi-phase mobile suspension field generator MK II \"Steadfast\". It has stubby legs bolted up against it's body for stabilising."
desc = "Multi-phase mobile suspension field generator MK III \"Stalwart\". It has stubby bolts aligned along its track for stabilising."
update_icon()
else
to_chat(user, SPAN_WARNING("You are unable to secure [src] while it is active!"))
@@ -93,10 +85,6 @@
cell = I
to_chat(user, SPAN_NOTICE("You insert the power cell."))
update_icon()
else if(istype(I, /obj/item/card))
if(allowed(user))
locked = !locked
to_chat(user, SPAN_NOTICE("You [locked ? "" : "un"]lock \the [src]."))
/obj/machinery/suspension_gen/ui_interact(mob/user)
var/datum/vueui/ui = SSvueui.get_open_ui(user, src)
@@ -117,7 +105,6 @@
data["fieldtypes"] = field_types.Copy()
data["active"] = !!suspension_field
data["locked"] = locked
data["anchored"] = anchored
return data
@@ -127,7 +114,7 @@
return TRUE
if(href_list["togglefield"])
if(locked || !anchored)
if(!anchored)
return
if(!suspension_field)
@@ -150,18 +137,24 @@
var/turf/T = get_turf(get_step(src,dir))
suspension_field = new(T)
suspension_field.field_type = field_type
visible_message(SPAN_NOTICE("\The [src] activates with a low hum."))
visible_message(SPAN_NOTICE("\The [src] activates with a soft beep."))
playsound(loc, 'sound/machines/softbeep.ogg', 40)
update_icon()
START_PROCESSING(SSprocessing, src)
/obj/machinery/suspension_gen/proc/deactivate()
STOP_PROCESSING(SSprocessing, src)
visible_message(SPAN_NOTICE("\The [src] deactivates with a gentle shudder."))
visible_message(SPAN_NOTICE("\The [src] deactivates with a gentle shudder and a soft tone."))
playsound(loc, 'sound/machines/softbeep.ogg', 40)
QDEL_NULL(suspension_field)
update_icon()
/obj/machinery/suspension_gen/update_icon()
icon_state = "suspension[open ? (cell ? "1" : "0") : (suspension_field ? "3" : "2")]"
icon_state = "suspension_[anchored ? (suspension_field ? "on" : "wrenched") : "loose"]"
if(!screwed)
add_overlay("suspension_panel")
else
cut_overlay("suspension_panel")
/obj/machinery/suspension_gen/get_cell()
return cell
@@ -185,7 +178,7 @@
. = ..()
suspend_things()
START_PROCESSING(SSprocessing, src)
/obj/effect/suspension_field/Destroy()
for(var/mob/living/M in loc)
to_chat(M, SPAN_NOTICE("You no longer feel like floating."))
@@ -196,7 +189,7 @@
/obj/effect/suspension_field/process()
suspend_things()
/obj/effect/suspension_field/proc/suspend_things()
victim_number = 0
var/turf/T = get_turf(src)

View File

@@ -24,7 +24,7 @@
//todo: dig site tape
/obj/item/storage/bag/fossils
name = "Fossil Satchel"
name = "fossil satchel"
desc = "Transports delicate fossils in suspension so they don't break during transit."
icon = 'icons/obj/mining.dmi'
icon_state = "satchel"

View File

@@ -3,8 +3,9 @@
name = "Alden-Saraspova counter"
desc = "Aids in triangulation of exotic particles."
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "flashgun"
item_state = "lampgreen"
icon_state = "xenoarch_scanner"
item_state = "xenoarch_scanner"
contained_sprite = TRUE
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_BELT
var/nearest_artifact_id = "unknown"
@@ -30,6 +31,7 @@
to_chat(user, "Exotic energy detected on wavelength '[nearest_artifact_id]' in a radius of [nearest_artifact_distance]m")
else
to_chat(user, "Background radiation levels detected.")
playsound(loc, 'sound/machines/boop2.ogg', 40)
else
to_chat(user, "Scanning array is recharging.")

View File

@@ -17,7 +17,7 @@
/obj/item/device/core_sampler
name = "core sampler"
desc = "Used to extract geological core samples."
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "sampler0"
item_state = "screwdriver_brown"
w_class = ITEMSIZE_TINY

View File

@@ -6,8 +6,10 @@
/obj/item/device/depth_scanner
name = "depth analysis scanner"
desc = "Used to check spatial depth and density of rock outcroppings."
icon_state = "depthscanner"
item_state = "analyzer"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "depth_scanner"
item_state = "depth_scanner"
contained_sprite = TRUE
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_BELT
var/list/positive_locations = list()
@@ -46,6 +48,7 @@
for(var/mob/L in range(src, 1))
to_chat(L, "<span class='notice'>[icon2html(src, L)] [src] pings.</span>")
playsound(loc, 'sound/machines/twobeep.ogg', 40)
else if(istype(A,/obj/structure/boulder))
var/obj/structure/boulder/B = A
@@ -65,6 +68,7 @@
for(var/mob/L in range(src, 1))
to_chat(L, "<span class='notice'>[icon2html(src, L)] [src] pings [pick("madly","wildly","excitedly","crazily")]!</span>")
playsound(loc, 'sound/machines/triplebeep.ogg', 40)
/obj/item/device/depth_scanner/attack_self(var/mob/user as mob)
return src.interact(user)

View File

@@ -6,7 +6,8 @@
name = "brush"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_brush"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -24,7 +25,8 @@
name = "1/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick1"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -42,7 +44,8 @@
name = "1/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick2"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -60,7 +63,8 @@
name = "1/2 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick3"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -78,7 +82,8 @@
name = "2/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick4"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -96,7 +101,8 @@
name = "5/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick5"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -114,7 +120,8 @@
name = "1/1 pick"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick6"
item_state = "syringe_0"
item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -132,7 +139,7 @@
name = "hand pickaxe"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_hand"
item_state = "syringe_0"
item_state = "pickaxe"
digspeed = 20
digspeed_unwielded = 20
digspeed_wielded = 20
@@ -151,9 +158,9 @@
/obj/item/storage/box/excavation
name = "excavation pick set"
icon = 'icons/obj/storage/wallet.dmi'
icon = 'icons/obj/storage/boxes.dmi'
icon_state = "excavation"
desc = "A set of picks for excavation."
desc = "A rugged metal case containing a set of standardized picks used in archaeological digs."
item_state = "box"
foldable = /obj/item/stack/material/cardboard //BubbleWrap
storage_slots = 7