RnD autolathe removal + tech level overhaul

This commit is contained in:
tigercat2000
2017-06-01 11:34:29 -07:00
parent 2f39397888
commit 633c972f46
168 changed files with 908 additions and 1070 deletions
+2 -2
View File
@@ -4359,7 +4359,7 @@
"bGz" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "mechbay"; name = "Mech Bay"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/chargebay)
"bGA" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics Requests Console"; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics)
"bGB" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "robotics"; name = "Robotics Lab Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics)
"bGC" = (/obj/machinery/autolathe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bGC" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bGD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bGE" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Desk"; req_access_txt = "29"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "robotics"; name = "Robotics Lab Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics)
"bGF" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 10; icon_state = "purple"},/area/hallway/primary/starboard/east)
@@ -4882,7 +4882,7 @@
"bRn" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/medical/research{name = "Research Division"})
"bRo" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera{c_tag = "Research Hallway Entrance"; dir = 2; network = list("Research","SS13")},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/medical/research{name = "Research Division"})
"bRp" = (/obj/machinery/door_control{id = "rdlab2"; name = "Research and Development Lab Shutters Control"; pixel_x = -24; pixel_y = -24; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bRq" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/obj/item/stack/tape_roll,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bRq" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/obj/item/stack/tape_roll,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bRr" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/space,/area/shuttle/research)
"bRs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research)
"bRt" = (/obj/machinery/computer/shuttle/science,/turf/simulated/shuttle/floor,/area/shuttle/research)
+1 -1
View File
@@ -25,7 +25,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
var/points_per_crate = 5 //points gained per crate returned
var/points_per_intel = 250 //points gained per intel returned
var/points_per_plasma = 5 //points gained per plasma returned
var/points_per_design = 25 //points gained per max reliability research design returned (only for initilally unreliable designs)
var/points_per_design = 25 //points gained per research design returned
var/centcom_message = "" //Remarks from Centcom on how well you checked the last order.
var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentComm, associated with their potencies
var/list/techLevels = list()
+18
View File
@@ -250,6 +250,17 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 10
containername = "disabler crate"
/datum/supply_packs/security/forensics
name = "Forensics Crate"
contains = list(/obj/item/device/detective_scanner,
/obj/item/weapon/storage/box/evidence,
/obj/item/device/camera,
/obj/item/device/taperecorder,
/obj/item/toy/crayon/white,
/obj/item/clothing/head/det_hat)
cost = 20
containername = "forensics crate"
///// Armory stuff
/datum/supply_packs/security/armory
@@ -895,6 +906,13 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "tank transfer valves crate"
access = access_rd
/datum/supply_packs/science/prototype
name = "Machine Prototype Crate"
contains = list(/obj/item/device/machineprototype)
cost = 80
containertype = /obj/structure/closet/crate/secure/scisec
containername = "machine prototype crate"
access = access_research
//////////////////////////////////////////////////////////////////////////////
//////////////////////////// Organic /////////////////////////////////////////
@@ -38,7 +38,6 @@
icon_state = "ling_eyeshield"
eye_colour = null
implant_overlay = null
origin_tech = "biotech=4"
slot = "eye_ling"
status = 0
aug_message = "We feel a minute twitch in our eyes, our eyes feel more durable."
@@ -61,7 +60,6 @@
icon_state = "ling_thermal"
eye_colour = null
implant_overlay = null
origin_tech = "biotech=5;magnets=5"
slot = "eye_ling"
status = 0
aug_message = "We feel a minute twitch in our eyes, and darkness creeps away."
@@ -82,4 +80,4 @@
var/mob/living/carbon/human/H = owner
H.weakeyes = 0
H.vision_type = null
..()
..()
@@ -113,7 +113,7 @@
owner.set_species(species)
/obj/item/organ/internal/heart/gland/ventcrawling
origin_tech = "materials=4;biotech=5;bluespace=3;abductor=3"
origin_tech = "materials=4;biotech=5;bluespace=4;abductor=3"
cooldown_low = 1800
cooldown_high = 2400
uses = 1
@@ -4,6 +4,7 @@
desc = "A currently unactivated swarmer. Swarmers can self activate at any time, it would be wise to immediately dispose of this."
icon = 'icons/mob/swarmer.dmi'
icon_state = "swarmer_unactivated"
origin_tech = "bluespace=4;materials=4;programming=7"
/obj/item/unactivated_swarmer/New()
notify_ghosts("An unactivated swarmer has been created in [get_area(src)]!", enter_link = "<a href=?src=[UID()];ghostjoin=1>(Click to enter)</a>", source = src, action = NOTIFY_ATTACK)
@@ -230,7 +230,7 @@
desc = "Still it beats furiously, emanating an aura of utter hate."
icon = 'icons/obj/surgery.dmi'
icon_state = "demon_heart"
origin_tech = "combat=5;biotech=8"
origin_tech = "combat=5;biotech=7"
/obj/item/organ/internal/heart/demon/update_icon()
return //always beating visually
+1 -1
View File
@@ -6,7 +6,7 @@
desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artifact's power."
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_BELT
origin_tech = "bluespace=4;materials=4"
origin_tech = "bluespace=4;materials=5"
var/imprinted = "empty"
var/usability = TRUE // Can this soul stone be used by anyone, or only cultists/wizards?
+1
View File
@@ -1072,5 +1072,6 @@ Just an object used in constructing air alarms
desc = "Looks like a circuit. Probably is."
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
+24 -19
View File
@@ -41,30 +41,31 @@
/obj/item/weapon/circuitboard/message_monitor
name = "Circuit board (Message Monitor)"
build_path = /obj/machinery/computer/message_monitor
origin_tech = "programming=3"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/camera
name = "Circuit board (Camera Monitor)"
build_path = /obj/machinery/computer/security
origin_tech = "programming=2"
origin_tech = "programming=2;combat=2"
/obj/item/weapon/circuitboard/xenobiology
name = "Circuit board (Xenobiology Console)"
build_path = /obj/machinery/computer/camera_advanced/xenobio
origin_tech = "programming=3;biotech=3"
/obj/item/weapon/circuitboard/aicore
name = "Circuit board (AI Core)"
origin_tech = "programming=4;biotech=2"
origin_tech = "programming=3"
board_type = "other"
/obj/item/weapon/circuitboard/aiupload
name = "Circuit board (AI Upload)"
build_path = /obj/machinery/computer/aiupload
origin_tech = "programming=4"
origin_tech = "programming=4;engineering=4"
/obj/item/weapon/circuitboard/borgupload
name = "Circuit board (Cyborg Upload)"
build_path = /obj/machinery/computer/borgupload
origin_tech = "programming=4"
origin_tech = "programming=4;engineering=4"
/obj/item/weapon/circuitboard/med_data
name = "Circuit board (Medical Records)"
build_path = /obj/machinery/computer/med_data
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/pandemic
name = "circuit board (PanD.E.M.I.C. 2200)"
build_path = /obj/machinery/computer/pandemic
@@ -76,10 +77,11 @@
/obj/item/weapon/circuitboard/communications
name = "Circuit board (Communications Console)"
build_path = /obj/machinery/computer/communications
origin_tech = "programming=2;magnets=2"
origin_tech = "programming=3;magnets=3"
/obj/item/weapon/circuitboard/card
name = "Circuit board (ID Computer)"
build_path = /obj/machinery/computer/card
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/card/minor
name = "Circuit board (Dept ID Computer)"
build_path = /obj/machinery/computer/card/minor
@@ -106,10 +108,11 @@
/obj/item/weapon/circuitboard/teleporter
name = "Circuit board (Teleporter Console)"
build_path = /obj/machinery/computer/teleporter
origin_tech = "programming=2;bluespace=2"
origin_tech = "programming=3;bluespace=3;plasmatech=3"
/obj/item/weapon/circuitboard/secure_data
name = "Circuit board (Security Records)"
build_path = /obj/machinery/computer/secure_data
origin_tech = "programming=2;combat=2"
/obj/item/weapon/circuitboard/skills
name = "Circuit board (Employment Records)"
build_path = /obj/machinery/computer/skills
@@ -151,7 +154,7 @@
/obj/item/weapon/circuitboard/cloning
name = "Circuit board (Cloning Machine Console)"
build_path = /obj/machinery/computer/cloning
origin_tech = "programming=3;biotech=3"
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/arcade/battle
name = "circuit board (Arcade Battle)"
build_path = /obj/machinery/computer/arcade/battle
@@ -159,7 +162,7 @@
/obj/item/weapon/circuitboard/arcade/orion_trail
name = "circuit board (Orion Trail)"
build_path = /obj/machinery/computer/arcade/orion_trail
origin_tech = "programming=2"
origin_tech = "programming=1"
/obj/item/weapon/circuitboard/solar_control
name = "Circuit board (Solar Control)"
build_path = /obj/machinery/power/solar_control
@@ -167,6 +170,7 @@
/obj/item/weapon/circuitboard/powermonitor
name = "Circuit board (Power Monitor)"
build_path = /obj/machinery/computer/monitor
origin_tech = "programming=2;powerstorage=2"
/obj/item/weapon/circuitboard/olddoor
name = "Circuit board (DoorMex)"
build_path = /obj/machinery/computer/pod/old
@@ -219,15 +223,15 @@
/obj/item/weapon/circuitboard/crew
name = "Circuit board (Crew Monitoring Computer)"
build_path = /obj/machinery/computer/crew
origin_tech = "programming=3;biotech=2;magnets=2"
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/mech_bay_power_console
name = "Circuit board (Mech Bay Power Control Console)"
build_path = /obj/machinery/computer/mech_bay_power_console
origin_tech = "programming=2;powerstorage=3"
origin_tech = "programming=3;powerstorage=3"
/obj/item/weapon/circuitboard/ordercomp
name = "Circuit board (Supply Ordering Console)"
build_path = /obj/machinery/computer/ordercomp
origin_tech = "programming=2"
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/supplycomp
name = "Circuit board (Supply Shuttle Console)"
build_path = /obj/machinery/computer/supplycomp
@@ -237,19 +241,19 @@
/obj/item/weapon/circuitboard/operating
name = "Circuit board (Operating Computer)"
build_path = /obj/machinery/computer/operating
origin_tech = "programming=2;biotech=2"
origin_tech = "programming=2;biotech=3"
/obj/item/weapon/circuitboard/comm_monitor
name = "Circuit board (Telecommunications Monitor)"
build_path = /obj/machinery/computer/telecomms/monitor
origin_tech = "programming=3"
origin_tech = "programming=3;magnets=3;bluespace=2"
/obj/item/weapon/circuitboard/comm_server
name = "Circuit board (Telecommunications Server Monitor)"
build_path = /obj/machinery/computer/telecomms/server
origin_tech = "programming=3"
origin_tech = "programming=3;magnets=3;bluespace=2"
/obj/item/weapon/circuitboard/comm_traffic
name = "Circuitboard (Telecommunications Traffic Control)"
build_path = /obj/machinery/computer/telecomms/traffic
origin_tech = "programming=3"
origin_tech = "programming=3;magnets=3;bluespace=2"
/obj/item/weapon/circuitboard/shuttle
@@ -285,7 +289,7 @@
/obj/item/weapon/circuitboard/aifixer
name = "Circuit board (AI Integrity Restorer)"
build_path = /obj/machinery/computer/aifixer
origin_tech = "programming=3;biotech=2"
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/area_atmos
name = "Circuit board (Area Air Control)"
build_path = /obj/machinery/computer/area_atmos
@@ -293,7 +297,7 @@
/obj/item/weapon/circuitboard/telesci_console
name = "Circuit board (Telepad Control Console)"
build_path = /obj/machinery/computer/telescience
origin_tech = "programming=3;bluespace=2"
origin_tech = "programming=3;bluespace=3;plasmatech=4"
/obj/item/weapon/circuitboard/atmos_automation
name = "Circuit board (Atmospherics Automation)"
@@ -301,6 +305,7 @@
/obj/item/weapon/circuitboard/large_tank_control
name = "Circuit board (Atmospheric Tank Control)"
build_path = /obj/machinery/computer/general_air_control/large_tank_control
origin_tech = "programming=2;engineering=3;materials=2"
/obj/item/weapon/circuitboard/turbine_computer
name = "circuit board (Turbine Computer)"
@@ -310,7 +315,7 @@
/obj/item/weapon/circuitboard/HONKputer
name = "Circuit board (HONKputer)"
build_path = /obj/machinery/computer/HONKputer
origin_tech = "programming=4"
origin_tech = "programming=2"
icon = 'icons/obj/machines/HONKputer.dmi'
icon_state = "bananium_board"
board_type = "honkcomputer"
+42 -55
View File
@@ -57,10 +57,7 @@
else
desc += "."
/obj/machinery/constructable_frame/machine_frame/attackby(obj/item/P as obj, mob/user as mob, params)
if(P.crit_fail)
to_chat(user, "<span class='danger'>This part is faulty, you cannot add this to the machine!</span>")
return
/obj/machinery/constructable_frame/machine_frame/attackby(obj/item/P, mob/user, params)
switch(state)
if(1)
if(istype(P, /obj/item/stack/cable_coil))
@@ -171,11 +168,10 @@
for(var/path in req_components)
while(req_components[path] > 0 && (locate(path) in part_list))
var/obj/item/part = (locate(path) in part_list)
if(!part.crit_fail)
added_components[part] = path
replacer.remove_from_storage(part, src)
req_components[path]--
part_list -= part
added_components[part] = path
replacer.remove_from_storage(part, src)
req_components[path]--
part_list -= part
for(var/obj/item/weapon/stock_parts/part in added_components)
components += part
@@ -265,7 +261,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (SMES)"
build_path = /obj/machinery/power/smes
board_type = "machine"
origin_tech = "programming=4;powerstorage=5;engineering=5"
origin_tech = "programming=3;powerstorage=3;engineering=3"
frame_desc = "Requires 5 pieces of cable, 5 Power Cells and 1 Capacitor."
req_components = list(
/obj/item/stack/cable_coil = 5,
@@ -276,7 +272,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Emitter)"
build_path = /obj/machinery/power/emitter
board_type = "machine"
origin_tech = "programming=4;powerstorage=5;engineering=5"
origin_tech = "programming=3;powerstorage=4;engineering=4"
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
@@ -285,7 +281,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Power Compressor)"
build_path = /obj/machinery/power/compressor
board_type = "machine"
origin_tech = "programming=4;powerstorage=5;engineering=4"
origin_tech = "programming=4;powerstorage=4;engineering=4"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/manipulator = 6)
@@ -294,7 +290,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Power Turbine)"
build_path = /obj/machinery/power/turbine
board_type = "machine"
origin_tech = "programming=4;powerstorage=4;engineering=5"
origin_tech = "programming=4;powerstorage=4;engineering=4"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/capacitor = 6)
@@ -327,7 +323,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Biogenerator)"
build_path = /obj/machinery/biogenerator
board_type = "machine"
origin_tech = "programming=3;biotech=2;materials=3"
origin_tech = "programming=2;biotech=3;materials=3"
frame_desc = "Requires 1 Matter Bin, 1 Manipulator, 1 piece of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -361,7 +357,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Hydroponics Tray)"
build_path = /obj/machinery/hydroponics/constructable
board_type = "machine"
origin_tech = "programming=1;biotech=1"
origin_tech = "programming=1;biotech=2"
frame_desc = "Requires 2 Matter Bins, 1 Manipulator, and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
@@ -372,7 +368,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Microwave)"
build_path = /obj/machinery/kitchen_machine/microwave
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=2;magnets=2"
frame_desc = "Requires 1 Micro Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
@@ -383,7 +379,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Oven)"
build_path = /obj/machinery/kitchen_machine/oven
board_type = "machine"
origin_tech = "programming=1;plasmatech=1"
origin_tech = "programming=2;magnets=2"
frame_desc = "Requires 2 Micro Lasers, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 2,
@@ -394,7 +390,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Grill)"
build_path = /obj/machinery/kitchen_machine/grill
board_type = "machine"
origin_tech = "programming=1;plasmatech=1"
origin_tech = "programming=2;magnets=2"
frame_desc = "Requires 2 Micro Lasers, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 2,
@@ -405,7 +401,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Candy Maker)"
build_path = /obj/machinery/kitchen_machine/candy_maker
board_type = "machine"
origin_tech = "programming=2"
origin_tech = "programming=2;magnets=2"
frame_desc = "Requires 1 Manipulator, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 1,
@@ -416,7 +412,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Deep Fryer)"
build_path = /obj/machinery/cooker/deepfryer
board_type = "machine"
origin_tech = "programming=2"
origin_tech = "programming=1"
frame_desc = "Requires 2 Micro Lasers and 5 pieces of cable."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 2,
@@ -426,7 +422,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Gibber)"
build_path = /obj/machinery/gibber
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=2;engineering=2"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
@@ -435,7 +431,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Tesla Coil)"
build_path = /obj/machinery/power/tesla_coil
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=3;magnets=3;powerstorage=3"
req_components = list(
/obj/item/weapon/stock_parts/capacitor = 1)
@@ -443,7 +439,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Grounding Rod)"
build_path = /obj/machinery/power/grounding_rod
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=3;powerstorage=3;magnets=3;plasmatech=2"
req_components = list(
/obj/item/weapon/stock_parts/capacitor = 1)
@@ -460,16 +456,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Recycler)"
build_path = /obj/machinery/recycler
board_type = "machine"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
/obj/item/weapon/circuitboard/seed_extractor
name = "circuit board (Seed Extractor)"
build_path = /obj/machinery/seed_extractor
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=2;engineering=2"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
@@ -519,7 +506,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Monkey Recycler)"
build_path = /obj/machinery/monkey_recycler
board_type = "machine"
origin_tech = "programming=1"
origin_tech = "programming=1;biotech=2"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
@@ -536,7 +523,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Portable Chem Dispenser)"
build_path = /obj/machinery/chem_dispenser/constructable
board_type = "machine"
origin_tech = "materials=4;engineering=4;programming=4;plasmatech=3;biotech=3"
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
frame_desc = "Requires 2 Matter Bins, 1 Capacitor, 1 Manipulator, 1 Console Screen, and 1 Power Cell."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
@@ -549,7 +536,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Chem Master 2999)"
build_path = /obj/machinery/chem_master/constructable
board_type = "machine"
origin_tech = "materials=2;programming=2;biotech=1"
origin_tech = "materials=3;programming=2;biotech=3"
req_components = list(
/obj/item/weapon/reagent_containers/glass/beaker = 2,
/obj/item/weapon/stock_parts/manipulator = 1,
@@ -559,7 +546,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (Chemical Heater)"
build_path = /obj/machinery/chem_heater
board_type = "machine"
origin_tech = "materials=2;engineering=2"
origin_tech = "programming=2;engineering=2;biotech=2"
frame_desc = "Requires 1 Micro Laser and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
@@ -625,7 +612,7 @@ to destroy them and players will be able to make replacements.
name = "Circuit Board (PACMAN-type Generator)"
build_path = /obj/machinery/power/port_gen/pacman
board_type = "machine"
origin_tech = "programming=3:powerstorage=3;plasmatech=3;engineering=3"
origin_tech = "programming=2:powerstorage=3;plasmatech=3;engineering=3"
frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -641,7 +628,7 @@ to destroy them and players will be able to make replacements.
/obj/item/weapon/circuitboard/pacman/mrs
name = "Circuit Board (MRSPACMAN-type Generator)"
build_path = /obj/machinery/power/port_gen/pacman/mrs
origin_tech = "programming=3;powerstorage=5;engineering=5"
origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4"
obj/item/weapon/circuitboard/rdserver
name = "Circuit Board (R&D Server)"
@@ -657,7 +644,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit board (Exosuit Fabricator)"
build_path = /obj/machinery/mecha_part_fabricator
board_type = "machine"
origin_tech = "programming=3;engineering=3"
origin_tech = "programming=2;engineering=2"
frame_desc = "Requires 2 Matter Bins, 1 Manipulator, 1 Micro-Laser and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
@@ -669,7 +656,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit board (Spacepod Fabricator)"
build_path = /obj/machinery/spod_part_fabricator //ah fuck my life
board_type = "machine"
origin_tech = "programming=3;engineering=3"
origin_tech = "programming=2;engineering=2"
frame_desc = "Requires 3 Matter Bins, 2 Manipulators, 2 Micro-Lasers, and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 3,
@@ -682,7 +669,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit board (Clone Pod)"
build_path = /obj/machinery/clonepod
board_type = "machine"
origin_tech = "programming=3;biotech=3"
origin_tech = "programming=2;biotech=2"
frame_desc = "Requires 2 Manipulator, 2 Scanning Module, 2 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/stack/cable_coil = 2,
@@ -707,7 +694,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Mech Bay Recharger)"
build_path = /obj/machinery/mech_bay_recharge_port
board_type = "machine"
origin_tech = "programming=3;powerstorage=4;engineering=4"
origin_tech = "programming=3;powerstorage=3;engineering=3"
frame_desc = "Requires 1 piece of cable and 5 Capacitors."
req_components = list(
/obj/item/stack/cable_coil = 1,
@@ -717,7 +704,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Teleporter Hub)"
build_path = /obj/machinery/teleport/hub
board_type = "machine"
origin_tech = "programming=3;engineering=5;bluespace=5;materials=4"
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
frame_desc = "Requires 3 Bluespace Crystals and 1 Matter Bin."
req_components = list(
/obj/item/weapon/ore/bluespace_crystal = 3,
@@ -727,7 +714,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Teleporter Station)"
build_path = /obj/machinery/teleport/station
board_type = "machine"
origin_tech = "programming=4;engineering=4;bluespace=4"
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
frame_desc = "Requires 2 Bluespace Crystals, 2 Capacitors and 1 Console Screen."
req_components = list(
/obj/item/weapon/ore/bluespace_crystal = 2,
@@ -738,7 +725,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Permanent Teleporter)"
build_path = /obj/machinery/teleport/perma
board_type = "machine"
origin_tech = "programming=3;engineering=5;bluespace=5;materials=4"
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
frame_desc = "Requires 3 Bluespace Crystals and 1 Matter Bin."
req_components = list(
/obj/item/weapon/ore/bluespace_crystal = 3,
@@ -749,7 +736,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit board (Telepad)"
build_path = /obj/machinery/telepad
board_type = "machine"
origin_tech = "programming=4;engineering=3;materials=3;bluespace=4"
origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4"
frame_desc = "Requires 2 Bluespace Crystals, 1 Capacitor, 1 piece of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/ore/bluespace_crystal = 2,
@@ -773,7 +760,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Sleeper)"
build_path = /obj/machinery/sleeper
board_type = "machine"
origin_tech = "programming=3;biotech=2;engineering=3;materials=3"
origin_tech = "programming=3;biotech=2;engineering=3"
frame_desc = "Requires 1 Matter Bin, 1 Manipulator, 1 piece of cable and 2 Console Screens."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -794,7 +781,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Body Scanner)"
build_path = /obj/machinery/bodyscanner
board_type = "machine"
origin_tech = "programming=3;biotech=2;engineering=3;materials=3"
origin_tech = "programming=3;biotech=2;engineering=3"
frame_desc = "Requires 1 Scanning Module, 2 pieces of cable and 2 Console Screens."
req_components = list(
/obj/item/weapon/stock_parts/scanning_module = 1,
@@ -805,7 +792,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Body Scanner Console)"
build_path = /obj/machinery/body_scanconsole
board_type = "machine"
origin_tech = "programming=3;biotech=2;engineering=3;materials=3"
origin_tech = "programming=3;biotech=2;engineering=3"
frame_desc = "Requires 2 pieces of cable and 2 Console Screens."
req_components = list(
/obj/item/stack/cable_coil = 2,
@@ -815,7 +802,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Cryotube)"
build_path = /obj/machinery/atmospherics/unary/cryo_cell
board_type = "machine"
origin_tech = "programming=4;biotech=3;engineering=4"
origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3"
frame_desc = "Requires 1 Matter Bin, 1 piece of cable and 4 Console Screens."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -933,7 +920,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Mining Equipment Vendor)"
build_path = /obj/machinery/mineral/equipment_vendor
board_type = "machine"
origin_tech = "programming=1;engineering=2"
origin_tech = "programming=1;engineering=3"
req_components = list(
/obj/item/weapon/stock_parts/console_screen = 1,
/obj/item/weapon/stock_parts/matter_bin = 3)
@@ -942,7 +929,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Claw Game)"
build_path = /obj/machinery/arcade/claw
board_type = "machine"
origin_tech = "programming=2"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1,
@@ -953,7 +940,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Prize Counter)"
build_path = /obj/machinery/prize_counter
board_type = "machine"
origin_tech = "programming=2;materials=2"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/manipulator = 1,
@@ -964,7 +951,7 @@ obj/item/weapon/circuitboard/rdserver
name = "circuit board (Virtual Gameboard)"
build_path = /obj/machinery/gameboard
board_type = "machine"
origin_tech = "programming=2"
origin_tech = "programming=1"
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/stack/cable_coil = 3,
+2 -2
View File
@@ -126,12 +126,12 @@
/obj/item/weapon/circuitboard/cryopodcontrol
name = "Circuit board (Cryogenic Oversight Console)"
build_path = "/obj/machinery/computer/cryopod"
origin_tech = "programming=3"
origin_tech = "programming=1"
/obj/item/weapon/circuitboard/robotstoragecontrol
name = "Circuit board (Robotic Storage Console)"
build_path = "/obj/machinery/computer/cryopod/robot"
origin_tech = "programming=3"
origin_tech = "programming=1"
//Decorative structures to go alongside cryopods.
/obj/structure/cryofeed
@@ -6,7 +6,7 @@
icon_state = "door_electronics"
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
req_access = list(access_engine)
var/list/conf_access = null
+1
View File
@@ -261,6 +261,7 @@
desc = "A circuit board used in construction of firelocks."
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
+1
View File
@@ -269,6 +269,7 @@ Just a object used in constructing fire alarms
desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\""
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
-2
View File
@@ -404,8 +404,6 @@ Class Procs:
on_deconstruction()
spawn_frame()
for(var/obj/item/I in component_parts)
if(I.reliability != 100 && crit_fail)
I.crit_fail = 1
I.forceMove(loc)
qdel(src)
+1 -1
View File
@@ -551,7 +551,7 @@
name = "Circuit board (Programmable Unloader)"
build_path = "/obj/machinery/programmable"
board_type = "machine"
origin_tech = "engineering=3;programming=6"
origin_tech = "engineering=1;programming=2"
frame_desc = "Requires 2 Manipulators, 1 Scanning Module, 1 Cable."
req_components = list(
/obj/item/weapon/stock_parts/scanning_module = 1,
+2 -2
View File
@@ -193,7 +193,7 @@
icon_state = "bombcore"
item_state = "eshield0"
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "syndicate=6;combat=5"
origin_tech = "syndicate=5;combat=6"
burn_state = FLAMMABLE //Burnable (but the casing isn't)
var/adminlog = null
@@ -311,7 +311,7 @@
icon_state = "bigred"
item_state = "electronic"
w_class = WEIGHT_CLASS_TINY
origin_tech = "syndicate=2"
origin_tech = "syndicate=3"
var/cooldown = 0
var/detonated = 0
var/existant = 0
@@ -68,8 +68,6 @@
// Drop all the component stuff
if(component_parts)
for(var/obj/I in component_parts)
if(I.reliability != 100 && crit_fail)
I.crit_fail = 1
I.loc = src.loc
else
// If the machine wasn't made during runtime, probably doesn't have components:
+1 -2
View File
@@ -1,4 +1,3 @@
//TODO: Add critfail checks and reliability
//DO NOT ADD MECHA PARTS TO THE GAME WITH THE DEFAULT "SPRITE ME" SPRITE!
//I'm annoyed I even have to tell you this! SPRITE FIRST, then commit.
@@ -7,7 +6,7 @@
icon = 'icons/mecha/mecha_equipment.dmi'
icon_state = "mecha_equip"
force = 5
origin_tech = "materials=2"
origin_tech = "materials=2;engineering=2"
var/equip_cooldown = 0
var/equip_ready = 1
var/energy_drain = 0
@@ -110,7 +110,6 @@
name = "exosuit mining scanner"
desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
icon_state = "mecha_analyzer"
origin_tech = "materials=3;engineering=2"
selectable = 0
equip_cooldown = 30
var/scanning = 0
@@ -7,7 +7,7 @@
name = "mounted teleporter"
desc = "An exosuit module that allows exosuits to teleport to any position in view."
icon_state = "mecha_teleport"
origin_tech = "bluespace=10"
origin_tech = "bluespace=7"
equip_cooldown = 150
energy_drain = 8000
range = RANGED
@@ -25,7 +25,7 @@
/obj/item/mecha_parts/mecha_equipment/teleporter/precise
name = "upgraded teleporter"
desc = "An exosuit module that allows exosuits to teleport to any position in view. This is the high-precision, energy-efficient version."
origin_tech = "bluespace=13"
origin_tech = "bluespace=7"
energy_drain = 1000
tele_precision = 1
@@ -36,7 +36,7 @@
name = "mounted wormhole generator"
desc = "An exosuit module that allows generating of small quasi-stable wormholes."
icon_state = "mecha_wholegen"
origin_tech = "bluespace=3"
origin_tech = "bluespace=4;magnets=4;plasmatech=2"
equip_cooldown = 50
energy_drain = 300
range = RANGED
@@ -82,7 +82,7 @@
name = "mounted gravitational catapult"
desc = "An exosuit mounted Gravitational Catapult."
icon_state = "mecha_teleport"
origin_tech = "bluespace=2;magnets=3"
origin_tech = "bluespace=3;magnets=3;engineering=4"
equip_cooldown = 10
energy_drain = 100
range = MELEE|RANGED
@@ -145,7 +145,7 @@
name = "Armor Booster Module (Close Combat Weaponry)"
desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate."
icon_state = "mecha_abooster_ccw"
origin_tech = "materials=3"
origin_tech = "materials=4;combat=4"
equip_cooldown = 10
energy_drain = 50
range = 0
@@ -163,7 +163,7 @@
name = "Armor Booster Module (Ranged Weaponry)"
desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate."
icon_state = "mecha_abooster_proj"
origin_tech = "materials=4"
origin_tech = "materials=4;combat=3;engineering=3"
equip_cooldown = 10
energy_drain = 50
range = 0
@@ -183,7 +183,7 @@
name = "Repair Droid"
desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost all types of external or internal damage."
icon_state = "repair_droid"
origin_tech = "magnets=3;programming=3"
origin_tech ="magnets=3;programming=3;engineering=4"
equip_cooldown = 20
energy_drain = 50
range = 0
@@ -490,4 +490,4 @@
/obj/item/mecha_parts/mecha_equipment/generator/nuclear/process()
if(..())
for(var/mob/living/carbon/M in view(chassis))
M.apply_effect((rad_per_cycle * 3),IRRADIATE,0)
M.apply_effect((rad_per_cycle * 3),IRRADIATE,0)
@@ -188,7 +188,7 @@
name = "Mounted RCD"
desc = "An exosuit-mounted Rapid Construction Device. (Can be attached to: Any exosuit)"
icon_state = "mecha_rcd"
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4;engineering=4"
equip_cooldown = 10
energy_drain = 250
range = MELEE|RANGED
@@ -287,7 +287,7 @@
name = "mounted MRCD"
desc = "An exosuit-mounted Mime Rapid Construction Device. (Can be attached to: Reticence)"
icon_state = "mecha_rcd"
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4;engineering=4"
equip_cooldown = 10
energy_drain = 250
range = MELEE|RANGED
+11 -1
View File
@@ -70,6 +70,7 @@
equip_cooldown = 8
name = "CH-PS \"Firedart\" Laser"
icon_state = "mecha_laser"
origin_tech = "magnets=3;combat=3;engineering=3"
energy_drain = 30
projectile = /obj/item/projectile/beam
fire_sound = 'sound/weapons/Laser.ogg'
@@ -84,6 +85,7 @@
equip_cooldown = 10
name = "CH-LC \"Solaris\" Laser Cannon"
icon_state = "mecha_laser"
origin_tech = "magnets=4;combat=4;engineering=3"
energy_drain = 60
projectile = /obj/item/projectile/beam/laser/heavylaser
fire_sound = 'sound/weapons/lasercannonfire.ogg'
@@ -92,6 +94,7 @@
equip_cooldown = 40
name = "mkIV Ion Heavy Cannon"
icon_state = "mecha_ion"
origin_tech = "materials=4;combat=5;magnets=4"
energy_drain = 120
projectile = /obj/item/projectile/ion
fire_sound = 'sound/weapons/Laser.ogg'
@@ -170,6 +173,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
name = "PBT \"Pacifier\" Mounted Taser"
icon_state = "mecha_taser"
origin_tech = "combat=3"
energy_drain = 20
equip_cooldown = 8
projectile = /obj/item/projectile/energy/electrode
@@ -270,6 +274,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine
name = "FNX-66 Carbine"
icon_state = "mecha_carbine"
origin_tech = "materials=4;combat=4"
equip_cooldown = 5
projectile = /obj/item/projectile/bullet/incendiary/shell/dragonsbreath
fire_sound = 'sound/weapons/Gunshot.ogg'
@@ -294,6 +299,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
name = "LBX AC 10 \"Scattershot\""
icon_state = "mecha_scatter"
origin_tech = "combat=4"
equip_cooldown = 20
projectile = /obj/item/projectile/bullet/midbullet
fire_sound = 'sound/weapons/Gunshot.ogg'
@@ -305,6 +311,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
name = "Ultra AC 2"
icon_state = "mecha_uac2"
origin_tech = "combat=4"
equip_cooldown = 10
projectile = /obj/item/projectile/bullet/weakbullet3
fire_sound = 'sound/weapons/Gunshot.ogg'
@@ -321,6 +328,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
name = "SRM-8 Light Missile Rack"
icon_state = "mecha_missilerack"
origin_tech = "combat=5;materials=4;engineering=4"
projectile = /obj/item/missile
fire_sound = 'sound/effects/bang.ogg'
projectiles = 8
@@ -373,6 +381,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
name = "SGL-6 Grenade Launcher"
icon_state = "mecha_grenadelnchr"
origin_tech = "combat=4;engineering=4"
projectile = /obj/item/weapon/grenade/flashbang
fire_sound = 'sound/effects/bang.ogg'
projectiles = 6
@@ -398,6 +407,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve
name = "SOB-3 Grenade Launcher"
desc = "A weapon for combat exosuits. Launches primed clusterbangs. You monster."
origin_tech = "combat=4;materials=4"
projectiles = 3
projectile = /obj/item/weapon/grenade/clusterbuster
projectile_energy_cost = 1600 //getting off cheap seeing as this is 3 times the flashbangs held in the grenade launcher.
@@ -504,7 +514,7 @@
icon_state = "mecha_plasmacutter"
item_state = "plasmacutter"
energy_drain = 30
origin_tech = "materials=3;combat=2;powerstorage=3;plasmatech=3"
origin_tech = "materials=3;plasmatech=4;engineering=3"
projectile = /obj/item/projectile/plasma/adv/mech
fire_sound = 'sound/weapons/laser.ogg'
+8 -1
View File
@@ -9,6 +9,7 @@
idle_power_usage = 20
active_power_usage = 5000
var/time_coeff = 1
var/component_coeff = 1
var/list/resources = list(
MAT_METAL=0,
MAT_GLASS=0,
@@ -77,6 +78,12 @@
T += M.rating
res_max_amount = (187000+(T * 37500))
//resources adjustment coefficient (1 -> 0.85 -> 0.7 -> 0.55)
T = 1.15
for(var/obj/item/weapon/stock_parts/micro_laser/Ma in component_parts)
T -= Ma.rating*0.15
component_coeff = T
//building time adjustment coefficient (1 -> 0.8 -> 0.6)
T = -1
for(var/obj/item/weapon/stock_parts/manipulator/Ml in component_parts)
@@ -246,7 +253,7 @@
return
/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, resource, roundto = 1)
return round(D.materials[resource], roundto)
return round(D.materials[resource]*component_coeff, roundto)
/obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(datum/design/D, roundto = 1) //aran
return round(initial(D.construction_time)*time_coeff, roundto)
-1
View File
@@ -602,7 +602,6 @@
WR.crowbar_salvage += E
E.forceMove(WR)
E.equip_ready = 1
E.reliability = round(rand(E.reliability/3,E.reliability))
else
E.forceMove(loc)
qdel(E)
+24 -35
View File
@@ -8,7 +8,7 @@
icon_state = "blank"
w_class = WEIGHT_CLASS_GIGANTIC
flags = CONDUCT
origin_tech = "programming=2;materials=2"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/chassis
@@ -47,25 +47,21 @@
name="Ripley Left Arm"
desc="A Ripley APLU left arm. Data and power sockets are compatible with most exosuit tools."
icon_state = "ripley_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/ripley_right_arm
name="Ripley Right Arm"
desc="A Ripley APLU right arm. Data and power sockets are compatible with most exosuit tools."
icon_state = "ripley_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/ripley_left_leg
name="Ripley Left Leg"
desc="A Ripley APLU left leg. Contains somewhat complex servodrives and balance maintaining systems."
icon_state = "ripley_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/ripley_right_leg
name="Ripley Right Leg"
desc="A Ripley APLU right leg. Contains somewhat complex servodrives and balance maintaining systems."
icon_state = "ripley_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
///////// Gygax
@@ -80,40 +76,40 @@
name="Gygax Torso"
desc="A torso part of Gygax. Contains power unit, processing core and life support systems. Has an additional equipment slot."
icon_state = "gygax_harness"
origin_tech = "programming=2;materials=2;biotech=3;engineering=3"
origin_tech = "programming=2;materials=4;biotech=3;engineering=3"
/obj/item/mecha_parts/part/gygax_head
name="Gygax Head"
desc="A Gygax head. Houses advanced surveilance and targeting sensors."
icon_state = "gygax_head"
origin_tech = "programming=2;materials=2;magnets=3;engineering=3"
origin_tech = "programming=2;materials=4;magnets=3;engineering=3"
/obj/item/mecha_parts/part/gygax_left_arm
name="Gygax Left Arm"
desc="A Gygax left arm. Data and power sockets are compatible with most exosuit tools and weapons."
icon_state = "gygax_l_arm"
origin_tech = "programming=2;materials=2;engineering=3"
origin_tech = "programming=2;materials=4;engineering=3"
/obj/item/mecha_parts/part/gygax_right_arm
name="Gygax Right Arm"
desc="A Gygax right arm. Data and power sockets are compatible with most exosuit tools and weapons."
icon_state = "gygax_r_arm"
origin_tech = "programming=2;materials=2;engineering=3"
origin_tech = "programming=2;materials=4;engineering=3"
/obj/item/mecha_parts/part/gygax_left_leg
name="Gygax Left Leg"
icon_state = "gygax_l_leg"
origin_tech = "programming=2;materials=2;engineering=3"
origin_tech = "programming=2;materials=4;engineering=3"
/obj/item/mecha_parts/part/gygax_right_leg
name="Gygax Right Leg"
icon_state = "gygax_r_leg"
origin_tech = "programming=2;materials=2;engineering=3"
origin_tech = "programming=2;materials=4;engineering=3"
/obj/item/mecha_parts/part/gygax_armour
name="Gygax Armour Plates"
icon_state = "gygax_armour"
origin_tech = "materials=6;combat=4;engineering=5"
origin_tech = "materials=6;combat=4;engineering=4"
//////////// Durand
@@ -158,7 +154,7 @@
/obj/item/mecha_parts/part/durand_armor
name="Durand Armour Plates"
icon_state = "durand_armor"
origin_tech = "materials=5;combat=4;engineering=5"
origin_tech = "materials=5;combat=4;engineering=4"
@@ -278,7 +274,6 @@
/obj/item/mecha_parts/chassis/phazon
name = "Phazon Chassis"
origin_tech = "materials=6"
New()
..()
@@ -287,38 +282,38 @@
/obj/item/mecha_parts/part/phazon_torso
name="Phazon Torso"
icon_state = "phazon_harness"
origin_tech = "programming=5;materials=6;bluespace=5;powerstorage=5"
origin_tech = "programming=4;materials=4;bluespace=4;plasmatech=5"
/obj/item/mecha_parts/part/phazon_head
name="Phazon Head"
icon_state = "phazon_head"
origin_tech = "programming=4;materials=5;magnets=5"
origin_tech = "programming=3;materials=3;magnets=3"
/obj/item/mecha_parts/part/phazon_left_arm
name="Phazon Left Arm"
icon_state = "phazon_l_arm"
origin_tech = "materials=5;bluespace=2;magnets=2"
origin_tech = "materials=3;bluespace=3;magnets=3"
/obj/item/mecha_parts/part/phazon_right_arm
name="Phazon Right Arm"
icon_state = "phazon_r_arm"
origin_tech = "materials=5;bluespace=2;magnets=2"
origin_tech = "materials=3;bluespace=3;magnets=3"
/obj/item/mecha_parts/part/phazon_left_leg
name="Phazon Left Leg"
icon_state = "phazon_l_leg"
origin_tech = "materials=5;bluespace=3;magnets=3"
origin_tech = "materials=3;bluespace=3;magnets=3"
/obj/item/mecha_parts/part/phazon_right_leg
name="Phazon Right Leg"
icon_state = "phazon_r_leg"
origin_tech = "materials=5;bluespace=3;magnets=3"
origin_tech = "materials=3;bluespace=3;magnets=3"
/obj/item/mecha_parts/part/phazon_armor
name="Phazon armor"
desc="Phazon armor plates. They are layered with plasma to protect the pilot from the stress of phasing and have unusual properties."
icon_state = "phazon_armor"
origin_tech = "materials=6;bluespace=5;magnets=5"
origin_tech = "materials=4;bluespace=4;plasmatech=5"
///////// Odysseus
/obj/item/mecha_parts/chassis/odysseus
@@ -331,7 +326,6 @@
/obj/item/mecha_parts/part/odysseus_head
name="Odysseus Head"
icon_state = "odysseus_head"
origin_tech = "programming=3;materials=2"
/obj/item/mecha_parts/part/odysseus_torso
name="Odysseus Torso"
@@ -343,25 +337,21 @@
name="Odysseus Left Arm"
desc="An Odysseus left arm. Data and power sockets are compatible with most exosuit tools."
icon_state = "odysseus_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/odysseus_right_arm
name="Odysseus Right Arm"
desc="An Odysseus right arm. Data and power sockets are compatible with most exosuit tools."
icon_state = "odysseus_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/odysseus_left_leg
name="Odysseus Left Leg"
desc="An Odysseus left leg. Contains somewhat complex servodrives and balance maintaining systems."
icon_state = "odysseus_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/part/odysseus_right_leg
name="Odysseus Right Leg"
desc="A Odysseus right leg. Contains somewhat complex servodrives and balance maintaining systems."
icon_state = "odysseus_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
/*/obj/item/mecha_parts/part/odysseus_armour
name="Odysseus Carapace"
@@ -385,7 +375,7 @@
throw_range = 15
/obj/item/weapon/circuitboard/mecha/ripley
origin_tech = "programming=3"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
name = "Circuit board (Ripley Peripherals Control module)"
@@ -396,7 +386,7 @@
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/gygax
origin_tech = "programming=4"
origin_tech = "programming=4;combat=3;engineering=3"
/obj/item/weapon/circuitboard/mecha/gygax/peripherals
name = "Circuit board (Gygax Peripherals Control module)"
@@ -412,7 +402,7 @@
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/durand
origin_tech = "programming=4"
origin_tech = "programming=4;combat=3;engineering=3"
/obj/item/weapon/circuitboard/mecha/durand/peripherals
name = "Circuit board (Durand Peripherals Control module)"
@@ -421,14 +411,14 @@
/obj/item/weapon/circuitboard/mecha/durand/targeting
name = "Circuit board (Durand Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
origin_tech = "programming=4;combat=4;engineering=3"
/obj/item/weapon/circuitboard/mecha/durand/main
name = "Circuit board (Durand Central Control module)"
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/phazon
origin_tech = "programming=4"
origin_tech = "programming=5;plasmatech=4"
/obj/item/weapon/circuitboard/mecha/phazon/peripherals
name = "Circuit board (Phazon Peripherals Control module)"
@@ -437,14 +427,13 @@
/obj/item/weapon/circuitboard/mecha/phazon/targeting
name = "Circuit board (Phazon Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
/obj/item/weapon/circuitboard/mecha/phazon/main
name = "Circuit board (Phazon Central Control module)"
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/honker
origin_tech = "programming=4"
origin_tech = "programming=3;engineering=3"
/obj/item/weapon/circuitboard/mecha/honker/peripherals
name = "Circuit board (H.O.N.K Peripherals Control module)"
@@ -459,7 +448,7 @@
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/reticence
origin_tech = "programming=4"
origin_tech = "programming=3;engineering=3"
/obj/item/weapon/circuitboard/mecha/reticence/peripherals
name = "circuit board (Reticence Peripherals Control module)"
@@ -474,7 +463,7 @@
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/odysseus
origin_tech = "programming=3"
origin_tech = "programming=3;biotech=3"
/obj/item/weapon/circuitboard/mecha/odysseus/peripherals
name = "Circuit board (Odysseus Peripherals Control module)"
+6 -6
View File
@@ -53,7 +53,7 @@
/obj/effect/anomaly/grav/New()
..()
aSignal.origin_tech = "magnets=5;powerstorage=4"
aSignal.origin_tech = "magnets=7"
/obj/effect/anomaly/grav/anomalyEffect()
..()
@@ -89,7 +89,7 @@
/obj/effect/anomaly/flux/New()
..()
aSignal.origin_tech = "powerstorage=6;programming=4;plasmatech=4"
aSignal.origin_tech = "powerstorage=7"
/////////////////////
@@ -101,7 +101,7 @@
/obj/effect/anomaly/bluespace/New()
..()
aSignal.origin_tech = "bluespace=5;magnets=5;powerstorage=3"
aSignal.origin_tech = "bluespace=7"
/obj/effect/anomaly/bluespace/Bumped(atom/A)
if(isliving(A))
@@ -116,7 +116,7 @@
/obj/effect/anomaly/pyro/New()
..()
aSignal.origin_tech = "plasmatech=5;powerstorage=4;biotech=6"
aSignal.origin_tech = "plasmatech=7"
/obj/effect/anomaly/pyro/anomalyEffect()
..()
@@ -133,7 +133,7 @@
/obj/effect/anomaly/bhole/New()
..()
aSignal.origin_tech = "materials=5;combat=4;engineering=4"
aSignal.origin_tech = "engineering=7"
/obj/effect/anomaly/bhole/anomalyEffect()
..()
@@ -180,4 +180,4 @@
//Damaging the turf
if( T && istype(T,/turf/simulated) && prob(turf_removal_chance) )
T.ex_act(ex_act_force)
return
return
-3
View File
@@ -169,9 +169,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
var/list/techlvls = params2list(origin_tech)
for(var/T in techlvls) //This needs to use the better names.
msg += "Tech: [CallTechName(T)] | Magnitude: [techlvls[T]] <BR>"
msg += "Research reliability: [reliability]% <BR>"
if(crit_fail)
msg += "<span class='danger'>Critical failure detected in subject!</span><BR>"
else
msg += "<span class='danger'>No tech origins detected.</span><BR>"
+1 -1
View File
@@ -7,7 +7,7 @@
slot_flags = SLOT_BELT
flags = NOBLUDGEON
var/flush = null
origin_tech = "programming=4;materials=4"
origin_tech = "programming=3;materials=3"
/obj/item/device/aicard/afterattack(atom/target, mob/user, proximity)
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = ""
flags = CONDUCT
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1;biotech=1"
origin_tech = "magnets=1;biotech=1"
var/list/datum/autopsy_data_scanner/wdata = list()
var/list/chemtraces = list()
var/target_name = null
@@ -13,7 +13,7 @@
item_state = "camera_bug"
throw_speed = 4
throw_range = 20
origin_tech = "syndicate=3;engineering=1"
origin_tech = "syndicate=1;engineering=3"
var/obj/machinery/camera/current = null
@@ -243,7 +243,7 @@ obj/item/device/flashlight/lamp/bananalamp
return //Bio-luminescence does not toggle.
/obj/item/device/flashlight/emp
origin_tech = "magnets=4;syndicate=5"
origin_tech = "magnets=3;syndicate=1"
var/emp_max_charges = 4
var/emp_cur_charges = 4
@@ -9,8 +9,7 @@
slot_flags = SLOT_BELT
materials = list(MAT_METAL=500, MAT_GLASS=500)
w_class = WEIGHT_CLASS_SMALL //Increased to 2, because diodes are w_class 2. Conservation of matter.
origin_tech = "combat=1"
origin_tech = "magnets=2"
origin_tech = "combat=1;magnets=2"
var/energy = 5
var/max_energy = 5
var/effectchance = 33
@@ -49,7 +49,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
origin_tech = "magnets=3;materials=2"
origin_tech = "magnets=3;engineering=4"
var/max_uses = 20
var/uses = 0
@@ -0,0 +1,7 @@
/obj/item/device/machineprototype
name = "machine prototype"
desc = "A complicated machine prototype. You have no idea how it works."
icon = 'icons/obj/machineprototype.dmi'
icon_state = "machineprototype"
materials = list(MAT_METAL=1000, MAT_GLASS=500)
origin_tech = "engineering=6"
+1 -1
View File
@@ -11,7 +11,7 @@
throw_speed = 1
throw_range = 2
materials = list(MAT_METAL=750)
origin_tech = "powerstorage=3;syndicate=5"
origin_tech = "powerstorage=5;syndicate=5"
var/drain_rate = 1600000 // amount of power to drain per tick
var/apc_drain_rate = 50 // Max. amount drained from single APC. In Watts.
var/dissipation_rate = 20000 // Passive dissipation of drained power. In Watts.
@@ -53,7 +53,7 @@
/obj/item/device/radio/beacon/syndicate
name = "suspicious beacon"
desc = "A label on it reads: <i>Activate to have a singularity beacon teleported to your location</i>."
origin_tech = "bluespace=1;syndicate=7"
origin_tech = "bluespace=6;syndicate=5"
syndicate = 1
/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
@@ -67,7 +67,7 @@
/obj/item/device/radio/beacon/syndicate/bomb
name = "suspicious beacon"
desc = "A label on it reads: <i>Warning: Activating this device will send a high-ordinance explosive to your location</i>."
origin_tech = "bluespace=1;syndicate=7"
origin_tech = "bluespace=5;syndicate=5"
/obj/item/device/radio/beacon/syndicate/bomb/attack_self(mob/user as mob)
if(user)
@@ -6,6 +6,7 @@
icon_state = "cypherkey"
item_state = ""
w_class = WEIGHT_CLASS_TINY
origin_tech = "engineering=2;bluespace=1"
var/translate_binary = 0
var/translate_hive = 0
var/syndie = 0
@@ -19,7 +20,7 @@
/obj/item/device/encryptionkey/syndicate
icon_state = "cypherkey"
channels = list("Syndicate" = 1)
origin_tech = "syndicate=3"
origin_tech = "syndicate=1;engineering=3;bluespace=2"
syndie = 1 //Signifies that it de-crypts Syndicate transmissions
/obj/item/device/encryptionkey/syndteam
@@ -33,7 +34,7 @@
desc = "An encryption key for a radio headset. To access the binary channel, use :b."
icon_state = "cypherkey"
translate_binary = 1
origin_tech = "syndicate=3"
origin_tech = "syndicate=3;engineering=4;bluespace=3"
/obj/item/device/encryptionkey/headset_sec
name = "Security Radio Encryption Key"
@@ -233,6 +233,7 @@
desc = "Looks like a circuit. Probably is."
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2;programming=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
+13 -46
View File
@@ -22,15 +22,12 @@ REAGENT SCANNER
var/pulse_duration = 10
/obj/item/device/t_scanner/longer_pulse
origin_tech = "magnets=2;engineering=2"
pulse_duration = 50
/obj/item/device/t_scanner/extended_range
origin_tech = "magnets=1;engineering=3"
scan_range = 3
/obj/item/device/t_scanner/extended_range/longer_pulse
origin_tech = "magnets=2;engineering=3"
scan_range = 3
pulse_duration = 50
@@ -375,10 +372,9 @@ REAGENT SCANNER
throwforce = 5
throw_speed = 4
throw_range = 20
materials = list(MAT_METAL=30, MAT_GLASS=20)
origin_tech = "magnets=2;biotech=2"
materials = list(MAT_METAL=150, MAT_GLASS=100)
origin_tech = "magnets=2;biotech=1;plasmatech=2"
var/details = 0
var/recent_fail = 0
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
@@ -396,9 +392,6 @@ REAGENT SCANNER
/obj/item/device/mass_spectrometer/attack_self(mob/user as mob)
if(user.stat)
return
if(crit_fail)
to_chat(user, "<span class='warning'>This device has critically failed and is no longer functional!</span>")
return
if(!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
@@ -414,34 +407,19 @@ REAGENT SCANNER
break
var/dat = ""
for(var/R in blood_traces)
if(prob(reliability))
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
dat += "[R] <br>"
recent_fail = 0
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
if(recent_fail)
crit_fail = 1
reagents.clear_reagents()
return
else
recent_fail = 1
if(dat)
to_chat(user, "Trace chemicals detected in blood sample: [dat]")
datatoprint = dat
scanning = 0
reagents.clear_reagents()
else
reagents.clear_reagents()
to_chat(user, "<span class='notice'>No trace chemicals detected in blood sample.</span>")
dat += "[R] "
to_chat(user, "[dat]")
reagents.clear_reagents()
return
/obj/item/device/mass_spectrometer/adv
name = "advanced mass-spectrometer"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
origin_tech = "magnets=4;biotech=3;plasmatech=3"
/obj/item/device/mass_spectrometer/proc/print_report()
if(!scanning)
@@ -477,9 +455,8 @@ REAGENT SCANNER
throw_speed = 4
throw_range = 20
materials = list(MAT_METAL=30, MAT_GLASS=20)
origin_tech = "magnets=2;biotech=2"
origin_tech = "magnets=2;biotech=1;plasmatech=2"
var/details = 0
var/recent_fail = 0
var/datatoprint = ""
var/scanning = 1
actions_types = list(/datum/action/item_action/print_report)
@@ -492,23 +469,13 @@ REAGENT SCANNER
return
if(!istype(O))
return
if(crit_fail)
to_chat(user, "<span class='warning'>This device has critically failed and is no longer functional!</span>")
return
if(!isnull(O.reagents))
var/dat = ""
if(O.reagents.reagent_list.len > 0)
var/one_percent = O.reagents.total_volume / 100
for(var/datum/reagent/R in O.reagents.reagent_list)
if(prob(reliability))
dat += "<br>[TAB]<span class='notice'>[R][details ? ": [R.volume / one_percent]%" : ""]</span>"
recent_fail = 0
else if(recent_fail)
crit_fail = 1
dat = null
break
else
recent_fail = 1
dat += "<br>[TAB]<span class='notice'>[R][details ? ": [R.volume / one_percent]%" : ""]</span>"
if(dat)
to_chat(user, "<span class='notice'>Chemicals found: [dat]</span>")
datatoprint = dat
@@ -523,7 +490,7 @@ REAGENT SCANNER
name = "advanced reagent scanner"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
origin_tech = "magnets=4;biotech=3;plasmatech=3"
/obj/item/device/reagent_scanner/proc/print_report()
if(!scanning)
@@ -551,7 +518,7 @@ REAGENT SCANNER
name = "slime scanner"
icon_state = "adv_spectrometer_s"
item_state = "analyzer"
origin_tech = "biotech=1"
origin_tech = "biotech=2"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
throwforce = 0
@@ -5,7 +5,7 @@
icon_state = "scanner"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
origin_tech = "biotech=3;materials=3;magnets=3"
origin_tech = "programming=3;materials=3;magnets=3"
var/datum/nano_module/crew_monitor/crew_monitor
/obj/item/device/sensor_device/New()
+1 -1
View File
@@ -163,7 +163,7 @@
name = "Chameleon flag"
desc = "A poor recreation of the official NT flag. It seems to shimmer a little."
icon_state = "ntflag"
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "syndicate=4;magnets=4"
var/used = 0
/obj/item/flag/chameleon/attack_self(mob/user)
@@ -1,6 +1,7 @@
/obj/item/mounted/frame
name = "mountable frame"
desc = "Place it on a wall."
origin_tech = "materials=1;engineering=1"
var/sheets_refunded = 2
var/list/mount_reqs = list() //can contain simfloor, nospace. Used in try_build to see if conditions are needed, then met
toolspeed = 1
@@ -6,6 +6,7 @@
desc = "Protected by FRM."
icon = 'icons/obj/module.dmi'
icon_state = "cyborg_upgrade"
origin_tech = "programming=2"
var/locked = 0
var/installed = 0
var/require_module = 0
@@ -103,6 +104,7 @@
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
icon_state = "cyborg_upgrade2"
require_module = 1
origin_tech = "engineering=4;materials=5;programming=4"
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
if(..())
@@ -120,6 +122,7 @@
name = "cyborg rapid disabler cooling module"
desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;powerstorage=4;combat=4"
require_module = 1
module_type = /obj/item/weapon/robot_module/security
@@ -144,6 +147,7 @@
name = "ion thruster upgrade"
desc = "A energy-operated thruster system for cyborgs."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;powerstorage=4"
/obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/R)
if(..())
@@ -160,6 +164,7 @@
name = "mining cyborg diamond drill"
desc = "A diamond drill replacement for the mining module's standard drill."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;materials=5"
require_module = 1
module_type = /obj/item/weapon/robot_module/miner
@@ -181,6 +186,7 @@
name = "mining cyborg satchel of holding"
desc = "A satchel of holding replacement for mining cyborg's ore satchel module."
icon_state = "cyborg_upgrade3"
origin_tech = "engineering=4;materials=4;bluespace=4"
require_module = 1
module_type = /obj/item/weapon/robot_module/miner
@@ -200,6 +206,7 @@
name = "illegal equipment module"
desc = "Unlocks the hidden, deadlier functions of a cyborg"
icon_state = "cyborg_upgrade3"
origin_tech = "combat=4;syndicate=1"
require_module = 1
/obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R)
+2 -2
View File
@@ -75,7 +75,7 @@
singular_name = "gauze length"
desc = "Some sterile gauze to wrap around bloody stumps."
icon_state = "gauze"
origin_tech = "biotech=1"
origin_tech = "biotech=2"
/obj/item/stack/medical/bruise_pack/attack(mob/living/M, mob/user)
if(..())
@@ -121,7 +121,7 @@
gender = PLURAL
singular_name = "ointment"
icon_state = "ointment"
origin_tech = "biotech=1"
origin_tech = "biotech=2"
/obj/item/stack/medical/ointment/attack(mob/living/M, mob/user)
if(..())
+1 -1
View File
@@ -4,7 +4,7 @@
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
icon = 'icons/obj/nanopaste.dmi'
icon_state = "tube"
origin_tech = "materials=3;engineering=2"
origin_tech = "materials=2;engineering=3"
amount = 10
toolspeed = 1
@@ -267,7 +267,7 @@
singular_name = "glass sheet"
icon_state = "sheet-plasmaglass"
materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2)
origin_tech = "materials=3;plasmatech=2"
origin_tech = "plasmatech=2;materials=2"
var/created_window = /obj/structure/window/plasmabasic
var/full_window = /obj/structure/window/full/plasmabasic
@@ -356,7 +356,7 @@
singular_name = "reinforced plasma glass sheet"
icon_state = "sheet-plasmarglass"
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2)
origin_tech = "materials=3;plasmatech=2"
origin_tech = "plasmatech=2;materials=2"
var/created_window = /obj/structure/window/plasmareinforced
var/full_window = /obj/structure/window/full/plasmareinforced
@@ -1,9 +1,13 @@
/obj/item/stack/sheet/animalhide
name = "hide"
desc = "Something went wrong."
origin_tech = "biotech=3"
/obj/item/stack/sheet/animalhide/human
name = "human skin"
desc = "The by-product of human farming."
singular_name = "human skin piece"
icon_state = "sheet-hide"
origin_tech = ""
var/global/list/datum/stack_recipe/human_recipes = list( \
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/bloated_human, 5, on_floor = 1), \
@@ -19,42 +23,36 @@ var/global/list/datum/stack_recipe/human_recipes = list( \
desc = "A piece of generic skin."
singular_name = "generic skin piece"
icon_state = "sheet-hide"
origin_tech = null
/obj/item/stack/sheet/animalhide/corgi
name = "corgi hide"
desc = "The by-product of corgi farming."
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
origin_tech = ""
/obj/item/stack/sheet/animalhide/cat
name = "cat hide"
desc = "The by-product of cat farming."
singular_name = "cat hide piece"
icon_state = "sheet-cat"
origin_tech = ""
/obj/item/stack/sheet/animalhide/monkey
name = "monkey hide"
desc = "The by-product of monkey farming."
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
origin_tech = ""
/obj/item/stack/sheet/animalhide/lizard
name = "lizard skin"
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
origin_tech = ""
/obj/item/stack/sheet/animalhide/xeno
name = "alien hide"
desc = "The skin of a terrible creature."
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
origin_tech = ""
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
/obj/item/stack/sheet/xenochitin
@@ -106,7 +106,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
throwforce = 5
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 3
throw_range = 3
/obj/item/stack/sheet/mineral/New()
..()
@@ -118,7 +117,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
desc = "This appears to be a combination of both sand and stone."
singular_name = "sandstone brick"
icon_state = "sheet-sandstone"
throw_speed = 3
throw_range = 5
origin_tech = "materials=1"
sheettype = "sandstone"
@@ -194,7 +192,7 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
name = "silver"
icon_state = "sheet-silver"
singular_name = "silver bar"
origin_tech = "materials=3"
origin_tech = "materials=4"
sheettype = "silver"
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
@@ -242,7 +240,6 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
throwforce = 5
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 1
throw_range = 3
origin_tech = "materials=6;abductor=1"
sheettype = "abductor"
+11 -11
View File
@@ -95,7 +95,7 @@ AI MODULES
name = "\improper 'Safeguard' AI module"
var/targetName = ""
desc = "A 'safeguard' AI module: 'Safeguard <name>. Individuals that threaten <name> are not crew and must be eliminated.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=3"
/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob)
..()
@@ -121,7 +121,7 @@ AI MODULES
name = "\improper 'oneCrewMember' AI module"
var/targetName = ""
desc = "A 'one human' AI module: 'Only <name> is crew.'"
origin_tech = "programming=3;materials=6" //made with diamonds!
origin_tech = "programming=4;materials=4"
/obj/item/weapon/aiModule/oneCrewMember/attack_self(var/mob/user as mob)
..()
@@ -152,7 +152,7 @@ AI MODULES
/obj/item/weapon/aiModule/protectStation
name = "\improper 'ProtectStation' AI module"
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.'"
origin_tech = "programming=3;materials=4" //made of gold
origin_tech = "programming=4;materials=4" //made of gold
/obj/item/weapon/aiModule/protectStation/attack_self(var/mob/user as mob)
..()
@@ -182,7 +182,7 @@ AI MODULES
/obj/item/weapon/aiModule/oxygen
name = "\improper 'OxygenIsToxicToHumans' AI module"
desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'"
origin_tech = "programming=3;biotech=2;materials=4"
origin_tech = "programming=4;biotech=2;materials=4"
/obj/item/weapon/aiModule/oxygen/attack_self(var/mob/user as mob)
..()
@@ -231,7 +231,7 @@ AI MODULES
name = "\improper 'Reset' AI module"
var/targetName = "name"
desc = "A 'reset' AI module: 'Clears all laws except for the core laws.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=2"
/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
log_law_changes(target, sender)
@@ -248,7 +248,7 @@ AI MODULES
/obj/item/weapon/aiModule/purge // -- TLE
name = "\improper 'Purge' AI module"
desc = "A 'purge' AI Module: 'Purges all laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=5;materials=4"
/obj/item/weapon/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
@@ -305,14 +305,14 @@ AI MODULES
/obj/item/weapon/aiModule/paladin // -- NEO
name = "\improper 'P.A.L.A.D.I.N.' core AI module"
desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=3;materials=4"
laws = new/datum/ai_laws/paladin
/****************** T.Y.R.A.N.T. *****************/
/obj/item/weapon/aiModule/tyrant // -- Darem
name = "\improper 'T.Y.R.A.N.T.' core AI module"
desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6;syndicate=2"
origin_tech = "programming=3;materials=4;syndicate=1"
laws = new/datum/ai_laws/tyrant()
/******************** Antimov ********************/
@@ -327,7 +327,7 @@ AI MODULES
name = "\improper 'Freeform' core AI module"
var/newFreeFormLaw = ""
desc = "A 'freeform' Core AI module: '<freeform>'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=5;materials=4"
/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
..()
@@ -353,7 +353,7 @@ AI MODULES
name = "hacked AI module"
var/newFreeFormLaw = ""
desc = "A hacked AI law module: '<freeform>'"
origin_tech = "programming=3;materials=6;syndicate=7"
origin_tech = "programming=5;materials=5;syndicate=5"
/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob)
..()
@@ -384,7 +384,7 @@ AI MODULES
desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell
icon = 'icons/obj/toy.dmi'
icon_state = "AI"
origin_tech = "programming=3;materials=6;syndicate=7"
origin_tech = "programming=6;materials=5;syndicate=6"
laws = list("")
/obj/item/weapon/aiModule/toyAI/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
+1 -1
View File
@@ -394,7 +394,7 @@ RCD
opacity = 0
density = 0
anchored = 0.0
origin_tech = "materials=2"
origin_tech = "materials=3"
materials = list(MAT_METAL=16000, MAT_GLASS=8000)
var/ammoamt = 20
+1 -1
View File
@@ -10,7 +10,7 @@
throw_speed = 1
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "engineering=4;materials=4"
origin_tech = "engineering=4;materials=2"
var/max_amount = 90
var/active = 0
var/obj/structure/cable/last = null
+1 -1
View File
@@ -299,7 +299,7 @@
/obj/item/weapon/card/id/syndicate
name = "agent card"
var/list/initial_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
origin_tech = "syndicate=3"
origin_tech = "syndicate=1"
var/registered_user = null
untrackable = 1
@@ -89,6 +89,7 @@
icon_state = "air_horn"
honk_sound = 'sound/items/AirHorn2.ogg'
cooldowntime = 50
origin_tech = "materials=4;engineering=4"
/obj/item/weapon/bikehorn/golden
name = "golden bike horn"
+1 -3
View File
@@ -112,8 +112,6 @@
/obj/item/weapon/defibrillator/emp_act(severity)
if(bcell)
deductcharge(1000 / severity)
if(bcell.reliability != 100 && prob(50/severity))
bcell.reliability -= 10 / severity
if(safety)
safety = 0
src.visible_message("<span class='notice'>[src] beeps: Safety protocols disabled!</span>")
@@ -208,7 +206,7 @@
item_state = "defibcompact"
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_BELT
origin_tech = "biotech=4"
origin_tech = "biotech=5"
/obj/item/weapon/defibrillator/compact/item_action_slot_check(slot, mob/user)
if(slot == slot_belt)
@@ -6,7 +6,7 @@
flags = NOBLUDGEON
det_time = 10
display_timer = 0
origin_tech = "syndicate=2"
origin_tech = "syndicate=1"
toolspeed = 1
var/atom/target = null
var/image_overlay = null
@@ -13,7 +13,7 @@
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL=500)
origin_tech = "combat=1;plasmatech=1"
origin_tech = "combat=1;plasmatech=2;engineering=2"
var/status = 0
var/throw_amount = 100
var/lit = 0 //on or off
@@ -4,7 +4,7 @@
/obj/item/weapon/grenade/gas
name = "Plasma Fire Grenade"
desc = "A compressed plasma grenade, used to start horrific plasma fires."
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
icon = 'icons/obj/grenade.dmi'
icon_state = "syndicate"
item_state = "flashbang"
@@ -332,7 +332,7 @@
bomb_state = "largebomb"
allowed_containers = list(/obj/item/weapon/reagent_containers/glass,/obj/item/weapon/reagent_containers/food/condiment,
/obj/item/weapon/reagent_containers/food/drinks)
origin_tech = "combat=3;materials=3"
origin_tech = "combat=3;engineering=3"
affected_area = 4
@@ -3,7 +3,7 @@
desc = "It is designed to wreak havoc on electronic systems."
icon_state = "emp"
item_state = "emp"
origin_tech = "materials=2;magnets=3"
origin_tech = "magnets=3;combat=2"
/obj/item/weapon/grenade/empgrenade/prime()
update_mob()
@@ -2,7 +2,7 @@
name = "flashbang"
icon_state = "flashbang"
item_state = "flashbang"
origin_tech = "materials=2;combat=1"
origin_tech = "materials=2;combat=3"
/obj/item/weapon/grenade/flashbang/prime()
update_mob()
@@ -35,20 +35,20 @@
name = "manhack delivery grenade"
spawner_type = /mob/living/simple_animal/hostile/viscerator
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
/obj/item/weapon/grenade/spawnergrenade/spesscarp
name = "carp delivery grenade"
spawner_type = /mob/living/simple_animal/hostile/carp
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
/obj/item/weapon/grenade/spawnergrenade/feral_cats
name = "feral cat delivery grenade"
desc = "This grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
spawner_type = /mob/living/simple_animal/hostile/feral_cat
deliveryamt = 5
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
/obj/item/weapon/grenade/spawnergrenade/feral_cats/prime() //Own proc for this because the regular one would flash people which was dumb.
update_mob()
@@ -65,4 +65,4 @@
qdel(src)
return
return
@@ -4,9 +4,9 @@
icon = 'icons/obj/grenade.dmi'
icon_state = "syndicate"
item_state = "flashbang"
origin_tech = "materials=3;magnets=4;syndicate=4"
origin_tech = "materials=3;magnets=4;syndicate=3"
/obj/item/weapon/grenade/syndieminibomb/prime()
update_mob()
explosion(src.loc,1,2,4,flame_range = 2)
qdel(src)
qdel(src)
+2 -1
View File
@@ -11,7 +11,7 @@
throw_speed = 2
throw_range = 5
materials = list(MAT_METAL=500)
origin_tech = "materials=1"
origin_tech = "engineering=3;combat=3"
breakouttime = 600 //Deciseconds = 60s = 1 minutes
var/cuffsound = 'sound/weapons/handcuffs.ogg'
var/trashtype = null //For disposable cuffs
@@ -75,6 +75,7 @@
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_white"
origin_tech = "engineering=2"
materials = list(MAT_METAL=150, MAT_GLASS=75)
breakouttime = 300 //Deciseconds = 30s
cuffsound = 'sound/weapons/cablecuff.ogg'
+1 -1
View File
@@ -9,7 +9,7 @@
throwforce = 0
throw_speed = 3
throw_range = 7
origin_tech = "programming=3"
origin_tech = "magnets=1;programming=3"
var/list/signs = list()
var/max_signs = 20
@@ -3,7 +3,7 @@
desc = "Use this to escape from those evil Red Shirts."
icon_state = "freedom"
item_color = "r"
origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4"
origin_tech = "combat=5;magnets=3;biotech=4;syndicate=2"
uses = 4
@@ -48,4 +48,4 @@ No Implant Specifics"}
/obj/item/weapon/implantcase/freedom/New()
imp = new /obj/item/weapon/implant/freedom(src)
..()
..()
@@ -2,7 +2,7 @@
name = "firearms authentication implant"
desc = "Lets you shoot your guns"
icon_state = "auth"
origin_tech = "materials=2;magnets=2;programming=2;biotech=5;syndicate=5"
origin_tech = "magnets=2;programming=7;biotech=5;syndicate=5"
activated = 0
/obj/item/weapon/implant/weapons_auth/get_data()
@@ -53,7 +53,7 @@
name = "emp implant"
desc = "Triggers an EMP."
icon_state = "emp"
origin_tech = "materials=2;biotech=3;magnets=4;syndicate=4"
origin_tech = "biotech=3;magnets=4;syndicate=1"
uses = 2
/obj/item/weapon/implant/emp/activate()
@@ -65,4 +65,4 @@
/obj/item/weapon/implant/cortical
name = "cortical stack"
desc = "A fist-sized mass of biocircuits and chips."
icon_state = "implant_evil"
icon_state = "implant_evil"
@@ -12,7 +12,7 @@
name = "storage implant"
desc = "Stores up to two big items in a bluespace pocket."
icon_state = "storage"
origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4"
origin_tech = "materials=2;magnets=4;bluespace=5;syndicate=4"
item_color = "r"
var/obj/item/weapon/storage/hidden/implant/storage
@@ -7,7 +7,7 @@
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
origin_tech = "materials=1;biotech=3;programming=2"
origin_tech = "materials=2;biotech=3"
materials = list(MAT_METAL=600, MAT_GLASS=200)
toolspeed = 1
var/obj/item/weapon/implant/imp = null
@@ -3,7 +3,7 @@
desc = "Summon things."
icon = 'icons/obj/radio.dmi'
icon_state = "radio"
origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=8;bluespace=5"
origin_tech = "materials=4;magnets=4;programming=4;biotech=4;syndicate=5;bluespace=5"
/obj/item/weapon/implant/uplink/New()
hidden_uplink = new(src)
@@ -32,4 +32,4 @@
/obj/item/weapon/implanter/uplink/New()
imp = new /obj/item/weapon/implant/uplink(src)
..()
..()
+2 -3
View File
@@ -12,6 +12,7 @@
/obj/item/weapon/kitchen
icon = 'icons/obj/kitchen.dmi'
origin_tech = "materials=1"
/*
* Utensils
@@ -23,7 +24,6 @@
throw_speed = 3
throw_range = 5
flags = CONDUCT
origin_tech = "materials=1"
attack_verb = list("attacked", "stabbed", "poked")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 0
@@ -97,7 +97,6 @@
throw_speed = 3
throw_range = 6
materials = list(MAT_METAL=12000)
origin_tech = "materials=1"
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
no_embed = 1
sharp = 1
@@ -149,7 +148,7 @@
desc = "A military combat utility survival knife."
force = 20
throwforce = 20
origin_tech = "materials=2;combat=4"
origin_tech = "materials=3;combat=4"
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut")
/obj/item/weapon/kitchen/knife/carrotshiv
+2 -1
View File
@@ -7,7 +7,7 @@
flags = CONDUCT
throwforce = 0
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "materials=1"
origin_tech = "engineering=3;combat=3"
slowdown = 7
breakouttime = 300 //Deciseconds = 30s = 0.5 minute
@@ -17,6 +17,7 @@
throw_range = 1
icon_state = "beartrap"
desc = "A trap used to catch bears and other legged creatures."
origin_tech = "engineering=4"
var/armed = 0
var/trap_damage = 20
var/obj/item/weapon/grenade/iedcasing/IED = null
+1 -4
View File
@@ -580,11 +580,8 @@
<h2>Protolathe</h2>
This machine is an advanced form of the Autolathe that produce non-circuit designs. Unlike the Autolathe, it can use processed metal, glass, solid plasma, silver, gold, and diamonds along with a variety of chemicals to produce devices. The downside is that, again, not all devices you make are 100% reliable when you first discover them.
<h1>Reliability and You</h1>
As it has been stated, many devices when they're first discovered do not have a 100% reliablity when you first discover them. Instead, the reliablity of the device is dependent upon a base reliability value, whatever improvements to the design you've discovered through the Destructive Analyzer, and any advancements you've made with the device's source technologies. To be able to improve the reliability of a device, you have to use the device until it breaks beyond repair. Once that happens, you can analyze it in a Destructive Analyzer. Once the device reachs a certain minimum reliability, you'll gain tech advancements from it.
<h1>Building a Better Machine</h1>
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results! Be warned, however: Tier 3 and higher stock parts don't have 100% reliability and their low reliability may affect the reliability of the end machine.
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results!
</body>
</html>
"}*/
@@ -66,7 +66,7 @@
hitsound = "swing_hit"
flags = CONDUCT
armour_penetration = 100
origin_tech = "combat=3"
origin_tech = "combat=4;magnets=3"
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
attack_verb_on = list()
sharp = 1
@@ -86,7 +86,7 @@
throw_range = 5
hitsound = "swing_hit"
armour_penetration = 35
origin_tech = "magnets=3;syndicate=4"
origin_tech = "combat=3;magnets=4;syndicate=4"
block_chance = 50
sharp = 1
edge = 1
@@ -123,7 +123,6 @@
sharp = 1
edge = 1
hitsound = 'sound/weapons/circsawhit.ogg'
origin_tech = "materials=3;biotech=3;syndicate=3"
icon = 'icons/obj/surgery.dmi'
icon_state = "esaw_0"
icon_state_on = "esaw_1"
@@ -11,7 +11,7 @@
force = 10
throwforce = 7
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "combat=4"
origin_tech = "combat=5"
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
hitsound = 'sound/weapons/slash.ogg' //pls replace
@@ -61,4 +61,4 @@
force = 10
throwforce = 7
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("slashed", "stabbed", "sliced", "caned")
attack_verb = list("slashed", "stabbed", "sliced", "caned")
+1
View File
@@ -78,6 +78,7 @@
mopcap = 15
icon_state = "advmop"
item_state = "mop" //meh will do for now until TG makes one
origin_tech = "materials=3;engineering=3"
force = 6
throwforce = 8
throw_range = 4
@@ -15,7 +15,6 @@
materials = list(MAT_METAL=700, MAT_GLASS=50)
var/rigged = 0 // true if rigged to explode
var/chargerate = 100 //how much power is given every tick in a recharger
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
var/self_recharge = 0 //does it self recharge, over time, or not?
var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it.
@@ -102,7 +101,7 @@
/obj/item/weapon/stock_parts/cell/super
name = "super-capacity power cell"
origin_tech = "powerstorage=5"
origin_tech = "powerstorage=3;materials=3"
icon_state = "scell"
maxcharge = 20000
materials = list(MAT_GLASS=300)
@@ -115,7 +114,7 @@
/obj/item/weapon/stock_parts/cell/hyper
name = "hyper-capacity power cell"
origin_tech = "powerstorage=6"
origin_tech = "powerstorage=4;engineering=4;materials=4"
icon_state = "hpcell"
maxcharge = 30000
materials = list(MAT_GLASS=400)
@@ -128,7 +127,7 @@
/obj/item/weapon/stock_parts/cell/bluespace
name = "bluespace power cell"
origin_tech = "powerstorage=7"
origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4"
icon_state = "bscell"
maxcharge = 40000
materials = list(MAT_GLASS=600)
@@ -142,7 +141,7 @@
/obj/item/weapon/stock_parts/cell/infinite
name = "infinite-capacity power cell!"
icon_state = "icell"
origin_tech = null
origin_tech = "powerstorage=7"
maxcharge = 30000
materials = list(MAT_GLASS=1000)
rating = 6
@@ -161,13 +160,12 @@
maxcharge = 300
materials = list()
rating = 1
minor_fault = 1
grown_battery = TRUE //it has the overlays for wires
/obj/item/weapon/stock_parts/cell/high/slime
name = "charged slime core"
desc = "A yellow slime core infused with plasma, it crackles with power."
origin_tech = "powerstorage=2;biotech=4"
origin_tech = "powerstorage=5;biotech=4"
icon = 'icons/mob/slimes.dmi'
icon_state = "yellow slime extract"
materials = list()
+2 -2
View File
@@ -8,13 +8,13 @@
item_state = "paper"
throw_speed = 4
throw_range = 20
origin_tech = "bluespace=4"
origin_tech = "bluespace=6"
burn_state = FLAMMABLE
/obj/item/weapon/teleportation_scroll/apprentice
name = "lesser scroll of teleportation"
uses = 1
origin_tech = "bluespace 2"
origin_tech = "bluespace=5"
/obj/item/weapon/teleportation_scroll/attack_self(mob/user as mob)
user.set_machine(src)
+4 -2
View File
@@ -21,7 +21,7 @@
throw_range = 3
w_class = WEIGHT_CLASS_BULKY
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
origin_tech = "materials=2"
origin_tech = "materials=3;combat=4"
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
@@ -46,6 +46,7 @@
icon_state = "buckler"
item_state = "buckler"
materials = list()
origin_tech = "materials=1;combat=3;biotech=2"
burn_state = FLAMMABLE
block_chance = 30
@@ -59,7 +60,7 @@
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=4;magnets=3;syndicate=4"
origin_tech = "materials=4;magnets=5;syndicate=6"
attack_verb = list("shoved", "bashed")
var/active = 0
@@ -102,6 +103,7 @@
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
icon = 'icons/obj/weapons.dmi'
icon_state = "teleriot0"
origin_tech = "materials=3;combat=4;engineering=4"
slot_flags = null
force = 3
throwforce = 3
+23 -24
View File
@@ -24,12 +24,11 @@
/obj/item/weapon/storage/part_replacer/afterattack(obj/machinery/T as obj, mob/living/carbon/human/user as mob, flag, params)
if(flag)
return
else
if(works_from_distance)
if(istype(T))
if(T.component_parts)
T.exchange_parts(user, src)
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
else if(works_from_distance)
if(istype(T))
if(T.component_parts)
T.exchange_parts(user, src)
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
return
/obj/item/weapon/storage/part_replacer/bluespace
@@ -164,7 +163,7 @@
name = "super capacitor"
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
icon_state = "super_capacitor"
origin_tech = "powerstorage=5;materials=4"
origin_tech = "powerstorage=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -172,7 +171,7 @@
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
icon_state = "super_scan_module"
origin_tech = "magnets=5"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -180,7 +179,7 @@
name = "pico-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "pico_mani"
origin_tech = "materials=5;programming=2"
origin_tech = "materials=4;programming=4,engineering=4"
rating = 3
materials = list(MAT_METAL=30)
@@ -188,7 +187,7 @@
name = "ultra-high-power micro-laser"
icon_state = "ultra_high_micro_laser"
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=5"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -196,7 +195,7 @@
name = "super matter bin"
desc = "A container for hold compressed matter awaiting re-construction."
icon_state = "super_matter_bin"
origin_tech = "materials=5"
origin_tech = "materials=4;engineering=4"
rating = 3
materials = list(MAT_METAL=80)
@@ -206,7 +205,7 @@
name = "quadratic capacitor"
desc = "An capacity capacitor used in the construction of a variety of devices."
icon_state = "quadratic_capacitor"
origin_tech = "powerstorage=6;materials=5"
origin_tech = "powerstorage=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -214,7 +213,7 @@
name = "triphasic scanning module"
desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices."
icon_state = "triphasic_scan_module"
origin_tech = "magnets=6"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -222,7 +221,7 @@
name = "femto-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "femto_mani"
origin_tech = "materials=6;programming=3"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=30)
@@ -230,7 +229,7 @@
name = "quad-ultra micro-laser"
icon_state = "quadultra_micro_laser"
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=6"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -238,7 +237,7 @@
name = "bluespace matter bin"
desc = "A container for hold compressed matter awaiting re-construction."
icon_state = "bluespace_matter_bin"
origin_tech = "materials=6"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=80)
@@ -248,49 +247,49 @@
name = "subspace ansible"
icon_state = "subspace_ansible"
desc = "A compact module capable of sensing extradimensional activity."
origin_tech = "programming=2;magnets=3;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/filter
name = "hyperwave filter"
icon_state = "hyperwave_filter"
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
origin_tech = "programming=2;magnets=1"
origin_tech = "programming=2;magnets=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/amplifier
name = "subspace amplifier"
icon_state = "subspace_amplifier"
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
origin_tech = "programming=2;magnets=2;materials=1;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/treatment
name = "subspace treatment disk"
icon_state = "treatment_disk"
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
origin_tech = "programming=2;magnets=1;materials=3;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/analyzer
name = "subspace wavelength analyzer"
icon_state = "wavelength_analyzer"
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/crystal
name = "ansible crystal"
icon_state = "ansible_crystal"
desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
origin_tech = "magnets=2;materials=2;bluespace=1"
origin_tech = "magnets=2;materials=2;bluespace=2;plasmatech=2"
materials = list(MAT_GLASS=50)
/obj/item/weapon/stock_parts/subspace/transmitter
name = "subspace transmitter"
icon_state = "subspace_transmitter"
desc = "A large piece of equipment used to open a window into the subspace dimension."
origin_tech = "magnets=3;materials=3;bluespace=2"
origin_tech = "magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=50)
/obj/item/weapon/research//Makes testing much less of a pain -Sieve
@@ -298,4 +297,4 @@
icon = 'icons/obj/stock_parts.dmi'
icon_state = "capacitor"
desc = "A debug item for research."
origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8"
origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8;engineering=8;plasmatech=8;abductor=8"
@@ -12,6 +12,7 @@
desc = "His Grace."
force = 5
throwforce = 10
origin_tech = "combat=4;engineering=4;syndicate=2"
var/list/servantlinks = list()
var/hunger = 0
var/hunger_message_level = 0
@@ -33,55 +33,39 @@
/obj/item/weapon/storage/backpack/holding
name = "Bag of Holding"
desc = "A backpack that opens into a localized pocket of Blue Space."
origin_tech = "bluespace=4"
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
icon_state = "holdingpack"
max_w_class = WEIGHT_CLASS_HUGE
max_combined_w_class = 35
burn_state = FIRE_PROOF
New()
..()
return
/obj/item/weapon/storage/backpack/holding/New()
..()
return
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(crit_fail)
to_chat(user, "<span class='warning'>The Bluespace generator isn't working.</span>")
return
else if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
if(response == "Yes")
user.visible_message("<span class='warning'>[user] grins as \he begins to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
if(do_after(user, 30, target=src))
investigate_log("has become a singularity. Caused by [user.key]","singulo")
user.visible_message("<span class='warning'>[user] erupts in evil laughter as \he puts the Bag of Holding into another Bag of Holding!</span>", "<span class='warning'>You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you.</span>","<span class='warning'> You hear the sound of scientific evil brewing! </span>")
qdel(W)
var/obj/singularity/singulo = new /obj/singularity(get_turf(user))
singulo.energy = 300 //To give it a small boost
message_admins("[key_name_admin(user)] detonated a bag of holding <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_game("[key_name(user)] detonated a bag of holding")
qdel(src)
else
user.visible_message("After careful consideration, [user] has decided that putting a Bag of Holding inside another Bag of Holding would not yield the ideal outcome.","You come to the realization that this might not be the greatest idea.")
else
. = ..()
proc/failcheck(mob/user as mob)
if(prob(src.reliability)) return 1 //No failure
if(prob(src.reliability))
to_chat(user, "<span class='warning'>The Bluespace portal resists your attempt to add another item.</span>")//light failure
else
to_chat(user, "<span class='warning'>The Bluespace generator malfunctions!</span>")
for(var/obj/O in src.contents) //it broke, delete what was in it
qdel(O)
crit_fail = 1
icon_state = "brokenpack"
singularity_act(current_size)
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist),(dist*2),(dist*4))
return
/obj/item/weapon/storage/backpack/holding/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/storage/backpack/holding))
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
if(response == "Yes")
user.visible_message("<span class='warning'>[user] grins as \he begins to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
if(do_after(user, 30, target=src))
investigate_log("has become a singularity. Caused by [user.key]","singulo")
user.visible_message("<span class='warning'>[user] erupts in evil laughter as \he puts the Bag of Holding into another Bag of Holding!</span>", "<span class='warning'>You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you.</span>","<span class='warning'> You hear the sound of scientific evil brewing! </span>")
qdel(W)
var/obj/singularity/singulo = new /obj/singularity(get_turf(user))
singulo.energy = 300 //To give it a small boost
message_admins("[key_name_admin(user)] detonated a bag of holding <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_game("[key_name(user)] detonated a bag of holding")
qdel(src)
else
user.visible_message("After careful consideration, [user] has decided that putting a Bag of Holding inside another Bag of Holding would not yield the ideal outcome.","You come to the realization that this might not be the greatest idea.")
else
. = ..()
/obj/item/weapon/storage/backpack/holding/singularity_act(current_size)
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist),(dist*2),(dist*4))
return
/obj/item/weapon/storage/backpack/santabag
name = "Santa's Gift Bag"
@@ -72,6 +72,7 @@
name = "trash bag of holding"
desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage."
icon_state = "bluetrashbag"
origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3"
max_combined_w_class = 60
storage_slots = 60
@@ -131,6 +132,7 @@
desc = "This little bugger can be used to store and transport ores."
icon = 'icons/obj/mining.dmi'
icon_state = "satchel"
origin_tech = "engineering=2"
slot_flags = SLOT_BELT | SLOT_POCKET
w_class = WEIGHT_CLASS_NORMAL
storage_slots = 50
@@ -147,7 +149,7 @@
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
storage_slots = INFINITY
max_combined_w_class = INFINITY
origin_tech = "bluespace=3"
origin_tech = "bluespace=4;materials=3;engineering=3"
icon_state = "satchel_bspace"
/obj/item/weapon/storage/bag/ore/holding/cyborg
@@ -509,21 +509,9 @@
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_SMALL
max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate
origin_tech = "bluespace=4"
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
can_hold = list()
proc/failcheck(mob/user as mob)
if(prob(src.reliability)) return 1 //No failure
if(prob(src.reliability))
to_chat(user, "<span class='warning'>The Bluespace portal resists your attempt to add another item.</span>")//light failure
else
to_chat(user, "<span class='warning'>The Bluespace generator malfunctions!</span>")
for(var/obj/O in src.contents) //it broke, delete what was in it
qdel(O)
crit_fail = 1
return 0
/obj/item/weapon/storage/belt/bluespace/owlman
name = "Owlman's utility belt"
desc = "Sometimes people choose justice. Sometimes, justice chooses you..."
@@ -532,7 +520,7 @@
storage_slots = 6
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 18
origin_tech = "bluespace=4;syndicate=2"
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
allow_quick_empty = 1
can_hold = list(
/obj/item/weapon/grenade/smokebomb,
@@ -11,7 +11,7 @@
throw_range = 7
w_class = WEIGHT_CLASS_BULKY
materials = list(MAT_METAL = 500)
origin_tech = "combat=1"
origin_tech = "combat=1;engineering=1"
attack_verb = list("robusted")
hitsound = 'sound/weapons/smash.ogg'
@@ -71,7 +71,7 @@
name = "suspicious looking toolbox"
icon_state = "syndicate"
item_state = "toolbox_syndi"
origin_tech = "combat=1;syndicate=1"
origin_tech = "combat=2;syndicate=1;engineering=2"
silent = 1
force = 15.0
throwforce = 18.0
@@ -165,8 +165,6 @@
/obj/item/weapon/melee/baton/emp_act(severity)
if(bcell)
deductcharge(1000 / severity)
if(bcell.reliability != 100 && prob(50/severity))
bcell.reliability -= 10 / severity
..()
/obj/item/weapon/melee/baton/wash(mob/user, atom/source)
@@ -22,7 +22,7 @@
throw_speed = 4
throw_range = 20
materials = list(MAT_METAL=400)
origin_tech = "magnets=1"
origin_tech = "magnets=3;bluespace=2"
/obj/item/weapon/locator/attack_self(mob/user as mob)
add_fingerprint(usr)
@@ -102,7 +102,7 @@ Frequency:
throw_speed = 3
throw_range = 5
materials = list(MAT_METAL=10000)
origin_tech = "magnets=1;bluespace=3"
origin_tech = "magnets=3;bluespace=4"
var/active_portals = 0
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
+3 -3
View File
@@ -205,7 +205,7 @@
wieldsound = 'sound/weapons/saberon.ogg'
unwieldsound = 'sound/weapons/saberoff.ogg'
armour_penetration = 35
origin_tech = "magnets=3;syndicate=4"
origin_tech = "magnets=4;syndicate=5"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
block_chance = 75
sharp = 1
@@ -547,7 +547,7 @@
throw_range = 1
w_class = WEIGHT_CLASS_HUGE
var/charged = 5
origin_tech = "combat=5;bluespace=4"
origin_tech = "combat=4;bluespace=4;plasmatech=7"
/obj/item/weapon/twohanded/singularityhammer/New()
..()
@@ -612,7 +612,7 @@
throw_range = 7
w_class = WEIGHT_CLASS_HUGE
//var/charged = 5
origin_tech = "combat=5;powerstorage=5"
origin_tech = "combat=4;powerstorage=7"
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target as mob)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread()
+1 -1
View File
@@ -9,7 +9,7 @@
throwforce = 2
throw_speed = 3
throw_range = 10
origin_tech = "magnets=1"
origin_tech = "magnets=1;engineering=1"
toolspeed = 1
usesound = 'sound/items/Deconstruct.ogg'
+1 -1
View File
@@ -3,7 +3,7 @@
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)
origin_tech = "magnets=2"
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"
materials = list(MAT_METAL=100)
origin_tech = "combat=1"
origin_tech = "combat=1;materials=2;engineering=1"
var/armed = 0
bomb_name = "contact mine"
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "Used for scanning and alerting when someone enters a certain proximity."
icon_state = "prox"
materials = list(MAT_METAL=800, MAT_GLASS=200)
origin_tech = "magnets=1"
origin_tech = "magnets=1;engineering=1"
secured = 0
+1 -1
View File
@@ -4,7 +4,7 @@
icon_state = "signaller"
item_state = "signaler"
materials = list(MAT_METAL=400, MAT_GLASS=120)
origin_tech = "magnets=1"
origin_tech = "magnets=1;bluespace=1"
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
secured = 1
+1 -1
View File
@@ -3,7 +3,7 @@
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)
origin_tech = "magnets=1"
origin_tech = "magnets=1;engineering=1"
secured = 0
+3 -3
View File
@@ -3,7 +3,7 @@
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
icon_state = "voice"
materials = list(MAT_METAL=500, MAT_GLASS=50)
origin_tech = "magnets=1"
origin_tech = "magnets=1;engineering=1"
var/listening = 0
var/recorded = null //the activation message
var/recorded_type = 0 // 0 for say, 1 for emote
@@ -18,10 +18,10 @@
hear_talk(mob/living/M as mob, msg)
hear_input(M, msg, 0)
hear_message(mob/living/M as mob, msg)
hear_input(M, msg, 1)
proc/hear_input(mob/living/M as mob, msg, type)
if(!istype(M,/mob/living))
return
+4 -2
View File
@@ -35,7 +35,7 @@
desc = "Used for seeing walls, floors, and stuff through anything."
icon_state = "meson"
item_state = "glasses"
origin_tech = "magnets=2;engineering=2"
origin_tech = "magnets=1;engineering=2"
vision_flags = SEE_TURFS
invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these
prescription_upgradable = 1
@@ -51,6 +51,7 @@
desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
icon_state = "nvgmeson"
item_state = "glasses"
origin_tech = "magnets=4;engineering=5;plasmatech=4"
darkness_view = 8
prescription_upgradable = 0
@@ -84,6 +85,7 @@
desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents."
icon_state = "purple"
item_state = "glasses"
origin_tech = "magnets=2;engineering=1"
prescription_upgradable = 0
scan_reagents = 1 //You can see reagents while wearing science goggles
species_fit = list("Vox")
@@ -119,7 +121,7 @@
desc = "You can totally see in the dark now!"
icon_state = "night"
item_state = "glasses"
origin_tech = "magnets=2"
origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4"
darkness_view = 8
invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these
species_fit = list("Vox")
+8 -1
View File
@@ -29,6 +29,7 @@
name = "\improper Health Scanner HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status."
icon_state = "healthhud"
origin_tech = "magnets=3;biotech=2"
HUDType = DATA_HUD_MEDICAL_ADVANCED
species_fit = list("Vox")
sprite_sheets = list(
@@ -48,6 +49,7 @@
desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness."
icon_state = "healthhudnight"
item_state = "glasses"
origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5"
darkness_view = 8
invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these
prescription_upgradable = 0
@@ -56,6 +58,7 @@
name = "Diagnostic HUD"
desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits."
icon_state = "diagnostichud"
origin_tech = "magnets=2;engineering=2"
HUDType = DATA_HUD_DIAGNOSTIC
species_fit = list("Vox")
sprite_sheets = list(
@@ -67,6 +70,7 @@
desc = "A robotics diagnostic HUD fitted with a light amplifier."
icon_state = "diagnostichudnight"
item_state = "glasses"
origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5"
darkness_view = 8
invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these
prescription_upgradable = 0
@@ -75,6 +79,7 @@
name = "\improper Security HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records."
icon_state = "securityhud"
origin_tech = "magnets=3;combat=2"
var/global/list/jobs[0]
HUDType = DATA_HUD_SECURITY_ADVANCED
species_fit = list("Vox")
@@ -102,6 +107,7 @@
name = "\improper Night Vision Security HUD"
desc = "An advanced heads-up display which provides id data and vision in complete darkness."
icon_state = "securityhudnight"
origin_tech = "magnets=4;combat=4;plasmatech=4;engineering=5"
darkness_view = 8
invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these
prescription_upgradable = 0
@@ -110,6 +116,7 @@
name = "HUDSunglasses"
desc = "Sunglasses with a HUD."
icon_state = "sunhud"
origin_tech = "magnets=3;combat=3;engineering=3"
darkness_view = 1
flash_protect = 1
tint = 1
@@ -165,4 +172,4 @@
up = 0
/obj/item/clothing/glasses/hud/health/tajblind/attack_self()
toggle_veil()
toggle_veil()
+1 -1
View File
@@ -31,7 +31,7 @@
flash_protect = 2
tint = 2
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
origin_tech = "materials=2;engineering=2"
origin_tech = "materials=2;engineering=3"
actions_types = list(/datum/action/item_action/toggle)
/obj/item/clothing/mask/gas/welding/attack_self()
-1
View File
@@ -8,7 +8,6 @@
name = "gas mask"
// desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics."
var/obj/item/voice_changer/changer
origin_tech = "syndicate=4"
burn_state = FIRE_PROOF
/obj/item/clothing/mask/gas/voice/verb/Toggle_Voice_Changer()

Some files were not shown because too many files have changed in this diff Show More