Adds Materials to Every Autolathe and Protolathe Item (except for ammo boxes, IK mags, and Dart Boxes) (#31445)

* Holy fuck there's so much shit I'm not even done

* oh god there's so many

* it is done

* Update autolathe_designs.dm

* Update circuitboard.dm
This commit is contained in:
CRUNCH
2026-01-30 21:25:40 +00:00
committed by GitHub
parent 64d5fcb6ef
commit da1ebd039d
155 changed files with 640 additions and 276 deletions
+13
View File
@@ -1,6 +1,7 @@
/obj/item/mod/construction
desc = "A part used in MOD construction. You could insert it into a MOD shell."
icon = 'icons/obj/clothing/modsuit/mod_construction.dmi'
materials = list(MAT_METAL = 5000)
/obj/item/mod/construction/helmet
name = "MOD helmet"
@@ -42,6 +43,7 @@
name = "MOD external plating"
desc = "External plating used to finish a MOD control unit."
icon_state = "standard-plating"
materials = list(MAT_METAL = 6000, MAT_GLASS = 3000, MAT_PLASMA = 1000)
var/datum/mod_theme/theme = /datum/mod_theme/standard
/obj/item/mod/construction/plating/Initialize(mapload)
@@ -53,33 +55,43 @@
/obj/item/mod/construction/plating/engineering
theme = /datum/mod_theme/engineering
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_GOLD = 2000, MAT_PLASMA = 1000)
/obj/item/mod/construction/plating/atmospheric
theme = /datum/mod_theme/atmospheric
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_TITANIUM = 2000, MAT_PLASMA = 1000)
/obj/item/mod/construction/plating/medical
theme = /datum/mod_theme/medical
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_SILVER = 2000, MAT_PLASMA = 1000)
/obj/item/mod/construction/plating/security
theme = /datum/mod_theme/security
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_URANIUM = 2000, MAT_PLASMA = 1000)
/obj/item/mod/construction/plating/cosmohonk
theme = /datum/mod_theme/cosmohonk
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_BANANIUM = 2000, MAT_PLASMA = 1000)
/// I want to add a way to get the rarer modsuit types, that is limited. A low chance for traders to have plating for it seems interesting
/obj/item/mod/construction/plating/rescue
theme = /datum/mod_theme/rescue
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_SILVER = 2000, MAT_PLASMA = 1000)
/// Continued from above, none of these are steal objectives, and only the CE or RD one comes pre-installed with modules. You are getting the protection / speed / looks of these hardsuits, but no special modules.
/obj/item/mod/construction/plating/safeguard
theme = /datum/mod_theme/safeguard
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_URANIUM = 2000, MAT_PLASMA = 1000)
/// This may be a bad idea. I think this is an interesting idea. And you still need robotics to build it, and traders can charge as much for it as they want. Also with ones like the CE modsuit, it is the flagship mod. That means it is sold a lot.
/obj/item/mod/construction/plating/advanced
theme = /datum/mod_theme/advanced
materials = list(MAT_METAL = 12000, MAT_GLASS = 2000, MAT_GOLD = 2000, MAT_TITANIUM = 2000, MAT_PLASMA = 2000)
/// Don't think people will want the RD one though, it is as slow as shit. Anyway, here it is. Surely this will not end poorly.
/obj/item/mod/construction/plating/research
theme = /datum/mod_theme/research
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_URANIUM = 2000, MAT_PLASMA = 1000)
#define START_STEP "start"
#define CORE_STEP "core"
@@ -95,6 +107,7 @@
name = "MOD shell"
desc = "The core housing and support structure for a MOD suit, with numerous plugs and connectors for attaching additional components."
icon_state = "mod-construction_start"
materials = list(MAT_METAL = 10000, MAT_PLASMA = 5000)
var/obj/item/core
var/obj/item/helmet
var/obj/item/chestplate
+1
View File
@@ -138,6 +138,7 @@
desc = "An intricate piece of machinery that creates a holographic video call with another MODlink-compatible device. Essentially a video necklace."
icon_state = "modlink"
actions_types = list(/datum/action/item_action/call_link)
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000, MAT_GOLD = 500)
/// The installed power cell.
var/obj/item/stock_parts/cell/cell
/// The MODlink datum we operate.
+1
View File
@@ -3,6 +3,7 @@
desc = "This one-use skin applier will add a skin to MODsuits of a specific type. This one applies to standard modsuits."
icon = 'icons/obj/clothing/modsuit/mod_construction.dmi'
icon_state = "skinapplier"
materials = list(MAT_METAL = 6000, MAT_GLASS = 3000, MAT_PLASMA = 1000)
var/skin = "civilian"
var/compatible_theme = /datum/mod_theme/standard
+2
View File
@@ -3,6 +3,7 @@
name = "MOD module"
icon = 'icons/obj/clothing/modsuit/mod_modules.dmi'
icon_state = "module"
materials = list(MAT_METAL = 2500, MAT_GLASS = 5000)
/// If it can be removed
var/removable = TRUE
/// If it's passive, togglable, usable or active
@@ -349,6 +350,7 @@
name = "MOD anomaly locked module"
desc = "A form of a module, locked behind an anomalous core to function."
incompatible_modules = list(/obj/item/mod/module/anomaly_locked)
materials = list(MAT_METAL = 12000, MAT_GLASS = 2000, MAT_SILVER = 4000, MAT_PLASMA = 4000, MAT_TITANIUM = 4000, MAT_BLUESPACE = 6000)
/// The core item the module runs off.
var/obj/item/assembly/signaler/anomaly/core
/// Accepted types of anomaly cores.
@@ -13,6 +13,7 @@
complexity = 2
use_power_cost = DEFAULT_CHARGE_DRAIN * 200
incompatible_modules = list(/obj/item/mod/module/pathfinder)
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
/// The pathfinding implant.
var/obj/item/bio_chip/mod/implant
@@ -245,6 +245,7 @@
/// The suit's size before the module is installed.
var/old_size
origin_tech = "materials=6;bluespace=5;syndicate=1" //Printable at illegals 2, so only one level.
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
/obj/item/mod/module/plate_compression/on_install()
old_size = mod.w_class
@@ -274,6 +275,7 @@
incompatible_modules = list(/obj/item/mod/module/stealth)
cooldown_time = 10 SECONDS
origin_tech = "combat=6;materials=6;powerstorage=5;bluespace=5;syndicate=2" //Printable at 3
materials = list(MAT_METAL = 12000, MAT_GLASS = 2000, MAT_SILVER = 4000, MAT_PLASMA = 4000, MAT_TITANIUM = 4000, MAT_BLUESPACE = 6000)
/// Whether or not the cloak turns off on bumping.
var/bumpoff = TRUE
/// The alpha applied when the cloak is on.
@@ -352,6 +354,7 @@
incompatible_modules = list(/obj/item/mod/module/status_readout)
tgui_id = "status_readout"
origin_tech = "combat=6;biotech=6;syndicate=1"
materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000)
/obj/item/mod/module/status_readout/add_ui_data()
. = ..()
@@ -50,6 +50,7 @@
active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5
incompatible_modules = list(/obj/item/mod/module/magboot)
cooldown_time = 0.5 SECONDS
materials = list(MAT_METAL = 4500, MAT_SILVER = 1500, MAT_GOLD = 2500)
/// Slowdown added onto the suit.
var/slowdown_active = 0.5
@@ -84,6 +85,7 @@
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 //Lowered from 0.3 due to no protection.
incompatible_modules = list(/obj/item/mod/module/rad_protection)
tgui_id = "rad_counter"
materials = list(MAT_URANIUM = 2500, MAT_GLASS = 5000)
/obj/item/mod/module/rad_protection/add_ui_data()
. = ..()
@@ -104,6 +106,7 @@
use_power_cost = DEFAULT_CHARGE_DRAIN
incompatible_modules = list(/obj/item/mod/module/tether)
cooldown_time = 4 SECONDS
materials = list(MAT_METAL = 4500, MAT_SILVER = 1500, MAT_GOLD = 2500)
/obj/item/mod/module/tether/on_use()
if(has_gravity(get_turf(src)))
@@ -8,6 +8,7 @@
icon_state = "storage"
complexity = 3
incompatible_modules = list(/obj/item/mod/module/storage, /obj/item/mod/module/plate_compression)
materials = list(MAT_METAL = 2500, MAT_GLASS = 10000)
/// Max weight class of items in the storage.
var/max_w_class = WEIGHT_CLASS_NORMAL
/// Max combined weight of all items in the storage.
@@ -62,6 +63,7 @@
icon_state = "storage_large"
max_combined_w_class = 21
max_items = 14
materials = list(MAT_METAL = 2500, MAT_URANIUM = 10000)
/obj/item/mod/module/storage/syndicate
name = "MOD syndicate storage module"
@@ -72,6 +74,7 @@
max_combined_w_class = 30
max_items = 21
origin_tech = "materials=6;bluespace=5;syndicate=2"
materials = list(MAT_METAL = 12000, MAT_GLASS = 2000, MAT_SILVER = 4000, MAT_PLASMA = 4000, MAT_TITANIUM = 4000, MAT_BLUESPACE = 6000)
/obj/item/mod/module/storage/belt
name = "MOD case storage module"
@@ -126,6 +129,7 @@
cooldown_time = 0.5 SECONDS
overlay_state_inactive = "module_jetpack"
overlay_state_active = "module_jetpack_on"
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
/// Do we stop the wearer from gliding in space.
var/stabilize = TRUE
var/thrust_callback
@@ -191,6 +195,7 @@
However, it will take from the suit's power to do so."
icon_state = "empshield"
origin_tech = "materials=6;bluespace=5;syndicate=2"
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
complexity = 1
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3
incompatible_modules = list(/obj/item/mod/module/emp_shield, /obj/item/mod/module/dna_lock)
@@ -215,6 +220,7 @@
cooldown_time = 0.5 SECONDS
overlay_state_active = "module_light_on"
light_color = COLOR_WHITE
materials = list(MAT_METAL = 2500, MAT_GLASS = 5000)
///The light power for the mod
var/mod_light_range = 4
///The light range for the mod
@@ -352,6 +358,7 @@
however, this incredibly sensitive module is shorted out by EMPs. Luckily, stable mutagen has been outlawed."
icon_state = "dnalock"
origin_tech = "materials=6;bluespace=5;syndicate=1"
materials = list(MAT_METAL = 12500, MAT_DIAMOND = 4000)
module_type = MODULE_USABLE
complexity = 2
use_power_cost = DEFAULT_CHARGE_DRAIN * 3
@@ -450,6 +457,7 @@
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3
incompatible_modules = list(/obj/item/mod/module/plasma_stabilizer)
overlay_state_inactive = "module_plasma"
materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000)
/obj/item/mod/module/plasma_stabilizer/on_equip()
ADD_TRAIT(mod.wearer, TRAIT_NOSELFIGNITION_HEAD_ONLY, MODSUIT_TRAIT)
@@ -42,6 +42,7 @@
overlay_state_active = "module_defibrillator_active"
incompatible_modules = list(/obj/item/mod/module/defibrillator)
cooldown_time = 0.5 SECONDS
materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000)
/obj/item/mod/module/defibrillator/Initialize(mapload)
. = ..()
@@ -122,6 +123,7 @@
incompatible_modules = list(/obj/item/mod/module/monitor)
cooldown_time = 0.5 SECONDS
allow_flags = MODULE_ALLOW_INACTIVE
materials = list(MAT_METAL = 1500, MAT_GLASS = 3000)
var/datum/ui_module/crew_monitor/mod/crew_monitor
@@ -113,6 +113,7 @@
complexity = 2
incompatible_modules = list(/obj/item/mod/module/active_sonar)
cooldown_time = 7.5 SECONDS //come on man this is discount thermals, it doesnt need a 15 second cooldown
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
/obj/item/mod/module/active_sonar/on_use()
. = ..()
@@ -295,6 +296,7 @@
complexity = 1
overlay_state_inactive = "module_smoke_grenade"
dispense_type = /obj/item/grenade/smokebomb
materials = list(MAT_METAL = 12500, MAT_SILVER = 12050, MAT_GOLD = 2000, MAT_PLASMA = 5000)
/obj/item/mod/module/dispenser/smoke/on_use()
var/obj/item/grenade/smokebomb/grenade = ..()
@@ -11,6 +11,7 @@
use_power_cost = DEFAULT_CHARGE_DRAIN
incompatible_modules = list(/obj/item/mod/module/bikehorn)
cooldown_time = 1 SECONDS
materials = list(MAT_METAL = 2500, MAT_BANANIUM = 2000)
/obj/item/mod/module/bikehorn/on_use()
. = ..()
@@ -31,6 +32,7 @@
complexity = 1
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2
incompatible_modules = list(/obj/item/mod/module/waddle)
materials = list(MAT_METAL = 2500, MAT_BANANIUM = 2000)
/obj/item/mod/module/waddle/on_suit_activation()
mod.boots.AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg' = 1, 'sound/effects/clownstep2.ogg' = 1), 50, falloff_exponent = 20) //die off quick please
@@ -121,6 +121,7 @@
incompatible_modules = list(/obj/item/mod/module/drill)
cooldown_time = 0.5 SECONDS
overlay_state_active = "module_drill"
materials = list(MAT_METAL = 12500, MAT_DIAMOND = 4000)
/obj/item/mod/module/drill/on_activation()
. = ..()
@@ -9,6 +9,7 @@
active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3
incompatible_modules = list(/obj/item/mod/module/visor)
cooldown_time = 0.5 SECONDS
materials = list(MAT_SILVER = 2500, MAT_GLASS = 5000)
/// The HUD type given by the visor.
var/hud_type
/// The trait given by the visor.