mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-19 02:56:14 +01:00
Techwebs & Experi-Sci (#17987)
* Techwebs * Add basic stock parts * Techweb production machines * Circuit Imprinter * More work * More designs * More designs, nodes' * More more * Better sorting for designs * Add the exosuit fab' * More conversions * More and more and more * mechfab parts * Modsuit Designs * Pinnace baron * Equipment * more mechfab * vehicles * more mecha * Micro mechs * Update mechfab_designs.dm * no time * zero * Update mechfab_designs.dm * Prosthetics Fabricator and fixes * Update maps to use new parts * Whoops, fix a few maps * Fix lint error * Port scene tools * Fireworks~~ * Don't label the sex toys as sex toys * Fixup maps in TGM format26517b7122: maps/virgo_minitest/virgo_minitest-1.dmm Automatically commited by: tools\mapmerge2\fixup.py * Significant portion of designs converted * Fix paths * Fix tgui lints * Just a whole bunch of designs * Almost doneeee * ALL DESIGNS CONVERTED * Merk all of the old stuff * Fix a few errors * Fix more errors * MORE FIX * Make server control work * Undo changes to archive * Fix a TODO * Make disks work * Start the long process of finishing the node tree * One more oops * All mechfab designs * Add departmental protolathes * Down to 200 designs unsorted * FINISH TECHWEBS * Fuck whoops * Remove the debug verbs * Little map tweaks * Fix mousedrop * More map fixes * Upstream bug lmao * guess CI hates this * Fixup maps in TGM formatfe062e7bc4: maps/tether/tether-03-surface3.dmm Automatically commited by: tools\mapmerge2\fixup.py * I gotta stop committing this * Change scree requested * Make science able to print implants too * Fix ghost spawns * Move NSFW gun * Merk partbundles, make janus module work * Pretty animation when you complete the tree :) * Don't display designs you can't print * Move security protolathes to warden's office * Make servers recover from power failure gracefully * Make fabricators drop their mats on the ground when destroyed * Ore Silo * Make CI happy * Fixup maps in TGM formatfe062e7bc4: maps/tether/tether-05-station1.dmm Automatically commited by: tools\mapmerge2\fixup.py * Fix MC crash * Make experiscanner work for borgs * I REALLY gotta stop committing this * Make scientists and the RD spawn with an experiscanner * Lock NIFs behind scanning mice * Make Biome happy * Allow scanning Cocoa and Kendrick in case they can't find mice * Change from Kendrick to Ratthew, ;help maint, or Brick * Change the name of the /rat/pet class so the experiscanner is more helpful * Add departmental_flags to a bunch of things * Remove a few things from security's techfab * Add a second engineering lathe to atmos * Fix runtime recycling rig modules, add name to cost sequence * Add a discount experiment for scanning slime cores * Change some fluff and shuffle chameleon clothes to bluespace yadayada * Make closets alt click immune * Do a bunch of sorting * Silly * Hopefully fix all infinite material bugs in techwebs * bad merge * quick ai fix * fix some robot stuff * axe downlaod fully * list * no ref * easier readable --------- Co-authored-by: C.L. <killer65311@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Creates a mutable appearance with the material color applied for its insertion animation into an autolathe or techfab
|
||||
* Arguments
|
||||
*
|
||||
* * material - the material used to generate the overlay
|
||||
*/
|
||||
/proc/material_insertion_animation(datum/material/material)
|
||||
RETURN_TYPE(/mutable_appearance)
|
||||
|
||||
var/static/list/mutable_appearance/apps = list()
|
||||
|
||||
var/mutable_appearance/cached_app = apps[material]
|
||||
if(isnull(cached_app))
|
||||
cached_app = mutable_appearance('icons/obj/machines/research_vr.dmi', "material_insertion")
|
||||
cached_app.color = material.icon_colour
|
||||
// cached_app.alpha = material.alpha
|
||||
|
||||
apps[material] = cached_app
|
||||
return cached_app
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "nanopaste"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
||||
amount = 10
|
||||
max_amount = 10
|
||||
toolspeed = 0.75 //Used in surgery, shouldn't be the same speed as a normal screwdriver on mechanical organ repair.
|
||||
w_class = ITEMSIZE_SMALL
|
||||
no_variants = FALSE
|
||||
|
||||
@@ -55,6 +55,11 @@
|
||||
synths.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/get_material_composition(breakdown_flags)
|
||||
. = ..()
|
||||
for(var/M in .)
|
||||
.[M] *= amount
|
||||
|
||||
/obj/item/stack/update_icon()
|
||||
if(no_variants)
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
@@ -78,3 +78,12 @@
|
||||
network = list(NETWORK_XENOBIO)
|
||||
req_access = list()
|
||||
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
|
||||
|
||||
/obj/item/circuitboard/machine/rdserver
|
||||
name = T_BOARD("R&D Server")
|
||||
build_path = /obj/machinery/rnd/server
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/stock_parts/scanning_module = 1,
|
||||
)
|
||||
|
||||
@@ -4,18 +4,4 @@
|
||||
|
||||
/obj/item/circuitboard/rdconsole
|
||||
name = T_BOARD("R&D control console")
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
|
||||
/obj/item/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " adjusts the jumper on \the [src]'s access protocol pins."), span_notice("You adjust the jumper on the access protocol pins."))
|
||||
if(build_path == /obj/machinery/computer/rdconsole/core)
|
||||
name = T_BOARD("RD Console - Robotics")
|
||||
build_path = /obj/machinery/computer/rdconsole/robotics
|
||||
to_chat(user, span_notice("Access protocols set to robotics."))
|
||||
else
|
||||
name = T_BOARD("RD Console")
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
to_chat(user, span_notice("Access protocols set to default."))
|
||||
return
|
||||
build_path = /obj/machinery/computer/rdconsole_tg
|
||||
|
||||
@@ -2,39 +2,6 @@
|
||||
#error T_BOARD macro is not defined but we need it!
|
||||
#endif
|
||||
|
||||
/obj/item/circuitboard/rdserver
|
||||
name = T_BOARD("R&D server")
|
||||
build_path = /obj/machinery/r_n_d/server/core
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/stock_parts/scanning_module = 1)
|
||||
|
||||
/obj/item/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " adjusts the jumper on \the [src]'s access protocol pins."), span_notice("You adjust the jumper on the access protocol pins."))
|
||||
if(build_path == /obj/machinery/r_n_d/server/core)
|
||||
name = T_BOARD("RD Console - Robotics")
|
||||
build_path = /obj/machinery/r_n_d/server/robotics
|
||||
to_chat(user, span_notice("Access protocols set to robotics."))
|
||||
else
|
||||
name = T_BOARD("RD Console")
|
||||
build_path = /obj/machinery/r_n_d/server/core
|
||||
to_chat(user, span_notice("Access protocols set to default."))
|
||||
return
|
||||
|
||||
/obj/item/circuitboard/destructive_analyzer
|
||||
name = T_BOARD("destructive analyzer")
|
||||
build_path = /obj/machinery/r_n_d/destructive_analyzer
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/scanning_module = 1,
|
||||
/obj/item/stock_parts/manipulator = 1,
|
||||
/obj/item/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/item/circuitboard/autolathe
|
||||
name = T_BOARD("autolathe")
|
||||
build_path = /obj/machinery/autolathe
|
||||
@@ -45,19 +12,40 @@
|
||||
/obj/item/stock_parts/manipulator = 1,
|
||||
/obj/item/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/circuitboard/protolathe
|
||||
/obj/item/circuitboard/machine/protolathe
|
||||
name = T_BOARD("protolathe")
|
||||
build_path = /obj/machinery/r_n_d/protolathe
|
||||
build_path = /obj/machinery/rnd/production/protolathe
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/matter_bin = 2,
|
||||
/obj/item/stock_parts/manipulator = 2,
|
||||
/obj/item/reagent_containers/glass/beaker = 2)
|
||||
|
||||
/obj/item/circuitboard/machine/protolathe/department
|
||||
name = T_BOARD("departmental protolathe")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department
|
||||
/obj/item/circuitboard/machine/protolathe/department/engineering
|
||||
name = T_BOARD("departmental protolathe (engineering)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/engineering
|
||||
/obj/item/circuitboard/machine/protolathe/department/service
|
||||
name = T_BOARD("departmental protolathe (service)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/service
|
||||
/obj/item/circuitboard/machine/protolathe/department/medical
|
||||
name = T_BOARD("departmental protolathe (medical)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/medical
|
||||
/obj/item/circuitboard/machine/protolathe/department/cargo
|
||||
name = T_BOARD("departmental protolathe (cargo)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/cargo
|
||||
/obj/item/circuitboard/machine/protolathe/department/science
|
||||
name = T_BOARD("departmental protolathe (science)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/science
|
||||
/obj/item/circuitboard/machine/protolathe/department/security
|
||||
name = T_BOARD("departmental protolathe (security)")
|
||||
build_path = /obj/machinery/rnd/production/protolathe/department/security
|
||||
|
||||
/obj/item/circuitboard/circuit_imprinter
|
||||
name = T_BOARD("circuit imprinter")
|
||||
build_path = /obj/machinery/r_n_d/circuit_imprinter
|
||||
build_path = /obj/machinery/rnd/production/circuit_imprinter
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
@@ -67,7 +55,7 @@
|
||||
|
||||
/obj/item/circuitboard/mechfab
|
||||
name = "Circuit board (Exosuit Fabricator)"
|
||||
build_path = /obj/machinery/mecha_part_fabricator
|
||||
build_path = /obj/machinery/mecha_part_fabricator_tg
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
@@ -78,7 +66,7 @@
|
||||
|
||||
/obj/item/circuitboard/prosthetics
|
||||
name = "Circuit board (Prosthetics Fabricator)"
|
||||
build_path = /obj/machinery/mecha_part_fabricator/pros
|
||||
build_path = /obj/machinery/mecha_part_fabricator_tg/prosthetics
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
|
||||
@@ -17,3 +17,9 @@
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/matter_bin = 2,
|
||||
/obj/item/stock_parts/manipulator = 2)
|
||||
|
||||
/obj/item/circuitboard/machine/ore_silo
|
||||
name = T_BOARD("Ore Silo")
|
||||
build_path = /obj/machinery/ore_silo
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
req_components = list()
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
var/vore_sound = 'sound/effects/metalscrape2.ogg'
|
||||
|
||||
/obj/structure/closet/Initialize(mapload)
|
||||
ADD_TRAIT(src, TRAIT_ALT_CLICK_BLOCKER, ROUNDSTART_TRAIT)
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
|
||||
Reference in New Issue
Block a user