Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RnD Update (W.I.P.) #3131

Draft
wants to merge 37 commits into
base: dev-sierra
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5112fa6
Тест тест?
Lexanx Jul 26, 2024
50afd59
Revert "Тест тест?"
Lexanx Jul 26, 2024
55d7781
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Jul 26, 2024
bfadba6
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Aug 1, 2024
241e17f
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Aug 5, 2024
0bb7584
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Aug 22, 2024
a886e10
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Sep 29, 2024
bbcd6be
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Oct 17, 2024
56dd013
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Oct 22, 2024
4609819
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 3, 2024
2a937b7
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 3, 2024
0ce5434
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 5, 2024
27b4bc1
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 6, 2024
0cc34b0
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 9, 2024
3c4bc5b
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 10, 2024
ca46a3a
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 12, 2024
643a403
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 14, 2024
75bf4a8
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 24, 2024
2cf9df9
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 24, 2024
44cf246
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Nov 28, 2024
992dcac
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Dec 1, 2024
02a640d
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Dec 1, 2024
2ad6b98
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Dec 19, 2024
c3d0502
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Dec 21, 2024
5fc193d
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Jan 4, 2025
10a8e43
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Jan 5, 2025
b5aa102
Merge branch 'SierraBay:dev-sierra' into dev-sierra
Lexanx Jan 10, 2025
748a9cd
Nedodelanniy RND
Lexanx Jan 19, 2025
7ff5dce
Update ntnetdsgn_downloader.tmpl
Lexanx Jan 19, 2025
0c44798
Merge branch 'dev-sierra' into Files
Lexanx Jan 19, 2025
e6af182
1
Lexanx Jan 20, 2025
e3b9032
2
Lexanx Jan 21, 2025
40ba9e8
3
Lexanx Jan 22, 2025
83fdef4
3.1
Lexanx Jan 22, 2025
632fe07
Update autolathe.dm
Lexanx Jan 22, 2025
1b2abbe
3.2
Lexanx Jan 23, 2025
ecbfc7d
Update research.dm
Lexanx Jan 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions code/__defines/research.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@
#define PROTOLATHE FLAG(1) //New stuff. Uses glass/metal/chemicals
#define MECHFAB FLAG(2) //Mechfab
#define CHASSIS FLAG(3) //For protolathe, but differently
#define BIOPRINTER FLAG(4)
#define ORGAN_GROWER FLAG(5)
5 changes: 4 additions & 1 deletion code/_helpers/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -537,10 +537,13 @@ Turf and target are seperate in case you want to teleport some distance from a t
*
* Returns a list of atoms.
*/
/atom/proc/GetAllContents(searchDepth = 5)
/atom/proc/GetAllContents(searchDepth = 5, includeSelf = FALSE)
RETURN_TYPE(/list)
var/list/toReturn = list()

if(includeSelf)
toReturn += src

for(var/atom/part in contents)
toReturn += part
if(length(part.contents) && searchDepth)
Expand Down
1 change: 1 addition & 0 deletions code/datums/wires/fabricator.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

#define AUTOLATHE_HACK_WIRE 1
#define AUTOLATHE_SHOCK_WIRE 2
#define AUTOLATHE_DISABLE_WIRE 4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/manipulator = 1
)
/*
/obj/item/stock_parts/circuitboard/replicator
name = "circuit board (replicator)"
build_path = /obj/machinery/fabricator/replicator
Expand All @@ -58,7 +59,7 @@
/obj/item/stock_parts/keyboard = 1,
/obj/item/stock_parts/power/apc/buildable = 1
)

*/
/obj/item/stock_parts/circuitboard/protolathe
name = "circuit board (protolathe)"
build_path = /obj/machinery/r_n_d/protolathe
Expand Down
2 changes: 1 addition & 1 deletion code/modules/codex/entries/machinery.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/datum/codex_entry/replicator
associated_paths = list(/obj/machinery/fabricator/replicator)
associated_paths = list(/obj/machinery/fabricator)
mechanics_text = "The food replicator is operated through voice commands. To inquire available dishes on the menu, say 'menu'. To dispense a dish, say the name of the dish listed in its menu. \
Dishes can only be produced as long as the replicator has biomass. To check on the biomass level of the replicator, say 'status'. Various food items or plants may be inserted to refill biomass."

Expand Down
2 changes: 2 additions & 0 deletions code/modules/fabrication/_fabricator.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/obj/machinery/fabricator
/*
name = "autolathe"
desc = "It produces common day to day items from a variety of materials."
icon = 'icons/obj/machines/fabricators/autolathe.dmi'
Expand Down Expand Up @@ -132,3 +133,4 @@
M.place_sheet(get_turf(src), round(stored_material[mat] / M.units_per_sheet), M.name)
..()
return TRUE
*/
1 change: 0 additions & 1 deletion code/modules/fabrication/designs/_design.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,3 @@
for(var/datum/reagent/R in I.reagents.reagent_list)
resources[R.type] = R.volume * FABRICATOR_EXTRA_COST_FACTOR
qdel(I)

2 changes: 2 additions & 0 deletions code/modules/fabrication/fabricator_build.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*
/obj/machinery/fabricator/proc/update_current_build(spend_time)

if(!istype(currently_building) || !is_functioning())
Expand Down Expand Up @@ -70,3 +71,4 @@
get_next_build()
else
start_building()
*/
3 changes: 2 additions & 1 deletion code/modules/fabrication/fabricator_food.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/obj/machinery/fabricator/replicator
/*/obj/machinery/fabricator/replicator
name = "food replicator"
desc = "A versatile machine that dispenses nourishing but bland food. Responds to voice commands like 'menu' and 'status'."
fabricator_class = FABRICATOR_CLASS_FOOD
Expand Down Expand Up @@ -44,3 +44,4 @@
audible_message("<b>\The [src]</b> states, \"Greetings! I serve the following dishes: [english_list(menu)]\"")
else
audible_message("<b>\The [src]</b> states, \"Apologies! I cannot serve any dishes at the moment.\"")
*/
3 changes: 2 additions & 1 deletion code/modules/fabrication/fabricator_hacked.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/obj/machinery/fabricator/hacked
/*/obj/machinery/fabricator/hacked
desc = "A typical autolathe. It has an unusual 'CRaCKZ BY C0wCUb3C0NQ3r0R' glyph bouncing around the interface.";
name = "jailbroken autolathe"
fab_status_flags = FAB_HACKED
*/
3 changes: 2 additions & 1 deletion code/modules/fabrication/fabricator_intake.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#define SUBSTANCE_TAKEN_NONE -1
/*#define SUBSTANCE_TAKEN_NONE -1
#define SUBSTANCE_TAKEN_SOME 0
#define SUBSTANCE_TAKEN_FULL 1
#define SUBSTANCE_TAKEN_ALL 2
Expand Down Expand Up @@ -117,3 +117,4 @@
#undef SUBSTANCE_TAKEN_NONE
#undef SUBSTANCE_TAKEN_SOME
#undef SUBSTANCE_TAKEN_ALL
*/
4 changes: 2 additions & 2 deletions code/modules/fabrication/fabricator_microlathe.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/obj/machinery/fabricator/micro
/*/obj/machinery/fabricator/micro
name = "microlathe"
desc = "It produces small items from common resources."
icon = 'icons/obj/machines/fabricators/microlathe.dmi'
Expand All @@ -22,4 +22,4 @@

/obj/machinery/fabricator/micro/bartender/Initialize()
. = ..()
stored_material[/material/glass] = base_storage_capacity[/material/glass]
stored_material[/material/glass] = base_storage_capacity[/material/glass]*/
2 changes: 2 additions & 0 deletions code/modules/fabrication/fabricator_topic.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*
/obj/machinery/fabricator/OnTopic(user, href_list, state)
if(href_list["change_category"])
var/choice = input("Which category do you wish to display?") as null|anything in SSfabrication.get_categories(fabricator_class)|"All"
Expand Down Expand Up @@ -35,3 +36,4 @@
mat.place_sheet(get_turf(src), sheet_count)
else if(!isnull(stored_material[mat_path]))
stored_material[mat_path] = 0
*/
3 changes: 2 additions & 1 deletion code/modules/fabrication/fabricator_ui.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#define PRINT_MULTIPLIER_DIVISOR 5
/*#define PRINT_MULTIPLIER_DIVISOR 5

/obj/machinery/fabricator/ui_interact(mob/user, ui_key = "rcon", datum/nanoui/ui=null, force_open=1)

Expand Down Expand Up @@ -89,3 +89,4 @@
return TRUE

#undef PRINT_MULTIPLIER_DIVISOR
*/
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,25 @@
return
if(href_list["PRG_usbdeletefile"])
. = TOPIC_HANDLED
computer.delete_file(href_list["PRG_usbdeletefile"], computer.get_component(PART_DRIVE))
if(istype(computer.holder, /obj/machinery/computer/modular))
var/obj/machinery/computer/modular/modular_machine = computer.holder
computer.delete_file(href_list["PRG_usbdeletefile"], modular_machine.portable_drive)
else
computer.delete_file(href_list["PRG_usbdeletefile"], computer.get_component(PART_DRIVE))
if(href_list["PRG_copytousb"])
. = TOPIC_HANDLED
computer.copy_between_disks(href_list["PRG_copytousb"], computer.get_component(PART_HDD), computer.get_component(PART_DRIVE))
if(istype(computer.holder, /obj/machinery/computer/modular))
var/obj/machinery/computer/modular/modular_machine = computer.holder
computer.copy_between_disks(href_list["PRG_copytousb"], computer.get_component(PART_HDD), modular_machine.portable_drive)
else
computer.copy_between_disks(href_list["PRG_copytousb"], computer.get_component(PART_HDD), computer.get_component(PART_DRIVE))
if(href_list["PRG_copyfromusb"])
. = TOPIC_HANDLED
computer.copy_between_disks(href_list["PRG_copyfromusb"], computer.get_component(PART_DRIVE), computer.get_component(PART_HDD))
if(istype(computer.holder, /obj/machinery/computer/modular))
var/obj/machinery/computer/modular/modular_machine = computer.holder
computer.copy_between_disks(href_list["PRG_copyfromusb"], modular_machine.portable_drive, computer.get_component(PART_HDD))
else
computer.copy_between_disks(href_list["PRG_copyfromusb"], computer.get_component(PART_DRIVE), computer.get_component(PART_HDD))
if(href_list["PRG_closefile"])
. = TOPIC_HANDLED
open_file = null
Expand Down Expand Up @@ -149,7 +161,12 @@
"undeletable" = F.undeletable
)))
data["files"] = files
var/obj/item/stock_parts/computer/hard_drive/portable/RHDD = PRG.computer.get_component(PART_DRIVE)
var/obj/item/stock_parts/computer/hard_drive/portable/RHDD
if(PRG.computer.get_component(PART_DRIVE))
RHDD = PRG.computer.get_component(PART_DRIVE)
else if(istype(PRG.computer.holder, /obj/machinery/computer/modular))
var/obj/machinery/computer/modular/modular_machine = PRG.computer.holder
RHDD = modular_machine.portable_drive
if(RHDD)
data["usbconnected"] = TRUE
var/list/usbfiles[0]
Expand Down
28 changes: 0 additions & 28 deletions code/modules/modular_computers/hardware/hard_drive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -251,31 +251,3 @@
/obj/item/stock_parts/computer/hard_drive/Destroy()
stored_files = null
return ..()

//[SIERRA-ADD] - MODPACK_RND

/obj/item/stock_parts/computer/hard_drive/ui_data()
var/list/data = list(
"disk_name" = get_disk_name(),
"max_capacity" = max_capacity,
"used_capacity" = used_capacity
)

var/list/files = list()
for(var/datum/computer_file/F in stored_files)
files.Add(list(list(
"filename" = F.filename,
"filetype" = F.filetype,
"size" = F.size,
"undeletable" = F.undeletable
)))
data["files"] = files
return data

/obj/item/stock_parts/computer/hard_drive/proc/get_disk_name()
var/datum/computer_file/data/D = find_file_by_name("DISK_NAME")
if(!istype(D))
return null

return sanitizeSafe(D.stored_data, max_length = MAX_LNAME_LEN)
//[SIERRA-ADD] - MODPACK_RND
4 changes: 2 additions & 2 deletions code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@
var/obj/item/rig/R = H.back
for(var/obj/item/rig_module/stealth_field/S in R.installed_modules)
S.deactivate()

/*
if(space_recoil && !user.check_space_footing())
var/old_dir = user.dir
var/mob/living/carbon/human/H = user
Expand All @@ -395,7 +395,7 @@
user.inertia_ignore = projectile
step(user,get_dir(target,user))
user.set_dir(old_dir)

*/

update_icon()

Expand Down
29 changes: 7 additions & 22 deletions code/modules/research/designs/_designs.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*
/***************************************************************
** Design Datums **
** All the data for building stuff and tracking reliability. **
Expand All @@ -17,9 +18,9 @@ other types of metals and chemistry for reagents).

*/
//Note: More then one of these can be added to a design.
//[SIERRA-EDIT] - MODPACK_RND

/datum/design //Datum for object designs, used in construction
var/name = null //Name of the created object. If null it will be 'guessed' from build_path if possible.
var/name = null //Name of the created object. If null it will be 'guessed' from build_path if possible.
var/desc = null //Description of the created object. If null it will use group_desc and name where applicable.
var/item_name = null //An item name before it is modified by various name-modifying procs
var/id = "id" //ID of the created object for easy refernece. Alphanumeric, lower-case, no symbols.
Expand All @@ -29,16 +30,13 @@ other types of metals and chemistry for reagents).
var/list/chemicals = list() //List of chemicals.
var/build_path = null //The path of the object that gets created.
var/time = 10 //How many ticks it requires to build
var/list/category = null //Primarily used for Mech Fabricators, but can be used for anything
var/category = null //Primarily used for Mech Fabricators, but can be used for anything.
var/sort_string = "ZZZZZ" //Sorting order
var/starts_unlocked = FALSE //If true does not require any technologies and unlocked from the start
var/shortname = null // Used for naming in RDconsole
var/datum/computer_file/binary/design/file

/datum/design/New()
..()
AssembleDesignInfo()
item_name = name
AssembleDesignInfo()

//These procs are used in subtypes for assigning names and descriptions dynamically
/datum/design/proc/AssembleDesignInfo()
Expand All @@ -51,27 +49,13 @@ other types of metals and chemistry for reagents).
var/atom/movable/A = build_path
name = initial(A.name)
item_name = name
if(!shortname)
shortname = capitalize(name)
return

/datum/design/proc/AssembleDesignDesc()
if(desc)
return
if(!desc) //Try to make up a nice description if we don't have one
desc = "Allows for the construction of \a [item_name]."
return

/datum/design/proc/AssembleFileDesignInfo(atom/temp_atom)
AssembleDesignName()
AssembleDesignDesc()
AssembleDesignId()
return

/datum/design/proc/AssembleDesignId()
if(id)
return
id = type
//[/SIERRA-EDIT] - MODPACK_RND
//Returns a new instance of the item for this design
//This is to allow additional initialization to be performed, including possibly additional contructor arguments.
/datum/design/proc/Fabricate(newloc, fabricator)
Expand All @@ -90,3 +74,4 @@ GLOBAL_LIST_INIT(build_path_to_design_datum_path, populate_design_datum_index())
var/datum/design/fake_design = path
if(initial(fake_design.build_path))
.[initial(fake_design.build_path)] = path
*/
18 changes: 10 additions & 8 deletions code/modules/research/designs/designs_circuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,21 @@
if(build_path)
var/obj/item/stock_parts/circuitboard/C = build_path
if(initial(C.board_type) == "machine")
name = "Machine circuit design ([item_name])"
name = "Machine circuit design ([C.name])"
category = list("Machine Circuit")
else if(initial(C.board_type) == "computer")
name = "Computer circuit design ([item_name])"
name = "Computer circuit design ([C.name])"
category = list("Computer Circuit")
else
name = "Circuit design ([item_name])"
name = "([C.name])"
category = list("Circuit")
//[/SIERRA-EDIT] - MODPACK_RND

/datum/design/circuit/AssembleDesignDesc()
if(!desc)
desc = "Allows for the construction of \a [item_name] circuit board."
if(build_path)
var/obj/item/stock_parts/circuitboard/C = build_path
if(!desc)
desc = "Allows for the construction of \a [C.desc] circuit board."
//[/SIERRA-EDIT] - MODPACK_RND

/datum/design/circuit/arcademachine
name = "battle arcade machine"
Expand Down Expand Up @@ -224,14 +226,14 @@
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
build_path = /obj/item/stock_parts/circuitboard/autolathe
sort_string = "HABAD"

/*
/datum/design/circuit/replicator
name = "replicator board"
id = "replicator"
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 3, TECH_BIO = 3)
build_path = /obj/item/stock_parts/circuitboard/replicator
sort_string = "HABAE"

*/
/datum/design/circuit/microlathe
name = "microlathe board"
id = "microlathe"
Expand Down
Loading
Loading