mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 22:12:58 +01:00
Merge branch 'master' into bridge_gaming
This commit is contained in:
@@ -188,8 +188,20 @@
|
||||
item_state = "wristset"
|
||||
slot_flags = SLOT_WRISTS
|
||||
canhear_range = 1
|
||||
var/normal_layer = TRUE
|
||||
EarSound = FALSE
|
||||
|
||||
/obj/item/device/radio/headset/wrist/verb/change_layer()
|
||||
set category = "Object"
|
||||
set name = "Change Wrist Layer"
|
||||
set src in usr
|
||||
|
||||
normal_layer = !normal_layer
|
||||
to_chat(usr, SPAN_NOTICE("\The [src] will now layer [normal_layer ? "under" : "over"] your outerwear."))
|
||||
if (ismob(src.loc))
|
||||
var/mob/M = src.loc
|
||||
M.update_inv_wrists()
|
||||
|
||||
/*
|
||||
* Civillian
|
||||
*/
|
||||
|
||||
@@ -55,6 +55,9 @@
|
||||
/datum/matter_synth/plastic
|
||||
name = "Plastic Synthesizer"
|
||||
|
||||
/datum/matter_synth/cloth
|
||||
name = "Cloth Synthesizer"
|
||||
|
||||
/datum/matter_synth/wire
|
||||
name = "Wire Synthesizer"
|
||||
max_energy = 50
|
||||
|
||||
@@ -229,3 +229,7 @@
|
||||
/obj/item/trash/seaweed
|
||||
name = "empty moss pack"
|
||||
icon_state = "seaweed"
|
||||
|
||||
/obj/item/trash/vkrexitaffy
|
||||
name = "V'krexi Snax"
|
||||
icon_state = "vkrexitaffy"
|
||||
|
||||
@@ -193,14 +193,13 @@ RFD Construction-Class
|
||||
return
|
||||
if(disabled && !isrobot(user))
|
||||
return FALSE
|
||||
if(istype(get_area(A),/area/shuttle)||istype(get_area(A),/turf/space/transit))
|
||||
return FALSE
|
||||
var/turf/t = get_turf(A)
|
||||
if(isNotStationLevel(t.z))
|
||||
var/area/Area = get_area(A)
|
||||
if(Area.centcomm_area || istype(Area, /area/shuttle) || istype(Area, /turf/space/transit))
|
||||
to_chat(user, SPAN_WARNING("\The [src] can't be used here!"))
|
||||
return FALSE
|
||||
if(is_type_in_list(A, valid_atoms))
|
||||
return alter_atom(A, user, (mode == RFD_DECONSTRUCT))
|
||||
return alter_atom(t, user, (mode == RFD_DECONSTRUCT))
|
||||
return alter_atom(get_turf(A), user, (mode == RFD_DECONSTRUCT))
|
||||
|
||||
/obj/item/rfd/construction/proc/alter_atom(var/atom/A, var/mob/user, var/deconstruct)
|
||||
if(working)
|
||||
|
||||
@@ -525,9 +525,9 @@ var/const/NO_EMAG_ACT = -50
|
||||
overlay_state = "erisec_card"
|
||||
|
||||
/obj/item/card/id/distress/ap_eridani/New()
|
||||
access = list(access_distress, access_maint_tunnels, access_external_airlocks, access_security, access_medical, access_medical_equip)
|
||||
access = get_distress_access()
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/card/id/distress/iac
|
||||
name = "\improper Interstellar Aid Corps ID"
|
||||
assignment = "Interstellar Aid Corps Responder"
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
/obj/item/circuitboard/refiner
|
||||
name = T_BOARD("ore processor")
|
||||
desc = "The circuitboard for an ore processing machine."
|
||||
build_path = /obj/machinery/mineral/processing_unit
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/capacitor" = 2,
|
||||
"/obj/item/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/stock_parts/micro_laser" = 2
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/redemption_console
|
||||
name = T_BOARD("ore redemption console")
|
||||
desc = "The circuitboard for an ore redemption console."
|
||||
build_path = /obj/machinery/mineral/processing_unit_console
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/stock_parts/console_screen" = 1
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/redemption_console/construct(obj/machinery/M)
|
||||
. = ..()
|
||||
switch(M.dir)
|
||||
if(NORTH)
|
||||
M.pixel_y = 32
|
||||
if(EAST)
|
||||
M.pixel_x = 32
|
||||
if(WEST)
|
||||
M.pixel_x = -32
|
||||
if(SOUTH)
|
||||
M.pixel_y = -32
|
||||
|
||||
/obj/item/circuitboard/unloading_machine
|
||||
name = T_BOARD("unloading machine")
|
||||
desc = "The circuitboard for an unloading machine."
|
||||
build_path = /obj/machinery/mineral/unloading_machine
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/manipulator" = 2
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/stacking_machine
|
||||
name = T_BOARD("stacking machine")
|
||||
desc = "The circuitboard for a stacking machine."
|
||||
build_path = /obj/machinery/mineral/stacking_machine
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/manipulator" = 2
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/stacking_console
|
||||
name = T_BOARD("stacking machine console")
|
||||
desc = "The circuitboard for an stacking machine console."
|
||||
build_path = /obj/machinery/mineral/stacking_unit_console
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/stock_parts/console_screen" = 1
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/stacking_console/construct(obj/machinery/M)
|
||||
. = ..()
|
||||
switch(M.dir)
|
||||
if(NORTH)
|
||||
M.pixel_y = 32
|
||||
if(EAST)
|
||||
M.pixel_x = 32
|
||||
if(WEST)
|
||||
M.pixel_x = -32
|
||||
if(SOUTH)
|
||||
M.pixel_y = -32
|
||||
@@ -95,19 +95,6 @@
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/manipulator" = 3)
|
||||
|
||||
|
||||
/obj/item/circuitboard/refiner
|
||||
name = T_BOARD("ore processor")
|
||||
desc = "The circuitboard for an ore processing machine."
|
||||
build_path = /obj/machinery/mineral/processing_unit
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "other" // change this to machine if you want it to be buildable
|
||||
req_components = list(
|
||||
"/obj/item/stock_parts/capacitor" = 2,
|
||||
"/obj/item/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/stock_parts/micro_laser" = 2)
|
||||
|
||||
/obj/item/circuitboard/oven
|
||||
name = T_BOARD("oven")
|
||||
desc = "The circuitboard for an oven."
|
||||
|
||||
@@ -72,6 +72,15 @@
|
||||
to_chat(user, SPAN_WARNING("You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK)
|
||||
return
|
||||
|
||||
/obj/item/material/kitchen/utensil/on_rag_wipe()
|
||||
. = ..()
|
||||
if(reagents.total_volume > 0)
|
||||
reagents.clear_reagents()
|
||||
is_liquid = FALSE
|
||||
loaded = null
|
||||
cut_overlays()
|
||||
return
|
||||
|
||||
/obj/item/material/kitchen/utensil/verb/bite_size()
|
||||
set name = "Change bite size"
|
||||
set category = "Object"
|
||||
|
||||
@@ -142,7 +142,9 @@
|
||||
/obj/item/reagent_containers/food/drinks/flask,
|
||||
/obj/item/storage/box/fancy/cigarettes,
|
||||
/obj/item/flame/lighter,
|
||||
/obj/item/disk/nuclear
|
||||
/obj/item/disk/nuclear,
|
||||
/obj/item/crowbar,
|
||||
/obj/item/airbubble
|
||||
)
|
||||
starts_with = list(
|
||||
/obj/item/clothing/mask/breath = 1,
|
||||
@@ -711,7 +713,8 @@
|
||||
/obj/item/reagent_containers/food/snacks/tuna,
|
||||
/obj/item/storage/box/fancy/gum,
|
||||
/obj/item/storage/box/fancy/cookiesnack,
|
||||
/obj/item/storage/box/fancy/admints
|
||||
/obj/item/storage/box/fancy/admints,
|
||||
/obj/item/storage/box/fancy/vkrexitaffy
|
||||
)
|
||||
for (var/i = 0,i<7,i++)
|
||||
var/type = pick(snacks)
|
||||
|
||||
@@ -43,6 +43,10 @@
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "pineapple_rings"
|
||||
name = "can of pineapple rings"
|
||||
desc = "An aluminium can with fresh pineapple slices."
|
||||
use_sound = 'sound/items/pickup/soda.ogg'
|
||||
drop_sound = 'sound/items/drop/soda.ogg'
|
||||
pickup_sound = 'sound/items/pickup/soda.ogg'
|
||||
starts_with = list(/obj/item/reagent_containers/food/snacks/pineapple_ring = 6)
|
||||
can_hold = list(/obj/item/reagent_containers/food/snacks/pineapple_ring)
|
||||
|
||||
|
||||
@@ -241,7 +241,11 @@
|
||||
/obj/item/surgery/surgicaldrill = "tray_drill",
|
||||
/obj/item/surgery/bonegel = "tray_bone-gel",
|
||||
/obj/item/surgery/FixOVein = "tray_fixovein",
|
||||
/obj/item/stack/medical/advanced/bruise_pack = "tray_bruise_pack"
|
||||
/obj/item/stack/medical/advanced/bruise_pack = "tray_bruise_pack",
|
||||
/obj/item/autopsy_scanner = "tray_autopsy_scanner",
|
||||
/obj/item/device/mass_spectrometer = "tray_mass_spectrometer",
|
||||
/obj/item/reagent_containers/glass/beaker/vial = "tray_vial",
|
||||
/obj/item/reagent_containers/syringe = "tray_syringe"
|
||||
)
|
||||
for (var/obj/item/W in contents)
|
||||
if (types_and_overlays[W.type])
|
||||
@@ -289,3 +293,27 @@
|
||||
/obj/item/storage/box/fancy/tray/throw_impact(atom/hit_atom)
|
||||
..()
|
||||
spill(3, src.loc)
|
||||
|
||||
/obj/item/storage/box/fancy/tray/autopsy
|
||||
name = "autopsy tray"
|
||||
starts_with = list(
|
||||
/obj/item/surgery/circular_saw = 1,
|
||||
/obj/item/surgery/hemostat = 1,
|
||||
/obj/item/surgery/retractor = 1,
|
||||
/obj/item/surgery/scalpel = 1,
|
||||
/obj/item/surgery/surgicaldrill = 1,
|
||||
/obj/item/autopsy_scanner = 1,
|
||||
/obj/item/device/mass_spectrometer = 1
|
||||
)
|
||||
|
||||
can_hold = list(
|
||||
/obj/item/surgery/circular_saw,
|
||||
/obj/item/surgery/hemostat,
|
||||
/obj/item/surgery/retractor,
|
||||
/obj/item/surgery/scalpel,
|
||||
/obj/item/surgery/surgicaldrill,
|
||||
/obj/item/autopsy_scanner,
|
||||
/obj/item/device/mass_spectrometer,
|
||||
/obj/item/reagent_containers/glass/beaker/vial,
|
||||
/obj/item/reagent_containers/syringe
|
||||
)
|
||||
@@ -285,6 +285,9 @@
|
||||
//400 = 1 unit per 40 seconds
|
||||
change_icons = FALSE
|
||||
|
||||
var/obj/item/eyeshield/eyeshield
|
||||
var/obj/item/overcapacitor/overcap
|
||||
|
||||
//Welding tool functionality here
|
||||
/obj/item/weldingtool/Initialize()
|
||||
. = ..()
|
||||
@@ -600,6 +603,54 @@
|
||||
STOP_PROCESSING(SSprocessing, src) //Stop processing when destroyed regardless of conditions
|
||||
return ..()
|
||||
|
||||
/obj/item/weldingtool/experimental/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/eyeshield))
|
||||
if(eyeshield)
|
||||
to_chat(user, SPAN_WARNING("\The [src] already has an eye shield installed!"))
|
||||
return
|
||||
user.drop_from_inventory(I, src)
|
||||
to_chat(user, SPAN_NOTICE("You install \the [I] into \the [src]."))
|
||||
eyeshield = I
|
||||
add_overlay("eyeshield_attached", TRUE)
|
||||
return
|
||||
if(istype(I, /obj/item/overcapacitor))
|
||||
if(overcap)
|
||||
to_chat(user, SPAN_WARNING("\The [src] already has an overcapacitor installed!"))
|
||||
return
|
||||
user.drop_from_inventory(I, src)
|
||||
to_chat(user, SPAN_NOTICE("You install \the [I] into \the [src]."))
|
||||
overcap = I
|
||||
add_overlay("overcap_attached", TRUE)
|
||||
toolspeed *= 2
|
||||
return
|
||||
if(I.isscrewdriver())
|
||||
if(!eyeshield && !overcap)
|
||||
to_chat(user, SPAN_WARNING("\The [src] doesn't have any accessories to remove!"))
|
||||
return
|
||||
var/list/accessories = list()
|
||||
if(eyeshield)
|
||||
var/image/radial_button = image(icon = src.icon, icon_state = "eyeshield")
|
||||
accessories["Eye Shield"] = radial_button
|
||||
if(overcap)
|
||||
var/image/radial_button = image(icon = src.icon, icon_state = "overcap")
|
||||
accessories["Overcapacitor"] = radial_button
|
||||
var/obj/item/remove_accessory
|
||||
switch(show_radial_menu(user, src, accessories, radius = 42, tooltips = TRUE))
|
||||
if("Eye Shield")
|
||||
remove_accessory = eyeshield
|
||||
eyeshield = null
|
||||
if("Overcapacitor")
|
||||
remove_accessory = overcap
|
||||
overcap = null
|
||||
toolspeed *= 0.5
|
||||
if(!remove_accessory)
|
||||
return
|
||||
user.put_in_hands(remove_accessory)
|
||||
to_chat(user, SPAN_NOTICE("You remove \the [remove_accessory] into \the [src]."))
|
||||
cut_overlay("[remove_accessory.icon_state]_attached", TRUE)
|
||||
return
|
||||
return ..()
|
||||
|
||||
//Make sure the experimental tool only stops processing when its turned off AND full
|
||||
/obj/item/weldingtool/experimental/set_processing(var/state = 0)
|
||||
if (state == 1)
|
||||
@@ -624,6 +675,35 @@
|
||||
set_processing(0)
|
||||
last_gen = world.time
|
||||
|
||||
/obj/item/weldingtool/experimental/eyecheck(mob/user)
|
||||
if(eyeshield)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/weldingtool/experimental/remove_fuel(amount, mob/M, colourChange)
|
||||
. = ..(overcap ? amount * 3 : amount, M, colourChange)
|
||||
if(!. && welding && overcap) // to ensure that the fuel gets used even if the amount is high
|
||||
reagents.remove_reagent(/decl/reagent/fuel, get_fuel())
|
||||
|
||||
/obj/item/eyeshield
|
||||
name = "experimental eyeshield"
|
||||
desc = "An advanced eyeshield capable of dampening the welding glare produced when working on modern super-materials, removing the need for user-worn welding gear."
|
||||
desc_info = "This can be attached to an experimental welder to give it welding protection, removing the need for welding goggles or masks."
|
||||
icon = 'icons/obj/contained_items/tools/welding_tools.dmi'
|
||||
icon_state = "eyeshield"
|
||||
item_state = "eyeshield"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/overcapacitor
|
||||
name = "experimental overcapacitor"
|
||||
desc = "An advanced capacitor that injects a current into the welding stream, doubling the speed of welding tasks without sacrificing quality. Excess current burns up welding fuel, reducing fuel efficiency, however."
|
||||
desc_info = "This can be attached to an experimental welder to double the speed it works at, at the cost of tripling the fuel cost of using it."
|
||||
icon = 'icons/obj/contained_items/tools/welding_tools.dmi'
|
||||
icon_state = "overcap"
|
||||
item_state = "overcap"
|
||||
contained_sprite = TRUE
|
||||
|
||||
|
||||
/*
|
||||
* Crowbar
|
||||
*/
|
||||
|
||||
@@ -123,6 +123,7 @@
|
||||
..()
|
||||
//Supply
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/box/ids(src)
|
||||
//Appearance
|
||||
if(prob(50))
|
||||
new /obj/item/storage/backpack/security(src)
|
||||
@@ -225,6 +226,8 @@
|
||||
new /obj/item/clothing/suit/storage/security/warden(src)
|
||||
new /obj/item/clothing/accessory/badge/warden(src)
|
||||
new /obj/item/clothing/gloves/black_leather(src)
|
||||
new /obj/item/clothing/mask/gas/alt(src)
|
||||
new /obj/item/clothing/mask/gas/half(src)
|
||||
//Tools
|
||||
new /obj/item/device/radio/headset/headset_warden(src)
|
||||
new /obj/item/device/radio/headset/headset_warden/alt(src)
|
||||
@@ -234,6 +237,8 @@
|
||||
new /obj/item/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
new /obj/item/gun/energy/disruptorpistol(src)
|
||||
new /obj/item/handcuffs(src)
|
||||
new /obj/item/device/holowarrant(src)
|
||||
//Belts
|
||||
new /obj/item/clothing/accessory/storage/black_vest(src)
|
||||
new /obj/item/clothing/accessory/holster/waist(src)
|
||||
|
||||
Reference in New Issue
Block a user