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
+1 -1
View File
@@ -5,7 +5,7 @@
name = "health sensor"
desc = "Used for scanning and monitoring health."
icon_state = "health"
materials = list(MAT_METAL=800, MAT_GLASS=200)
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
origin_tech = "magnets=1;biotech=1"
/// Are we scanning our user's health?
+1 -1
View File
@@ -2,7 +2,7 @@
name = "igniter"
desc = "A small electronic device able to ignite combustible substances."
icon_state = "igniter"
materials = list(MAT_METAL=500, MAT_GLASS=50)
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
origin_tech = "magnets=1"
var/datum/effect_system/spark_spread/sparks
+1 -1
View File
@@ -2,7 +2,7 @@
name = "infrared emitter"
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
icon_state = "infrared"
materials = list(MAT_METAL=1000, MAT_GLASS=500)
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
origin_tech = "magnets=2;materials=2"
bomb_name = "tripwire mine"
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "A handy little spring-loaded trap for catching pesty rodents."
icon_state = "mousetrap"
inhand_icon_state = "mousetrap"
materials = list(MAT_METAL=100)
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
origin_tech = "combat=1;materials=2;engineering=1"
var/armed = FALSE
+1 -1
View File
@@ -2,7 +2,7 @@
name = "timer"
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
icon_state = "timer"
materials = list(MAT_METAL=500, MAT_GLASS=50)
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
secured = FALSE
@@ -8,6 +8,7 @@
desc = "The incomplete body of a golem. Add ten sheets of any mineral to finish."
var/shell_type = /obj/effect/mob_spawn/human/alive/golem
w_class = WEIGHT_CLASS_BULKY
materials = list(MAT_METAL = 40000)
/obj/item/golem_shell/servant
name = "incomplete servant golem shell"
+1 -1
View File
@@ -175,7 +175,7 @@
inhand_icon_state = "glasses"
flags_cover = GLASSESCOVERSEYES
slot_flags = ITEM_SLOT_EYES
materials = list(MAT_GLASS = 250)
materials = list(MAT_METAL = 100, MAT_GLASS = 250)
strip_delay = 2 SECONDS
put_on_delay = 2.5 SECONDS
resistance_flags = NONE
+1
View File
@@ -6,6 +6,7 @@
strip_delay = 15
put_on_delay = 25
resistance_flags = FLAMMABLE
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
/obj/item/clothing/ears/earmuffs/Initialize(mapload)
. = ..()
@@ -13,6 +13,7 @@
inhand_icon_state = null
actions_types = list(/datum/action/item_action/toggle_mode)
origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_PLASMA = 100)
active_on_equip = FALSE
var/active_on_equip_rad = FALSE
@@ -119,6 +120,7 @@
desc = "Used by atmospherics techs to visualize pressure, see station structure, and see underfloor objects such as cables and pipes."
range = 2
origin_tech = "materials=3;magnets=2;engineering=2"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
modes = list(MODE_NONE = MODE_PRESSURE, MODE_PRESSURE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_NONE)
#undef MODE_NONE
+3
View File
@@ -109,6 +109,7 @@
origin_tech = "magnets=4;engineering=5;plasmatech=4"
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000)
/obj/item/clothing/glasses/meson/sunglasses
name = "meson HUD sunglasses"
@@ -147,6 +148,7 @@
desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents."
icon_state = "science"
origin_tech = "magnets=2;engineering=1"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
prescription_upgradable = TRUE
scan_reagents = TRUE // You can see reagents while wearing science goggles
resistance_flags = ACID_PROOF
@@ -180,6 +182,7 @@
see_in_dark = 8
prescription_upgradable = TRUE
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000)
/obj/item/clothing/glasses/night/syndicate_fake
name = "suspicious night vision goggles"
@@ -10,6 +10,7 @@
var/hud_access_override = FALSE
/// Used for debug huds at examine.dm, gives us all rights for records
var/hud_debug = FALSE
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
/obj/item/clothing/glasses/hud/Initialize(mapload)
. = ..()
+1 -1
View File
@@ -16,7 +16,7 @@
desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye."
icon_state = "welding"
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
materials = list(MAT_METAL=1750, MAT_GLASS=400)
materials = list(MAT_METAL = 1750, MAT_GLASS = 400)
flash_protect = FLASH_PROTECTION_WELDER
tint = FLASH_PROTECTION_WELDER
can_toggle = TRUE
+1
View File
@@ -9,6 +9,7 @@
permeability_coefficient = 0.50
actions_types = list(/datum/action/item_action/adjust)
resistance_flags = NONE
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/mask.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi',
+1 -1
View File
@@ -90,7 +90,7 @@
icon_state = "muzzle_secure"
mute = MUZZLE_MUTE_NONE
security_lock = TRUE
materials = list(MAT_METAL=500, MAT_GLASS=50)
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/mask.dmi',
+1
View File
@@ -37,6 +37,7 @@
name = "stethoscope"
desc = "An outdated medical apparatus, used to get a rough idea of the condition of the heart and lungs. It also makes you look like you know what you're doing."
icon_state = "stethoscope"
materials = list(MAT_METAL = 500)
/obj/item/clothing/neck/stethoscope/attack__legacy__attackchain(mob/living/carbon/human/M, mob/living/user)
if(!ishuman(M) || !isliving(user))
+2
View File
@@ -9,6 +9,7 @@
strip_delay = 7 SECONDS
put_on_delay = 7 SECONDS
resistance_flags = FIRE_PROOF
materials = list(MAT_METAL = 4500, MAT_SILVER = 1500, MAT_GOLD = 2500)
var/magboot_state = "magboots"
var/magpulse = FALSE
var/slowdown_active = 2
@@ -189,6 +190,7 @@
desc = "These experimental boots try to get around the restrictions of magboots by installing miniature gravitational generators in the soles. Sadly, power hungry, and needs a gravitational anomaly core."
icon_state = "gravboots0"
origin_tech = "materials=6;magnets=6;engineering=6"
materials = list(MAT_SILVER = 4000, MAT_TITANIUM = 6000, MAT_URANIUM = 4000, MAT_PLASMA = 4000)
actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/gravity_jump) //In other news, combining magboots with jumpboots is a mess
strip_delay = 10 SECONDS
put_on_delay = 10 SECONDS
+1 -1
View File
@@ -422,7 +422,7 @@
name = "prep bowl"
desc = "A bowl for mixing, or tossing a salad. Not to be eaten out of"
icon_state = "bowl"
materials = list(MAT_PLASTIC = 500)
materials = list(MAT_METAL = 400, MAT_GLASS = 100)
removal_penalty = 2
/obj/item/reagent_containers/cooking/icecream_bowl
+15
View File
@@ -8,6 +8,7 @@
desc = "A prototype modular receiver and trigger assembly for a firearm."
icon = 'icons/obj/improvised.dmi'
icon_state = "receiver"
materials = list(MAT_METAL = 15000)
/obj/item/weaponcrafting/stock
name = "rifle stock"
@@ -32,83 +33,97 @@
desc = "A suitcase containing the necessary gun parts to transform a standard energy gun into an advanced energy gun."
origin_tech = "combat=4;magnets=4;powerstorage=4"
outcome = /obj/item/gun/energy/gun/nuclear
materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 1000)
/obj/item/weaponcrafting/gunkit/tesla
name = "arc revolver parts kit"
desc = "A suitcase containing the necessary gun parts to construct a arc revolver around a laser rifle. Handle with care."
origin_tech = "combat=5;materials=5;powerstorage=5"
materials = list(MAT_METAL = 10000, MAT_GLASS = 10000, MAT_SILVER = 10000)
outcome = /obj/item/gun/energy/arc_revolver
/obj/item/weaponcrafting/gunkit/xray
name = "x-ray laser gun parts kit"
desc = "A suitcase containing the necessary gun parts to turn a laser gun into a x-ray laser gun. Do not point most parts directly towards face."
origin_tech = "combat=6;materials=4;magnets=4;syndicate=1"
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 5000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000)
outcome = /obj/item/gun/energy/xray
/obj/item/weaponcrafting/gunkit/ion
name = "ion carbine parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard energy gun into a ion carbine."
origin_tech = "combat=4;magnets=4"
materials = list(MAT_SILVER = 6000, MAT_METAL = 8000, MAT_URANIUM = 2000)
outcome = /obj/item/gun/energy/ionrifle/carbine
/obj/item/weaponcrafting/gunkit/temperature
name = "temperature gun parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard energy gun into a temperature gun. Fantastic at birthday parties and killing indigenious populations of Ash Walkers."
origin_tech = "combat=4;materials=4;powerstorage=3;magnets=2"
materials = list(MAT_METAL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000)
outcome = /obj/item/gun/energy/temperature
/obj/item/weaponcrafting/gunkit/decloner
name = "decloner parts kit"
desc = "An uttery baffling array of gun parts and technology that somehow turns an energy gun into a decloner. Haircut not included."
origin_tech = "combat=4;materials=4;biotech=5;plasmatech=6"
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 10000)
outcome = /obj/item/gun/energy/decloner
/obj/item/weaponcrafting/gunkit/ebow
name = "energy crossbow parts kit"
desc = "Highly illegal weapons refurbishment kit that allows you to turn a laser gun into a near-duplicate energy crossbow. Almost like the real thing!"
origin_tech = "combat=4;magnets=4;syndicate=2"
materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500)
outcome = /obj/item/gun/energy/kinetic_accelerator/crossbow/large
/obj/item/weaponcrafting/gunkit/immolator
name = "immolator laser gun parts kit"
desc = "Take a perfectly functioning laser gun. Butcher the inside of the gun so it runs hot and mean. You now have a immolator laser. You monster."
origin_tech = "combat=4;magnets=4;powerstorage=3"
materials = list(MAT_METAL = 4000, MAT_GLASS = 1000, MAT_SILVER = 3000, MAT_PLASMA = 2000)
outcome = /obj/item/gun/energy/immolator
/obj/item/weaponcrafting/gunkit/accelerator
name = "accelerator laser cannon parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard laser gun into an accelerator laser cannon."
origin_tech = "combat=4;magnets=4;powerstorage=3"
materials = list(MAT_METAL = 10000, MAT_GLASS = 3000, MAT_DIAMOND = 3000)
outcome = /obj/item/gun/energy/lasercannon
/obj/item/weaponcrafting/gunkit/lwap
name = "lwap laser sniper parts kit"
desc = "A suitcase containing the necessary gun parts to transform an laser gun into an advanced piercing laser sniper. Now with wall hacks!"
origin_tech = "combat=6;magnets=6;powerstorage=4"
materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_GOLD = 5000, MAT_DIAMOND = 8000)
outcome = /obj/item/gun/energy/lwap
/obj/item/weaponcrafting/gunkit/plasma
name = "plasma pistol parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard laser gun into a plasma pistol. Wort, wort, wort!"
origin_tech = "combat=4;magnets=4;powerstorage=3"
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_PLASMA = 3000)
outcome = /obj/item/gun/energy/plasma_pistol
/obj/item/weaponcrafting/gunkit/sparker
name = "\improper SPRK-12 pistol parts kit"
desc = "A suitcase containing the necessary gun parts to transform a mini energy gun into a SPRK-12 pistol. Double or nothing!"
origin_tech = "combat=4;magnets=4;powerstorage=3"
materials = list(MAT_METAL = 2500, MAT_GLASS = 1000, MAT_SILVER = 1500)
outcome = /obj/item/gun/energy/sparker
/obj/item/weaponcrafting/gunkit/u_ionsilencer
name = "u-ion silencer parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard disabler into a silenced and lethal disabling weapon. Look officer, he has no wounds from me!"
origin_tech = "combat=6;magnets=6;syndicate=2"
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 5000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000)
outcome = /obj/item/gun/energy/disabler/silencer
/obj/item/weaponcrafting/gunkit/chemical_flamethrower
name = "extended chemical flamethrower parts kit"
desc = "A suitcase containing the necessary gun parts to transform a standard chemical flamethrower into a version that can accept two cartridges instead of one."
origin_tech = "combat=5;engineering=6;plasmatech=4"
materials = list(MAT_TITANIUM = 7000, MAT_METAL = 13000, MAT_GOLD = 1000)
outcome = /obj/item/chemical_flamethrower/extended
/obj/item/weaponcrafting/gunkit/universal_gun_kit
+1
View File
@@ -2,6 +2,7 @@
name = "sample collection kit"
desc = "A sterile cotton swab and test tube for collecting samples."
icon_state = "swab"
materials = list(MAT_METAL = 500, MAT_GLASS = 250)
/// currently in machine
var/dispenser = FALSE
/// gunshot residue data
@@ -16,6 +16,7 @@
amount_per_transfer_from_this = 50
volume = 50
icon_state = "bluespaceshotglass"
materials = list(MAT_METAL = 1000, MAT_BLUESPACE = 500)
/obj/item/reagent_containers/drinks/drinkingglass/shotglass/bluespace/update_name()
. = ..()
@@ -270,7 +270,7 @@
name = "shaker"
desc = "A metal shaker to mix drinks in."
icon_state = "shaker"
materials = list(MAT_METAL=1500)
materials = list(MAT_METAL = 1500)
amount_per_transfer_from_this = 10
volume = 100
var/shaking = FALSE
+1 -1
View File
@@ -571,7 +571,7 @@
name = "plant data disk"
desc = "A disk for storing plant genetic data."
icon_state = "datadisk_hydro"
materials = list(MAT_METAL=30, MAT_GLASS=10)
materials = list(MAT_METAL = 200, MAT_GLASS = 100)
var/ui_name = "Empty Disk"
var/is_bulk_core = FALSE
var/read_only = 0 //Well, it's still a floppy disk
@@ -140,6 +140,7 @@
inhand_icon_state = "charge_mega"
smoke_amount = 5
boom_sizes = list(4, 6, 8)
materials = list(MAT_METAL = 4000, MAT_PLASMA = 6000, MAT_URANIUM = 1000)
/obj/item/storage/backpack/duffel/miningcharges/populate_contents()
for(var/i in 1 to 5)
@@ -93,6 +93,7 @@
hitsound = 'sound/weapons/drill.ogg'
usesound = 'sound/weapons/drill.ogg'
origin_tech = "materials=2;powerstorage=2;engineering=3"
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000)
/obj/item/pickaxe/drill/cyborg
name = "cyborg mining drill"
@@ -104,6 +105,7 @@
desc = "Yours is the drill that will pierce the heavens!"
icon_state = "diamonddrill"
origin_tech = "materials=6;powerstorage=4;engineering=4"
materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_DIAMOND = 2000)
toolspeed = 0.2
/// This is the BORG version!
@@ -117,6 +119,7 @@
desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls."
icon_state = "jackhammer"
origin_tech = "materials=6;powerstorage=4;engineering=5;magnets=4"
materials = list(MAT_METAL = 6000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_DIAMOND = 6000)
digsound = list('sound/weapons/sonic_jackhammer.ogg')
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
usesound = 'sound/weapons/sonic_jackhammer.ogg'
@@ -32,6 +32,7 @@
desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early. It also allows you to set 'Resonance matrixes', that detonate after someone (or something) walks over it."
icon_state = "resonator_u"
origin_tech = "materials=4;powerstorage=3;engineering=3;magnets=3"
materials = list(MAT_METAL = 4000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_URANIUM = 1000)
fieldlimit = 6
quick_burst_mod = 1
+1
View File
@@ -5,6 +5,7 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "mmi_empty"
origin_tech = "biotech=2;programming=3;engineering=2"
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
new_attack_chain = TRUE
//Revised. Brainmob is now contained directly within object of transfer. MMI in this case.
@@ -4,3 +4,4 @@
icon = 'icons/obj/module.dmi'
icon_state = "cyborg_upgrade1"
origin_tech = "programming=3;biotech=2;engineering=2"
materials = list(MAT_METAL = 200)
@@ -7,6 +7,7 @@
var/searching_icon = "boris_recharging"
var/occupied_icon = "boris"
origin_tech = "biotech=3;programming=3;plasmatech=2"
materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500)
req_access = list(ACCESS_ROBOTICS)
mecha = null//This does not appear to be used outside of reference in mecha.dm.
var/searching = FALSE
@@ -251,28 +251,34 @@
name = "binary communication device"
desc = "A module used for binary communications over encrypted frequencies, commonly used by synthetic robots."
icon_state = "binary_translator"
materials = list(MAT_METAL = 2500, MAT_GLASS = 1000)
/obj/item/robot_parts/robot_component/actuator
name = "actuator"
desc = "A modular, hydraulic actuator used by robots for movement and manipulation."
icon_state = "actuator"
materials = list(MAT_METAL = 3500)
/obj/item/robot_parts/robot_component/armour
name = "armour plating"
desc = "A pair of flexible, adaptable armor plates, used to protect the internals of robots."
icon_state = "armor_plating"
materials = list(MAT_METAL = 5000)
/obj/item/robot_parts/robot_component/camera
name = "camera"
desc = "A modified camera module used as a visual receptor for robots and exosuits, also serving as a relay for wireless video feed."
icon_state = "camera"
materials = list(MAT_METAL = 2500, MAT_GLASS = 1000)
/obj/item/robot_parts/robot_component/diagnosis_unit
name = "diagnosis unit"
desc = "An internal computer and sensors used by robots and exosuits to accurately diagnose any system discrepancies on their components."
icon_state = "diagnosis_unit"
materials = list(MAT_METAL = 3500)
/obj/item/robot_parts/robot_component/radio
name = "radio"
desc = "A modular, multi-frequency radio used by robots and exosuits to enable communication systems. Comes with built-in subspace receivers."
icon_state = "radio"
materials = list(MAT_METAL = 2500, MAT_GLASS = 1000)
+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.
+1
View File
@@ -5,6 +5,7 @@
desc = "The cornerstone of any customer service job. You feel an unending urge to ring it. It looks like it can be wrenched or screwdrivered."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "desk_bell"
materials = list(MAT_METAL = 4000)
/// The amount of times this bell has been rang, used to check the chance it breaks
var/times_rang = 0
/// Is this bell broken?
+1
View File
@@ -7,6 +7,7 @@
desc = "A combined label printer, applicator, and remover, all in a single portable device. Designed to be easy to operate and use."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "labeler0"
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
var/label = null
var/labels_left = 30
var/mode = LABEL_MODE_OFF
+1
View File
@@ -535,6 +535,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor
name = "digital camera"
desc = "A digital camera."
digital = TRUE
materials = list(MAT_METAL = 500, MAT_GLASS = 300)
var/list/datum/picture/saved_pictures = list()
var/max_storage = 10
+1
View File
@@ -1187,5 +1187,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/unbuilt, 24, 24)
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
origin_tech = "engineering=2;programming=1"
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
flags = CONDUCT
usesound = 'sound/items/deconstruct.ogg'
+1
View File
@@ -399,6 +399,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
name = "heavy duty cable coil"
singular_name = "heavy duty cable"
icon = 'icons/obj/cable_coils/heavy_duty.dmi'
materials = list(MAT_METAL = 30, MAT_GLASS = 30)
color = null
cable_type = /obj/structure/cable/extra_insulated
cable_merge_id = CABLE_MERGE_HIGH_POWER
+6 -5
View File
@@ -4,6 +4,7 @@
icon = 'icons/obj/power.dmi'
icon_state = "cell"
origin_tech = "powerstorage=1"
materials = list(MAT_METAL = 700, MAT_GLASS = 50)
force = 5
throwforce = 5
throw_range = 5
@@ -180,7 +181,7 @@
origin_tech = "powerstorage=2"
icon_state = "hcell"
maxcharge = 10000
materials = list(MAT_GLASS = 60)
materials = list(MAT_METAL = 700, MAT_GLASS = 60)
rating = 3
chargerate = 1500
@@ -201,7 +202,7 @@
origin_tech = "powerstorage=3;materials=3"
icon_state = "scell"
maxcharge = 20000
materials = list(MAT_GLASS = 300)
materials = list(MAT_METAL = 700, MAT_GLASS = 300)
rating = 4
chargerate = 2000
@@ -217,7 +218,7 @@
icon_state = "hpcell"
inhand_icon_state = "scell"
maxcharge = 30000
materials = list(MAT_GLASS = 400)
materials = list(MAT_METAL = 700, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 400)
rating = 5
chargerate = 3000
@@ -232,7 +233,7 @@
origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4"
icon_state = "bscell"
maxcharge = 40000
materials = list(MAT_GLASS = 600)
materials = list(MAT_METAL = 800, MAT_GOLD = 120, MAT_GLASS = 600, MAT_DIAMOND = 160, MAT_TITANIUM = 300, MAT_BLUESPACE = 100)
rating = 6
chargerate = 4000
@@ -254,7 +255,7 @@
icon_state = "icell"
origin_tech = "powerstorage=7"
maxcharge = 30000
materials = list(MAT_GLASS=1000)
materials = list(MAT_METAL = 12000, MAT_GLASS = 12000, MAT_GOLD = 6000, MAT_TITANIUM = 6000, MAT_URANIUM = 6000, MAT_DIAMOND = 6000, MAT_BLUESPACE = 6000) // If you actually get this and recycle it, it better be worth it.
rating = 6
chargerate = 30000
self_recharge = TRUE
@@ -209,6 +209,7 @@
/obj/item/grenade/nuclear_starter
name = "Neutronic Agitator"
desc = "A throwable device capable of inducing an artificial startup in rod chambers. Won't do anything for chambers not positioned correctly, or chambers without any rods inserted."
materials = list(MAT_METAL = 2000, MAT_PLASMA = 2000, MAT_GOLD = 2000)
/obj/item/grenade/nuclear_starter/deconstruct(disassembled)
qdel(src)
@@ -386,6 +387,7 @@
icon_state = "datadisk5"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
materials = list(MAT_METAL = 2000, MAT_GLASS = 2000, MAT_URANIUM = 500, MAT_GOLD = 400)
new_attack_chain = TRUE
// MARK: Chamber Doors
@@ -189,6 +189,7 @@
projectile_type = /obj/projectile/bullet/pellet
pellets = 6
variance = 25
materials = list(MAT_METAL = 4000)
/obj/item/ammo_casing/shotgun/rubbershot
name = "rubbershot shell"
@@ -197,14 +198,14 @@
projectile_type = /obj/projectile/bullet/pellet/rubber
pellets = 6
variance = 25
materials = list(MAT_METAL=4000)
materials = list(MAT_METAL = 4000)
/obj/item/ammo_casing/shotgun/beanbag
name = "beanbag slug"
desc = "A 12 gauge shell loaded with a beanbag slug for less-lethal takedowns."
icon_state = "beanbag"
projectile_type = /obj/projectile/bullet/weakbullet
materials = list(MAT_METAL=250)
materials = list(MAT_METAL = 250)
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
@@ -238,6 +239,7 @@
icon_state = "incendiary"
projectile_type = /obj/projectile/bullet/incendiary/shell
muzzle_flash_color = LIGHT_COLOR_FIRE
materials = list(MAT_METAL = 4000)
/obj/item/ammo_casing/shotgun/frag12
name = "\improper FRAG-12 slug"
@@ -272,6 +274,7 @@
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
muzzle_flash_color = LIGHT_COLOR_DARKRED
materials = list(MAT_METAL = 4000, MAT_GLASS = 4000)
/obj/item/ammo_casing/shotgun/lasershot
name = "lasershot"
@@ -289,6 +292,7 @@
desc = "An empty 12 gauge shell, ready to be loaded with all manner of projectiles."
icon_state = "techshell"
projectile_type = null
materials = list(MAT_METAL = 4000, MAT_GLASS = 200)
/obj/item/ammo_casing/shotgun/dart
name = "shotgun dart"
@@ -298,6 +302,7 @@
projectile_type = /obj/projectile/bullet/dart
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
materials = list(MAT_METAL = 4000)
/obj/item/ammo_casing/shotgun/dart/Initialize(mapload)
. = ..()
@@ -271,6 +271,7 @@
multiload = 0
slow_loading = TRUE
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL = 10000)
///A var to check if the mag is being loaded
var/being_loaded = FALSE
/// There are two reloading processes ongoing so cancel them
@@ -611,7 +612,7 @@
name = "DL-88 charge pack"
desc = "One-use charge pack for the DL-88 energy revolver."
icon_state = "handgun_ammo_battery"
materials = list(MAT_METAL = 20000)
materials = list(MAT_METAL = 20000, MAT_GLASS = 6000)
var/charge = 1000
// Overwrite description so shells aren't displayed
@@ -408,6 +408,7 @@
icon = 'icons/obj/objects.dmi'
icon_state = "modkit"
origin_tech = "programming=2;materials=2;magnets=4"
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000)
require_module = TRUE
module_type = /obj/item/robot_module/miner
usesound = 'sound/items/screwdriver.ogg'
@@ -555,6 +556,7 @@
//AoE blasts
/obj/item/borg/upgrade/modkit/aoe
modifier = 0
materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000)
var/turf_aoe = FALSE
var/stats_stolen = FALSE
@@ -130,6 +130,7 @@
fire_sound = 'sound/effects/stealthoff.ogg'
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut)
origin_tech = "materials=2;biotech=4"
materials = list(MAT_METAL = 2000, MAT_GLASS = 500)
modifystate = 1
ammo_x_offset = 1
selfcharge = TRUE
@@ -239,6 +240,7 @@
icon_state = "plasmacutter"
inhand_icon_state = "plasmacutter"
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1"
materials = list(MAT_METAL = 2000, MAT_GLASS = 500, MAT_PLASMA = 400)
needs_permit = FALSE
ammo_type = list(/obj/item/ammo_casing/energy/plasma)
fire_sound = 'sound/weapons/laser.ogg'
@@ -299,6 +301,7 @@
inhand_icon_state = "adv_plasmacutter"
modifystate = "adv_plasmacutter"
origin_tech = "combat=3;materials=4;magnets=3;plasmatech=4;engineering=2"
materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_PLASMA = 2000, MAT_GOLD = 500)
ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv)
force = 15
@@ -322,6 +325,7 @@
icon_state = "wormhole_projector1"
inhand_icon_state = null
origin_tech = "combat=4;bluespace=6;plasmatech=4;engineering=4"
materials = list(MAT_SILVER = 2000, MAT_METAL = 5000, MAT_DIAMOND = 2000, MAT_BLUESPACE = 3000)
charge_delay = 5
selfcharge = TRUE
ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange)
@@ -621,6 +625,7 @@
worn_icon_state = "bsg"
inhand_icon_state = "bsg"
origin_tech = "combat=6;materials=6;powerstorage=6;bluespace=6;magnets=6" //cutting edge technology, be my guest if you want to deconstruct one instead of use it.
materials = list(MAT_METAL = 12000, MAT_GLASS = 2000, MAT_SILVER = 4000, MAT_PLASMA = 4000, MAT_TITANIUM = 4000, MAT_BLUESPACE = 6000)
ammo_type = list(/obj/item/ammo_casing/energy/bsg)
weapon_weight = WEAPON_HEAVY
w_class = WEIGHT_CLASS_BULKY
@@ -10,6 +10,7 @@
container_type = REFILLABLE | AMOUNT_VISIBLE
temperature_min = 270
temperature_max = 350
materials = list(MAT_TITANIUM = 3000, MAT_GLASS = 1000)
var/delay = 10
var/ignore_flags = FALSE
var/applied_amount = 8 // How much it applies
@@ -11,6 +11,7 @@
amount_per_transfer_from_this = 1
possible_transfer_amounts = list(1, 2, 3, 4, 5)
volume = 5
materials = list(MAT_GLASS = 2000)
/// How long it takes to drip the contents into someone's eyes.
var/mob_drip_delay = 3 SECONDS
@@ -232,7 +232,7 @@
name = "large beaker"
desc = "A large glass beaker with twice the capacity of a normal beaker."
icon_state = "beakerlarge"
materials = list(MAT_GLASS=2500)
materials = list(MAT_GLASS = 2500)
volume = 100
possible_transfer_amounts = list(5,10,15,25,30,50,100)
@@ -241,7 +241,7 @@
desc = "A small glass vial, often used by virologists of the 25th century."
icon_state = "vial"
belt_icon = "vial"
materials = list(MAT_GLASS=250)
materials = list(MAT_GLASS = 250)
volume = 25
possible_transfer_amounts = list(5,10,15,25)
can_assembly = 0
@@ -260,7 +260,7 @@
name = "cryostasis beaker"
desc = "A cryostasis beaker that allows for chemical storage without reactions."
icon_state = "beakernoreact"
materials = list(MAT_METAL=3000)
materials = list(MAT_METAL = 3000)
origin_tech = "materials=2;engineering=3;plasmatech=3"
blocks_emissive = EMISSIVE_BLOCK_GENERIC
@@ -272,7 +272,7 @@
name = "bluespace beaker"
desc = "A bleeding-edge beaker that uses experimental bluespace technology to store massive quantities of liquid."
icon_state = "beakerbluespace"
materials = list(MAT_GLASS=3000)
materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 250, MAT_BLUESPACE = 250)
volume = 300
possible_transfer_amounts = list(5,10,15,25,30,50,100,300)
blocks_emissive = EMISSIVE_BLOCK_GENERIC
@@ -296,7 +296,7 @@
desc = "Useful for moving liquids, or having a helmet in the zombie apocalypse."
icon = 'icons/obj/janitor.dmi'
icon_state = "bucket"
materials = list(MAT_METAL=200)
materials = list(MAT_METAL = 400)
w_class = WEIGHT_CLASS_NORMAL
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(5,10,15,20,25,30,50,80,100,120)
@@ -12,6 +12,7 @@
resistance_flags = ACID_PROOF
container_type = OPENCONTAINER
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
/// If TRUE, the hypospray can inject any clothing without TRAIT_HYPOSPRAY_IMMUNE.
var/penetrate_thick = FALSE
/// If TRUE, the hypospray isn't blocked by suits with TRAIT_HYPOSPRAY_IMMUNE.
+2
View File
@@ -13,6 +13,7 @@
display_contents_with_number = TRUE
use_to_pickup = TRUE
origin_tech = "engineering=1"
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000)
/obj/item/storage/conveyor/bluespace
name = "bluespace conveyor belt placer"
@@ -22,6 +23,7 @@
storage_slots = 50
max_combined_w_class = 200 //50 belts
origin_tech = "engineering=2;bluespace=1"
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_SILVER = 500)
/obj/item/storage/conveyor/attackby__legacy__attackchain(obj/item/I, mob/user, params) //So we can link belts en masse
if(istype(I, /obj/item/conveyor_switch_construct))
+2
View File
@@ -424,6 +424,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches)
desc = "A conveyor belt assembly, used for the assembly of conveyor belt systems.<br>\
<span class='notice'><b>Use</b> the assembly on the ground to finalize it.<br>\
Use a <b>conveyor belt switch</b> on the assembly to link them.</span>"
materials = list(MAT_METAL = 5000)
w_class = WEIGHT_CLASS_BULKY
var/id
@@ -459,6 +460,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches)
<b>Use</b> the assembly on the ground to finalize it.<span>"
icon = 'icons/obj/recycling.dmi'
icon_state = "switch"
materials = list(MAT_METAL = 450, MAT_GLASS = 190)
w_class = WEIGHT_CLASS_BULKY
var/id
@@ -272,6 +272,7 @@
w_class = WEIGHT_CLASS_TINY
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 250, MAT_GLASS = 150)
///Value of the tag
var/currTag = 1
//The whole system for the sort_type var is determined based on the order of this list,
+1
View File
@@ -84,6 +84,7 @@
desc = "An experimental suit of armour, awaiting installation of an anomaly core."
icon_state = "reactiveoff"
icon = 'icons/obj/clothing/suits.dmi'
materials = list(MAT_PLASMA = 8000, MAT_TITANIUM = 14000, MAT_BLUESPACE = 6000)
/obj/item/reactive_armour_shell/attackby__legacy__attackchain(obj/item/I, mob/user, params)
var/static/list/anomaly_armour_types = list(
@@ -243,7 +243,7 @@
desc = "Metal + Glass"
id = "rglass"
build_type = AUTOLATHE | SMELTER
materials = list(MAT_METAL = 1000, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT / 2, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
build_path = /obj/item/stack/sheet/rglass
category = list("initial","Construction")
maxstack = 50
@@ -261,7 +261,7 @@
name = "Compressed Matter Cartridge"
id = "rcd_ammo"
build_type = AUTOLATHE
materials = list(MAT_METAL = 16000, MAT_GLASS=8000)
materials = list(MAT_METAL = 16000, MAT_GLASS = 8000)
build_path = /obj/item/rcd_ammo
category = list("initial","Construction")
@@ -405,7 +405,7 @@
name = "Cultivator"
id = "cultivator"
build_type = AUTOLATHE
materials = list(MAT_METAL=200)
materials = list(MAT_METAL = 200)
build_path = /obj/item/cultivator
category = list("initial","Miscellaneous")
@@ -211,6 +211,7 @@
build_type = PROTOLATHE
materials = list(MAT_TITANIUM = 250)
category = list("Equipment")
/datum/design/alienwrench
name = "Alien Wrench"
desc = "An advanced wrench obtained through Abductor technology."
File diff suppressed because it is too large Load Diff
@@ -2,6 +2,16 @@
////////////Medical Tools////////////////
/////////////////////////////////////////
/datum/design/reagent_scanner
name = "Reagent Scanner"
desc = "A device for identifying chemicals."
id = "reagent_scanner"
req_tech = list("magnets" = 2, "plasmatech" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
build_path = /obj/item/reagent_scanner
category = list("Medical")
/datum/design/adv_reagent_scanner
name = "Advanced Reagent Scanner"
desc = "A device for identifying chemicals and their proportions."
@@ -207,16 +217,6 @@
build_path = /obj/item/stack/synthetic_skin/level_3
category = list("Medical")
/datum/design/reagent_scanner
name = "Reagent Scanner"
desc = "A device for identifying chemicals."
id = "reagent_scanner"
req_tech = list("magnets" = 2, "plasmatech" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
build_path = /obj/item/reagent_scanner
category = list("Medical")
/datum/design/scalpel_laser1
name = "Basic Laser Scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved."
@@ -17,7 +17,7 @@
id = "diskplantgene"
req_tech = list("programming" = 4, "biotech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL=200, MAT_GLASS=100)
materials = list(MAT_METAL = 200, MAT_GLASS = 100)
build_path = /obj/item/disk/plantgene
category = list("Miscellaneous")
@@ -98,7 +98,7 @@
id = "safetymuzzle"
req_tech = list("materials" = 1)
build_type = PROTOLATHE
materials = list(MAT_METAL=500, MAT_GLASS=50)
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
build_path = /obj/item/clothing/mask/muzzle/safety
category = list("Miscellaneous")
@@ -108,7 +108,7 @@
id = "shockmuzzle"
req_tech = list("materials" = 1, "engineering" = 1)
build_type = PROTOLATHE
materials = list(MAT_METAL=500, MAT_GLASS=50)
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
build_path = /obj/item/clothing/mask/muzzle/safety/shock
category = list("Miscellaneous")
@@ -118,7 +118,7 @@
id = "datadisk"
req_tech = list("programming" = 3, "biotech" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL=300, MAT_GLASS=100)
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
build_path = /obj/item/disk/data
category = list("Miscellaneous")
@@ -128,7 +128,7 @@
id = "emergencyoxygen"
req_tech = list("toxins" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL=500, MAT_GLASS=100)
materials = list(MAT_METAL = 500, MAT_GLASS = 100)
build_path = /obj/item/tank/internals/emergency_oxygen/empty
category = list("Miscellaneous")
@@ -138,7 +138,7 @@
id = "extendedoxygen"
req_tech = list("toxins" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL=800, MAT_GLASS=100)
materials = list(MAT_METAL = 800, MAT_GLASS = 100)
build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty
category = list("Miscellaneous")
@@ -148,7 +148,7 @@
id = "doubleoxygen"
req_tech = list("toxins" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL=1500, MAT_GLASS=200)
materials = list(MAT_METAL = 1500, MAT_GLASS = 200)
build_path = /obj/item/tank/internals/emergency_oxygen/double/empty
category = list("Miscellaneous")
@@ -158,7 +158,7 @@
id = "oxygentank"
req_tech = list("toxins" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL=3000, MAT_GLASS=500)
materials = list(MAT_METAL = 3000, MAT_GLASS = 500)
build_path = /obj/item/tank/internals/oxygen/empty
category = list("Miscellaneous")
@@ -179,6 +179,6 @@
id = "autochef_remote"
req_tech = list("programming" = 3, "bluespace" = 3, "materials" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL=3000)
materials = list(MAT_METAL = 3000)
build_path = /obj/item/autochef_remote
category = list("Miscellaneous")
@@ -18,7 +18,7 @@
id = "decloner"
req_tech = list("combat" = 5, "materials" = 5, "biotech" = 6, "plasmatech" = 7)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000)
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 10000)
build_path = /obj/item/weaponcrafting/gunkit/decloner
category = list("Weapons")
-1
View File
@@ -430,7 +430,6 @@ datum/tech/robotics
name = "\improper Component Design Disk"
desc = "A disk for storing device design data for construction in lathes."
icon_state = "datadisk2"
materials = list(MAT_METAL=100, MAT_GLASS=100)
var/datum/design/blueprint
// I'm doing this so that disk paths with pre-loaded designs don't get weird names
// Otherwise, I'd use "initial()"
@@ -8,12 +8,14 @@
flags = CONDUCT
w_class = WEIGHT_CLASS_SMALL
tool_behaviour = TOOL_DISSECTOR
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500)
/obj/item/dissector/upgraded
name = "\improper Improved Dissection Manager"
desc = "An advanced handheld device that assists with the preparation and removal of non-standard alien organs. This one has had several improvements applied to it."
icon_state = "dissector_upgrade"
toolspeed = 0.6
materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1500, MAT_GOLD = 2000)
// allows for perfect pristine organ extraction. Only available from non-lavaland abductor tech
/obj/item/dissector/alien
@@ -22,6 +24,7 @@
icon_state = "dissector_alien"
origin_tech = "abductor=3"
toolspeed = 0.2
materials = list(MAT_METAL = 6000, MAT_GLASS = 4500, MAT_DIAMOND = 3000, MAT_TITANIUM = 4000, MAT_PLASMA = 4000)
/obj/item/dissector/Initialize(mapload)
. = ..()
+11 -2
View File
@@ -6,6 +6,7 @@
icon_state = "toolkit_generic"
w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/organ_action/toggle)
materials = list(MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
var/list/items_list = list()
// Used to store a list of all items inside, for multi-item implants.
@@ -282,6 +283,7 @@
desc = "An alien toolset, designed to be installed on subject's arm."
icon_state = "toolkit_engineering"
origin_tech = "materials=5;engineering=5;plasmatech=5;powerstorage=4;abductor=3"
materials = list(MAT_METAL = 20000, MAT_SILVER = 10000, MAT_PLASMA = 9000, MAT_TITANIUM = 8000, MAT_DIAMOND = 8000)
contents = newlist(/obj/item/screwdriver/abductor, /obj/item/wirecutters/abductor, /obj/item/crowbar/abductor, /obj/item/wrench/abductor, /obj/item/weldingtool/abductor, /obj/item/multitool/abductor)
actions_types = list(/datum/action/item_action/organ_action/toggle/abductor_belt)
augment_icon = "toolkit_engi"
@@ -299,6 +301,7 @@
desc = "A set of alien janitorial tools, designed to be installed on subject's arm."
icon_state = "toolkit_janitor"
origin_tech = "materials=5;engineering=5;biotech=5;powerstorage=4;abductor=2"
materials = list(MAT_METAL = 20000, MAT_SILVER = 10000, MAT_PLASMA = 9000, MAT_TITANIUM = 8000, MAT_DIAMOND = 8000)
contents = newlist(/obj/item/mop/advanced/abductor, /obj/item/soap/syndie/abductor, /obj/item/lightreplacer/bluespace/abductor, /obj/item/holosign_creator/janitor, /obj/item/melee/flyswatter/abductor, /obj/item/reagent_containers/spray/cleaner/safety/abductor)
actions_types = list(/datum/action/item_action/organ_action/toggle/abductor_belt)
augment_icon = "toolkit_jani"
@@ -312,6 +315,7 @@
desc = "An alien surgical toolset, designed to be installed on the subject's arm."
icon_state = "toolkit_surgical"
origin_tech = "materials=5;engineering=5;plasmatech=5;powerstorage=4;abductor=2"
materials = list(MAT_METAL = 20000, MAT_SILVER = 10000, MAT_PLASMA = 9000, MAT_TITANIUM = 8000, MAT_DIAMOND = 8000)
contents = newlist(/obj/item/retractor/alien, /obj/item/hemostat/alien, /obj/item/bonesetter/alien, /obj/item/scalpel/laser/alien, /obj/item/circular_saw/alien, /obj/item/bonegel/alien, /obj/item/fix_o_vein/alien, /obj/item/surgicaldrill/alien)
actions_types = list(/datum/action/item_action/organ_action/toggle/abductor_belt)
augment_icon = "toolkit_med"
@@ -462,6 +466,7 @@
desc = "An implant commonly installed inside IPCs in order to allow them to easily collect energy from their environment."
icon_state = "toolkit_ipc"
origin_tech = "materials=3;biotech=2;powerstorage=3"
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
contents = newlist(/obj/item/apc_powercord)
requires_robotic_bodypart = TRUE
@@ -685,6 +690,7 @@
icon_state = "razorwire"
actions_types = list(/datum/action/item_action/organ_action/toggle/razorwire)
origin_tech = "combat=5;biotech=5;syndicate=2"
materials = list(MAT_METAL = 5000, MAT_SILVER = 2000, MAT_DIAMOND = 2000, MAT_BLUESPACE = 2000)
stealth_level = 1 // Hidden from health analyzers
augment_icon = "razor" // Note: By default the autosurgeons apply the highest level of cover plating.
do_extra_render = TRUE
@@ -800,6 +806,7 @@
name = "vortex feedback arm implant"
desc = "An implant, that when deployed surrounds the users arm in armor and circuitry, allowing them to redirect nearby projectiles with feedback from the vortex anomaly core."
origin_tech = "combat=6;magnets=6;biotech=6;engineering=6"
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 10000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000)
icon = 'icons/obj/items.dmi'
icon_state = "v1_arm"
parent_organ = "l_arm" //Left arm by default
@@ -928,6 +935,7 @@
name = "vortex feedback arm implant frame"
desc = "An implant awaiting installation of a vortex anomaly core."
icon_state = "v1_arm"
materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 10000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000)
/obj/item/v1_arm_shell/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/assembly/signaler/anomaly/vortex))
@@ -941,12 +949,11 @@
name = "strong-arm empowered musculature implant"
desc = "When implanted, this cybernetic implant will enhance the muscles of the arm to deliver more power-per-action. Only has to be installed in one arm."
icon_state = "muscle_imp"
parent_organ = "l_arm" //Left arm by default
slot = "l_arm_device"
actions_types = list()
augment_icon = "strongarm"
materials = list(MAT_GOLD = 5000, MAT_METAL = 10000, MAT_TITANIUM = 3000, MAT_BLUESPACE = 2000)
var/datum/martial_art/muscle_implant/muscle_implant
/obj/item/organ/internal/cyberimp/arm/muscle/Initialize(mapload)
@@ -1041,6 +1048,7 @@
name = "'Naginata' mantis blade implants"
desc = "A powerful and concealable mantis blade with a monomolecular edge, produced by Cybersun Industries. Cuts through flesh and armor alike with ease."
origin_tech = "materials=5;combat=5;biotech=5;syndicate=4"
materials = list(MAT_METAL = 10000, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_TITANIUM = 3000, MAT_DIAMOND = 4000)
contents = newlist(/obj/item/melee/mantis_blade/syndicate)
icon_state = "syndie_mantis"
icon = 'icons/obj/weapons/melee.dmi'
@@ -1054,6 +1062,7 @@
name = "'Scylla' mantis blade implant"
desc = "A reverse-engineered mantis blade design produced by Nanotrasen. While still quite deadly, the loss of the monomolecular blade has drastically reduced its armor penetration capability."
origin_tech = "materials=5;combat=5;biotech=5;syndicate=4"
materials = list(MAT_METAL = 10000, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_TITANIUM = 3000, MAT_DIAMOND = 4000)
contents = newlist(/obj/item/melee/mantis_blade/nt)
icon_state = "mantis"
icon = 'icons/obj/weapons/melee.dmi'
@@ -17,6 +17,7 @@
name = "HUD implant"
desc = "These cybernetic eyes will display a HUD over everything you see. Maybe."
slot = "eye_hud"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
var/HUD_type = 0
/// A list of extension kinds added to the examine text. Things like medical or security records.
@@ -74,6 +75,7 @@
desc = "These cybernetic eye implants will display a filth HUD over everything you see."
icon_state = "eye_implant_janitor"
origin_tech = "materials=4;engineering=4;biotech=4"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750)
aug_message = "You scan for filth spots around you..."
HUD_type = DATA_HUD_JANITOR
@@ -82,5 +84,6 @@
desc = "These cybernetic eye implants will display a botanical HUD over everything you see."
icon_state = "eye_implant_hydro"
origin_tech = "materials=4;magnets=4;biotech=4"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 700, MAT_GOLD = 500)
aug_message = "You scan for non-plastic plants around you..."
HUD_type = DATA_HUD_HYDROPONIC
@@ -30,6 +30,7 @@
icon_state = "brain_implant"
implant_overlay = "brain_implant_overlay"
parent_organ = "head"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
/obj/item/organ/internal/cyberimp/brain/emp_act(severity)
if(!owner || emp_proof)
@@ -130,6 +131,7 @@
name = "Hardened Anti-drop implant"
desc = "A military-grade version of the standard implant, for NT's more elite forces."
origin_tech = "materials=6;programming=5;biotech=5"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
emp_proof = TRUE
/obj/item/organ/internal/cyberimp/brain/anti_stam
@@ -239,6 +241,7 @@
implant_color = "#DEDE00"
slot = "brain_clownvoice"
origin_tech = "materials=2;biotech=2"
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_BANANIUM = 200)
/obj/item/organ/internal/cyberimp/brain/clown_voice/insert(mob/living/carbon/M, special = FALSE)
..()
@@ -297,6 +300,7 @@
implant_color = "#fff782"
slot = "brain_wire_interface"
origin_tech = "materials=5;programming=4;biotech=4"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400)
/obj/item/organ/internal/cyberimp/brain/wire_interface/insert(mob/living/carbon/M, special = FALSE)
..()
@@ -335,6 +339,7 @@
emp_proof = TRUE
actions_types = list(/datum/action/item_action/organ_action/toggle/sensory_enhancer)
origin_tech = "combat=6;biotech=6;syndicate=4"
materials = list(MAT_METAL = 10000, MAT_SILVER = 2000, MAT_PLASMA = 10000, MAT_DIAMOND = 4000, MAT_BLUESPACE = 4000)
augment_icon = "sandy"
always_show_augment = TRUE // A bit too big and bright to hide with synthetic skin.
///The icon state used for the on mob sprite. Default is sandy. Drask and vox have their own unique sprites
@@ -591,6 +596,7 @@
slot = "breathing_tube"
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=2;biotech=3"
materials = list(MAT_METAL = 600, MAT_GLASS = 250)
augment_icon = "breathing_tube"
/obj/item/organ/internal/cyberimp/mouth/breathing_tube/render()
@@ -625,6 +631,7 @@
var/disabled_by_emp = FALSE
slot = "stomach"
origin_tech = "materials=2;powerstorage=2;biotech=2"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
augment_icon = "nutripump"
/obj/item/organ/internal/cyberimp/chest/nutriment/examine(mob/user)
@@ -682,6 +689,7 @@
hunger_threshold = NUTRITION_LEVEL_HUNGRY
poison_amount = 10
origin_tech = "materials=4;powerstorage=3;biotech=3"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750)
augment_icon = "nutripump_adv"
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
@@ -698,6 +706,7 @@
icon_state = "reviver_implant"
implant_overlay = null
origin_tech = "materials=5;programming=5;biotech=6"
materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500)
slot = "heartdrive"
augment_icon = "reviver"
/// How long the implant will go on cooldown for once the user has exited crit, in seconds.
@@ -898,6 +907,7 @@
implant_overlay = null
slot = "bluespace_anchor"
origin_tech = "bluespace=6;biotech=4"
materials = list(MAT_METAL = 10000, MAT_BLUESPACE = 2000)
/obj/item/organ/internal/cyberimp/chest/bluespace_anchor/insert(mob/living/carbon/M, special = FALSE)
..()
@@ -941,6 +951,7 @@
desc = "This implant reworks the IPC frame, in order to incorporate materials that return to their original shape after being damaged. Requires power to function."
implant_color = "#0ac0d8"
origin_tech = "materials=4;programming=4;biotech=4;magnets=4;engineering=4"
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
slot = "stomach" //Can't have a nutriment pump with it.
requires_machine_person = TRUE
@@ -968,6 +979,7 @@
desc = "This is a basetype. Notify a coder!"
implant_color = "#eeff00"
origin_tech = "materials=5;programming=4;biotech=4"
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
slot = "joints"
requires_machine_person = TRUE
@@ -1054,6 +1066,7 @@
desc = "This implant acts on mindflayer nanobots like smoke does to bees, rendering them significantly more docile."
implant_color = COLOR_BLACK
origin_tech = "materials=4;programming=4;biotech=5;combat=4;"
materials = list(MAT_METAL = 10000, MAT_SILVER = 8000, MAT_GOLD = 3000, MAT_PLASMA = 10000)
/obj/item/organ/internal/cyberimp/chest/ipc_joints/flayer_pacification/insert(mob/living/carbon/M, special)
..()
@@ -1069,6 +1082,7 @@
desc = "This implant emulates the functions of a gastrointestinal system, allowing IPCs to eat and experience taste."
implant_color = "#d8780a"
origin_tech = "materials=2;powerstorage=2;biotech=2"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
slot = "gastrointestinal"
requires_machine_person = TRUE
+1
View File
@@ -33,6 +33,7 @@
icon_state = "ears-c"
desc = "a basic cybernetic designed to mimic the operation of ears."
origin_tech = "biotech=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
status = ORGAN_ROBOT
/obj/item/organ/internal/ears/cybernetic/emp_act(severity)
+6
View File
@@ -115,6 +115,7 @@
icon_state = "eyes-c"
desc = "An electronic device designed to mimic the functions of a pair of human eyes. It has no benefits over organic eyes, but is easy to produce."
origin_tech = "biotech=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
status = ORGAN_ROBOT
can_be_colorblind = FALSE // I PRINTED 400 PAIRS OF NEW EYES TO CURE COLORBLIND KIDS! -Space Beast
var/flash_intensity = 1
@@ -135,6 +136,7 @@
eye_color = "#199900"
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
origin_tech = "materials=4;engineering=4;biotech=4;magnets=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500, MAT_GOLD = 300)
/obj/item/organ/internal/eyes/cybernetic/meson/insert(mob/living/carbon/human/M, special = FALSE)
ADD_TRAIT(M, TRAIT_MESON_VISION, "meson_vision[UID()]")
@@ -151,6 +153,7 @@
see_in_dark = 8
vision_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS
origin_tech = "materials=4;programming=4;biotech=7;magnets=4"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000)
/obj/item/organ/internal/eyes/cybernetic/xray/hardened
name = "hardened X-ray eyes"
@@ -169,6 +172,7 @@
flash_protect = FLASH_PROTECTION_SENSITIVE
see_in_dark = 8
origin_tech = "materials=5;programming=4;biotech=4;magnets=4;syndicate=1"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
/obj/item/organ/internal/eyes/cybernetic/thermals/hardened
name = "hardened thermal eyes"
@@ -183,6 +187,7 @@
eye_color = "#6f00ff"
flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE
origin_tech = "materials=5;programming=4;biotech=4;magnets=4"
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
var/scope_range = 0.8 //Only used in initialize. Greatly nerfed zoom range, since you are not taking the time zoom delay the lwap has.
var/active = FALSE
@@ -247,6 +252,7 @@
flash_protect = FLASH_PROTECTION_WELDER
eye_color = "#101010"
origin_tech = "materials=4;biotech=3;engineering=4;plasmatech=3"
materials = list(MAT_METAL = 600, MAT_GLASS = 400)
flash_intensity = 3
/obj/item/organ/internal/eyes/cybernetic/shield/hardened
+2
View File
@@ -192,6 +192,7 @@
dead_icon = "heart-c-off"
status = ORGAN_ROBOT
organ_datums = list(/datum/organ/heart, /datum/organ/battery)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
/obj/item/organ/internal/heart/cybernetic/upgraded
name = "upgraded cybernetic heart"
@@ -199,6 +200,7 @@
icon_state = "heart-c-u-on"
base_icon_state = "heart-c-u"
dead_icon = "heart-c-u-off"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
var/attempted_restart = FALSE
/obj/item/organ/internal/heart/cybernetic/upgraded/insert(mob/living/carbon/M, special = FALSE)
+1
View File
@@ -11,6 +11,7 @@
icon_state = "kidneys-c"
desc = "An electronic device designed to mimic the functions of human kidneys. It has no benefits over a pair of organic kidneys, but is easy to produce."
origin_tech = "biotech=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
status = ORGAN_ROBOT
/obj/item/organ/internal/kidneys/cybernetic/upgraded
+1
View File
@@ -55,4 +55,5 @@
icon_state = "liver-c"
desc = "An electronic device designed to mimic the functions of a human liver. It has no benefits over an organic liver, but is easy to produce."
origin_tech = "biotech=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
status = ORGAN_ROBOT
+2
View File
@@ -55,6 +55,7 @@
desc = "A cybernetic version of the lungs found in traditional humanoid entities. It functions the same as an organic lung and is merely meant as a replacement."
icon_state = "lungs-c"
origin_tech = "biotech=4"
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
status = ORGAN_ROBOT
var/species_state = "default"
var/list/possible = list("default" = /datum/organ/lungs, "vox" = /datum/organ/lungs/vox, "plasmamen" = /datum/organ/lungs/plasmamen)
@@ -87,6 +88,7 @@
desc = "A more advanced version of the stock cybernetic lungs. They are capable of filtering out lower levels of toxins and carbon dioxide."
icon_state = "lungs-c-u"
origin_tech = "biotech=5"
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
organ_datums = list(/datum/organ/lungs/advanced_cyber)
/obj/item/organ/internal/lungs/cybernetic/upgraded/configure_species(new_species_state)
@@ -6,6 +6,7 @@
encased = null
status = ORGAN_ROBOT
emp_resistant = TRUE
materials = list(MAT_METAL = 15000, MAT_GLASS = 5000)
/obj/item/organ/external/head/ipc/Initialize(mapload, mob/living/carbon/holder, datum/species/species_override = null)
. = ..()
@@ -110,6 +111,7 @@
slot = "heart"
vital = TRUE
status = ORGAN_ROBOT
materials = list(MAT_METAL = 2000, MAT_GLASS = 750)
requires_robotic_bodypart = TRUE
organ_datums = list(/datum/organ/battery)
@@ -118,6 +120,7 @@
icon = 'icons/obj/robot_component.dmi'
icon_state = "camera"
status = ORGAN_ROBOT
materials = list(MAT_METAL = 1000, MAT_GLASS = 2500)
weld_proof = TRUE
requires_robotic_bodypart = TRUE
@@ -151,6 +154,7 @@
name = "microphone"
icon_state = "voicebox"
status = ORGAN_ROBOT
materials = list(MAT_METAL = 1000, MAT_GLASS = 2500)
dead_icon = "taperecorder_empty"
requires_robotic_bodypart = TRUE
+13 -7
View File
@@ -5,7 +5,7 @@
icon_state = "retractor"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
materials = list(MAT_METAL=6000, MAT_GLASS=3000)
materials = list(MAT_METAL = 6000, MAT_GLASS = 3000)
flags = CONDUCT
w_class = WEIGHT_CLASS_SMALL
origin_tech = "materials=1;biotech=1"
@@ -30,7 +30,7 @@
icon_state = "hemostat"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
materials = list(MAT_METAL=5000, MAT_GLASS=2500)
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
flags = CONDUCT
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1;biotech=1"
@@ -55,7 +55,7 @@
icon_state = "cautery"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
materials = list(MAT_METAL=2500, MAT_GLASS=750)
materials = list(MAT_METAL = 2500, MAT_GLASS = 750)
flags = CONDUCT
w_class = WEIGHT_CLASS_TINY
damtype = BURN
@@ -106,7 +106,7 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
hitsound = 'sound/weapons/drill.ogg'
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
flags = CONDUCT
force = 15.0
sharp = TRUE
@@ -147,7 +147,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
materials = list(MAT_METAL=4000, MAT_GLASS=1000)
materials = list(MAT_METAL = 4000, MAT_GLASS = 1000)
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -181,7 +181,7 @@
icon_state = "scalpel_laser1_on"
damtype = "fire"
hitsound = 'sound/weapons/sear.ogg'
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500)
/obj/item/scalpel/laser/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(cigarette_lighter_act(user, target))
@@ -216,11 +216,13 @@
desc = "An improved laser emitter for rapidly creating and cauterizing precise surgical incisions."
icon_state = "scalpel_laser2_on"
toolspeed = 0.6
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000)
/obj/item/scalpel/laser/laser3
desc = "An advanced laser emitter for creating and cauterizing precise surgical incisions with extreme speed."
icon_state = "scalpel_laser3_on"
toolspeed = 0.4
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
/// super tool! Retractor/hemostat
/obj/item/scalpel/laser/manager
@@ -228,6 +230,7 @@
desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps."
icon_state = "scalpel_manager_on"
toolspeed = 0.2
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_DIAMOND = 1000)
/obj/item/scalpel/laser/manager/Initialize(mapload)
. = ..()
@@ -249,7 +252,7 @@
throwforce = 9.0
throw_speed = 3
throw_range = 5
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
origin_tech = "biotech=1;combat=1"
attack_verb = list("attacked", "slashed", "sawed", "cut")
tool_behaviour = TOOL_SAW
@@ -278,6 +281,7 @@
w_class = WEIGHT_CLASS_SMALL
throwforce = 1.0
origin_tech = "materials=1;biotech=1"
materials = list(MAT_METAL = 1000, MAT_GLASS = 6000)
tool_behaviour = TOOL_BONEGEL
new_attack_chain = TRUE
@@ -299,6 +303,7 @@
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
throwforce = 1.0
origin_tech = "materials=1;biotech=1"
materials = list(MAT_METAL = 5000, MAT_GLASS = 3000)
w_class = WEIGHT_CLASS_SMALL
tool_behaviour = TOOL_FIXOVEIN
new_attack_chain = TRUE
@@ -326,6 +331,7 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "hit", "bludgeoned")
origin_tech = "materials=1;biotech=1"
materials = list(MAT_METAL = 4000)
tool_behaviour = TOOL_BONESET
new_attack_chain = TRUE
+1
View File
@@ -15,6 +15,7 @@ GLOBAL_LIST_EMPTY(GPS_list)
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
origin_tech = "materials=2;magnets=1;bluespace=2"
materials = list(MAT_METAL = 500, MAT_GLASS = 1000)
/// Whether the GPS is on.
var/tracking = FALSE
/// The tag that is visible to other GPSes.
+1
View File
@@ -16,6 +16,7 @@
throw_range = 5
usesound = 'sound/weapons/flash.ogg'
origin_tech = "bluespace=3"
materials = list(MAT_METAL = 5000, MAT_GLASS = 3750)
/// Power cell (10000W)
var/obj/item/stock_parts/cell/high/rcell = null
/// Selected telepad
+1
View File
@@ -98,6 +98,7 @@
icon_state = "beacon"
inhand_icon_state = "signaler"
origin_tech = "bluespace=3"
materials = list(MAT_METAL = 2000, MAT_GLASS = 1750, MAT_SILVER = 500)
/obj/item/telepad_beacon/attack_self__legacy__attackchain(mob/user as mob)
if(user)