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) materials = list(DEFAULT_WALL_MATERIAL = 4000)
build_path = /obj/item/device/kinetic_analyzer 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 //Frames
/datum/design/item/mining/ka_frame01 /datum/design/item/mining/ka_frame01
req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) req_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)

View File

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

View File

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

View File

@@ -1,30 +1,25 @@
/obj/machinery/suspension_gen /obj/machinery/suspension_gen
name = "suspension field generator" 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 = 'icons/obj/xenoarchaeology.dmi'
icon_state = "suspension2" icon_state = "suspension_loose"
density = TRUE density = TRUE
obj_flags = OBJ_FLAG_ROTATABLE obj_flags = OBJ_FLAG_ROTATABLE
req_access = list(access_research)
active_power_usage = 25 active_power_usage = 25
var/open = FALSE var/open = FALSE
var/screwed = TRUE var/screwed = TRUE
var/locked = TRUE var/field_type = "carbon"
var/field_type = "chlorine"
var/obj/item/cell/cell var/obj/item/cell/cell
var/obj/effect/suspension_field/suspension_field var/obj/effect/suspension_field/suspension_field
var/static/list/field_types = list( var/static/list/field_types = list(
"carbon" = "Diffracted Carbon Dioxide Laser", "carbon" = "Diffracted Carbon Dioxide Laser",
"nitrogen" = "Nitrogen Tracer Field",
"potassium" = "Potassium Refrigerant Cloud", "potassium" = "Potassium Refrigerant Cloud",
"nitrogen" = "Nitrogen Tracer Field",
"mercury" = "Mercury Dispersion Wave", "mercury" = "Mercury Dispersion Wave",
"iron" = "Iron Wafer Conduction Field", "iron" = "Iron Wafer Conduction Field"
"calcium" = "Calcium Binary De-Oxidiser",
"chlorine" = "Chlorine Diffusion Emissions",
"phoron" = "Phoron Saturated Field"
) )
/obj/machinery/suspension_gen/Initialize() /obj/machinery/suspension_gen/Initialize()
@@ -47,7 +42,7 @@
. = ..() . = ..()
if(.) if(.)
return return
ui_interact(user) ui_interact(user)
/obj/machinery/suspension_gen/attackby(obj/item/I, mob/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!")) to_chat(user, SPAN_WARNING("\The [src]'s battery panel is open!"))
return return
else if (I.iscrowbar()) else if (I.iscrowbar())
if(!locked) if(!screwed)
if(!screwed) if(!suspension_field)
if(!suspension_field) open = !open
open = !open to_chat(user, SPAN_NOTICE("You crowbar the battery panel [open ? "open" : "in place"]."))
to_chat(user, SPAN_NOTICE("You crowbar the battery panel [open ? "open" : "in place"].")) update_icon()
update_icon()
else
to_chat(user, SPAN_WARNING("[src]'s safety locks are engaged, shut it down first."))
else 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 else
to_chat(user, SPAN_WARNING("[src]'s security locks are engaged.")) to_chat(user, SPAN_WARNING("Unscrew [src]'s battery panel first."))
return
else if (I.iswrench()) else if (I.iswrench())
if(!suspension_field) if(!suspension_field)
anchored = !anchored 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) 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 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() update_icon()
else else
to_chat(user, SPAN_WARNING("You are unable to secure [src] while it is active!")) to_chat(user, SPAN_WARNING("You are unable to secure [src] while it is active!"))
@@ -93,10 +85,6 @@
cell = I cell = I
to_chat(user, SPAN_NOTICE("You insert the power cell.")) to_chat(user, SPAN_NOTICE("You insert the power cell."))
update_icon() 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) /obj/machinery/suspension_gen/ui_interact(mob/user)
var/datum/vueui/ui = SSvueui.get_open_ui(user, src) var/datum/vueui/ui = SSvueui.get_open_ui(user, src)
@@ -117,7 +105,6 @@
data["fieldtypes"] = field_types.Copy() data["fieldtypes"] = field_types.Copy()
data["active"] = !!suspension_field data["active"] = !!suspension_field
data["locked"] = locked
data["anchored"] = anchored data["anchored"] = anchored
return data return data
@@ -127,7 +114,7 @@
return TRUE return TRUE
if(href_list["togglefield"]) if(href_list["togglefield"])
if(locked || !anchored) if(!anchored)
return return
if(!suspension_field) if(!suspension_field)
@@ -150,18 +137,24 @@
var/turf/T = get_turf(get_step(src,dir)) var/turf/T = get_turf(get_step(src,dir))
suspension_field = new(T) suspension_field = new(T)
suspension_field.field_type = field_type 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() update_icon()
START_PROCESSING(SSprocessing, src) START_PROCESSING(SSprocessing, src)
/obj/machinery/suspension_gen/proc/deactivate() /obj/machinery/suspension_gen/proc/deactivate()
STOP_PROCESSING(SSprocessing, src) 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) QDEL_NULL(suspension_field)
update_icon() update_icon()
/obj/machinery/suspension_gen/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() /obj/machinery/suspension_gen/get_cell()
return cell return cell
@@ -185,7 +178,7 @@
. = ..() . = ..()
suspend_things() suspend_things()
START_PROCESSING(SSprocessing, src) START_PROCESSING(SSprocessing, src)
/obj/effect/suspension_field/Destroy() /obj/effect/suspension_field/Destroy()
for(var/mob/living/M in loc) for(var/mob/living/M in loc)
to_chat(M, SPAN_NOTICE("You no longer feel like floating.")) to_chat(M, SPAN_NOTICE("You no longer feel like floating."))
@@ -196,7 +189,7 @@
/obj/effect/suspension_field/process() /obj/effect/suspension_field/process()
suspend_things() suspend_things()
/obj/effect/suspension_field/proc/suspend_things() /obj/effect/suspension_field/proc/suspend_things()
victim_number = 0 victim_number = 0
var/turf/T = get_turf(src) var/turf/T = get_turf(src)

View File

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

View File

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

View File

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

View File

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

View File

@@ -6,7 +6,8 @@
name = "brush" name = "brush"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_brush" icon_state = "pick_brush"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -24,7 +25,8 @@
name = "1/6 pick" name = "1/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick1" icon_state = "pick1"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -42,7 +44,8 @@
name = "1/3 pick" name = "1/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick2" icon_state = "pick2"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -60,7 +63,8 @@
name = "1/2 pick" name = "1/2 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick3" icon_state = "pick3"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -78,7 +82,8 @@
name = "2/3 pick" name = "2/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick4" icon_state = "pick4"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -96,7 +101,8 @@
name = "5/6 pick" name = "5/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick5" icon_state = "pick5"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -114,7 +120,8 @@
name = "1/1 pick" name = "1/1 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick6" icon_state = "pick6"
item_state = "syringe_0" item_state = "xenoarch_pick"
contained_sprite = TRUE
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -132,7 +139,7 @@
name = "hand pickaxe" name = "hand pickaxe"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_hand" icon_state = "pick_hand"
item_state = "syringe_0" item_state = "pickaxe"
digspeed = 20 digspeed = 20
digspeed_unwielded = 20 digspeed_unwielded = 20
digspeed_wielded = 20 digspeed_wielded = 20
@@ -151,9 +158,9 @@
/obj/item/storage/box/excavation /obj/item/storage/box/excavation
name = "excavation pick set" name = "excavation pick set"
icon = 'icons/obj/storage/wallet.dmi' icon = 'icons/obj/storage/boxes.dmi'
icon_state = "excavation" 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" item_state = "box"
foldable = /obj/item/stack/material/cardboard //BubbleWrap foldable = /obj/item/stack/material/cardboard //BubbleWrap
storage_slots = 7 storage_slots = 7

View File

@@ -0,0 +1,10 @@
author: listerla
delete-after: True
changes:
- rscadd: "Excavation pick sets are now available in the protolathe."
- rscdel: "Removed suspension field ID lock."
- rscdel: "Removed suspension field options with no functions."
- soundadd: "Added sounds to some xenoarcheology equipment."
- imageadd: "Ported new sprites for xenoarcheology equipment and finds, from Polaris and Baystation."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 76 KiB

BIN
sound/machines/boop1.ogg Normal file

Binary file not shown.

BIN
sound/machines/boop2.ogg Normal file

Binary file not shown.

BIN
sound/machines/softbeep.ogg Normal file

Binary file not shown.

Binary file not shown.