diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 419dd7817a0..15d4f64735b 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -19,10 +19,11 @@ var/const/ROOM_ERR_SPACE = -1 var/const/ROOM_ERR_TOOLARGE = -2 -/obj/item/blueprints/attack_self(mob/M as mob) - if (!istype(M,/mob/living/carbon/human)) - M << "This stack of blue paper means nothing to you." //monkeys cannot into projecting +/obj/item/blueprints/attack_self(mob/user as mob) + if (use_check(user)) + user << "This stack of blue paper means nothing to you." return + add_fingerprint(user) interact() return diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 4f4b53c7c0a..5555425c778 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -47,14 +47,6 @@ throw_range = 20 flags = 0 -/obj/item/stack/tile/wood/cyborg - name = "wood floor tile synthesizer" - desc = "A device that makes wood floor tiles." - uses_charge = 1 - charge_costs = list(250) - stacktype = /obj/item/stack/tile/wood - build_type = /obj/item/stack/tile/wood - /* * Carpets */ @@ -117,12 +109,58 @@ icon_state = "tile_freezer" matter = list("plastic" = 937.5) +/* + * Cyborg modules + */ + +/obj/item/stack/tile/wood/cyborg + name = "wood floor tile synthesizer" + desc = "A device that makes wood floor tiles." + uses_charge = 1 + charge_costs = list(250) + stacktype = /obj/item/stack/tile/wood + build_type = /obj/item/stack/tile/wood + /obj/item/stack/tile/floor/cyborg name = "floor tile synthesizer" - desc = "A device that makes floor tiles." - gender = NEUTER - matter = null + desc = "A device that makes steel floor tiles." uses_charge = 1 charge_costs = list(250) stacktype = /obj/item/stack/tile/floor build_type = /obj/item/stack/tile/floor + +/obj/item/stack/tile/floor_white/cyborg + name = "white floor tile synthesizer" + desc = "A device that makes plastic white floor tiles." + matter = null + uses_charge = 1 + charge_costs = list(250) + stacktype = /obj/item/stack/tile/floor_white + build_type = /obj/item/stack/tile/floor_white + +/obj/item/stack/tile/floor_freezer/cyborg + name = "freezer floor tile synthesizer" + desc = "A device that makes plastic tiles which are mainly used to build freezer rooms." + matter = null + uses_charge = 1 + charge_costs = list(250) + stacktype = /obj/item/stack/tile/floor_freezer + build_type = /obj/item/stack/tile/floor_freezer + +/obj/item/stack/tile/floor_dark/cyborg + name = "dark floor tile synthesizer" + desc = "A device that makes plasteel dark floor tiles." + matter = null + uses_charge = 1 + charge_costs = list(250) + stacktype = /obj/item/stack/tile/floor_dark + build_type = /obj/item/stack/tile/floor_dark + +/obj/item/stack/tile/carpet/cyborg + name = "carpet tile synthesizer" + desc = "A device that makes carpet tiles." + matter = null + uses_charge = 1 + charge_costs = list(250) + stacktype = /obj/item/stack/tile/carpet + build_type = /obj/item/stack/tile/carpet diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index dd3968fb426..f5ad9598d28 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -241,6 +241,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/device/reagent_scanner/adv(src) + src.modules += new /obj/item/weapon/autopsy_scanner(src) // an autopsy scanner src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" @@ -379,14 +380,21 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/device/pipe_painter(src) src.modules += new /obj/item/weapon/gripper/no_use/loader(src) src.modules += new /obj/item/weapon/gripper(src) + src.modules += new /obj/item/device/t_scanner(src) // to check underfloor wiring + src.modules += new /obj/item/device/analyzer(src) // to check air pressure in the area + src.modules += new /obj/item/device/lightreplacer(src) // to install lightning in the area + src.modules += new /obj/item/device/floor_painter(src)// to make america great again (c) + src.modules += new /obj/item/weapon/inflatable_dispenser(src) // to stop those pesky humans being entering the zone src.malfAImodule += new /obj/item/weapon/rtf(src) - var/datum/matter_synth/metal = new /datum/matter_synth/metal() - var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel() - var/datum/matter_synth/glass = new /datum/matter_synth/glass() + var/datum/matter_synth/metal = new /datum/matter_synth/metal(80000) + var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel(40000) + var/datum/matter_synth/glass = new /datum/matter_synth/glass(60000) + var/datum/matter_synth/wire = new /datum/matter_synth/wire(60) synths += metal synths += plasteel synths += glass + synths += wire var/obj/item/stack/material/cyborg/steel/M = new (src) M.synths = list(metal) @@ -404,6 +412,14 @@ var/global/list/robot_modules = list( RG.synths = list(metal, glass) src.modules += RG + var/obj/item/stack/tile/floor/cyborg/FT = new /obj/item/stack/tile/floor/cyborg(src) // to add floor over the metal rods lattice + FT.synths = list(metal) + src.modules += FT + + var/obj/item/stack/cable_coil/cyborg/C = new /obj/item/stack/cable_coil/cyborg(src) // Let there be light electric said and after that did cut the wire + C.synths = list(wire) + src.modules += C + /obj/item/weapon/robot_module/engineering/general/New() ..() src.modules += new /obj/item/device/flash(src) @@ -429,11 +445,15 @@ var/global/list/robot_modules = list( var/datum/matter_synth/metal = new /datum/matter_synth/metal(60000) var/datum/matter_synth/glass = new /datum/matter_synth/glass(40000) var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel(20000) - var/datum/matter_synth/wire = new /datum/matter_synth/wire() + var/datum/matter_synth/wire = new /datum/matter_synth/wire(45) + var/datum/matter_synth/wood = new /datum/matter_synth/wood(20000) + var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(15000) synths += metal synths += glass synths += plasteel synths += wire + synths += wood + synths += plastic var/obj/item/weapon/matter_decompiler/MD = new /obj/item/weapon/matter_decompiler(src) MD.metal = metal @@ -468,6 +488,30 @@ var/global/list/robot_modules = list( PL.synths = list(plasteel) src.modules += PL + var/obj/item/stack/material/cyborg/wood/W = new (src) + W.synths = list(wood) + src.modules += W + + var/obj/item/stack/material/cyborg/plastic/PS = new (src) + PS.synths = list(plastic) + src.modules += PS + + var/obj/item/stack/tile/wood/cyborg/FWT = new (src) + FWT.synths = list(wood) + src.modules += FWT + + var/obj/item/stack/tile/floor_white/cyborg/FTW = new (src) + FTW.synths = list(plastic) + src.modules += FTW + + var/obj/item/stack/tile/floor_freezer/cyborg/FTF = new (src) + FTF.synths = list(plastic) + src.modules += FTF + + var/obj/item/stack/tile/floor_dark/cyborg/FTD = new (src) + FTD.synths = list(plasteel) + src.modules += FTD + /obj/item/weapon/robot_module/security name = "security robot module" channels = list("Security" = 1) @@ -502,6 +546,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) src.modules += new /obj/item/taperoll/police(src) src.modules += new /obj/item/device/holowarrant(src) + src.modules += new /obj/item/weapon/book/manual/security_space_law(src) // book of security space law src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) /obj/item/weapon/robot_module/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) @@ -537,6 +582,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/storage/bag/trash(src) src.modules += new /obj/item/weapon/mop(src) src.modules += new /obj/item/device/lightreplacer/advanced(src) + src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src) // a hydroponist's bucket + src.modules += new /obj/item/weapon/matter_decompiler(src) // free drone remains for all src.emag = new /obj/item/weapon/reagent_containers/spray(src) src.emag.reagents.add_reagent("lube", 250) src.emag.name = "Lube spray" @@ -591,6 +638,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/robot_harvester(src) src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src) src.modules += new /obj/item/weapon/material/knife(src) + src.modules += new /obj/item/weapon/soap(src) // a cheap bar of soap + src.modules += new /obj/item/weapon/reagent_containers/glass/rag(src) // a rag for.. yeah.. the primary tool of bartender var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) M.stored_matter = 30 @@ -661,6 +710,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) + src.modules += new /obj/item/device/gps/mining(src) // for locating itself in the deep space src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) ..() @@ -791,9 +841,9 @@ var/global/list/robot_modules = list( var/datum/matter_synth/metal = new /datum/matter_synth/metal(25000) var/datum/matter_synth/glass = new /datum/matter_synth/glass(25000) - var/datum/matter_synth/wood = new /datum/matter_synth/wood(2000) - var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(1000) - var/datum/matter_synth/wire = new /datum/matter_synth/wire(30) + var/datum/matter_synth/wood = new /datum/matter_synth/wood(4000) + var/datum/matter_synth/plastic = new /datum/matter_synth/plastic(2000) + var/datum/matter_synth/wire = new /datum/matter_synth/wire(15) synths += metal synths += glass synths += wood diff --git a/html/changelogs/HetNeSS-PR-2949.yml b/html/changelogs/HetNeSS-PR-2949.yml new file mode 100644 index 00000000000..6a378190c1d --- /dev/null +++ b/html/changelogs/HetNeSS-PR-2949.yml @@ -0,0 +1,12 @@ +# Your name. +author: HetNeSS +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added an autopsy scanner to mediborg; a t-ray scanner, an air analyzer, a lightreplacer, a floor painter, and an inflatable dispenser to a construction borg; Added a wood and a plastic synthesizers to an engineering borg. Engineering borgs can now produce a wooden, white, dark and a freezer floor tiles. Security borgs are now equipped with a book of space laws. Janiborgs did receive a bucket and a matter decomplier. Service borgs did receive a bar of soap and a rag. Mining-related cyborgs now are equipped with a GPS tool." + - balance: "Re-counted a value of an internal metal, plasteel, glass and wire storage of construction, engineering borgs and a maintenance drone."