Merge branch 'master' into upstream-merge-37529
This commit is contained in:
@@ -51,8 +51,9 @@ other types of metals and chemistry for reagents).
|
||||
return ..()
|
||||
|
||||
/datum/design/proc/icon_html(client/user)
|
||||
send_asset(user, "design_[id].png", FALSE)
|
||||
return "<img class='icon' src=\"design_[id].png\">"
|
||||
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs)
|
||||
sheet.send(user)
|
||||
return sheet.icon_tag(id)
|
||||
|
||||
////////////////////////////////////////
|
||||
//Disks for transporting design datums//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
id = "flashlight"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
|
||||
build_path = /obj/item/device/flashlight
|
||||
build_path = /obj/item/flashlight
|
||||
category = list("initial","Tools")
|
||||
|
||||
/datum/design/extinguisher
|
||||
@@ -39,7 +39,7 @@
|
||||
id = "multitool"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
|
||||
build_path = /obj/item/device/multitool
|
||||
build_path = /obj/item/multitool
|
||||
category = list("initial","Tools")
|
||||
|
||||
/datum/design/analyzer
|
||||
@@ -47,7 +47,7 @@
|
||||
id = "analyzer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
|
||||
build_path = /obj/item/device/analyzer
|
||||
build_path = /obj/item/analyzer
|
||||
category = list("initial","Tools")
|
||||
|
||||
/datum/design/tscanner
|
||||
@@ -55,7 +55,7 @@
|
||||
id = "tscanner"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 150)
|
||||
build_path = /obj/item/device/t_scanner
|
||||
build_path = /obj/item/t_scanner
|
||||
category = list("initial","Tools")
|
||||
|
||||
/datum/design/weldingtool
|
||||
@@ -126,49 +126,54 @@
|
||||
/datum/design/apc_board
|
||||
name = "APC Module"
|
||||
id = "power control"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
build_path = /obj/item/electronics/apc
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/airlock_board
|
||||
name = "Airlock Electronics"
|
||||
id = "airlock_board"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
build_path = /obj/item/electronics/airlock
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/firelock_board
|
||||
name = "Firelock Circuitry"
|
||||
id = "firelock_board"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
build_path = /obj/item/electronics/firelock
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/airalarm_electronics
|
||||
name = "Air Alarm Electronics"
|
||||
id = "airalarm_electronics"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
build_path = /obj/item/electronics/airalarm
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/firealarm_electronics
|
||||
name = "Fire Alarm Electronics"
|
||||
id = "firealarm_electronics"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
|
||||
build_path = /obj/item/electronics/firealarm
|
||||
category = list("initial", "Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/camera
|
||||
name = "Camera"
|
||||
id = "camera"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 100)
|
||||
build_path = /obj/item/device/camera
|
||||
build_path = /obj/item/camera
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/camera_film
|
||||
@@ -176,7 +181,7 @@
|
||||
id = "camera_film"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10, MAT_GLASS = 10)
|
||||
build_path = /obj/item/device/camera_film
|
||||
build_path = /obj/item/camera_film
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/earmuffs
|
||||
@@ -192,7 +197,7 @@
|
||||
id = "pipe_painter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 2000)
|
||||
build_path = /obj/item/device/pipe_painter
|
||||
build_path = /obj/item/pipe_painter
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/airlock_painter
|
||||
@@ -316,7 +321,7 @@
|
||||
id = "plant_analyzer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
|
||||
build_path = /obj/item/device/plant_analyzer
|
||||
build_path = /obj/item/plant_analyzer
|
||||
category = list("initial","Misc")
|
||||
|
||||
/datum/design/shovel
|
||||
@@ -420,7 +425,7 @@
|
||||
id = "healthanalyzer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
build_path = /obj/item/device/healthanalyzer
|
||||
build_path = /obj/item/healthanalyzer
|
||||
category = list("initial", "Medical")
|
||||
|
||||
/datum/design/pillbottle
|
||||
@@ -451,7 +456,7 @@
|
||||
name = "Speed Loader (.38)"
|
||||
id = "c38"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 30000)
|
||||
materials = list(MAT_METAL = 20000)
|
||||
build_path = /obj/item/ammo_box/c38
|
||||
category = list("initial", "Security")
|
||||
|
||||
@@ -460,7 +465,7 @@
|
||||
id = "recorder"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 60, MAT_GLASS = 30)
|
||||
build_path = /obj/item/device/taperecorder/empty
|
||||
build_path = /obj/item/taperecorder/empty
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/tape
|
||||
@@ -468,7 +473,7 @@
|
||||
id = "tape"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 20, MAT_GLASS = 5)
|
||||
build_path = /obj/item/device/tape/random
|
||||
build_path = /obj/item/tape/random
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/igniter
|
||||
@@ -476,7 +481,7 @@
|
||||
id = "igniter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
build_path = /obj/item/device/assembly/igniter
|
||||
build_path = /obj/item/assembly/igniter
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/signaler
|
||||
@@ -484,7 +489,7 @@
|
||||
id = "signaler"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 400, MAT_GLASS = 120)
|
||||
build_path = /obj/item/device/assembly/signaler
|
||||
build_path = /obj/item/assembly/signaler
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
/datum/design/radio_headset
|
||||
@@ -492,7 +497,7 @@
|
||||
id = "radio_headset"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75)
|
||||
build_path = /obj/item/device/radio/headset
|
||||
build_path = /obj/item/radio/headset
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
/datum/design/bounced_radio
|
||||
@@ -500,7 +505,7 @@
|
||||
id = "bounced_radio"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 75, MAT_GLASS = 25)
|
||||
build_path = /obj/item/device/radio/off
|
||||
build_path = /obj/item/radio/off
|
||||
category = list("initial", "T-Comm")
|
||||
|
||||
/datum/design/intercom_frame
|
||||
@@ -516,7 +521,7 @@
|
||||
id = "infrared_emitter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
|
||||
build_path = /obj/item/device/assembly/infra
|
||||
build_path = /obj/item/assembly/infra
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/health_sensor
|
||||
@@ -524,7 +529,7 @@
|
||||
id = "health_sensor"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
|
||||
build_path = /obj/item/device/assembly/health
|
||||
build_path = /obj/item/assembly/health
|
||||
category = list("initial", "Medical")
|
||||
|
||||
/datum/design/timer
|
||||
@@ -532,7 +537,7 @@
|
||||
id = "timer"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
build_path = /obj/item/device/assembly/timer
|
||||
build_path = /obj/item/assembly/timer
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/voice_analyser
|
||||
@@ -540,7 +545,7 @@
|
||||
id = "voice_analyser"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
build_path = /obj/item/device/assembly/voice
|
||||
build_path = /obj/item/assembly/voice
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/light_tube
|
||||
@@ -588,7 +593,7 @@
|
||||
id = "prox_sensor"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
|
||||
build_path = /obj/item/device/assembly/prox_sensor
|
||||
build_path = /obj/item/assembly/prox_sensor
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/foam_dart
|
||||
@@ -629,7 +634,7 @@
|
||||
id = "electropack"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 2500)
|
||||
build_path = /obj/item/device/electropack
|
||||
build_path = /obj/item/electropack
|
||||
category = list("hacked", "Tools")
|
||||
|
||||
/datum/design/large_welding_tool
|
||||
@@ -757,7 +762,7 @@
|
||||
id = "desttagger"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 250, MAT_GLASS = 125)
|
||||
build_path = /obj/item/device/destTagger
|
||||
build_path = /obj/item/destTagger
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
/datum/design/handlabeler
|
||||
@@ -773,7 +778,7 @@
|
||||
id = "geigercounter"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
|
||||
build_path = /obj/item/device/geiger_counter
|
||||
build_path = /obj/item/geiger_counter
|
||||
category = list("initial", "Tools")
|
||||
|
||||
/datum/design/turret_control_frame
|
||||
@@ -805,7 +810,7 @@
|
||||
id = "laptop"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 1000)
|
||||
build_path = /obj/item/device/modular_computer/laptop/buildable
|
||||
build_path = /obj/item/modular_computer/laptop/buildable
|
||||
category = list("initial","Misc")
|
||||
|
||||
/datum/design/tablet
|
||||
@@ -813,7 +818,7 @@
|
||||
id = "tablet"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
|
||||
build_path = /obj/item/device/modular_computer/tablet
|
||||
build_path = /obj/item/modular_computer/tablet
|
||||
category = list("initial","Misc")
|
||||
|
||||
/datum/design/slime_scanner
|
||||
@@ -821,7 +826,7 @@
|
||||
id = "slime_scanner"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 300, MAT_GLASS = 200)
|
||||
build_path = /obj/item/device/slime_scanner
|
||||
build_path = /obj/item/slime_scanner
|
||||
category = list("initial", "Misc")
|
||||
|
||||
/datum/design/pet_carrier
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
id = "beacon"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 150, MAT_GLASS = 100)
|
||||
build_path = /obj/item/device/beacon
|
||||
build_path = /obj/item/beacon
|
||||
category = list("Bluespace Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
id = "telesci_gps"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 1000)
|
||||
build_path = /obj/item/device/gps
|
||||
build_path = /obj/item/gps
|
||||
category = list("Bluespace Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO
|
||||
|
||||
|
||||
@@ -222,14 +222,6 @@
|
||||
category = list("Computer Boards")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_CARGO
|
||||
|
||||
/datum/design/board/stockexchange
|
||||
name = "Computer Design (Stock Exchange Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Stock Exchange Console."
|
||||
id = "stockexchange"
|
||||
build_path = /obj/item/circuitboard/computer/stockexchange
|
||||
category = list("Computer Boards")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_CARGO
|
||||
|
||||
/datum/design/board/mining
|
||||
name = "Computer Design (Outpost Status Display)"
|
||||
desc = "Allows for the construction of circuit boards used to build an outpost status display console."
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
id = "intellicard"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 1000, MAT_GOLD = 200)
|
||||
build_path = /obj/item/device/aicard
|
||||
build_path = /obj/item/aicard
|
||||
category = list("Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
id = "paicard"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 500, MAT_METAL = 500)
|
||||
build_path = /obj/item/device/paicard
|
||||
build_path = /obj/item/paicard
|
||||
category = list("Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
id = "icprinter"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 5000, MAT_METAL = 10000)
|
||||
build_path = /obj/item/device/integrated_circuit_printer
|
||||
build_path = /obj/item/integrated_circuit_printer
|
||||
category = list("Electronics")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
desc = "An advanced back-worn system that has dual ion engines powerful enough to grant a humanoid flight. Contains an internal self-recharging high-current capacitor for short, powerful boosts."
|
||||
id = "flightpack"
|
||||
build_type = PROTOLATHE
|
||||
build_path = /obj/item/device/flightpack
|
||||
build_path = /obj/item/flightpack
|
||||
materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_DIAMOND = 4000, MAT_GOLD = 12000, MAT_SILVER = 12000, MAT_URANIUM = 20000, MAT_PLASMA = 16000, MAT_TITANIUM = 16000) //This expensive enough for you?
|
||||
construction_time = 250
|
||||
category = list("Misc")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
build_type = LIMBGROWER
|
||||
reagents_list = list("synthflesh" = 25)
|
||||
build_path = /obj/item/bodypart/l_arm
|
||||
category = list("initial","human","lizard","plasmaman")
|
||||
category = list("initial","human","lizard","fly","moth","plasmaman")
|
||||
|
||||
/datum/design/rightarm
|
||||
name = "Right Arm"
|
||||
@@ -16,7 +16,7 @@
|
||||
build_type = LIMBGROWER
|
||||
reagents_list = list("synthflesh" = 25)
|
||||
build_path = /obj/item/bodypart/r_arm
|
||||
category = list("initial","human","lizard","plasmaman")
|
||||
category = list("initial","human","lizard","fly","moth","plasmaman")
|
||||
|
||||
/datum/design/leftleg
|
||||
name = "Left Leg"
|
||||
@@ -24,7 +24,7 @@
|
||||
build_type = LIMBGROWER
|
||||
reagents_list = list("synthflesh" = 25)
|
||||
build_path = /obj/item/bodypart/l_leg
|
||||
category = list("initial","human","lizard","plasmaman")
|
||||
category = list("initial","human","lizard","fly","moth","plasmaman")
|
||||
|
||||
/datum/design/rightleg
|
||||
name = "Right Leg"
|
||||
@@ -32,7 +32,7 @@
|
||||
build_type = LIMBGROWER
|
||||
reagents_list = list("synthflesh" = 25)
|
||||
build_path = /obj/item/bodypart/r_leg
|
||||
category = list("initial","human","lizard","plasmaman")
|
||||
category = list("initial","human","lizard","fly","moth","plasmaman")
|
||||
|
||||
/datum/design/armblade
|
||||
name = "Arm Blade"
|
||||
|
||||
@@ -323,12 +323,12 @@
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/board/processor
|
||||
name = "Machine Design (Food Processor Board)"
|
||||
desc = "The circuit board for a food processor."
|
||||
name = "Machine Design (Food/Slime Processor Board)"
|
||||
desc = "The circuit board for a processing unit. Screwdrive the circuit to switch between food (default) or slime processing."
|
||||
id = "processor"
|
||||
build_path = /obj/item/circuitboard/machine/processor
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/board/soda_dispenser
|
||||
name = "Machine Design (Portable Soda Dispenser Board)"
|
||||
@@ -346,14 +346,6 @@
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
/datum/design/board/slimeprocessor
|
||||
name = "Machine Design (Slime Processor Board)"
|
||||
desc = "The circuit board for a slime processor."
|
||||
id = "slimeprocessor"
|
||||
build_path = /obj/item/circuitboard/machine/processor/slime
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/board/recycler
|
||||
name = "Machine Design (Recycler Board)"
|
||||
desc = "The circuit board for a recycler."
|
||||
@@ -490,3 +482,19 @@
|
||||
build_path = /obj/item/circuitboard/machine/dish_drive
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/board/stacking_unit_console
|
||||
name = "Machine Design (Stacking Machine Console)"
|
||||
desc = "The circuit board for a Stacking Machine Console."
|
||||
id = "stack_console"
|
||||
build_path = /obj/item/circuitboard/machine/stacking_unit_console
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/board/stacking_machine
|
||||
name = "Machine Design (Stacking Machine)"
|
||||
desc = "The circuit board for a Stacking Machine."
|
||||
id = "stack_machine"
|
||||
build_path = /obj/item/circuitboard/machine/stacking_machine
|
||||
category = list ("Misc. Machinery")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -769,5 +769,5 @@
|
||||
build_type = MECHFAB
|
||||
materials = list(MAT_METAL = 750, MAT_GLASS = 750)
|
||||
construction_time = 100
|
||||
build_path = /obj/item/device/assembly/flash/handheld
|
||||
build_path = /obj/item/assembly/flash/handheld
|
||||
category = list("Misc")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
|
||||
construction_time = 75
|
||||
build_path = /obj/item/device/mmi
|
||||
build_path = /obj/item/mmi
|
||||
category = list("Misc","Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG.
|
||||
construction_time = 75
|
||||
build_path = /obj/item/device/mmi/posibrain
|
||||
build_path = /obj/item/mmi/posibrain
|
||||
category = list("Misc", "Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
id = "plasmarefiller" //Why did this have no plasmatech
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000)
|
||||
build_path = /obj/item/device/extinguisher_refill
|
||||
build_path = /obj/item/extinguisher_refill
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ALL
|
||||
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
name = "Alien Multitool"
|
||||
desc = "An advanced multitool obtained through Abductor technology."
|
||||
id = "alien_multitool"
|
||||
build_path = /obj/item/device/multitool/abductor
|
||||
build_path = /obj/item/multitool/abductor
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
|
||||
category = list("Equipment")
|
||||
@@ -310,6 +310,36 @@
|
||||
build_path = /obj/item/holosign_creator
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/holosignsec
|
||||
name = "Security Holobarrier Projector"
|
||||
desc = "A holographic projector that creates holographic security barriers."
|
||||
id = "holosignsec"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000)
|
||||
build_path = /obj/item/holosign_creator/security
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
/datum/design/holosignengi
|
||||
name = "Engineering Holobarrier Projector"
|
||||
desc = "A holographic projector that creates holographic engineering barriers."
|
||||
id = "holosignengi"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000)
|
||||
build_path = /obj/item/holosign_creator/engineering
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holosignatmos
|
||||
name = "ATMOS Holofan Projector"
|
||||
desc = "A holographic projector that creates holographic barriers that prevent changes in atmospheric conditions."
|
||||
id = "holosignatmos"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000)
|
||||
build_path = /obj/item/holosign_creator/atmos
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/////////////////////////////////////////
|
||||
////////////Tools//////////////
|
||||
@@ -324,3 +354,17 @@
|
||||
build_path = /obj/item/weldingtool/experimental
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/////////////////////////////////////////
|
||||
////////////Armour//////////////
|
||||
/////////////////////////////////////////
|
||||
|
||||
/datum/design/reactive_armour
|
||||
name = "Reactive Armour Shell"
|
||||
desc = "An experimental suit of armour capable of utilizing an implanted anomaly core to protect the user."
|
||||
id = "reactive_armour"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_DIAMOND = 5000, MAT_URANIUM = 8000, MAT_SILVER = 4500, MAT_GOLD = 5000)
|
||||
build_path = /obj/item/reactive_armour_shell
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
@@ -63,7 +63,7 @@
|
||||
id = "light_replacer"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000)
|
||||
build_path = /obj/item/device/lightreplacer
|
||||
build_path = /obj/item/lightreplacer
|
||||
category = list("Power Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
|
||||
@@ -21,15 +21,23 @@
|
||||
name = "Plasma + Glass alloy"
|
||||
id = "plasmaglass"
|
||||
build_type = SMELTER
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/plasmaglass
|
||||
category = list("initial")
|
||||
|
||||
/datum/design/plasmarglass_alloy
|
||||
name = "Plasma + Metal + Glass alloy"
|
||||
id = "plasmareinforcedglass"
|
||||
build_type = SMELTER
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/plasmarglass
|
||||
category = list("initial")
|
||||
|
||||
/datum/design/titaniumglass_alloy
|
||||
name = "Titanium + Glass alloy"
|
||||
id = "titaniumglass"
|
||||
build_type = SMELTER
|
||||
materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/titaniumglass
|
||||
category = list("initial")
|
||||
|
||||
@@ -37,7 +45,7 @@
|
||||
name = "Plasma + Titanium + Glass alloy"
|
||||
id = "plastitaniumglass"
|
||||
build_type = SMELTER
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
|
||||
build_path = /obj/item/stack/sheet/plastitaniumglass
|
||||
category = list("initial")
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
id = "pin_testing"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 300)
|
||||
build_path = /obj/item/device/firing_pin/test_range
|
||||
build_path = /obj/item/firing_pin/test_range
|
||||
category = list("Firing Pins")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
id = "pin_loyalty"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_SILVER = 600, MAT_DIAMOND = 600, MAT_URANIUM = 200)
|
||||
build_path = /obj/item/device/firing_pin/implant/mindshield
|
||||
build_path = /obj/item/firing_pin/implant/mindshield
|
||||
category = list("Firing Pins")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
|
||||
@@ -44,26 +44,23 @@
|
||||
|
||||
|
||||
/obj/machinery/rnd/experimentor/proc/SetTypeReactions()
|
||||
var/probWeight = 0
|
||||
for(var/I in typesof(/obj/item))
|
||||
if(istype(I, /obj/item/relic))
|
||||
item_reactions["[I]"] = SCANTYPE_DISCOVER
|
||||
else
|
||||
item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE)
|
||||
|
||||
if(ispath(I, /obj/item/stock_parts) || ispath(I, /obj/item/grenade/chem_grenade) || ispath(I, /obj/item/kitchen))
|
||||
var/obj/item/tempCheck = I
|
||||
if(initial(tempCheck.icon_state) != null) //check it's an actual usable item, in a hacky way
|
||||
valid_items += 15
|
||||
valid_items += I
|
||||
probWeight++
|
||||
valid_items["[I]"] += 15
|
||||
|
||||
if(ispath(I, /obj/item/reagent_containers/food))
|
||||
var/obj/item/tempCheck = I
|
||||
if(initial(tempCheck.icon_state) != null) //check it's an actual usable item, in a hacky way
|
||||
valid_items += rand(1,max(2,35-probWeight))
|
||||
valid_items += I
|
||||
valid_items["[I]"] += rand(1,4)
|
||||
|
||||
if(ispath(I, /obj/item/construction/rcd) || ispath(I, /obj/item/grenade) || ispath(I, /obj/item/device/aicard) || ispath(I, /obj/item/storage/backpack/holding) || ispath(I, /obj/item/slime_extract) || ispath(I, /obj/item/device/onetankbomb) || ispath(I, /obj/item/device/transfer_valve))
|
||||
if(ispath(I, /obj/item/construction/rcd) || ispath(I, /obj/item/grenade) || ispath(I, /obj/item/aicard) || ispath(I, /obj/item/storage/backpack/holding) || ispath(I, /obj/item/slime_extract) || ispath(I, /obj/item/onetankbomb) || ispath(I, /obj/item/transfer_valve))
|
||||
var/obj/item/tempCheck = I
|
||||
if(initial(tempCheck.icon_state) != null)
|
||||
critical_items += I
|
||||
@@ -86,8 +83,8 @@
|
||||
|
||||
/obj/machinery/rnd/experimentor/proc/checkCircumstances(obj/item/O)
|
||||
//snowflake check to only take "made" bombs
|
||||
if(istype(O, /obj/item/device/transfer_valve))
|
||||
var/obj/item/device/transfer_valve/T = O
|
||||
if(istype(O, /obj/item/transfer_valve))
|
||||
var/obj/item/transfer_valve/T = O
|
||||
if(!T.tank_one || !T.tank_two || !T.attached_device)
|
||||
return FALSE
|
||||
return TRUE
|
||||
@@ -225,18 +222,6 @@
|
||||
smoke.set_up(0, where)
|
||||
smoke.start()
|
||||
|
||||
/obj/machinery/rnd/experimentor/proc/pickWeighted(list/from)
|
||||
var/result = FALSE
|
||||
var/counter = 1
|
||||
while(!result)
|
||||
var/probtocheck = from[counter]
|
||||
if(prob(probtocheck))
|
||||
result = TRUE
|
||||
return from[counter+1]
|
||||
if(counter + 2 < from.len)
|
||||
counter = counter + 2
|
||||
else
|
||||
counter = 1
|
||||
|
||||
/obj/machinery/rnd/experimentor/proc/experiment(exp,obj/item/exp_on)
|
||||
recentlyExperimented = 1
|
||||
@@ -283,13 +268,13 @@
|
||||
visible_message("<span class='warning'>[src] malfunctions, spewing toxic waste!</span>")
|
||||
for(var/turf/T in oview(1, src))
|
||||
if(!T.density)
|
||||
if(prob(EFFECT_PROB_VERYHIGH))
|
||||
if(prob(EFFECT_PROB_VERYHIGH) && !(locate(/obj/effect/decal/cleanable/greenglow) in T))
|
||||
var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/greenglow(T)
|
||||
reagentdecal.reagents.add_reagent("radium", 7)
|
||||
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
|
||||
var/savedName = "[exp_on]"
|
||||
ejectItem(TRUE)
|
||||
var/newPath = pickWeighted(valid_items)
|
||||
var/newPath = text2path(pickweight(valid_items))
|
||||
loaded_item = new newPath(src)
|
||||
visible_message("<span class='warning'>[src] malfunctions, transforming [savedName] into [loaded_item]!</span>")
|
||||
investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR)
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
|
||||
/obj/machinery/rnd/production/circuit_imprinter/department/science
|
||||
name = "department circuit imprinter (Science)"
|
||||
circuit = /obj/item/circuitboard/machine/circuit_imprinter/department/science
|
||||
allowed_department_flags = DEPARTMENTAL_FLAG_ALL|DEPARTMENTAL_FLAG_SCIENCE
|
||||
department_tag = "Science"
|
||||
@@ -50,6 +50,7 @@ doesn't have toxins access.
|
||||
var/research_control = TRUE
|
||||
|
||||
/obj/machinery/computer/rdconsole/production
|
||||
circuit = /obj/item/circuitboard/computer/rdconsole/production
|
||||
research_control = FALSE
|
||||
|
||||
/proc/CallMaterialName(ID)
|
||||
@@ -192,9 +193,10 @@ doesn't have toxins access.
|
||||
|
||||
/obj/machinery/computer/rdconsole/emag_act(mob/user)
|
||||
if(!(obj_flags & EMAGGED))
|
||||
to_chat(user, "<span class='notice'>You disable the security protocols</span>")
|
||||
to_chat(user, "<span class='notice'>You disable the security protocols[locked? " and unlock the console":""].</span>")
|
||||
playsound(src, "sparks", 75, 1)
|
||||
obj_flags |= EMAGGED
|
||||
locked = FALSE
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/rdconsole/proc/list_categories(list/categories, menu_num as num)
|
||||
@@ -217,6 +219,8 @@ doesn't have toxins access.
|
||||
|
||||
/obj/machinery/computer/rdconsole/proc/ui_header()
|
||||
var/list/l = list()
|
||||
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs)
|
||||
l += "[sheet.css_tag()][RDSCREEN_NOBREAK]"
|
||||
l += "<div class='statusDisplay'><b>[stored_research.organization] Research and Development Network</b>"
|
||||
l += "Available points: [round(stored_research.research_points)] (+[round(stored_research.last_bitcoins * 60)] / minute)"
|
||||
l += "Security protocols: [obj_flags & EMAGGED ? "<font color='red'>Disabled</font>" : "<font color='green'>Enabled</font>"]"
|
||||
@@ -815,6 +819,9 @@ doesn't have toxins access.
|
||||
if(ls["ui_mode"])
|
||||
ui_mode = text2num(ls["ui_mode"])
|
||||
if(ls["lock_console"])
|
||||
if(obj_flags & EMAGGED)
|
||||
to_chat(usr, "<span class='boldwarning'>Security protocol error: Unable to lock.</span>")
|
||||
return
|
||||
if(allowed(usr))
|
||||
lock_console(usr)
|
||||
else
|
||||
|
||||
@@ -43,8 +43,6 @@
|
||||
if(linked_console)
|
||||
disconnect_console()
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(default_deconstruction_crowbar(O))
|
||||
return
|
||||
if(is_refillable() && O.is_drainable())
|
||||
|
||||
@@ -14,13 +14,24 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
|
||||
var/pshoom_or_beepboopblorpzingshadashwoosh = 'sound/items/rped.ogg'
|
||||
var/alt_sound = null
|
||||
|
||||
/obj/item/storage/part_replacer/afterattack(obj/machinery/T, mob/living/carbon/human/user, flag, params)
|
||||
/obj/item/storage/part_replacer/pre_attack(obj/machinery/T, mob/living/user, params)
|
||||
if(!istype(T) || !T.component_parts)
|
||||
return ..()
|
||||
if(works_from_distance || user.Adjacent(T))
|
||||
if(user.Adjacent(T)) // no TK upgrading.
|
||||
if(works_from_distance)
|
||||
user.Beam(T, icon_state = "rped_upgrade", time = 5)
|
||||
T.exchange_parts(user, src)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/part_replacer/afterattack(obj/machinery/T, mob/living/user, adjacent, params)
|
||||
if(adjacent || !istype(T) || !T.component_parts)
|
||||
return ..()
|
||||
if(works_from_distance)
|
||||
user.Beam(T, icon_state = "rped_upgrade", time = 5)
|
||||
T.exchange_parts(user, src)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/part_replacer/proc/play_rped_sound()
|
||||
//Plays the sound for RPED exhanging or installing parts.
|
||||
|
||||
@@ -93,7 +93,8 @@
|
||||
description = "A refresher course on modern engineering technology."
|
||||
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", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger")
|
||||
"atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod",
|
||||
"apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine")
|
||||
research_cost = 7500
|
||||
export_price = 5000
|
||||
|
||||
@@ -106,6 +107,15 @@
|
||||
research_cost = 2500
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/anomaly
|
||||
id = "anomaly_research"
|
||||
display_name = "Anomaly Research"
|
||||
description = "Unlock the potential of the mysterious anomalies that appear on station."
|
||||
prereq_ids = list("adv_engi", "practical_bluespace")
|
||||
design_ids = list("reactive_armour")
|
||||
research_cost = 2500
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/high_efficiency
|
||||
id = "high_efficiency"
|
||||
display_name = "High Efficiency Parts"
|
||||
@@ -153,7 +163,6 @@
|
||||
research_cost = 5000
|
||||
export_price = 5000
|
||||
|
||||
|
||||
/datum/techweb_node/bluespace_power
|
||||
id = "bluespace_power"
|
||||
display_name = "Bluespace Power Technology"
|
||||
@@ -282,7 +291,7 @@
|
||||
display_name = "Electromagnetic Theory"
|
||||
description = "Study into usage of frequencies in the electromagnetic spectrum."
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("holosign", "inducer", "tray_goggles", "holopad")
|
||||
design_ids = list("holosign", "holosignsec", "holosignengi", "holosignatmos", "inducer", "tray_goggles", "holopad")
|
||||
research_cost = 2500
|
||||
export_price = 5000
|
||||
|
||||
@@ -321,7 +330,7 @@
|
||||
display_name = "Computer Consoles"
|
||||
description = "Computers and how they work."
|
||||
prereq_ids = list("datatheory")
|
||||
design_ids = list("cargo", "cargorequest", "stockexchange", "libraryconsole", "mining", "crewconsole", "rdcamera", "comconsole", "idcardconsole", "seccamera")
|
||||
design_ids = list("cargo", "cargorequest", "libraryconsole", "mining", "crewconsole", "rdcamera", "comconsole", "idcardconsole", "seccamera")
|
||||
research_cost = 2000
|
||||
export_price = 5000
|
||||
|
||||
@@ -830,8 +839,8 @@
|
||||
description = "Things used by the greys."
|
||||
prereq_ids = list("biotech","engineering")
|
||||
boost_item_paths = list(/obj/item/gun/energy/alien = 0, /obj/item/scalpel/alien = 0, /obj/item/hemostat/alien = 0, /obj/item/retractor/alien = 0, /obj/item/circular_saw/alien = 0,
|
||||
/obj/item/cautery/alien = 0, /obj/item/surgicaldrill/alien = 0, /obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/device/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/device/abductor = 0)
|
||||
/obj/item/cautery/alien = 0, /obj/item/surgicaldrill/alien = 0, /obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/abductor = 0)
|
||||
research_cost = 5000
|
||||
export_price = 20000
|
||||
hidden = TRUE
|
||||
@@ -844,8 +853,8 @@
|
||||
prereq_ids = list("alientech", "adv_biotech")
|
||||
design_ids = list("alien_scalpel", "alien_hemostat", "alien_retractor", "alien_saw", "alien_drill", "alien_cautery")
|
||||
boost_item_paths = list(/obj/item/gun/energy/alien = 0, /obj/item/scalpel/alien = 0, /obj/item/hemostat/alien = 0, /obj/item/retractor/alien = 0, /obj/item/circular_saw/alien = 0,
|
||||
/obj/item/cautery/alien = 0, /obj/item/surgicaldrill/alien = 0, /obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/device/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/device/abductor = 0)
|
||||
/obj/item/cautery/alien = 0, /obj/item/surgicaldrill/alien = 0, /obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/abductor = 0)
|
||||
research_cost = 2500
|
||||
export_price = 20000
|
||||
hidden = TRUE
|
||||
@@ -856,8 +865,8 @@
|
||||
description = "Alien engineering tools"
|
||||
prereq_ids = list("alientech", "adv_engi")
|
||||
design_ids = list("alien_wrench", "alien_wirecutters", "alien_screwdriver", "alien_crowbar", "alien_welder", "alien_multitool")
|
||||
boost_item_paths = list(/obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/device/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/device/abductor = 0)
|
||||
boost_item_paths = list(/obj/item/screwdriver/abductor = 0, /obj/item/wrench/abductor = 0, /obj/item/crowbar/abductor = 0, /obj/item/multitool/abductor = 0,
|
||||
/obj/item/weldingtool/abductor = 0, /obj/item/wirecutters/abductor = 0, /obj/item/circuitboard/machine/abductor = 0, /obj/item/abductor_baton = 0, /obj/item/abductor = 0)
|
||||
research_cost = 2500
|
||||
export_price = 20000
|
||||
hidden = TRUE
|
||||
@@ -867,7 +876,7 @@
|
||||
display_name = "Illegal Technology"
|
||||
description = "Dangerous research used to create dangerous objects."
|
||||
prereq_ids = list("adv_engi", "adv_weaponry", "explosive_weapons")
|
||||
design_ids = list("decloner", "borg_syndicate_module", "suppressor", "largecrossbow")
|
||||
design_ids = list("decloner", "borg_syndicate_module", "suppressor", "largecrossbow", "donksofttoyvendor")
|
||||
research_cost = 10000
|
||||
export_price = 5000
|
||||
hidden = TRUE
|
||||
|
||||
@@ -448,8 +448,7 @@ datum/status_effect/stabilized/blue/on_remove()
|
||||
else if(istype(O, /obj/item/stack/sheet/hairlesshide))
|
||||
to_chat(owner, "<span class='warning'>[linked_extract] kept your hands wet! It wets [O]!</span>")
|
||||
var/obj/item/stack/sheet/hairlesshide/HH = O
|
||||
var/obj/item/stack/sheet/wetleather/WL = new(get_turf(HH))
|
||||
WL.amount = HH.amount
|
||||
new /obj/item/stack/sheet/wetleather(get_turf(HH), HH.amount)
|
||||
qdel(HH)
|
||||
..()
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ Burning extracts:
|
||||
|
||||
/obj/item/slimecross/burning/sepia/do_effect(mob/user)
|
||||
user.visible_message("<span class='notice'>[src] shapes itself into a camera!</span>")
|
||||
new /obj/item/device/camera/timefreeze(get_turf(user))
|
||||
new /obj/item/camera/timefreeze(get_turf(user))
|
||||
..()
|
||||
|
||||
/obj/item/slimecross/burning/cerulean
|
||||
@@ -290,13 +290,13 @@ Burning extracts:
|
||||
|
||||
//Misc. things added
|
||||
|
||||
/obj/item/device/camera/timefreeze
|
||||
/obj/item/camera/timefreeze
|
||||
name = "sepia-tinted camera"
|
||||
desc = "They say a picture is like a moment stopped in time."
|
||||
pictures_left = 1
|
||||
pictures_max = 1
|
||||
|
||||
/obj/item/device/camera/timefreeze/afterattack(atom/target, mob/user, flag)
|
||||
/obj/item/camera/timefreeze/afterattack(atom/target, mob/user, flag)
|
||||
if(!on || !pictures_left || !isturf(target.loc))
|
||||
return
|
||||
new /obj/effect/timestop(get_turf(target), 2, 50, list(user))
|
||||
@@ -386,7 +386,7 @@ Burning extracts:
|
||||
item_state = "adamshield"
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70)
|
||||
slot_flags = SLOT_BACK
|
||||
slot_flags = ITEM_SLOT_BACK
|
||||
block_chance = 75
|
||||
throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...?
|
||||
throw_speed = 2
|
||||
|
||||
@@ -66,10 +66,8 @@ Charged extracts:
|
||||
colour = "metal"
|
||||
|
||||
/obj/item/slimecross/charged/metal/do_effect(mob/user)
|
||||
var/obj/item/stack/sheet/metal/M = new(get_turf(user))
|
||||
M.amount = 25
|
||||
var/obj/item/stack/sheet/plasteel/P = new(get_turf(user))
|
||||
P.amount = 10
|
||||
new /obj/item/stack/sheet/metal(get_turf(user), 25)
|
||||
new /obj/item/stack/sheet/plasteel(get_turf(user), 10)
|
||||
user.visible_message("<span class='notice'>[src] grows into a plethora of metals!</span>")
|
||||
..()
|
||||
|
||||
@@ -85,8 +83,7 @@ Charged extracts:
|
||||
colour = "dark purple"
|
||||
|
||||
/obj/item/slimecross/charged/darkpurple/do_effect(mob/user)
|
||||
var/obj/item/stack/sheet/mineral/plasma/M = new(get_turf(user))
|
||||
M.amount = 10
|
||||
new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10)
|
||||
user.visible_message("<span class='notice'>[src] produces a large amount of plasma!</span>")
|
||||
..()
|
||||
|
||||
@@ -113,8 +110,7 @@ Charged extracts:
|
||||
colour = "bluespace"
|
||||
|
||||
/obj/item/slimecross/charged/bluespace/do_effect(mob/user)
|
||||
var/obj/item/stack/sheet/bluespace_crystal/M = new(get_turf(user))
|
||||
M.amount = 10
|
||||
new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10)
|
||||
user.visible_message("<span class='notice'>[src] produces several sheets of polycrystal!</span>")
|
||||
..()
|
||||
|
||||
@@ -122,7 +118,7 @@ Charged extracts:
|
||||
colour = "sepia"
|
||||
|
||||
/obj/item/slimecross/charged/sepia/do_effect(mob/user)
|
||||
new /obj/item/device/camera/spooky(get_turf(user))
|
||||
new /obj/item/camera/spooky(get_turf(user))
|
||||
user.visible_message("<span class='notice'>[src] flickers in a strange, ethereal manner, and produces a camera!</span>")
|
||||
..()
|
||||
|
||||
@@ -138,8 +134,7 @@ Charged extracts:
|
||||
colour = "pyrite"
|
||||
|
||||
/obj/item/slimecross/charged/pyrite/do_effect(mob/user)
|
||||
var/obj/item/stack/sheet/mineral/bananium/M = new(get_turf(user))
|
||||
M.amount = 10
|
||||
new /obj/item/stack/sheet/mineral/bananium(get_turf(user), 10)
|
||||
user.visible_message("<span class='warning'>[src] solidifies with a horrifying banana stench!</span>")
|
||||
..()
|
||||
|
||||
@@ -329,7 +324,7 @@ Charged extracts:
|
||||
if(!istype(C))
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on clothing!</span>")
|
||||
return
|
||||
if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.flags_1 & STOPSPRESSUREDMAGE_1)
|
||||
if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE)
|
||||
to_chat(user, "<span class='warning'>The [C] is already pressure-resistant!</span>")
|
||||
return ..()
|
||||
to_chat(user, "<span class='notice'>You slather the blue gunk over the [C], making it airtight.</span>")
|
||||
@@ -338,7 +333,7 @@ Charged extracts:
|
||||
C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY)
|
||||
C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
C.cold_protection = C.body_parts_covered
|
||||
C.flags_1 |= STOPSPRESSUREDMAGE_1
|
||||
C.clothing_flags |= STOPSPRESSUREDAMAGE
|
||||
uses--
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
@@ -372,6 +367,9 @@ Charged extracts:
|
||||
C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY)
|
||||
C.resistance_flags |= LAVA_PROOF
|
||||
C.obj_flags |= LAVA_PROTECT
|
||||
if (istype(C, /obj/item/clothing))
|
||||
var/obj/item/clothing/CL = C
|
||||
CL.clothing_flags |= LAVAPROTECT
|
||||
uses--
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
@@ -75,12 +75,7 @@ Industrial extracts:
|
||||
/obj/item/slimecross/industrial/metal
|
||||
colour = "metal"
|
||||
plasmarequired = 3
|
||||
itempath = /obj/item/stack/sheet/metal
|
||||
|
||||
/obj/item/slimecross/industrial/metal/do_after_spawn(obj/item/spawned)
|
||||
var/obj/item/stack/sheet/metal/M = spawned
|
||||
if(istype(M))
|
||||
M.amount = 10
|
||||
itempath = /obj/item/stack/sheet/metal/ten
|
||||
|
||||
/obj/item/slimecross/industrial/yellow
|
||||
colour = "yellow"
|
||||
@@ -124,7 +119,7 @@ Industrial extracts:
|
||||
/obj/item/slimecross/industrial/sepia
|
||||
colour = "sepia"
|
||||
plasmarequired = 2
|
||||
itempath = /obj/item/device/camera
|
||||
itempath = /obj/item/camera
|
||||
|
||||
/obj/item/slimecross/industrial/cerulean
|
||||
colour = "cerulean"
|
||||
|
||||
@@ -89,10 +89,10 @@ Regenerative extracts:
|
||||
|
||||
/obj/item/slimecross/regenerative/darkpurple/core_effect(mob/living/target, mob/user)
|
||||
var/equipped = 0
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), slot_shoes)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), slot_w_uniform)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), slot_gloves)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), slot_head)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), SLOT_SHOES)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), SLOT_W_UNIFORM)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), SLOT_GLOVES)
|
||||
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), SLOT_HEAD)
|
||||
if(equipped > 0)
|
||||
target.visible_message("<span class='notice'>The milky goo congeals into clothing!</span>")
|
||||
|
||||
@@ -104,13 +104,13 @@ Regenerative extracts:
|
||||
return
|
||||
var/mob/living/carbon/human/H = target
|
||||
var/fireproofed = FALSE
|
||||
if(H.get_item_by_slot(slot_wear_suit))
|
||||
if(H.get_item_by_slot(SLOT_WEAR_SUIT))
|
||||
fireproofed = TRUE
|
||||
var/obj/item/clothing/C = H.get_item_by_slot(slot_wear_suit)
|
||||
var/obj/item/clothing/C = H.get_item_by_slot(SLOT_WEAR_SUIT)
|
||||
fireproof(C)
|
||||
if(H.get_item_by_slot(slot_head))
|
||||
if(H.get_item_by_slot(SLOT_HEAD))
|
||||
fireproofed = TRUE
|
||||
var/obj/item/clothing/C = H.get_item_by_slot(slot_head)
|
||||
var/obj/item/clothing/C = H.get_item_by_slot(SLOT_HEAD)
|
||||
fireproof(C)
|
||||
if(fireproofed)
|
||||
target.visible_message("<span class='notice'>Some of [target]'s clothing gets coated in the goo, and turns blue!</span>")
|
||||
|
||||
@@ -570,7 +570,7 @@
|
||||
/obj/item/slime_extract/sepia/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
|
||||
switch(activation_type)
|
||||
if(SLIME_ACTIVATE_MINOR)
|
||||
var/obj/item/device/camera/O = new(null, 1)
|
||||
var/obj/item/camera/O = new(null, 1)
|
||||
if(!user.put_in_active_hand(O))
|
||||
O.forceMove(user.drop_location())
|
||||
playsound(user, 'sound/effects/splat.ogg', 50, 1)
|
||||
|
||||
Reference in New Issue
Block a user