mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 08:31:57 +00:00
General xenoarcheology touchup (#14485)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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.")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user