Merge branch 'master' into bridge_gaming

This commit is contained in:
Alberyk
2021-08-24 22:49:24 -03:00
189 changed files with 4347 additions and 663 deletions
@@ -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
+4
View File
@@ -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"
+4 -5
View File
@@ -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)
+2 -2
View File
@@ -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
)
+80
View File
@@ -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)