From b6fd7f18e2f9221f776df56545e48404aa47b947 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 9 May 2020 19:22:42 -0400 Subject: [PATCH 01/68] Update large_objects.dm --- code/modules/cargo/exports/large_objects.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index b7bdcb1f59..d71e5b2a48 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -171,13 +171,13 @@ var/worth = 10 var/gases = C.air_contents.gases - worth += gases[/datum/gas/bz]*4 - worth += gases[/datum/gas/stimulum]*25 - worth += gases[/datum/gas/hypernoblium]*1000 - worth += gases[/datum/gas/miasma]*4 - worth += gases[/datum/gas/tritium]*7 - worth += gases[/datum/gas/pluoxium]*6 - worth += gases[/datum/gas/nitryl]*30 + worth += gases[/datum/gas/bz]*2 + worth += gases[/datum/gas/stimulum]*20 + worth += gases[/datum/gas/hypernoblium]*100 + worth += gases[/datum/gas/miasma]*1 + worth += gases[/datum/gas/tritium]*4 + worth += gases[/datum/gas/pluoxium]*3 + worth += gases[/datum/gas/nitryl]*25 return worth From d1a80ca2d73e7e1cd1636406e0a0b0eba1cc63c3 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 3 Jun 2020 20:29:17 -0400 Subject: [PATCH 02/68] Ghommie requested change --- code/modules/cargo/exports/large_objects.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index d71e5b2a48..b6df2354a8 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -177,7 +177,7 @@ worth += gases[/datum/gas/miasma]*1 worth += gases[/datum/gas/tritium]*4 worth += gases[/datum/gas/pluoxium]*3 - worth += gases[/datum/gas/nitryl]*25 + worth += gases[/datum/gas/nitryl]*30 return worth From ee2a2a30e4f19ea54c60066652ce20c07477bea5 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 4 Jun 2020 17:18:44 +0100 Subject: [PATCH 03/68] easy fix --- code/__HELPERS/areas.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 8e4c363227..e2249dbb63 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -170,6 +170,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engine/eng newA.setup(str) newA.set_dynamic_lighting() newA.has_gravity = oldA.has_gravity + newA.noteleport = oldA.noteleport else newA = area_choice From 2002a273de4209ca631610e5e262744a3dc7bb95 Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Thu, 4 Jun 2020 16:04:16 -0700 Subject: [PATCH 04/68] Makes empty internal tanks printable --- code/game/objects/items/tanks/tank_types.dm | 5 +- code/modules/research/designs/misc_designs.dm | 54 +++++++++++++++++++ .../techweb/nodes/engineering_nodes.dm | 8 +++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index 8f5303da8e..b4c8d8adf0 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -93,11 +93,13 @@ F.update_icon() else return ..() +//Makes empty oxygen tanks spawn without gas +/obj/item/tank/internals/plasma/empty/populate_gas() + return /obj/item/tank/internals/plasma/full/populate_gas() air_contents.gases[/datum/gas/plasma] = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) - /* * Plasmaman Plasma Tank */ @@ -130,6 +132,7 @@ air_contents.gases[/datum/gas/plasma] = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return +//makes empty plasma tanks spawn without gas. /obj/item/tank/internals/plasmaman/belt/empty/populate_gas() return diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index e9af465c8a..9b44264b07 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -707,3 +707,57 @@ build_path = /obj/item/clothing/gloves/tackler/rocket category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +///////////////////////////////////////// +/////////////Internal Tanks////////////// +///////////////////////////////////////// + +/datum/design/oxygen_tank + name = "Oxygen Tank" + desc = "An empty oxygen tank." + id = "oxygen_tank" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 2000) + build_path = /obj/item/tank/internals/oxygen/empty + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/plasma_tank + name = "Plasma Tank" + desc = "An empty plasma tank." + id = "plasma_tank" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 2000) + build_path = /obj/item/tank/internals/plasma/empty + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/emergency_oxygen + name = "Emergency Oxygen Tank" + desc = "A small emergency oxygen tank." + id = "emergency_oxygen" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1000) + build_path = /obj/item/tank/internals/emergency_oxygen/empty + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/plasma_belt_tank + name = "Plasmaman Belt Tank" + desc = "A small tank of plasma for plasmamen." + id = "plasmaman_tank_belt" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1000) + build_path = /obj/item/tank/internals/plasmaman/belt/empty + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/emergency_oxygen_engi + name = "Engineering Emergency Oxygen Tank" + desc = "An emergency oxygen tank for engineers." + id = "emergency_oxygen_engi" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1000) + build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING \ No newline at end of file diff --git a/code/modules/research/techweb/nodes/engineering_nodes.dm b/code/modules/research/techweb/nodes/engineering_nodes.dm index 2ab5458028..2fc6d6097e 100644 --- a/code/modules/research/techweb/nodes/engineering_nodes.dm +++ b/code/modules/research/techweb/nodes/engineering_nodes.dm @@ -42,6 +42,14 @@ design_ids = list("smes", "super_cell", "hyper_cell", "super_capacitor", "superpacman", "mrspacman", "power_turbine", "power_turbine_console", "power_compressor", "circulator", "teg") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) +/datum/techweb_node/int_tank + id = "int_tank" + display_name = "Internal Tanks" + description = "How to compress air into smaller containers." + prereq_ids = list("engineering") + design_ids = list("oxygen_tank", "plasma_tank", "emergency_oxygen", "emergency_oxygen_engi", "plasmaman_tank_belt") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + /* /datum/techweb_node/basic_meteor_defense id = "basic_meteor_defense" From e80ec920e08b71d7cd4d3b6858777acba4047ebe Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Thu, 4 Jun 2020 16:42:10 -0700 Subject: [PATCH 05/68] Moved the tanks to industrial tech node. --- .../research/techweb/nodes/engineering_nodes.dm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/code/modules/research/techweb/nodes/engineering_nodes.dm b/code/modules/research/techweb/nodes/engineering_nodes.dm index 2fc6d6097e..eac8c2faf2 100644 --- a/code/modules/research/techweb/nodes/engineering_nodes.dm +++ b/code/modules/research/techweb/nodes/engineering_nodes.dm @@ -7,7 +7,8 @@ prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", "atmosalerts", "atmos_control", "recycler", "autolathe", "autolathe_secure", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", - "apc_control", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo") + "apc_control", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo","oxygen_tank", + "plasma_tank", "emergency_oxygen", "emergency_oxygen_engi", "plasmaman_tank_belt") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000) /datum/techweb_node/adv_engi @@ -42,14 +43,6 @@ design_ids = list("smes", "super_cell", "hyper_cell", "super_capacitor", "superpacman", "mrspacman", "power_turbine", "power_turbine_console", "power_compressor", "circulator", "teg") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) -/datum/techweb_node/int_tank - id = "int_tank" - display_name = "Internal Tanks" - description = "How to compress air into smaller containers." - prereq_ids = list("engineering") - design_ids = list("oxygen_tank", "plasma_tank", "emergency_oxygen", "emergency_oxygen_engi", "plasmaman_tank_belt") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - /* /datum/techweb_node/basic_meteor_defense id = "basic_meteor_defense" From 29302c51edd5513a0c7d024ec7bd0f43e0401062 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 4 Jun 2020 22:58:42 -0700 Subject: [PATCH 06/68] ok --- code/modules/client/preferences.dm | 54 ++++++++++++-------- code/modules/client/preferences_savefile.dm | 12 ++++- code/modules/keybindings/bindings_client.dm | 5 ++ code/modules/keybindings/keybind/_keybind.dm | 2 + 4 files changed, 51 insertions(+), 22 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c0ac79e449..0a7d838aa2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -50,6 +50,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) /// Custom Keybindings var/list/key_bindings = list() + /// List with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent. + var/list/modless_key_bindings = list() var/tgui_fancy = TRUE @@ -1098,6 +1100,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) Input mode is the closest thing to the old input system.
\ IMPORTANT: While in input mode's non hotkey setting (tab toggled), Ctrl + KEY will send KEY to the keybind system as the key itself, not as Ctrl + KEY. This means Ctrl + T/W/A/S/D/all your familiar stuff still works, but you \ won't be able to access any regular Ctrl binds.
" + dat += "
Modifier-Independent binding - This is a singular bind that works regardless of if Ctrl/Shift/Alt are held down. For example, if combat mode is bound to C in modifier-independent binds, it'll trigger regardless of if you are \ + holding down shift for sprint. Each keybind can only have one independent binding, and each key can only have one keybind independently bound to it." // Create an inverted list of keybindings -> key var/list/user_binds = list() for (var/key in key_bindings) @@ -1110,21 +1114,23 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/datum/keybinding/kb = GLOB.keybindings_by_name[name] kb_categories[kb.category] += list(kb) - dat += "" + dat += "" for (var/category in kb_categories) dat += "

[category]

" for (var/i in kb_categories[category]) var/datum/keybinding/kb = i + var/current_independent_binding = modless_key_bindings[kb.name] || "Unbound" if(!length(user_binds[kb.name])) - dat += " Unbound" + dat += "[kb.full_name] Unbound" var/list/default_keys = hotkeys ? kb.hotkey_keys : kb.classic_keys if(LAZYLEN(default_keys)) dat += "| Default: [default_keys.Join(", ")]" + dat += "Independent Binding: [current_independent_binding]" dat += "
" else var/bound_key = user_binds[kb.name][1] - dat += " [bound_key]" + dat += "[kb.full_name] [bound_key]" for(var/bound_key_index in 2 to length(user_binds[kb.name])) bound_key = user_binds[kb.name][bound_key_index] dat += " | [bound_key]" @@ -1133,6 +1139,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/default_keys = hotkeys ? kb.classic_keys : kb.hotkey_keys if(LAZYLEN(default_keys)) dat += "| Default: [default_keys.Join(", ")]" + dat += "Independent Binding: [current_independent_binding]" dat += "
" dat += "

" @@ -1158,7 +1165,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) #undef APPEARANCE_CATEGORY_COLUMN #undef MAX_MUTANT_ROWS -/datum/preferences/proc/CaptureKeybinding(mob/user, datum/keybinding/kb, var/old_key) +/datum/preferences/proc/CaptureKeybinding(mob/user, datum/keybinding/kb, old_key, independent = FALSE) var/HTML = {"
Keybinding: [kb.full_name]
[kb.description]

Press any key to change
Press ESC to clear