Merge pull request #7377 from Amunak/ref

Research and circuit boards refactoring and improvements. Explosive can no longer be planted on webbing. Also some other stuff.
This commit is contained in:
Mloc
2014-12-18 22:29:35 +00:00
230 changed files with 2828 additions and 3297 deletions
@@ -1,7 +1,7 @@
//Engine control and monitoring console
/obj/machinery/computer/engines
name = "engines control console"
name = "engine control console"
icon_state = "id"
var/state = "status"
var/list/engines = list()
+5 -5
View File
@@ -629,9 +629,9 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "ectoplasm"
/obj/item/weapon/research//Makes testing much less of a pain -Sieve
name = "research"
/obj/item/weapon/research
name = "research debugging device"
desc = "Instant research tool. For testing purposes only."
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;phorontech=8;engineering=8"
icon_state = "smes_coil"
origin_tech = "materials=19;programming=19;magnets=19;powerstorage=19;bluespace=19;combat=19;biotech=19;syndicate=19;phorontech=19;engineering=19"
@@ -16,7 +16,7 @@ var/global/list/holodeck_programs = list(
)
/obj/machinery/computer/HolodeckControl
name = "Holodeck Control Computer"
name = "holodeck control console"
desc = "A computer used to control a nearby holodeck."
icon_state = "holocontrol"
+1 -1
View File
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/operating
name = "Operating Computer"
name = "patient monitoring console"
density = 1
anchored = 1.0
icon_state = "operating"
+1 -10
View File
@@ -1,10 +1,5 @@
/obj/item/weapon/circuitboard/rcon_console
name = "\improper RCON Remote Control Console circuit board"
build_path = /obj/machinery/computer/rcon
origin_tech = "programming=4;engineering=3;powerstorage=5"
/obj/machinery/computer/rcon
name = "RCON Console"
name = "\improper RCON remote control console"
desc = "Console used to remotely control machinery on the station."
icon = 'icons/obj/computer.dmi'
icon_state = "ai-fixer"
@@ -48,10 +43,6 @@
)))
data["breaker_info"] = breakerlist
// update the ui if it exists, returns null if no ui is passed/found
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
+2 -2
View File
@@ -1,7 +1,7 @@
/obj/structure/AIcore
density = 1
anchored = 0
name = "AI core"
name = "\improper AI core"
icon = 'icons/mob/AI.dmi'
icon_state = "0"
var/state = 0
@@ -175,7 +175,7 @@
del(src)
/obj/structure/AIcore/deactivated
name = "Inactive AI"
name = "inactive AI"
icon = 'icons/mob/AI.dmi'
icon_state = "ai-empty"
anchored = 1
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/computer/aifixer
name = "AI System Integrity Restorer"
name = "\improper AI system integrity restorer"
icon = 'icons/obj/computer.dmi'
icon_state = "ai-fixer"
circuit = /obj/item/weapon/circuitboard/aifixer
+1 -1
View File
@@ -2,7 +2,7 @@
/obj/machinery/computer/atmos_alert
name = "Atmospheric Alert Computer"
name = "atmospheric alert computer"
desc = "Used to access the station's atmospheric sensors."
circuit = "/obj/item/weapon/circuitboard/atmos_alert"
icon_state = "alert:0"
+1 -351
View File
@@ -3,363 +3,13 @@
/obj/structure/computerframe
density = 1
anchored = 0
name = "Computer-frame"
name = "computer frame"
icon = 'icons/obj/stock_parts.dmi'
icon_state = "0"
var/state = 0
var/obj/item/weapon/circuitboard/circuit = null
// weight = 1.0E8
/obj/item/weapon/circuitboard
density = 0
anchored = 0
w_class = 2.0
name = "Circuit board"
icon = 'icons/obj/module.dmi'
icon_state = "id_mod"
item_state = "electronic"
origin_tech = "programming=2"
var/build_path = null
var/board_type = "computer"
var/list/req_components = null
var/frame_desc = null
var/contain_parts = 1
//Not sure where else to put this
/obj/item/weapon/circuitboard/broken
name = "broken electronics"
icon = 'icons/obj/doors/door_assembly.dmi'
icon_state = "door_electronics_smoked"
origin_tech = null
board_type = "other"
//Called when the circuitboard is used to contruct a new machine.
/obj/item/weapon/circuitboard/proc/construct(var/obj/machinery/M)
if (istype(M, build_path))
return 1
return 0
//Called when a computer is deconstructed to produce a circuitboard.
//Only used by computers, as other machines store their circuitboard instance.
/obj/item/weapon/circuitboard/proc/deconstruct(var/obj/machinery/M)
if (istype(M, build_path))
return 1
return 0
/*
Circuit Board Definitions
*/
/obj/item/weapon/circuitboard/message_monitor
name = "Circuit board (Message Monitor)"
build_path = /obj/machinery/computer/message_monitor
origin_tech = "programming=3"
//TODO: Move these into computer/camera.dm
/obj/item/weapon/circuitboard/security
name = "Circuit board (Security Camera Monitor)"
build_path = /obj/machinery/computer/security
var/network = list("SS13")
req_access = list(access_security)
var/locked = 1
var/emagged = 0
/obj/item/weapon/circuitboard/security/construct(var/obj/machinery/computer/security/C)
if (..(C))
C.network = network
/obj/item/weapon/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C)
if (..(C))
network = C.network
/obj/item/weapon/circuitboard/security/engineering
name = "Circuit board (Engineering Camera Monitor)"
build_path = /obj/machinery/computer/security/engineering
network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms")
req_access = list()
/obj/item/weapon/circuitboard/security/mining
name = "Circuit board (Mining Camera Monitor)"
build_path = /obj/machinery/computer/security/mining
network = list("MINE")
req_access = list()
/obj/item/weapon/circuitboard/aicore
name = "Circuit board (AI Core)"
origin_tech = "programming=4;biotech=2"
board_type = "other"
/obj/item/weapon/circuitboard/aiupload
name = "Circuit board (AI Upload)"
build_path = /obj/machinery/computer/aiupload
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/borgupload
name = "Circuit board (Cyborg Upload)"
build_path = /obj/machinery/computer/borgupload
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/med_data
name = "Circuit board (Medical Records)"
build_path = /obj/machinery/computer/med_data
/obj/item/weapon/circuitboard/pandemic
name = "Circuit board (PanD.E.M.I.C. 2200)"
build_path = /obj/machinery/computer/pandemic
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/scan_consolenew
name = "Circuit board (DNA Machine)"
build_path = /obj/machinery/computer/scan_consolenew
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/communications
name = "Circuit board (Communications)"
build_path = /obj/machinery/computer/communications
origin_tech = "programming=2;magnets=2"
/obj/item/weapon/circuitboard/card
name = "Circuit board (ID Computer)"
build_path = /obj/machinery/computer/card
/obj/item/weapon/circuitboard/card/centcom
name = "Circuit board (CentCom ID Computer)"
build_path = /obj/machinery/computer/card/centcom
//obj/item/weapon/circuitboard/shield
// name = "Circuit board (Shield Control)"
// build_path = "/obj/machinery/computer/stationshield"
/obj/item/weapon/circuitboard/teleporter
name = "Circuit board (Teleporter)"
build_path = /obj/machinery/computer/teleporter
origin_tech = "programming=2;bluespace=2"
/obj/item/weapon/circuitboard/secure_data
name = "Circuit board (Security Records)"
build_path = /obj/machinery/computer/secure_data
/obj/item/weapon/circuitboard/skills
name = "Circuit board (Employment Records)"
build_path = /obj/machinery/computer/skills
/obj/item/weapon/circuitboard/stationalert
name = "Circuit board (Station Alerts)"
build_path = /obj/machinery/computer/station_alert
///obj/item/weapon/circuitboard/atmospheresiphonswitch
// name = "Circuit board (Atmosphere Siphon Control)"
// build_path = /obj/machinery/computer/atmosphere/siphonswitch
/obj/item/weapon/circuitboard/air_management
name = "Circuit board (Atmospheric Monitor)"
build_path = /obj/machinery/computer/general_air_control
var/frequency = 1439
/obj/item/weapon/circuitboard/air_management/tank_control
name = "Circuit board (Tank Control)"
build_path = /obj/machinery/computer/general_air_control/large_tank_control
frequency = 1441
/obj/item/weapon/circuitboard/air_management/supermatter_core
name = "Circuit board (Core Control)"
build_path = /obj/machinery/computer/general_air_control/supermatter_core
frequency = 1438
/obj/item/weapon/circuitboard/air_management/injector_control
name = "Circuit board (Injector Control)"
build_path = /obj/machinery/computer/general_air_control/fuel_injection
/obj/item/weapon/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C)
if (..(C))
C.frequency = frequency
/obj/item/weapon/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C)
if (..(C))
frequency = C.frequency
/obj/item/weapon/circuitboard/atmos_alert
name = "Circuit board (Atmospheric Alert)"
build_path = /obj/machinery/computer/atmos_alert
/obj/item/weapon/circuitboard/pod
name = "Circuit board (Massdriver control)"
build_path = /obj/machinery/computer/pod
/obj/item/weapon/circuitboard/robotics
name = "Circuit board (Robotics Control)"
build_path = /obj/machinery/computer/robotics
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/drone_control
name = "Circuit board (Drone Control)"
build_path = /obj/machinery/computer/drone_control
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/cloning
name = "Circuit board (Cloning)"
build_path = /obj/machinery/computer/cloning
origin_tech = "programming=3;biotech=3"
/obj/item/weapon/circuitboard/arcade
name = "Circuit board (Arcade)"
build_path = /obj/machinery/computer/arcade
origin_tech = "programming=1"
/obj/item/weapon/circuitboard/turbine_control
name = "Circuit board (Turbine control)"
build_path = /obj/machinery/computer/turbine_computer
/obj/item/weapon/circuitboard/solar_control
name = "Circuit board (Solar Control)"
build_path = /obj/machinery/power/solar_control
origin_tech = "programming=2;powerstorage=2"
/obj/item/weapon/circuitboard/powermonitor
name = "Circuit board (Power Monitor)"
build_path = /obj/machinery/computer/power_monitor
/obj/item/weapon/circuitboard/olddoor
name = "Circuit board (DoorMex)"
build_path = /obj/machinery/computer/pod/old
/obj/item/weapon/circuitboard/syndicatedoor
name = "Circuit board (ProComp Executive)"
build_path = /obj/machinery/computer/pod/old/syndicate
/obj/item/weapon/circuitboard/swfdoor
name = "Circuit board (Magix)"
build_path = /obj/machinery/computer/pod/old/swf
/obj/item/weapon/circuitboard/prisoner
name = "Circuit board (Prisoner Management)"
build_path = /obj/machinery/computer/prisoner
/obj/item/weapon/circuitboard/rdconsole
name = "Circuit Board (RD Console)"
build_path = /obj/machinery/computer/rdconsole/core
/obj/item/weapon/circuitboard/mecha_control
name = "Circuit Board (Exosuit Control Console)"
build_path = /obj/machinery/computer/mecha
/obj/item/weapon/circuitboard/rdservercontrol
name = "Circuit Board (R&D Server Control)"
build_path = /obj/machinery/computer/rdservercontrol
/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"
/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"
/obj/item/weapon/circuitboard/ordercomp
name = "Circuit board (Supply ordering console)"
build_path = /obj/machinery/computer/ordercomp
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/supplycomp
name = "Circuit board (Supply shuttle console)"
build_path = /obj/machinery/computer/supplycomp
origin_tech = "programming=3"
var/contraband_enabled = 0
/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC)
if (..(SC))
SC.can_order_contraband = contraband_enabled
/obj/item/weapon/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC)
if (..(SC))
contraband_enabled = SC.can_order_contraband
/obj/item/weapon/circuitboard/operating
name = "Circuit board (Operating Computer)"
build_path = /obj/machinery/computer/operating
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/comm_monitor
name = "Circuit board (Telecommunications Monitor)"
build_path = /obj/machinery/computer/telecomms/monitor
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/comm_server
name = "Circuit board (Telecommunications Server Monitor)"
build_path = /obj/machinery/computer/telecomms/server
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/comm_traffic
name = "Circuitboard (Telecommunications Traffic Control)"
build_path = /obj/machinery/computer/telecomms/traffic
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/curefab
name = "Circuit board (Cure fab)"
build_path = /obj/machinery/computer/curer
/obj/item/weapon/circuitboard/splicer
name = "Circuit board (Disease Splicer)"
build_path = /obj/machinery/computer/diseasesplicer
/obj/item/weapon/circuitboard/mining_shuttle
name = "Circuit board (Mining Shuttle)"
build_path = /obj/machinery/computer/shuttle_control/mining
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/engineering_shuttle
name = "Circuit board (Engineering Shuttle)"
build_path = /obj/machinery/computer/shuttle_control/engineering
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/research_shuttle
name = "Circuit board (Research Shuttle)"
build_path = /obj/machinery/computer/shuttle_control/research
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/HolodeckControl // Not going to let people get this, but it's just here for future
name = "Circuit board (Holodeck Control)"
build_path = /obj/machinery/computer/HolodeckControl
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/aifixer
name = "Circuit board (AI Integrity Restorer)"
build_path = /obj/machinery/computer/aifixer
origin_tech = "programming=3;biotech=2"
/obj/item/weapon/circuitboard/area_atmos
name = "Circuit board (Area Air Control)"
build_path = /obj/machinery/computer/area_atmos
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/prison_shuttle
name = "Circuit board (Prison Shuttle)"
build_path = /obj/machinery/computer/prison_shuttle
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/device/multitool))
var/catastasis = src.contraband_enabled
var/opposite_catastasis
if(catastasis)
opposite_catastasis = "STANDARD"
catastasis = "BROAD"
else
opposite_catastasis = "BROAD"
catastasis = "STANDARD"
switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") )
//switch( alert("Current receiver spectrum is set to: " {(src.contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(src.contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") )
if("Switch to STANDARD","Switch to BROAD")
src.contraband_enabled = !src.contraband_enabled
if("Cancel")
return
else
user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri"
return
/obj/item/weapon/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/card/emag))
if(emagged)
user << "Circuit lock is already removed."
return
user << "\blue You override the circuit lock and open controls."
emagged = 1
locked = 0
else if(istype(I,/obj/item/weapon/card/id))
if(emagged)
user << "\red Circuit lock does not respond."
return
if(check_access(I))
locked = !locked
user << "\blue You [locked ? "" : "un"]lock the circuit controls."
else
user << "\red Access denied."
else if(istype(I,/obj/item/device/multitool))
if(locked)
user << "\red Circuit controls are locked."
return
var/existing_networks = list2text(network,",")
var/input = strip_html(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))
if(!input)
usr << "No input found please hang up and try your call again."
return
var/list/tempnetwork = text2list(input, ",")
tempnetwork = difflist(tempnetwork,RESTRICTED_CAMERA_NETWORKS,1)
if(tempnetwork.len < 1)
usr << "No network found please hang up and try your call again."
return
network = tempnetwork
return
/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/screwdriver))
user.visible_message("\blue \the [user] adjusts the jumper on the [src]'s access protocol pins.", "\blue You adjust the jumper on the access protocol pins.")
if(src.build_path == /obj/machinery/computer/rdconsole/core)
src.name = "Circuit Board (RD Console - Robotics)"
src.build_path = /obj/machinery/computer/rdconsole/robotics
user << "\blue Access protocols set to robotics."
else
src.name = "Circuit Board (RD Console)"
src.build_path = /obj/machinery/computer/rdconsole/core
user << "\blue Access protocols set to default."
return
/obj/structure/computerframe/attackby(obj/item/P as obj, mob/user as mob)
switch(state)
if(0)
+5 -5
View File
@@ -2,7 +2,7 @@
/obj/machinery/computer/security
name = "Security Cameras"
name = "security camera monitor"
desc = "Used to access the various cameras on the station."
icon_state = "cameras"
var/obj/machinery/camera/current = null
@@ -187,28 +187,28 @@
circuit = null
/obj/machinery/computer/security/wooden_tv
name = "Security Cameras"
name = "security camera monitor"
desc = "An old TV hooked into the stations camera network."
icon_state = "security_det"
circuit = null
/obj/machinery/computer/security/mining
name = "Outpost Cameras"
name = "outpost camera monitor"
desc = "Used to access the various cameras on the outpost."
icon_state = "miningcameras"
network = list("MINE")
circuit = /obj/item/weapon/circuitboard/security/mining
/obj/machinery/computer/security/engineering
name = "Engineering Cameras"
name = "engineering camera monitor"
desc = "Used to monitor fires and breaches."
icon_state = "engineeringcameras"
network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms")
circuit = /obj/item/weapon/circuitboard/security/engineering
/obj/machinery/computer/security/nuclear
name = "Mission Monitor"
name = "head mounted camera monitor"
desc = "Used to access the built-in cameras in helmets."
icon_state = "syndicam"
network = list("NUKE")
+2 -2
View File
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/card
name = "Identification Computer"
name = "\improper ID card modification console"
desc = "Terminal for programming NanoTrasen employee ID cards to access parts of the station."
icon_state = "id"
req_access = list(access_change_ids)
@@ -282,7 +282,7 @@
return 1
/obj/machinery/computer/card/centcom
name = "CentCom Identification Computer"
name = "\improper CentCom ID card modification console"
circuit = "/obj/item/weapon/circuitboard/card/centcom"
req_access = list(access_cent_captain)
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/computer/cloning
name = "Cloning console"
name = "cloning control console"
icon = 'icons/obj/computer.dmi'
icon_state = "dna"
circuit = "/obj/item/weapon/circuitboard/cloning"
@@ -2,8 +2,8 @@
// The communications computer
/obj/machinery/computer/communications
name = "Communications Console"
desc = "This can be used for various important functions. Still under developement."
name = "command and communications console"
desc = "Used to command and control the station. Can relay long-range communications."
icon_state = "comm"
req_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/communications"
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/computer/crew
name = "Crew monitoring computer"
name = "crew monitoring computer"
desc = "Used to monitor active health sensors built into most of the crew's uniforms."
icon_state = "crew"
use_power = 1
+1 -1
View File
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/hologram_comp
name = "Hologram Computer"
name = "hologram computer"
desc = "Rumoured to control holograms."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "holo_console0"
+2 -2
View File
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/aiupload
name = "AI Upload"
name = "\improper AI upload console"
desc = "Used to upload laws to the AI."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/aiupload"
@@ -54,7 +54,7 @@
/obj/machinery/computer/borgupload
name = "Cyborg Upload"
name = "cyborg upload console"
desc = "Used to upload laws to Cyborgs."
icon_state = "command"
circuit = "/obj/item/weapon/circuitboard/borgupload"
+1 -1
View File
@@ -3,7 +3,7 @@
/obj/machinery/computer/lockdown
//for reference
/*name = "Lockdown Control"
/*name = "lockdown control"
desc = "Used to control blast doors."
icon_state = "lockdown"
circuit = "/obj/item/weapon/circuitboard/lockdown"
+3 -3
View File
@@ -1,8 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/med_data//TODO:SANITY
name = "Medical Records"
desc = "This can be used to check medical records."
name = "medical records console"
desc = "Used to view, edit and maintain medical records."
icon_state = "medcomp"
req_one_access = list(access_medical, access_forensics_lockers)
circuit = "/obj/item/weapon/circuitboard/med_data"
@@ -551,4 +551,4 @@
/obj/machinery/computer/med_data/laptop
name = "Medical Laptop"
desc = "Cheap Nanotrasen Laptop."
icon_state = "medlaptop"
icon_state = "medlaptop"
+2 -6
View File
@@ -1,12 +1,8 @@
// Allows you to monitor messages that passes the server.
/obj/machinery/computer/message_monitor
name = "Message Monitor Console"
desc = "Used to Monitor the crew's messages, that are sent via PDA. Can also be used to view Request Console messages."
name = "messaging monitor console"
desc = "Used to access and maintain data on messaging servers. Allows you to view PDA and request console messages."
icon_state = "comm_logs"
var/hack_icon = "comm_logsc"
var/normal_icon = "comm_logs"
+2 -2
View File
@@ -1,8 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/pod
name = "Pod Launch Control"
desc = "A controll for launching pods. Some people prefer firing Mechas."
name = "pod launch control console"
desc = "A control console for launching pods. Some people prefer firing Mechas."
icon_state = "computer_generic"
circuit = /obj/item/weapon/circuitboard/pod
var/id = 1.0
+1 -3
View File
@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/prisoner
name = "Prisoner Management"
name = "prisoner management console"
icon = 'icons/obj/computer.dmi'
icon_state = "explosive"
req_access = list(access_armory)
@@ -100,5 +100,3 @@
src.add_fingerprint(usr)
src.updateUsrDialog()
return
@@ -11,7 +11,7 @@ var/prison_shuttle_time = 0
var/prison_shuttle_timeleft = 0
/obj/machinery/computer/prison_shuttle
name = "Prison Shuttle Console"
name = "prison shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
req_access = list(access_security)
+2 -3
View File
@@ -1,9 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/robotics
name = "Robotics Control"
desc = "Used to remotely lockdown or detonate linked Cyborgs."
name = "robotics control console"
desc = "Used to remotely lockdown or detonate linked cyborgs."
icon = 'icons/obj/computer.dmi'
icon_state = "robot"
req_access = list(access_robotics)
+2 -2
View File
@@ -1,8 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/secure_data//TODO:SANITY
name = "Security Records"
desc = "Used to view and edit personnel's security records"
name = "security records console"
desc = "Used to view, edit and maintain security records"
icon_state = "security"
req_one_access = list(access_security, access_forensics_lockers)
circuit = "/obj/item/weapon/circuitboard/secure_data"
+2 -2
View File
@@ -1,8 +1,8 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/skills//TODO:SANITY
name = "Employment Records"
desc = "Used to view personnel's employment records"
name = "employment records console"
desc = "Used to view, edit and maintain employment records."
icon_state = "medlaptop"
req_one_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/skills"
@@ -12,7 +12,7 @@ var/specops_shuttle_time = 0
var/specops_shuttle_timeleft = 0
/obj/machinery/computer/specops_shuttle
name = "Spec. Ops. Shuttle Console"
name = "special operations shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
req_access = list(access_cent_specops)
@@ -1,6 +1,6 @@
/obj/machinery/computer/station_alert
name = "Station Alert Computer"
name = "Station Alert Console"
desc = "Used to access the station's automated alert system."
icon_state = "alert:0"
circuit = "/obj/item/weapon/circuitboard/stationalert"
+416
View File
@@ -0,0 +1,416 @@
/obj/machinery/computer/supplycomp
name = "supply control console"
icon = 'icons/obj/computer.dmi'
icon_state = "supply"
req_access = list(access_cargo)
circuit = "/obj/item/weapon/circuitboard/supplycomp"
var/temp = null
var/reqtime = 0 //Cooldown for requisitions - Quarxink
var/hacked = 0
var/can_order_contraband = 0
var/last_viewed_group = "categories"
/obj/machinery/computer/ordercomp
name = "supply ordering console"
icon = 'icons/obj/computer.dmi'
icon_state = "request"
circuit = "/obj/item/weapon/circuitboard/ordercomp"
var/temp = null
var/reqtime = 0 //Cooldown for requisitions - Quarxink
var/last_viewed_group = "categories"
/obj/machinery/computer/ordercomp/attack_ai(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/supplycomp/attack_ai(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/ordercomp/attack_hand(var/mob/user as mob)
if(..())
return
user.set_machine(src)
var/dat
if(temp)
dat = temp
else
var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
if (shuttle)
dat += {"<BR><B>Supply shuttle</B><HR>
Location: [shuttle.has_arrive_time() ? "Moving to station ([shuttle.eta_minutes()] Mins.)":shuttle.at_station() ? "Docked":"Away"]<BR>
<HR>Supply points: [supply_controller.points]<BR>
<BR>\n<A href='?src=\ref[src];order=categories'>Request items</A><BR><BR>
<A href='?src=\ref[src];vieworders=1'>View approved orders</A><BR><BR>
<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR><BR>
<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse(dat, "window=computer;size=575x450")
onclose(user, "computer")
return
/obj/machinery/computer/ordercomp/Topic(href, href_list)
if(..())
return
if( isturf(loc) && (in_range(src, usr) || istype(usr, /mob/living/silicon)) )
usr.set_machine(src)
if(href_list["order"])
if(href_list["order"] == "categories")
//all_supply_groups
//Request what?
last_viewed_group = "categories"
temp = "<b>Supply points: [supply_controller.points]</b><BR>"
temp += "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><HR><BR><BR>"
temp += "<b>Select a category</b><BR><BR>"
for(var/supply_group_name in all_supply_groups )
temp += "<A href='?src=\ref[src];order=[supply_group_name]'>[supply_group_name]</A><BR>"
else
last_viewed_group = href_list["order"]
temp = "<b>Supply points: [supply_controller.points]</b><BR>"
temp += "<A href='?src=\ref[src];order=categories'>Back to all categories</A><HR><BR><BR>"
temp += "<b>Request from: [last_viewed_group]</b><BR><BR>"
for(var/supply_name in supply_controller.supply_packs )
var/datum/supply_packs/N = supply_controller.supply_packs[supply_name]
if(N.hidden || N.contraband || N.group != last_viewed_group) continue //Have to send the type instead of a reference to
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
else if (href_list["doorder"])
if(world.time < reqtime)
for(var/mob/V in hearers(src))
V.show_message("<b>[src]</b>'s monitor flashes, \"[world.time - reqtime] seconds remaining until another requisition form may be printed.\"")
return
//Find the correct supply_pack datum
var/datum/supply_packs/P = supply_controller.supply_packs[href_list["doorder"]]
if(!istype(P)) return
var/timeout = world.time + 600
var/reason = copytext(sanitize(input(usr,"Reason:","Why do you require this item?","") as null|text),1,MAX_MESSAGE_LEN)
if(world.time > timeout) return
if(!reason) return
var/idname = "*None Provided*"
var/idrank = "*None Provided*"
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
idname = H.get_authentification_name()
idrank = H.get_assignment()
else if(issilicon(usr))
idname = usr.real_name
supply_controller.ordernum++
var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc)
reqform.name = "Requisition Form - [P.name]"
reqform.info += "<h3>[station_name] Supply Requisition Form</h3><hr>"
reqform.info += "INDEX: #[supply_controller.ordernum]<br>"
reqform.info += "REQUESTED BY: [idname]<br>"
reqform.info += "RANK: [idrank]<br>"
reqform.info += "REASON: [reason]<br>"
reqform.info += "SUPPLY CRATE TYPE: [P.name]<br>"
reqform.info += "ACCESS RESTRICTION: [replacetext(get_access_desc(P.access))]<br>"
reqform.info += "CONTENTS:<br>"
reqform.info += P.manifest
reqform.info += "<hr>"
reqform.info += "STAMP BELOW TO APPROVE THIS REQUISITION:<br>"
reqform.update_icon() //Fix for appearing blank when printed.
reqtime = (world.time + 5) % 1e5
//make our supply_order datum
var/datum/supply_order/O = new /datum/supply_order()
O.ordernum = supply_controller.ordernum
O.object = P
O.orderedby = idname
supply_controller.requestlist += O
temp = "Thanks for your request. The cargo team will process it as soon as possible.<BR>"
temp += "<BR><A href='?src=\ref[src];order=[last_viewed_group]'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["vieworders"])
temp = "Current approved orders: <BR><BR>"
for(var/S in supply_controller.shoppinglist)
var/datum/supply_order/SO = S
temp += "[SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else if (href_list["viewrequests"])
temp = "Current requests: <BR><BR>"
for(var/S in supply_controller.requestlist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby]<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else if (href_list["mainmenu"])
temp = null
add_fingerprint(usr)
updateUsrDialog()
return
/obj/machinery/computer/supplycomp/attack_hand(var/mob/user as mob)
if(!allowed(user))
user << "\red Access Denied."
return
if(..())
return
user.set_machine(src)
post_signal("supply")
var/dat
if (temp)
dat = temp
else
var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
if (shuttle)
dat += "<BR><B>Supply shuttle</B><HR>"
dat += "\nLocation: "
if (shuttle.has_arrive_time())
dat += "In transit ([shuttle.eta_minutes()] Mins.)<BR>"
else
if (shuttle.at_station())
if (shuttle.docking_controller)
switch(shuttle.docking_controller.get_docking_status())
if ("docked") dat += "Docked at station<BR>"
if ("undocked") dat += "Undocked from station<BR>"
if ("docking") dat += "Docking with station [shuttle.can_force()? "<span class='warning'><A href='?src=\ref[src];force_send=1'>Force Launch</A></span>" : ""]<BR>"
if ("undocking") dat += "Undocking from station [shuttle.can_force()? "<span class='warning'><A href='?src=\ref[src];force_send=1'>Force Launch</A></span>" : ""]<BR>"
else
dat += "Station<BR>"
if (shuttle.can_launch())
dat += "<A href='?src=\ref[src];send=1'>Send away</A>"
else if (shuttle.can_cancel())
dat += "<A href='?src=\ref[src];cancel_send=1'>Cancel launch</A>"
else
dat += "*Shuttle is busy*"
dat += "<BR>\n<BR>"
else
dat += "Away<BR>"
if (shuttle.can_launch())
dat += "<A href='?src=\ref[src];send=1'>Request supply shuttle</A>"
else if (shuttle.can_cancel())
dat += "<A href='?src=\ref[src];cancel_send=1'>Cancel request</A>"
else
dat += "*Shuttle is busy*"
dat += "<BR>\n<BR>"
dat += {"<HR>\nSupply points: [supply_controller.points]<BR>\n<BR>
\n<A href='?src=\ref[src];order=categories'>Order items</A><BR>\n<BR>
\n<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR>\n<BR>
\n<A href='?src=\ref[src];vieworders=1'>View orders</A><BR>\n<BR>
\n<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse(dat, "window=computer;size=575x450")
onclose(user, "computer")
return
/obj/machinery/computer/supplycomp/attackby(I as obj, user as mob)
if(istype(I,/obj/item/weapon/card/emag) && !hacked)
user << "\blue Special supplies unlocked."
hacked = 1
return
else
..()
return
/obj/machinery/computer/supplycomp/Topic(href, href_list)
if(!supply_controller)
world.log << "## ERROR: Eek. The supply_controller controller datum is missing somehow."
return
var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
if (!shuttle)
world.log << "## ERROR: Eek. The supply/shuttle datum is missing somehow."
return
if(..())
return
if(isturf(loc) && ( in_range(src, usr) || istype(usr, /mob/living/silicon) ) )
usr.set_machine(src)
//Calling the shuttle
if(href_list["send"])
if(shuttle.at_station())
if (shuttle.forbidden_atoms_check())
temp = "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else
shuttle.launch(src)
temp = "Initiating launch sequence. \[<span class='warning'><A href='?src=\ref[src];force_send=1'>Force Launch</A></span>\]<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else
shuttle.launch(src)
temp = "The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
post_signal("supply")
if (href_list["force_send"])
shuttle.force_launch(src)
if (href_list["cancel_send"])
shuttle.cancel_launch(src)
else if (href_list["order"])
//if(!shuttle.idle()) return //this shouldn't be necessary it seems
if(href_list["order"] == "categories")
//all_supply_groups
//Request what?
last_viewed_group = "categories"
temp = "<b>Supply points: [supply_controller.points]</b><BR>"
temp += "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><HR><BR><BR>"
temp += "<b>Select a category</b><BR><BR>"
for(var/supply_group_name in all_supply_groups )
temp += "<A href='?src=\ref[src];order=[supply_group_name]'>[supply_group_name]</A><BR>"
else
last_viewed_group = href_list["order"]
temp = "<b>Supply points: [supply_controller.points]</b><BR>"
temp += "<A href='?src=\ref[src];order=categories'>Back to all categories</A><HR><BR><BR>"
temp += "<b>Request from: [last_viewed_group]</b><BR><BR>"
for(var/supply_name in supply_controller.supply_packs )
var/datum/supply_packs/N = supply_controller.supply_packs[supply_name]
if((N.hidden && !hacked) || (N.contraband && !can_order_contraband) || N.group != last_viewed_group) continue //Have to send the type instead of a reference to
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
/*temp = "Supply points: [supply_controller.points]<BR><HR><BR>Request what?<BR><BR>"
for(var/supply_name in supply_controller.supply_packs )
var/datum/supply_packs/N = supply_controller.supply_packs[supply_name]
if(N.hidden && !hacked) continue
if(N.contraband && !can_order_contraband) continue
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"*/
else if (href_list["doorder"])
if(world.time < reqtime)
for(var/mob/V in hearers(src))
V.show_message("<b>[src]</b>'s monitor flashes, \"[world.time - reqtime] seconds remaining until another requisition form may be printed.\"")
return
//Find the correct supply_pack datum
var/datum/supply_packs/P = supply_controller.supply_packs[href_list["doorder"]]
if(!istype(P)) return
var/timeout = world.time + 600
var/reason = copytext(sanitize(input(usr,"Reason:","Why do you require this item?","") as null|text),1,MAX_MESSAGE_LEN)
if(world.time > timeout) return
if(!reason) return
var/idname = "*None Provided*"
var/idrank = "*None Provided*"
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
idname = H.get_authentification_name()
idrank = H.get_assignment()
else if(issilicon(usr))
idname = usr.real_name
supply_controller.ordernum++
var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc)
reqform.name = "Requisition Form - [P.name]"
reqform.info += "<h3>[station_name] Supply Requisition Form</h3><hr>"
reqform.info += "INDEX: #[supply_controller.ordernum]<br>"
reqform.info += "REQUESTED BY: [idname]<br>"
reqform.info += "RANK: [idrank]<br>"
reqform.info += "REASON: [reason]<br>"
reqform.info += "SUPPLY CRATE TYPE: [P.name]<br>"
reqform.info += "ACCESS RESTRICTION: [replacetext(get_access_desc(P.access))]<br>"
reqform.info += "CONTENTS:<br>"
reqform.info += P.manifest
reqform.info += "<hr>"
reqform.info += "STAMP BELOW TO APPROVE THIS REQUISITION:<br>"
reqform.update_icon() //Fix for appearing blank when printed.
reqtime = (world.time + 5) % 1e5
//make our supply_order datum
var/datum/supply_order/O = new /datum/supply_order()
O.ordernum = supply_controller.ordernum
O.object = P
O.orderedby = idname
supply_controller.requestlist += O
temp = "Order request placed.<BR>"
temp += "<BR><A href='?src=\ref[src];order=[last_viewed_group]'>Back</A> | <A href='?src=\ref[src];mainmenu=1'>Main Menu</A> | <A href='?src=\ref[src];confirmorder=[O.ordernum]'>Authorize Order</A>"
else if(href_list["confirmorder"])
//Find the correct supply_order datum
var/ordernum = text2num(href_list["confirmorder"])
var/datum/supply_order/O
var/datum/supply_packs/P
temp = "Invalid Request"
for(var/i=1, i<=supply_controller.requestlist.len, i++)
var/datum/supply_order/SO = supply_controller.requestlist[i]
if(SO.ordernum == ordernum)
O = SO
P = O.object
if(supply_controller.points >= P.cost)
supply_controller.requestlist.Cut(i,i+1)
supply_controller.points -= P.cost
supply_controller.shoppinglist += O
temp = "Thanks for your order.<BR>"
temp += "<BR><A href='?src=\ref[src];viewrequests=1'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else
temp = "Not enough supply points.<BR>"
temp += "<BR><A href='?src=\ref[src];viewrequests=1'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
break
else if (href_list["vieworders"])
temp = "Current approved orders: <BR><BR>"
for(var/S in supply_controller.shoppinglist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""]<BR>"// <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
/*
else if (href_list["cancelorder"])
var/datum/supply_order/remove_supply = href_list["cancelorder"]
supply_shuttle_shoppinglist -= remove_supply
supply_shuttle_points += remove_supply.object.cost
temp += "Canceled: [remove_supply.object.name]<BR><BR><BR>"
for(var/S in supply_shuttle_shoppinglist)
var/datum/supply_order/SO = S
temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""] <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
*/
else if (href_list["viewrequests"])
temp = "Current requests: <BR><BR>"
for(var/S in supply_controller.requestlist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby] <A href='?src=\ref[src];confirmorder=[SO.ordernum]'>Approve</A> <A href='?src=\ref[src];rreq=[SO.ordernum]'>Remove</A><BR>"
temp += "<BR><A href='?src=\ref[src];clearreq=1'>Clear list</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else if (href_list["rreq"])
var/ordernum = text2num(href_list["rreq"])
temp = "Invalid Request.<BR>"
for(var/i=1, i<=supply_controller.requestlist.len, i++)
var/datum/supply_order/SO = supply_controller.requestlist[i]
if(SO.ordernum == ordernum)
supply_controller.requestlist.Cut(i,i+1)
temp = "Request removed.<BR>"
break
temp += "<BR><A href='?src=\ref[src];viewrequests=1'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["clearreq"])
supply_controller.requestlist.Cut()
temp = "List cleared.<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
else if (href_list["mainmenu"])
temp = null
add_fingerprint(usr)
updateUsrDialog()
return
/obj/machinery/computer/supplycomp/proc/post_signal(var/command)
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1435)
if(!frequency) return
var/datum/signal/status_signal = new
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
frequency.post_signal(src, status_signal)
@@ -11,7 +11,7 @@ var/syndicate_elite_shuttle_time = 0
var/syndicate_elite_shuttle_timeleft = 0
/obj/machinery/computer/syndicate_elite_shuttle
name = "Elite Syndicate Squad Shuttle Console"
name = "elite syndicate squad shuttle control console"
icon = 'icons/obj/computer.dmi'
icon_state = "syndishuttle"
req_access = list(access_cent_specops)
+2 -242
View File
@@ -1,5 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
//Circuit boards are in /code/game/objects/items/weapons/circuitboards/machinery/
/obj/machinery/constructable_frame //Made into a seperate type to make future revisions easier.
name = "machine frame"
icon = 'icons/obj/stock_parts.dmi'
@@ -154,245 +156,3 @@
user << desc
if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil))
user << "\red You cannot add that component to the machine!"
//Machine Frame Circuit Boards
/*Common Parts: Parts List: Ignitor, Timer, Infra-red laser, Infra-red sensor, t_scanner, Capacitor, Valve, sensor unit,
micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
Note: Once everything is added to the public areas, will add materials to circuit boards since autolathe won't be able
to destroy them and players will be able to make replacements.
*/
/obj/item/weapon/circuitboard/destructive_analyzer
name = "Circuit board (Destructive Analyzer)"
build_path = "/obj/machinery/r_n_d/destructive_analyzer"
board_type = "machine"
origin_tech = "magnets=2;engineering=2;programming=2"
frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1)
/obj/item/weapon/circuitboard/autolathe
name = "Circuit board (Autolathe)"
build_path = "/obj/machinery/autolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 3,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1)
/obj/item/weapon/circuitboard/protolathe
name = "Circuit board (Protolathe)"
build_path = "/obj/machinery/r_n_d/protolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
/obj/item/weapon/circuitboard/circuit_imprinter
name = "Circuit board (Circuit Imprinter)"
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
/obj/item/weapon/circuitboard/pacman
name = "Circuit Board (PACMAN-type Generator)"
build_path = "/obj/machinery/power/port_gen/pacman"
board_type = "machine"
origin_tech = "programming=3;powerstorage=3;phorontech=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,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/capacitor" = 1)
/obj/item/weapon/circuitboard/pacman/super
name = "Circuit Board (SUPERPACMAN-type Generator)"
build_path = "/obj/machinery/power/port_gen/pacman/super"
origin_tech = "programming=3;powerstorage=4;engineering=4"
/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"
obj/item/weapon/circuitboard/rdserver
name = "Circuit Board (R&D Server)"
build_path = "/obj/machinery/r_n_d/server"
board_type = "machine"
origin_tech = "programming=3"
frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module."
req_components = list(
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/scanning_module" = 1)
/obj/item/weapon/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
build_path = "/obj/machinery/mecha_part_fabricator"
board_type = "machine"
origin_tech = "programming=3;engineering=3"
frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1)
/obj/item/weapon/circuitboard/clonepod
name = "Circuit board (Clone Pod)"
build_path = "/obj/machinery/clonepod"
board_type = "machine"
origin_tech = "programming=3;biotech=3"
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,
"/obj/item/weapon/stock_parts/scanning_module" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/stock_parts/console_screen" = 1)
/obj/item/weapon/circuitboard/clonescanner
name = "Circuit board (Cloning Scanner)"
build_path = "/obj/machinery/dna_scannernew"
board_type = "machine"
origin_tech = "programming=2;biotech=2"
frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/stack/cable_coil" = 2,)
/obj/item/weapon/circuitboard/unary_atmos
board_type = "machine"
/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U)
//TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.
U.initialize()
U.build_network()
if (U.node)
U.node.initialize()
U.node.build_network()
/obj/item/weapon/circuitboard/unary_atmos/heater
name = "Circuit Board (Gas Heating System)"
build_path = "/obj/machinery/atmospherics/unary/heater"
origin_tech = "powerstorage=2;engineering=1"
frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors."
req_components = list(
"/obj/item/stack/cable_coil" = 5,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2)
/obj/item/weapon/circuitboard/unary_atmos/cooler
name = "Circuit Board (Gas Cooling System)"
build_path = "/obj/machinery/atmospherics/unary/freezer"
origin_tech = "magnets=2;engineering=2"
frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors."
req_components = list(
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1)
// Telecomms circuit boards:
/obj/item/weapon/circuitboard/telecomms/receiver
name = "Circuit Board (Subspace Receiver)"
build_path = "/obj/machinery/telecomms/receiver"
board_type = "machine"
origin_tech = "programming=4;engineering=3;bluespace=2"
frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/subspace/ansible" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/stock_parts/micro_laser" = 1)
/obj/item/weapon/circuitboard/telecomms/hub
name = "Circuit Board (Hub Mainframe)"
build_path = "/obj/machinery/telecomms/hub"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/relay
name = "Circuit Board (Relay Mainframe)"
build_path = "/obj/machinery/telecomms/relay"
board_type = "machine"
origin_tech = "programming=3;engineering=4;bluespace=3"
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/bus
name = "Circuit Board (Bus Mainframe)"
build_path = "/obj/machinery/telecomms/bus"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/processor
name = "Circuit Board (Processor Unit)"
build_path = "/obj/machinery/telecomms/processor"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 3,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/treatment" = 2,
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1)
/obj/item/weapon/circuitboard/telecomms/server
name = "Circuit Board (Telecommunication Server)"
build_path = "/obj/machinery/telecomms/server"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/broadcaster
name = "Circuit Board (Subspace Broadcaster)"
build_path = "/obj/machinery/telecomms/broadcaster"
board_type = "machine"
origin_tech = "programming=4;engineering=4;bluespace=2"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 2)
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/computer/teleporter
name = "Teleporter"
name = "Teleporter Control Console"
desc = "Used to control a linked teleportation Hub and Station."
icon_state = "teleport"
circuit = "/obj/item/weapon/circuitboard/teleporter"
@@ -1,6 +1,6 @@
/obj/item/mecha_parts/mecha_equipment/tool/sleeper
name = "Mounted Sleeper"
desc = "Mounted Sleeper. (Can be attached to: Medical Exosuits)"
name = "mounted sleeper"
desc = "A sleeper. Mountable to an exosuit. (Can be attached to: Medical Exosuits)"
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "sleeper_0"
origin_tech = "programming=2;biotech=3"
@@ -373,7 +373,7 @@
return 1
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
name = "Syringe Gun"
name = "syringe gun"
desc = "Exosuit-mounted chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur. (Can be attached to: Medical Exosuits)"
icon = 'icons/obj/gun.dmi'
icon_state = "syringegun"
+19 -19
View File
@@ -1,5 +1,5 @@
/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
name = "Hydraulic Clamp"
name = "hydraulic clamp"
icon_state = "mecha_clamp"
equip_cooldown = 15
energy_drain = 10
@@ -64,7 +64,7 @@
return 1
/obj/item/mecha_parts/mecha_equipment/tool/drill
name = "Drill"
name = "drill"
desc = "This is the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
icon_state = "mecha_drill"
equip_cooldown = 30
@@ -115,7 +115,7 @@
return 1
/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill
name = "Diamond Drill"
name = "diamond drill"
desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
icon_state = "mecha_diamond_drill"
origin_tech = "materials=4;engineering=3"
@@ -166,7 +166,7 @@
return 1
/obj/item/mecha_parts/mecha_equipment/tool/extinguisher
name = "Extinguisher"
name = "extinguisher"
desc = "Exosuit-mounted extinguisher (Can be attached to: Engineering exosuits)"
icon_state = "mecha_exting"
equip_cooldown = 5
@@ -240,7 +240,7 @@
/obj/item/mecha_parts/mecha_equipment/tool/rcd
name = "Mounted RCD"
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"
@@ -345,7 +345,7 @@
/obj/item/mecha_parts/mecha_equipment/teleporter
name = "Teleporter"
name = "teleporter"
desc = "An exosuit module that allows exosuits to teleport to any position in view."
icon_state = "mecha_teleport"
origin_tech = "bluespace=10"
@@ -365,7 +365,7 @@
/obj/item/mecha_parts/mecha_equipment/wormhole_generator
name = "Wormhole Generator"
name = "wormhole generator"
desc = "An exosuit module that allows generating of small quasi-stable wormholes."
icon_state = "mecha_wholegen"
origin_tech = "bluespace=3"
@@ -415,7 +415,7 @@
return
/obj/item/mecha_parts/mecha_equipment/gravcatapult
name = "Gravitational Catapult"
name = "gravitational catapult"
desc = "An exosuit mounted Gravitational Catapult."
icon_state = "mecha_teleport"
origin_tech = "bluespace=2;magnets=3"
@@ -491,8 +491,8 @@
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster //what is that noise? A BAWWW from TK mutants.
name = "Armor Booster Module (Close Combat Weaponry)"
desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate."
name = "\improper CCW armor booster"
desc = "Close-combat armor booster. Boosts exosuit armor against armed melee attacks. Requires energy to operate."
icon_state = "mecha_abooster_ccw"
origin_tech = "materials=3"
equip_cooldown = 10
@@ -541,8 +541,8 @@
/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster
name = "Armor Booster Module (Ranged Weaponry)"
desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate."
name = "\improper RW armor booster"
desc = "Ranged-weaponry armor booster. Boosts exosuit armor against ranged attacks. Completely blocks taser shots, but requires energy to operate."
icon_state = "mecha_abooster_proj"
origin_tech = "materials=4"
equip_cooldown = 10
@@ -612,8 +612,8 @@
/obj/item/mecha_parts/mecha_equipment/repair_droid
name = "Repair Droid"
desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost all types of external or internal damage."
name = "repair droid"
desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost any type of external or internal damage."
icon_state = "repair_droid"
origin_tech = "magnets=3;programming=3"
equip_cooldown = 20
@@ -702,7 +702,7 @@
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
name = "Energy Relay"
name = "energy relay"
desc = "Wirelessly drains energy from any available power channel in area. The performance index is quite low."
icon_state = "tesla"
origin_tech = "magnets=4;syndicate=2"
@@ -814,7 +814,7 @@
/obj/item/mecha_parts/mecha_equipment/generator
name = "Phoron Generator"
name = "phoron generator"
desc = "Generates power using solid phoron as fuel. Pollutes the environment."
icon_state = "tesla"
origin_tech = "phorontech=2;powerstorage=2;engineering=1"
@@ -952,7 +952,7 @@
/obj/item/mecha_parts/mecha_equipment/generator/nuclear
name = "ExoNuclear Reactor"
name = "\improper ExoNuclear reactor"
desc = "Generates power using uranium. Pollutes the environment."
icon_state = "tesla"
origin_tech = "powerstorage=3;engineering=3"
@@ -989,7 +989,7 @@
//This is pretty much just for the death-ripley so that it is harmless
/obj/item/mecha_parts/mecha_equipment/tool/safety_clamp
name = "KILL CLAMP"
name = "\improper KILL CLAMP"
icon_state = "mecha_clamp"
equip_cooldown = 15
energy_drain = 0
@@ -1208,4 +1208,4 @@
if (OCCUPIED|LOCKED)
usr << "\red All of the passenger compartments are already occupied or locked!"
if (0)
usr << "\red \The [src] doesn't have a passenger compartment."
usr << "\red \The [src] doesn't have a passenger compartment."
@@ -9,7 +9,7 @@
//NEEDS SPRITE! (When this gets ticked in search for 'TODO MECHA JETPACK SPRITE MISSING' through code to uncomment the place where it's missing.)
/obj/item/mecha_parts/mecha_equipment/jetpack
name = "Jetpack"
name = "jetpack"
desc = "Using directed ion bursts and cunning solar wind reflection technique, this device enables controlled space flight."
icon_state = "mecha_equip"
equip_cooldown = 5
@@ -108,7 +108,7 @@
/obj/item/mecha_parts/mecha_equipment/defence_shocker
name = "Exosuit Defence Shocker"
name = "exosuit defence shocker"
desc = ""
icon_state = "mecha_teleport"
equip_cooldown = 10
+14 -25
View File
@@ -58,12 +58,12 @@
P.process()
/obj/item/mecha_parts/mecha_equipment/weapon/energy
name = "General Energy Weapon"
name = "general energy weapon"
auto_rearm = 1
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
equip_cooldown = 8
name = "CH-PS \"Immolator\" Laser"
name = "\improper CH-PS \"Immolator\" laser"
icon_state = "mecha_laser"
energy_drain = 30
projectile = /obj/item/projectile/beam
@@ -71,7 +71,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser
equip_cooldown = 30
name = "Jury-rigged Welder-Laser"
name = "jury-rigged welder-laser"
desc = "While not regulation, this inefficient weapon can be attached to working exo-suits in desperate, or malicious, times."
icon_state = "mecha_laser"
energy_drain = 80
@@ -81,7 +81,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
equip_cooldown = 15
name = "CH-LC \"Solaris\" Laser Cannon"
name = "\improper CH-LC \"Solaris\" laser cannon"
icon_state = "mecha_laser"
energy_drain = 60
projectile = /obj/item/projectile/beam/heavylaser
@@ -89,7 +89,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion
equip_cooldown = 40
name = "mkIV Ion Heavy Cannon"
name = "mkIV ion heavy cannon"
icon_state = "mecha_ion"
energy_drain = 120
projectile = /obj/item/projectile/ion
@@ -97,7 +97,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse
equip_cooldown = 30
name = "eZ-13 mk2 Heavy pulse rifle"
name = "eZ-13 mk2 heavy pulse rifle"
icon_state = "mecha_pulse"
energy_drain = 120
origin_tech = "materials=3;combat=6;powerstorage=4"
@@ -117,7 +117,7 @@
return
/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
name = "PBT \"Pacifier\" Mounted Taser"
name = "\improper PBT \"Pacifier\" mounted taser"
icon_state = "mecha_taser"
energy_drain = 20
equip_cooldown = 8
@@ -126,7 +126,7 @@
/* Commenting this out rather than removing it because it may be useful for reference.
/obj/item/mecha_parts/mecha_equipment/weapon/honker
name = "HoNkER BlAsT 5000"
name = "\improper HoNkER BlAsT 5000"
icon_state = "mecha_honker"
energy_drain = 200
equip_cooldown = 150
@@ -164,17 +164,6 @@
M.Paralyse(4)
else
M.make_jittery(500)
/* //else the mousetraps are useless
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(isobj(H.shoes))
var/thingy = H.shoes
H.drop_from_inventory(H.shoes)
walk_away(thingy,chassis,15,2)
spawn(20)
if(thingy)
walk(thingy,0)
*/
chassis.use_power(energy_drain)
log_message("Honked from [src.name]. HONK!")
do_after_cooldown()
@@ -182,7 +171,7 @@
*/
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic
name = "General Ballisic Weapon"
name = "general ballisic weapon"
var/projectile_energy_cost
get_equip_info()
@@ -207,7 +196,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
name = "LBX AC 10 \"Scattershot\""
name = "\improper LBX AC 10 \"Scattershot\""
icon_state = "mecha_scatter"
equip_cooldown = 20
projectile = /obj/item/projectile/bullet/midbullet
@@ -219,7 +208,7 @@
projectile_energy_cost = 25
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
name = "Ultra AC 2"
name = "\improper Ultra AC 2"
icon_state = "mecha_uac2"
equip_cooldown = 10
projectile = /obj/item/projectile/bullet/weakbullet
@@ -238,7 +227,7 @@
AM.throw_at(target,missile_range, missile_speed, chassis)
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive
name = "SRM-8 Missile Rack"
name = "\improper SRM-8 missile rack"
icon_state = "mecha_missilerack"
projectile = /obj/item/missile
fire_sound = 'sound/effects/bang.ogg'
@@ -266,7 +255,7 @@
return
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
name = "SGL-6 Grenade Launcher"
name = "\improper SGL-6 grenade launcher"
icon_state = "mecha_grenadelnchr"
projectile = /obj/item/weapon/grenade/flashbang
fire_sound = 'sound/effects/bang.ogg'
@@ -283,7 +272,7 @@
F.prime()
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve
name = "SOP-6 Grenade Launcher"
name = "\improper SOP-6 grenade launcher"
projectile = /obj/item/weapon/grenade/flashbang/clusterbang
construction_cost = list("metal"=20000,"gold"=6000,"uranium"=6000)
+2 -87
View File
@@ -2,6 +2,8 @@
////// Mecha Parts //////
/////////////////////////
// Mecha circuitboards can be found in /code/game/objects/items/weapons/circuitboards/mecha.dm
/obj/item/mecha_parts
name = "mecha part"
icon = 'icons/mecha/mech_construct.dmi'
@@ -347,90 +349,3 @@
origin_tech = "materials=3;engineering=3"
construction_time = 200
construction_cost = list("metal"=15000)*/
///////// Circuitboards
/obj/item/weapon/circuitboard/mecha
name = "Exosuit Circuit board"
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
item_state = "electronic"
board_type = "other"
flags = FPRINT | TABLEPASS | CONDUCT
force = 5.0
w_class = 2.0
throwforce = 5.0
throw_speed = 3
throw_range = 15
ripley
origin_tech = "programming=3"
ripley/peripherals
name = "Circuit board (Ripley Peripherals Control module)"
icon_state = "mcontroller"
ripley/main
name = "Circuit board (Ripley Central Control module)"
icon_state = "mainboard"
gygax
origin_tech = "programming=4"
gygax/peripherals
name = "Circuit board (Gygax Peripherals Control module)"
icon_state = "mcontroller"
gygax/targeting
name = "Circuit board (Gygax Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
gygax/main
name = "Circuit board (Gygax Central Control module)"
icon_state = "mainboard"
durand
origin_tech = "programming=4"
durand/peripherals
name = "Circuit board (Durand Peripherals Control module)"
icon_state = "mcontroller"
durand/targeting
name = "Circuit board (Durand Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
durand/main
name = "Circuit board (Durand Central Control module)"
icon_state = "mainboard"
honker
origin_tech = "programming=4"
honker/peripherals
name = "Circuit board (H.O.N.K Peripherals Control module)"
icon_state = "mcontroller"
honker/targeting
name = "Circuit board (H.O.N.K Weapon Control and Targeting module)"
icon_state = "mcontroller"
honker/main
name = "Circuit board (H.O.N.K Central Control module)"
icon_state = "mainboard"
odysseus
origin_tech = "programming=3"
odysseus/peripherals
name = "Circuit board (Odysseus Peripherals Control module)"
icon_state = "mcontroller"
odysseus/main
name = "Circuit board (Odysseus Central Control module)"
icon_state = "mainboard"
+1 -1
View File
@@ -1,7 +1,7 @@
// APC HULL
/obj/item/apc_frame
name = "APC frame"
name = "\improper APC frame"
desc = "Used for repairing or building APCs"
icon = 'icons/obj/apc_repair.dmi'
icon_state = "apc_frame"
+3 -3
View File
@@ -2,7 +2,7 @@
//Illicit drugs~
/obj/item/weapon/storage/pill_bottle/happy
name = "Happy pills"
name = "bottle of Happy pills"
desc = "Highly illegal drug. When you want to see the rainbow."
/obj/item/weapon/storage/pill_bottle/happy/New()
@@ -16,7 +16,7 @@
new /obj/item/weapon/reagent_containers/pill/happy( src )
/obj/item/weapon/storage/pill_bottle/zoom
name = "Zoom pills"
name = "bottle of Zoom pills"
desc = "Highly illegal drug. Trade brain for speed."
/obj/item/weapon/storage/pill_bottle/zoom/New()
@@ -27,4 +27,4 @@
new /obj/item/weapon/reagent_containers/pill/zoom( src )
new /obj/item/weapon/reagent_containers/pill/zoom( src )
new /obj/item/weapon/reagent_containers/pill/zoom( src )
new /obj/item/weapon/reagent_containers/pill/zoom( src )
new /obj/item/weapon/reagent_containers/pill/zoom( src )
+3 -3
View File
@@ -4,7 +4,7 @@
var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda
name = "PDA"
name = "\improper PDA"
desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge."
icon = 'icons/obj/pda.dmi'
icon_state = "pda"
@@ -1391,7 +1391,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
//Some spare PDAs in a box
/obj/item/weapon/storage/box/PDAs
name = "spare PDAs"
name = "box of spare PDAs"
desc = "A box of spare PDA microcomputers."
icon = 'icons/obj/pda.dmi'
icon_state = "pdabox"
@@ -1414,4 +1414,4 @@ var/global/list/obj/item/device/pda/PDAs = list()
// Pass along the pulse to atoms in contents, largely added so pAIs are vulnerable to EMP
/obj/item/device/pda/emp_act(severity)
for(var/atom/A in src)
A.emp_act(severity)
A.emp_act(severity)
+20 -20
View File
@@ -35,27 +35,27 @@
var/list/stored_data = list()
/obj/item/weapon/cartridge/engineering
name = "Power-ON Cartridge"
name = "\improper Power-ON cartridge"
icon_state = "cart-e"
access_engine = 1
/obj/item/weapon/cartridge/atmos
name = "BreatheDeep Cartridge"
name = "\improper BreatheDeep cartridge"
icon_state = "cart-a"
access_atmos = 1
/obj/item/weapon/cartridge/medical
name = "Med-U Cartridge"
name = "\improper Med-U cartridge"
icon_state = "cart-m"
access_medical = 1
/obj/item/weapon/cartridge/chemistry
name = "ChemWhiz Cartridge"
name = "\improper ChemWhiz cartridge"
icon_state = "cart-chem"
access_reagent_scanner = 1
/obj/item/weapon/cartridge/security
name = "R.O.B.U.S.T. Cartridge"
name = "\improper R.O.B.U.S.T. cartridge"
icon_state = "cart-s"
access_security = 1
@@ -65,31 +65,31 @@
radio = new /obj/item/radio/integrated/beepsky(src)
/obj/item/weapon/cartridge/detective
name = "D.E.T.E.C.T. Cartridge"
name = "\improper D.E.T.E.C.T. cartridge"
icon_state = "cart-s"
access_security = 1
access_medical = 1
/obj/item/weapon/cartridge/janitor
name = "CustodiPRO Cartridge"
name = "\improper CustodiPRO cartridge"
desc = "The ultimate in clean-room design."
icon_state = "cart-j"
access_janitor = 1
/obj/item/weapon/cartridge/lawyer
name = "P.R.O.V.E. Cartridge"
name = "\improper P.R.O.V.E. cartridge"
icon_state = "cart-s"
access_security = 1
/obj/item/weapon/cartridge/clown
name = "Honkworks 5.0"
name = "\improper Honkworks 5.0 cartridge"
icon_state = "cart-clown"
access_clown = 1
charges = 5
/obj/item/weapon/cartridge/mime
name = "Gestur-O 1000"
name = "\improper Gestur-O 1000 cartridge"
icon_state = "cart-mi"
access_mime = 1
charges = 5
@@ -105,7 +105,7 @@
desc = "A data cartridge with an integrated radio signaler module."
/obj/item/weapon/cartridge/signal/science
name = "Signal Ace 2"
name = "\improper Signal Ace 2 cartridge"
desc = "Complete with integrated radio signaler!"
icon_state = "cart-tox"
access_reagent_scanner = 1
@@ -119,7 +119,7 @@
/obj/item/weapon/cartridge/quartermaster
name = "Space Parts & Space Vendors Cartridge"
name = "\improper Space Parts & Space Vendors cartridge"
desc = "Perfect for the Quartermaster on the go!"
icon_state = "cart-q"
access_quartermaster = 1
@@ -130,12 +130,12 @@
radio = new /obj/item/radio/integrated/mule(src)
/obj/item/weapon/cartridge/head
name = "Easy-Record DELUXE"
name = "\improper Easy-Record DELUXE"
icon_state = "cart-h"
access_status_display = 1
/obj/item/weapon/cartridge/hop
name = "HumanResources9001"
name = "\improper HumanResources9001 cartridge"
icon_state = "cart-h"
access_status_display = 1
access_quartermaster = 1
@@ -148,7 +148,7 @@
radio = new /obj/item/radio/integrated/mule(src)
/obj/item/weapon/cartridge/hos
name = "R.O.B.U.S.T. DELUXE"
name = "\improper R.O.B.U.S.T. DELUXE"
icon_state = "cart-hos"
access_status_display = 1
access_security = 1
@@ -159,21 +159,21 @@
radio = new /obj/item/radio/integrated/beepsky(src)
/obj/item/weapon/cartridge/ce
name = "Power-On DELUXE"
name = "\improper Power-On DELUXE"
icon_state = "cart-ce"
access_status_display = 1
access_engine = 1
access_atmos = 1
/obj/item/weapon/cartridge/cmo
name = "Med-U DELUXE"
name = "\improper Med-U DELUXE"
icon_state = "cart-cmo"
access_status_display = 1
access_reagent_scanner = 1
access_medical = 1
/obj/item/weapon/cartridge/rd
name = "Signal Ace DELUXE"
name = "\improper Signal Ace DELUXE"
icon_state = "cart-rd"
access_status_display = 1
access_reagent_scanner = 1
@@ -185,7 +185,7 @@
radio = new /obj/item/radio/integrated/signal(src)
/obj/item/weapon/cartridge/captain
name = "Value-PAK Cartridge"
name = "\improper Value-PAK cartridge"
desc = "Now with 200% more value!"
icon_state = "cart-c"
access_quartermaster = 1
@@ -198,7 +198,7 @@
access_atmos = 1
/obj/item/weapon/cartridge/syndicate
name = "Detomatix Cartridge"
name = "\improper Detomatix cartridge"
icon_state = "cart"
access_remote_door = 1
access_detonate_pda = 1
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/item/radio/integrated
name = "PDA radio module"
name = "\improper PDA radio module"
desc = "An electronic radio system of nanotrasen origin."
icon = 'icons/obj/module.dmi'
icon_state = "power_mod"
+1 -1
View File
@@ -184,4 +184,4 @@
var/obj/item/rig_module/module = src.loc.loc
if(!module.holder || !direction)
return
module.holder.forced_move(direction)*/
module.holder.forced_move(direction)*/
@@ -15,4 +15,4 @@
/obj/item/device/binoculars/attack_self(mob/user)
zoom()
zoom()
@@ -1,5 +1,5 @@
/obj/item/device/chameleon
name = "chameleon-projector"
name = "chameleon projector"
icon_state = "shield0"
flags = FPRINT | TABLEPASS| CONDUCT
slot_flags = SLOT_BELT
@@ -142,4 +142,4 @@
/obj/effect/dummy/chameleon/Del()
master.disrupt(0)
..()
..()
+2 -2
View File
@@ -5,9 +5,9 @@
*/
/obj/item/device/debugger
icon = 'icons/obj/hacktool.dmi'
name = "debugger"
desc = "Used to debug electronic equipment."
icon = 'icons/obj/hacktool.dmi'
icon_state = "hacktool-g"
flags = FPRINT | TABLEPASS| CONDUCT
force = 5.0
@@ -43,4 +43,4 @@
user << "\red There is a software error with the device."
else
user << "\blue The device's software appears to be fine."
return 1
return 1
@@ -223,4 +223,4 @@
icon_state = initial(icon_state)
/obj/item/device/flashlight/slime/attack_self(mob/user)
return //Bio-luminescence does not toggle.
return //Bio-luminescence does not toggle.
@@ -191,4 +191,4 @@
#undef LIGHT_OK
#undef LIGHT_EMPTY
#undef LIGHT_BROKEN
#undef LIGHT_BURNED
#undef LIGHT_BURNED
+1 -1
View File
@@ -52,4 +52,4 @@
emagged = 1
insults = rand(1, 3)//to prevent dickflooding
return
return
return
+1 -1
View File
@@ -69,4 +69,4 @@
/obj/item/device/modkit/tajaran
name = "tajaran hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajaran."
target_species = "Tajara"
target_species = "Tajara"
+1 -1
View File
@@ -19,4 +19,4 @@
matter = list("metal" = 50,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
+1 -1
View File
@@ -1,8 +1,8 @@
// Powersink - used to drain station power
/obj/item/device/powersink
desc = "A nulling power sink which drains energy from electrical systems."
name = "power sink"
desc = "A nulling power sink which drains energy from electrical systems."
icon_state = "powersink0"
item_state = "electronic"
w_class = 4.0
@@ -1,5 +1,5 @@
/obj/item/device/radio/beacon
name = "Tracking Beacon"
name = "tracking beacon"
desc = "A beacon used by a teleporter."
icon_state = "beacon"
item_state = "signaler"
@@ -46,4 +46,4 @@
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
del(src)
return
return
@@ -1,6 +1,6 @@
/obj/item/device/encryptionkey/
name = "Standard Encrpytion Key"
name = "standard encrpytion key"
desc = "An encryption key for a radio headset. Contains cypherkeys."
icon = 'icons/obj/radio.dmi'
icon_state = "cypherkey"
@@ -28,96 +28,96 @@
origin_tech = "syndicate=3"
/obj/item/device/encryptionkey/headset_sec
name = "Security Radio Encryption Key"
name = "security radio encryption key"
icon_state = "sec_cypherkey"
channels = list("Security" = 1)
/obj/item/device/encryptionkey/headset_eng
name = "Engineering Radio Encryption Key"
name = "engineering radio encryption key"
icon_state = "eng_cypherkey"
channels = list("Engineering" = 1)
/obj/item/device/encryptionkey/headset_rob
name = "Robotics Radio Encryption Key"
name = "robotics radio encryption key"
icon_state = "rob_cypherkey"
channels = list("Engineering" = 1, "Science" = 1)
/obj/item/device/encryptionkey/headset_med
name = "Medical Radio Encryption Key"
name = "medical radio encryption key"
icon_state = "med_cypherkey"
channels = list("Medical" = 1)
/obj/item/device/encryptionkey/headset_sci
name = "Science Radio Encryption Key"
name = "science radio encryption key"
icon_state = "sci_cypherkey"
channels = list("Science" = 1)
/obj/item/device/encryptionkey/headset_medsci
name = "Medical Research Radio Encryption Key"
name = "medical research radio encryption key"
icon_state = "medsci_cypherkey"
channels = list("Medical" = 1, "Science" = 1)
/obj/item/device/encryptionkey/headset_com
name = "Command Radio Encryption Key"
name = "command radio encryption key"
icon_state = "com_cypherkey"
channels = list("Command" = 1)
/obj/item/device/encryptionkey/heads/captain
name = "Captain's Encryption Key"
name = "captain's encryption key"
icon_state = "cap_cypherkey"
channels = list("Command" = 1, "Security" = 1, "Engineering" = 0, "Science" = 0, "Medical" = 0, "Supply" = 0, "Service" = 0)
/obj/item/device/encryptionkey/heads/ai_integrated
name = "AI Integrated Encryption Key"
name = "ai integrated encryption key"
desc = "Integrated encryption key"
icon_state = "cap_cypherkey"
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1)
/obj/item/device/encryptionkey/heads/rd
name = "Research Director's Encryption Key"
name = "research director's encryption key"
icon_state = "rd_cypherkey"
channels = list("Science" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/hos
name = "Head of Security's Encryption Key"
name = "head of security's encryption key"
icon_state = "hos_cypherkey"
channels = list("Security" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/ce
name = "Chief Engineer's Encryption Key"
name = "chief engineer's encryption key"
icon_state = "ce_cypherkey"
channels = list("Engineering" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/cmo
name = "Chief Medical Officer's Encryption Key"
name = "chief medical officer's encryption key"
icon_state = "cmo_cypherkey"
channels = list("Medical" = 1, "Command" = 1)
/obj/item/device/encryptionkey/heads/hop
name = "Head of Personnel's Encryption Key"
name = "head of personnel's encryption key"
icon_state = "hop_cypherkey"
channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 0)
/*
/obj/item/device/encryptionkey/headset_mine
name = "Mining Radio Encryption Key"
name = "mining radio encryption key"
icon_state = "mine_cypherkey"
channels = list("Mining" = 1)
/obj/item/device/encryptionkey/heads/qm
name = "Quartermaster's Encryption Key"
name = "quartermaster's encryption key"
icon_state = "qm_cypherkey"
channels = list("Cargo" = 1, "Mining" = 1)
*/
/obj/item/device/encryptionkey/headset_cargo
name = "Supply Radio Encryption Key"
name = "supply radio encryption key"
icon_state = "cargo_cypherkey"
channels = list("Supply" = 1)
/obj/item/device/encryptionkey/headset_service
name = "Service Radio Encryption Key"
name = "service radio encryption key"
icon_state = "srv_cypherkey"
channels = list("Service" = 1)
/obj/item/device/encryptionkey/ert
name = "NanoTrasen ERT Radio Encryption Key"
name = "\improper NanoTrasen ERT radio encryption key"
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
@@ -31,7 +31,7 @@
return
user << "The following channels are built-in:"
user << radio_desc
user << radio_desc
/obj/item/device/radio/headset/handle_message_mode(mob/living/M as mob, message, channel)
if (channel == "special")
@@ -61,7 +61,7 @@
/obj/item/device/radio/headset/binary
origin_tech = "syndicate=3"
ks1type = /obj/item/device/encryptionkey/binary
ks1type = /obj/item/device/encryptionkey/binary
/obj/item/device/radio/headset/headset_sec
name = "security radio headset"
@@ -120,7 +120,7 @@
ks2type = /obj/item/device/encryptionkey/heads/captain
/obj/item/device/radio/headset/heads/ai_integrated //No need to care about icons, it should be hidden inside the AI anyway.
name = "AI Subspace Transceiver"
name = "\improper AI subspace transceiver"
desc = "Integrated AI radio transceiver."
icon = 'icons/obj/robot_component.dmi'
icon_state = "radio"
@@ -135,7 +135,7 @@
return ..(freq, level, 1)
/obj/item/device/radio/headset/heads/rd
name = "Research Director's headset"
name = "research director's headset"
desc = "Headset of the researching God."
icon_state = "com_headset"
item_state = "headset"
@@ -198,7 +198,7 @@
ks2type = /obj/item/device/encryptionkey/headset_service
/obj/item/device/radio/headset/ert
name = "CentCom Response Team headset"
name = "emergency response team radio headset"
desc = "The headset of the boss's boss."
icon_state = "com_headset"
item_state = "headset"
+6 -6
View File
@@ -9,7 +9,7 @@ MASS SPECTROMETER
REAGENT SCANNER
*/
/obj/item/device/t_scanner
name = "T-ray scanner"
name = "\improper T-ray scanner"
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
icon_state = "t-ray0"
var/on = 0
@@ -65,10 +65,10 @@ REAGENT SCANNER
/obj/item/device/healthanalyzer
name = "Health Analyzer"
name = "health analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
icon_state = "health"
item_state = "analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
flags = FPRINT | TABLEPASS | CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
@@ -227,8 +227,8 @@ REAGENT SCANNER
/obj/item/device/analyzer
desc = "A hand-held environmental scanner which reports current gas levels."
name = "analyzer"
desc = "A hand-held environmental scanner which reports current gas levels."
icon_state = "atmos"
item_state = "analyzer"
w_class = 2.0
@@ -274,8 +274,8 @@ REAGENT SCANNER
return
/obj/item/device/mass_spectrometer
name = "mass spectrometer"
desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample."
name = "mass-spectrometer"
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2.0
@@ -342,7 +342,7 @@ REAGENT SCANNER
return
/obj/item/device/mass_spectrometer/adv
name = "advanced mass-spectrometer"
name = "advanced mass spectrometer"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
@@ -182,4 +182,4 @@
if (cell)
user << "The charge meter reads [round(cell.percent())]%."
else
user << "It doesn't have a power cell installed."
user << "It doesn't have a power cell installed."
@@ -1,6 +1,6 @@
/obj/item/device/taperecorder
desc = "A device that can record up to an hour of dialogue and play it back. It automatically translates the content in playback."
name = "universal recorder"
desc = "A device that can record up to an hour of dialogue and play it back. It automatically translates the content in playback."
icon_state = "taperecorderidle"
item_state = "analyzer"
w_class = 2.0
@@ -29,7 +29,6 @@ effective or pretty fucking useless.
var/times_used = 0 //Number of times it's been used.
var/max_uses = 2
/obj/item/device/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
if(!user) return
if(times_used >= max_uses)
@@ -55,7 +54,3 @@ effective or pretty fucking useless.
times_used += 1
if(times_used >= max_uses)
icon_state = "battererburnt"
@@ -1,8 +1,8 @@
/obj/item/device/transfer_valve
icon = 'icons/obj/assemblies.dmi'
name = "tank transfer valve"
icon_state = "valve_1"
desc = "Regulates the transfer of air between two tanks"
icon = 'icons/obj/assemblies.dmi'
icon_state = "valve_1"
var/obj/item/weapon/tank/tank_one
var/obj/item/weapon/tank/tank_two
var/obj/item/device/attached_device
@@ -210,4 +210,4 @@
// this doesn't do anything but the timer etc. expects it to be here
// eventually maybe have it update icon to show state (timer, prox etc.) like old bombs
/obj/item/device/transfer_valve/proc/c_state()
return
return
+1 -1
View File
@@ -146,7 +146,7 @@ datum/nano_item_lists
*/
/obj/item/device/uplink/hidden
name = "Hidden Uplink."
name = "hidden uplink"
desc = "There is something wrong if you're examining this."
var/active = 0
+1 -1
View File
@@ -390,4 +390,4 @@
for(var/mob/M in viewers(1, loc))
if((M.client && M.machine == src))
attack_self(M)
return
return
+1 -1
View File
@@ -35,4 +35,4 @@
emagged = 1
insults = rand(1, 3)//to prevent dickflooding
return
return
return
+3 -3
View File
@@ -1,6 +1,6 @@
/obj/item/latexballon
name = "Latex glove"
desc = "" //todo
name = "latex glove"
desc = "A latex glove, usually used as a balloon."
icon_state = "latexballon"
item_state = "lgloves"
force = 0
@@ -45,4 +45,4 @@
/obj/item/latexballon/attackby(obj/item/W as obj, mob/user as mob)
if (can_puncture(W))
burst()
burst()
+1 -1
View File
@@ -40,7 +40,7 @@
/obj/item/borg/sight/xray
name = "\proper x-ray Vision"
name = "\proper x-ray vision"
sight_mode = BORGXRAY
+1 -1
View File
@@ -178,4 +178,4 @@
b2y1 = pixel_y + pick(1,1,1,1,2,2,3,3,4)
b2y2 = pixel_y - pick(1,1,1,1,2,2,3,3,4)
Target.bulletholes.Add(src)
Target.bulletholes.Add(src)
+1 -1
View File
@@ -259,4 +259,4 @@
return
affecting.status |= ORGAN_SPLINTED
use(1)
return
return
+1 -1
View File
@@ -42,4 +42,4 @@
if (do_surgery(H,user,src))
return
else
user << "<span class='notice'>Nothing to fix in here.</span>"
user << "<span class='notice'>Nothing to fix in here.</span>"
@@ -133,4 +133,4 @@
var/obj/item/stack/sheet/leather/HS = new(src.loc)
HS.amount = 1
wetness = initial(wetness)
src.use(1)
src.use(1)
@@ -200,4 +200,4 @@ obj/item/stack/sheet/mineral/iron/New()
sheettype = "osmium"
origin_tech = "materials=5"
color = "#9999FF"
perunit = 2000
perunit = 2000
@@ -200,4 +200,4 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null)
recipes = cardboard_recipes
return ..()
return ..()
@@ -23,4 +23,4 @@
else
for (var/obj/item/stack/sheet/stack in locate(src.x,src.y,src.z))
S.add(stack,user)
..()*/
..()*/
+1 -1
View File
@@ -265,4 +265,4 @@
New(title, recipes, req_amount = 1)
src.title = title
src.recipes = recipes
src.req_amount = req_amount
src.req_amount = req_amount
@@ -33,4 +33,4 @@
new/obj/item/stack/light_w(user.loc)
if(amount <= 0)
user.drop_from_inventory(src)
del(src)
del(src)
+3 -3
View File
@@ -113,7 +113,7 @@
* Fake singularity
*/
/obj/item/toy/spinningtoy
name = "Gravitational Singularity"
name = "gravitational singularity"
desc = "\"Singulo\" brand spinning toy."
icon = 'icons/obj/singularity.dmi'
icon_state = "singularity_s1"
@@ -420,7 +420,7 @@
* Water flower
*/
/obj/item/toy/waterflower
name = "Water Flower"
name = "water flower"
desc = "A seemingly innocent sunflower...with a twist."
icon = 'icons/obj/harvest.dmi'
icon_state = "sunflower"
@@ -645,4 +645,4 @@
item_state = "inflatable"
flags = FPRINT | TABLEPASS
icon = 'icons/obj/clothing/belts.dmi'
slot_flags = SLOT_BELT
slot_flags = SLOT_BELT
+61 -46
View File
@@ -6,52 +6,67 @@
icon = 'icons/obj/trash.dmi'
w_class = 2.0
desc = "This is rubbish."
raisins
name = "4no raisins"
icon_state= "4no_raisins"
candy
name = "Candy"
icon_state= "candy"
cheesie
name = "Cheesie honkers"
icon_state = "cheesie_honkers"
chips
name = "Chips"
icon_state = "chips"
popcorn
name = "Popcorn"
icon_state = "popcorn"
sosjerky
name = "Scaredy's Private Reserve Beef Jerky"
icon_state = "sosjerky"
syndi_cakes
name = "Syndi cakes"
icon_state = "syndi_cakes"
waffles
name = "Waffles"
icon_state = "waffles"
plate
name = "Plate"
icon_state = "plate"
snack_bowl
name = "Snack bowl"
icon_state = "snack_bowl"
pistachios
name = "Pistachios pack"
icon_state = "pistachios_pack"
semki
name = "Semki pack"
icon_state = "semki_pack"
tray
name = "Tray"
icon_state = "tray"
candle
name = "candle"
icon = 'icons/obj/candle.dmi'
icon_state = "candle4"
liquidfood
name = "\improper \"LiquidFood\" ration"
icon_state = "liquidfood"
/obj/item/trash/raisins
name = "\improper 4no raisins"
icon_state= "4no_raisins"
/obj/item/trash/candy
name = "candy"
icon_state= "candy"
/obj/item/trash/cheesie
name = "\improper Cheesie Honkers"
icon_state = "cheesie_honkers"
/obj/item/trash/chips
name = "chips"
icon_state = "chips"
/obj/item/trash/popcorn
name = "popcorn"
icon_state = "popcorn"
/obj/item/trash/sosjerky
name = "Scaredy's Private Reserve Beef Jerky"
icon_state = "sosjerky"
/obj/item/trash/syndi_cakes
name = "syndi cakes"
icon_state = "syndi_cakes"
/obj/item/trash/waffles
name = "waffles"
icon_state = "waffles"
/obj/item/trash/plate
name = "plate"
icon_state = "plate"
/obj/item/trash/snack_bowl
name = "snack bowl"
icon_state = "snack_bowl"
/obj/item/trash/pistachios
name = "pistachios pack"
icon_state = "pistachios_pack"
/obj/item/trash/semki
name = "semki pack"
icon_state = "semki_pack"
/obj/item/trash/tray
name = "tray"
icon_state = "tray"
/obj/item/trash/candle
name = "candle"
icon = 'icons/obj/candle.dmi'
icon_state = "candle4"
/obj/item/trash/liquidfood
name = "\improper \"LiquidFood\" ration"
icon_state = "liquidfood"
/obj/item/trash/attack(mob/M as mob, mob/living/user as mob)
return
+2 -2
View File
@@ -1,6 +1,6 @@
//Contains the rapid construction device.
/obj/item/weapon/rcd
name = "rapid-construction-device (RCD)"
name = "rapid construction device (RCD)"
desc = "A device used to rapidly build walls and floors."
icon = 'icons/obj/items.dmi'
icon_state = "rcd"
@@ -174,4 +174,4 @@
return 0
/obj/item/weapon/rcd/mounted/attackby()
return
return
+1 -1
View File
@@ -112,4 +112,4 @@ RSF
R.cell.use(used_energy)
else
stored_matter--
user << "The RSF now holds [stored_matter]/30 fabrication-units."
user << "The RSF now holds [stored_matter]/30 fabrication-units."
@@ -0,0 +1,6 @@
/obj/item/weapon/circuitboard/broken
name = "broken electronics"
icon = 'icons/obj/doors/door_assembly.dmi'
icon_state = "door_electronics_smoked"
origin_tech = null
board_type = "other"
@@ -0,0 +1,38 @@
//Define a macro that we can use to assemble all the circuit board names
#ifdef T_BOARD
#error T_BOARD already defined elsewhere, we can't use it.
#endif
#define T_BOARD(name) "circuit board (" + (name) + ")"
/obj/item/weapon/circuitboard
name = "circuit board"
icon = 'icons/obj/module.dmi'
icon_state = "id_mod"
item_state = "electronic"
origin_tech = "programming=2"
density = 0
anchored = 0
w_class = 2.0
flags = FPRINT | TABLEPASS | CONDUCT
force = 5.0
throwforce = 5.0
throw_speed = 3
throw_range = 15
var/build_path = null
var/board_type = "computer"
var/list/req_components = null
var/frame_desc = null
var/contain_parts = 1
//Called when the circuitboard is used to contruct a new machine.
/obj/item/weapon/circuitboard/proc/construct(var/obj/machinery/M)
if (istype(M, build_path))
return 1
return 0
//Called when a computer is deconstructed to produce a circuitboard.
//Only used by computers, as other machines store their circuitboard instance.
/obj/item/weapon/circuitboard/proc/deconstruct(var/obj/machinery/M)
if (istype(M, build_path))
return 1
return 0
@@ -0,0 +1,27 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/air_management
name = T_BOARD("atmosphere monitoring console")
build_path = /obj/machinery/computer/general_air_control
var/frequency = 1439
/obj/item/weapon/circuitboard/air_management/tank_control
name = T_BOARD("tank control")
build_path = /obj/machinery/computer/general_air_control/large_tank_control
frequency = 1441
/obj/item/weapon/circuitboard/air_management/supermatter_core
name = T_BOARD("core control")
build_path = /obj/machinery/computer/general_air_control/supermatter_core
frequency = 1438
/obj/item/weapon/circuitboard/air_management/injector_control
name = T_BOARD("injector control")
build_path = /obj/machinery/computer/general_air_control/fuel_injection
/obj/item/weapon/circuitboard/air_management/construct(var/obj/machinery/computer/general_air_control/C)
if (..(C))
C.frequency = frequency
/obj/item/weapon/circuitboard/air_management/deconstruct(var/obj/machinery/computer/general_air_control/C)
if (..(C))
frequency = C.frequency
@@ -0,0 +1,65 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/security
name = T_BOARD("security camera monitor")
build_path = /obj/machinery/computer/security
var/network = list("SS13")
req_access = list(access_security)
var/locked = 1
var/emagged = 0
/obj/item/weapon/circuitboard/security/engineering
name = T_BOARD("engineering camera monitor")
build_path = /obj/machinery/computer/security/engineering
network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms")
req_access = list()
/obj/item/weapon/circuitboard/security/mining
name = T_BOARD("mining camera monitor")
build_path = /obj/machinery/computer/security/mining
network = list("MINE")
req_access = list()
/obj/item/weapon/circuitboard/security/construct(var/obj/machinery/computer/security/C)
if (..(C))
C.network = network
/obj/item/weapon/circuitboard/security/deconstruct(var/obj/machinery/computer/security/C)
if (..(C))
network = C.network
/obj/item/weapon/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/card/emag))
if(emagged)
user << "Circuit lock is already removed."
return
user << "\blue You override the circuit lock and open controls."
emagged = 1
locked = 0
else if(istype(I,/obj/item/weapon/card/id))
if(emagged)
user << "\red Circuit lock does not respond."
return
if(check_access(I))
locked = !locked
user << "\blue You [locked ? "" : "un"]lock the circuit controls."
else
user << "\red Access denied."
else if(istype(I,/obj/item/device/multitool))
if(locked)
user << "\red Circuit controls are locked."
return
var/existing_networks = list2text(network,",")
var/input = strip_html(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))
if(!input)
usr << "No input found please hang up and try your call again."
return
var/list/tempnetwork = text2list(input, ",")
tempnetwork = difflist(tempnetwork,RESTRICTED_CAMERA_NETWORKS,1)
if(tempnetwork.len < 1)
usr << "No network found please hang up and try your call again."
return
network = tempnetwork
return
@@ -0,0 +1,190 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/message_monitor
name = T_BOARD("message monitor console")
build_path = /obj/machinery/computer/message_monitor
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/aiupload
name = T_BOARD("AI upload console")
build_path = /obj/machinery/computer/aiupload
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/borgupload
name = T_BOARD("cyborg upload console")
build_path = /obj/machinery/computer/borgupload
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/med_data
name = T_BOARD("medical records console")
build_path = /obj/machinery/computer/med_data
/obj/item/weapon/circuitboard/pandemic
name = T_BOARD("PanD.E.M.I.C. 2200")
build_path = /obj/machinery/computer/pandemic
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/scan_consolenew
name = T_BOARD("DNA machine")
build_path = /obj/machinery/computer/scan_consolenew
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/communications
name = T_BOARD("command and communications console")
build_path = /obj/machinery/computer/communications
origin_tech = "programming=2;magnets=2"
/obj/item/weapon/circuitboard/card
name = T_BOARD("ID card modification console")
build_path = /obj/machinery/computer/card
/obj/item/weapon/circuitboard/card/centcom
name = T_BOARD("CentCom ID card modification console")
build_path = /obj/machinery/computer/card/centcom
/obj/item/weapon/circuitboard/teleporter
name = T_BOARD("teleporter control console")
build_path = /obj/machinery/computer/teleporter
origin_tech = "programming=2;bluespace=2"
/obj/item/weapon/circuitboard/secure_data
name = T_BOARD("security records console")
build_path = /obj/machinery/computer/secure_data
/obj/item/weapon/circuitboard/skills
name = T_BOARD("employment records console")
build_path = /obj/machinery/computer/skills
/obj/item/weapon/circuitboard/stationalert
name = T_BOARD("station alert console")
build_path = /obj/machinery/computer/station_alert
/obj/item/weapon/circuitboard/atmos_alert
name = T_BOARD("atmospheric alert console")
build_path = /obj/machinery/computer/atmos_alert
/obj/item/weapon/circuitboard/pod
name = T_BOARD("massdriver control")
build_path = /obj/machinery/computer/pod
/obj/item/weapon/circuitboard/robotics
name = T_BOARD("robotics control console")
build_path = /obj/machinery/computer/robotics
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/drone_control
name = T_BOARD("drone control console")
build_path = /obj/machinery/computer/drone_control
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/cloning
name = T_BOARD("cloning control console")
build_path = /obj/machinery/computer/cloning
origin_tech = "programming=3;biotech=3"
/obj/item/weapon/circuitboard/arcade
name = T_BOARD("arcade machine")
build_path = /obj/machinery/computer/arcade
origin_tech = "programming=1"
/obj/item/weapon/circuitboard/turbine_control
name = T_BOARD("turbine control console")
build_path = /obj/machinery/computer/turbine_computer
/obj/item/weapon/circuitboard/solar_control
name = T_BOARD("solar control console")
build_path = /obj/machinery/power/solar_control
origin_tech = "programming=2;powerstorage=2"
/obj/item/weapon/circuitboard/powermonitor
name = T_BOARD("power monitoring console")
build_path = /obj/machinery/computer/power_monitor
/obj/item/weapon/circuitboard/olddoor
name = T_BOARD("DoorMex")
build_path = /obj/machinery/computer/pod/old
/obj/item/weapon/circuitboard/syndicatedoor
name = T_BOARD("ProComp Executive")
build_path = /obj/machinery/computer/pod/old/syndicate
/obj/item/weapon/circuitboard/swfdoor
name = T_BOARD("Magix")
build_path = /obj/machinery/computer/pod/old/swf
/obj/item/weapon/circuitboard/prisoner
name = T_BOARD("prisoner management console")
build_path = /obj/machinery/computer/prisoner
/obj/item/weapon/circuitboard/mecha_control
name = T_BOARD("exosuit control console")
build_path = /obj/machinery/computer/mecha
/obj/item/weapon/circuitboard/rdservercontrol
name = T_BOARD("R&D server control console")
build_path = /obj/machinery/computer/rdservercontrol
/obj/item/weapon/circuitboard/crew
name = T_BOARD("crew monitoring console")
build_path = /obj/machinery/computer/crew
origin_tech = "programming=3;biotech=2;magnets=2"
/obj/item/weapon/circuitboard/mech_bay_power_console
name = T_BOARD("mech bay power control console")
build_path = /obj/machinery/computer/mech_bay_power_console
origin_tech = "programming=2;powerstorage=3"
/obj/item/weapon/circuitboard/operating
name = T_BOARD("patient monitoring console")
build_path = /obj/machinery/computer/operating
origin_tech = "programming=2;biotech=2"
/obj/item/weapon/circuitboard/curefab
name = T_BOARD("cure fabricator")
build_path = /obj/machinery/computer/curer
/obj/item/weapon/circuitboard/splicer
name = T_BOARD("disease splicer")
build_path = /obj/machinery/computer/diseasesplicer
/obj/item/weapon/circuitboard/ordercomp
name = T_BOARD("supply ordering console")
build_path = /obj/machinery/computer/ordercomp
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/mining_shuttle
name = T_BOARD("mining shuttle console")
build_path = /obj/machinery/computer/shuttle_control/mining
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/engineering_shuttle
name = T_BOARD("engineering shuttle console")
build_path = /obj/machinery/computer/shuttle_control/engineering
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/research_shuttle
name = T_BOARD("research shuttle console")
build_path = /obj/machinery/computer/shuttle_control/research
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/aifixer
name = T_BOARD("AI integrity restorer")
build_path = /obj/machinery/computer/aifixer
origin_tech = "programming=3;biotech=2"
/obj/item/weapon/circuitboard/area_atmos
name = T_BOARD("area air control console")
build_path = /obj/machinery/computer/area_atmos
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/prison_shuttle
name = T_BOARD("prison shuttle control console")
build_path = /obj/machinery/computer/prison_shuttle
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/rcon_console
name = T_BOARD("RCON remote control console")
build_path = /obj/machinery/computer/rcon
origin_tech = "programming=4;engineering=3;powerstorage=5"
@@ -0,0 +1,20 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/rdconsole
name = T_BOARD("R&D control console")
build_path = /obj/machinery/computer/rdconsole/core
/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/screwdriver))
user.visible_message("\blue \the [user] adjusts the jumper on the [src]'s access protocol pins.", "\blue You adjust the jumper on the access protocol pins.")
if(src.build_path == /obj/machinery/computer/rdconsole/core)
src.name = T_BOARD("RD Console - Robotics")
src.build_path = /obj/machinery/computer/rdconsole/robotics
user << "\blue Access protocols set to robotics."
else
src.name = T_BOARD("RD Console")
src.build_path = /obj/machinery/computer/rdconsole/core
user << "\blue Access protocols set to default."
return
@@ -0,0 +1,39 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/supplycomp
name = T_BOARD("supply control console")
build_path = /obj/machinery/computer/supplycomp
origin_tech = "programming=3"
var/contraband_enabled = 0
/obj/item/weapon/circuitboard/supplycomp/construct(var/obj/machinery/computer/supplycomp/SC)
if (..(SC))
SC.can_order_contraband = contraband_enabled
/obj/item/weapon/circuitboard/supplycomp/deconstruct(var/obj/machinery/computer/supplycomp/SC)
if (..(SC))
contraband_enabled = SC.can_order_contraband
/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/device/multitool))
var/catastasis = src.contraband_enabled
var/opposite_catastasis
if(catastasis)
opposite_catastasis = "STANDARD"
catastasis = "BROAD"
else
opposite_catastasis = "BROAD"
catastasis = "STANDARD"
switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") )
//switch( alert("Current receiver spectrum is set to: " {(src.contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(src.contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") )
if("Switch to STANDARD","Switch to BROAD")
src.contraband_enabled = !src.contraband_enabled
if("Cancel")
return
else
user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri"
return
@@ -0,0 +1,18 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/comm_monitor
name = T_BOARD("telecommunications monitor console")
build_path = /obj/machinery/computer/telecomms/monitor
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/comm_server
name = T_BOARD("telecommunications server monitor console")
build_path = /obj/machinery/computer/telecomms/server
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/comm_traffic
name = T_BOARD("telecommunications traffic control console")
build_path = /obj/machinery/computer/telecomms/traffic
origin_tech = "programming=3"
@@ -0,0 +1,28 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/clonepod
name = T_BOARD("clone pod")
build_path = "/obj/machinery/clonepod"
board_type = "machine"
origin_tech = "programming=3;biotech=3"
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,
"/obj/item/weapon/stock_parts/scanning_module" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/stock_parts/console_screen" = 1)
/obj/item/weapon/circuitboard/clonescanner
name = T_BOARD("cloning scanner")
build_path = "/obj/machinery/dna_scannernew"
board_type = "machine"
origin_tech = "programming=2;biotech=2"
frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/stack/cable_coil" = 2)
@@ -0,0 +1,25 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/pacman
name = T_BOARD("PACMAN-type generator")
build_path = "/obj/machinery/power/port_gen/pacman"
board_type = "machine"
origin_tech = "programming=3;powerstorage=3;phorontech=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,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/capacitor" = 1)
/obj/item/weapon/circuitboard/pacman/super
name = T_BOARD("SUPERPACMAN-type generator")
build_path = "/obj/machinery/power/port_gen/pacman/super"
origin_tech = "programming=3;powerstorage=4;engineering=4"
/obj/item/weapon/circuitboard/pacman/mrs
name = T_BOARD("MRSPACMAN-type generator")
build_path = "/obj/machinery/power/port_gen/pacman/mrs"
origin_tech = "programming=3;powerstorage=5;engineering=5"
@@ -0,0 +1,27 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/smes
name = T_BOARD("superconductive magnetic energy storage")
build_path = "/obj/machinery/power/smes/buildable"
board_type = "machine"
origin_tech = "powerstorage=6;engineering=4"
frame_desc = "Requires 1 superconducting magnetic coil and 30 wires."
req_components = list("/obj/item/weapon/smes_coil" = 1, "/obj/item/stack/cable_coil" = 30)
/obj/item/weapon/circuitboard/batteryrack
name = T_BOARD("battery rack PSU")
build_path = "/obj/machinery/power/smes/batteryrack"
board_type = "machine"
origin_tech = "powerstorage=3;engineering=2"
frame_desc = "Requires 3 power cells."
req_components = list("/obj/item/weapon/cell" = 3)
/obj/item/weapon/circuitboard/ghettosmes
name = T_BOARD("makeshift PSU")
desc = "An APC circuit repurposed into some power storage device controller"
build_path = "/obj/machinery/power/smes/batteryrack/makeshift"
board_type = "machine"
frame_desc = "Requires 3 power cells."
req_components = list("/obj/item/weapon/cell" = 3)
@@ -0,0 +1,70 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
obj/item/weapon/circuitboard/rdserver
name = T_BOARD("R&D server")
build_path = "/obj/machinery/r_n_d/server"
board_type = "machine"
origin_tech = "programming=3"
frame_desc = "Requires 2 pieces of cable, and 1 Scanning Module."
req_components = list(
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/scanning_module" = 1)
/obj/item/weapon/circuitboard/destructive_analyzer
name = T_BOARD("destructive analyzer")
build_path = "/obj/machinery/r_n_d/destructive_analyzer"
board_type = "machine"
origin_tech = "magnets=2;engineering=2;programming=2"
frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1)
/obj/item/weapon/circuitboard/autolathe
name = T_BOARD("autolathe")
build_path = "/obj/machinery/autolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 3,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1)
/obj/item/weapon/circuitboard/protolathe
name = T_BOARD("protolathe")
build_path = "/obj/machinery/r_n_d/protolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
/obj/item/weapon/circuitboard/circuit_imprinter
name = T_BOARD("circuit imprinter")
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
/obj/item/weapon/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
build_path = "/obj/machinery/mecha_part_fabricator"
board_type = "machine"
origin_tech = "programming=3;engineering=3"
frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1,
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1)
@@ -1,9 +1,9 @@
////////////////////////////////////////
// External Shield Generator
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/shield_gen_ex
name = "Circuit board (Hull shield generator)"
name = T_BOARD("hull shield generator")
board_type = "machine"
build_path = "/obj/machinery/shield_gen/external"
origin_tech = "bluespace=4;phorontech=3"
@@ -16,22 +16,10 @@
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/stack/cable_coil" = 5)
datum/design/shield_gen_ex
name = "Circuit Design (Experimental hull shield generator)"
desc = "Allows for the construction of circuit boards used to build an experimental hull shield generator."
id = "shield_gen"
req_tech = list("bluespace" = 4, "phorontech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$phoron" = 10000, "$diamond" = 5000, "$gold" = 10000)
build_path = "/obj/machinery/shield_gen/external"
////////////////////////////////////////
// Shield Generator
/obj/item/weapon/circuitboard/shield_gen
name = "Circuit board (Bubble shield generator)"
name = T_BOARD("bubble shield generator")
board_type = "machine"
build_path = "/obj/machinery/shield_gen/external"
build_path = "/obj/machinery/shield_gen"
origin_tech = "bluespace=4;phorontech=3"
frame_desc = "Requires 2 Pico Manipulators, 1 Subspace Transmitter, 5 Pieces of cable, 1 Subspace Crystal, 1 Subspace Amplifier and 1 Console Screen."
req_components = list(
@@ -42,20 +30,8 @@ datum/design/shield_gen_ex
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/stack/cable_coil" = 5)
datum/design/shield_gen
name = "Circuit Design (Bubble shield generator)"
desc = "Allows for the construction of circuit boards used to build an experimental shield generator."
id = "shield_gen"
req_tech = list("bluespace" = 4, "phorontech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$phoron" = 10000, "$diamond" = 5000, "$gold" = 10000)
build_path = "/obj/machinery/shield_gen/external"
////////////////////////////////////////
// Shield Capacitor
/obj/item/weapon/circuitboard/shield_cap
name = "Circuit board (Shield capacitor)"
name = T_BOARD("shield capacitor")
board_type = "machine"
build_path = "/obj/machinery/shield_capacitor"
origin_tech = "magnets=3;powerstorage=4"
@@ -67,12 +43,3 @@ datum/design/shield_gen
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/stack/cable_coil" = 5)
datum/design/shield_cap
name = "Circuit Design (Shield capacitor)"
desc = "Allows for the construction of circuit boards used to build an experimental shielding capacitor."
id = "shield_cap"
req_tech = list("magnets" = 3, "powerstorage" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$phoron" = 10000, "$diamond" = 5000, "$silver" = 10000)
build_path = "/obj/machinery/shield_gen/external"
@@ -0,0 +1,82 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/telecomms
board_type = "machine"
/obj/item/weapon/circuitboard/telecomms/receiver
name = T_BOARD("subspace receiver")
build_path = "/obj/machinery/telecomms/receiver"
origin_tech = "programming=4;engineering=3;bluespace=2"
frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/subspace/ansible" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/stock_parts/micro_laser" = 1)
/obj/item/weapon/circuitboard/telecomms/hub
name = T_BOARD("hub mainframe")
build_path = "/obj/machinery/telecomms/hub"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/relay
name = T_BOARD("relay mainframe")
build_path = "/obj/machinery/telecomms/relay"
origin_tech = "programming=3;engineering=4;bluespace=3"
frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
/obj/item/weapon/circuitboard/telecomms/bus
name = T_BOARD("bus mainframe")
build_path = "/obj/machinery/telecomms/bus"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/processor
name = T_BOARD("processor unit")
build_path = "/obj/machinery/telecomms/processor"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 3,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/treatment" = 2,
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1)
/obj/item/weapon/circuitboard/telecomms/server
name = T_BOARD("telecommunication server")
build_path = "/obj/machinery/telecomms/server"
origin_tech = "programming=4;engineering=4"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
/obj/item/weapon/circuitboard/telecomms/broadcaster
name = T_BOARD("subspace broadcaster")
build_path = "/obj/machinery/telecomms/broadcaster"
origin_tech = "programming=4;engineering=4;bluespace=2"
frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/stack/cable_coil" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 2)
@@ -0,0 +1,35 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/weapon/circuitboard/unary_atmos
board_type = "machine"
/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U)
//TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.
U.initialize()
U.build_network()
if (U.node)
U.node.initialize()
U.node.build_network()
/obj/item/weapon/circuitboard/unary_atmos/heater
name = T_BOARD("gas heating system")
build_path = "/obj/machinery/atmospherics/unary/heater"
origin_tech = "powerstorage=2;engineering=1"
frame_desc = "Requires 5 Pieces of Cable, 1 Matter Bin, and 2 Capacitors."
req_components = list(
"/obj/item/stack/cable_coil" = 5,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2)
/obj/item/weapon/circuitboard/unary_atmos/cooler
name = T_BOARD("gas cooling system")
build_path = "/obj/machinery/atmospherics/unary/freezer"
origin_tech = "magnets=2;engineering=2"
frame_desc = "Requires 2 Pieces of Cable, 1 Matter Bin, 1 Micro Manipulator, and 2 Capacitors."
req_components = list(
"/obj/item/stack/cable_coil" = 2,
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/capacitor" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1)
@@ -0,0 +1,88 @@
#ifdef T_BOARD_MECHA
#error T_BOARD_MECHA already defined elsewhere, we can't use it.
#endif
#define T_BOARD_MECHA(name) "exosuit module circuit board (" + (name) + ")"
/obj/item/weapon/circuitboard/mecha
name = "exosuit circuit board"
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
item_state = "electronic"
board_type = "other"
/obj/item/weapon/circuitboard/mecha/ripley
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
name = T_BOARD_MECHA("Ripley peripherals control")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/ripley/main
name = T_BOARD_MECHA("Ripley central control")
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/gygax
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/mecha/gygax/peripherals
name = T_BOARD_MECHA("Gygax peripherals control")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/gygax/targeting
name = T_BOARD_MECHA("Gygax weapon control and targeting")
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
/obj/item/weapon/circuitboard/mecha/gygax/main
name = T_BOARD_MECHA("Gygax central control")
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/durand
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/mecha/durand/peripherals
name = T_BOARD_MECHA("Durand peripherals control")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/durand/targeting
name = T_BOARD_MECHA("Durand weapon control and targeting")
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
/obj/item/weapon/circuitboard/mecha/durand/main
name = T_BOARD_MECHA("Durand central control")
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/honker
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/mecha/honker/peripherals
name = T_BOARD_MECHA("H.O.N.K peripherals control")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/honker/targeting
name = T_BOARD_MECHA("H.O.N.K weapon control and targeting")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/honker/main
name = T_BOARD_MECHA("H.O.N.K central control")
icon_state = "mainboard"
/obj/item/weapon/circuitboard/mecha/odysseus
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/mecha/odysseus/peripherals
name = T_BOARD_MECHA("Odysseus peripherals control")
icon_state = "mcontroller"
/obj/item/weapon/circuitboard/mecha/odysseus/main
name = T_BOARD_MECHA("Odysseus central control")
icon_state = "mainboard"
//Undef the macro, shouldn't be needed anywhere else
#undef T_BOARD_MECHA
@@ -0,0 +1,10 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
//Stuff that doesn't fit into any category goes here
/obj/item/weapon/circuitboard/aicore
name = T_BOARD("AI core")
origin_tech = "programming=4;biotech=2"
board_type = "other"
@@ -65,4 +65,4 @@
src.add_fingerprint(user)
spawn(20)
spam_flag = 0
return
return
+1 -1
View File
@@ -26,4 +26,4 @@
icon_state = "[name][result]"
user.visible_message("<span class='notice'>[user] has thrown [src]. It lands on [result]. [comment]</span>", \
"<span class='notice'>You throw [src]. It lands on a [result]. [comment]</span>", \
"<span class='notice'>You hear [src] landing on a [result]. [comment]</span>")
"<span class='notice'>You hear [src] landing on a [result]. [comment]</span>")
+48 -48
View File
@@ -1,5 +1,5 @@
/obj/item/weapon/dnainjector
name = "DNA-Injector"
name = "\improper DNA injector"
desc = "This injects the person with DNA."
icon = 'icons/obj/items.dmi'
icon_state = "dnainjector"
@@ -194,7 +194,7 @@
/obj/item/weapon/dnainjector/hulkmut
name = "DNA-Injector (Hulk)"
name = "\improper DNA injector (Hulk)"
desc = "This will make you big and strong, but give you a bad skin condition."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -204,7 +204,7 @@
..()
/obj/item/weapon/dnainjector/antihulk
name = "DNA-Injector (Anti-Hulk)"
name = "\improper DNA injector (Anti-Hulk)"
desc = "Cures green skin."
datatype = DNA2_BUF_SE
value = 0x001
@@ -214,7 +214,7 @@
..()
/obj/item/weapon/dnainjector/xraymut
name = "DNA-Injector (Xray)"
name = "\improper DNA injector (Xray)"
desc = "Finally you can see what the Captain does."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -224,7 +224,7 @@
..()
/obj/item/weapon/dnainjector/antixray
name = "DNA-Injector (Anti-Xray)"
name = "\improper DNA injector (Anti-Xray)"
desc = "It will make you see harder."
datatype = DNA2_BUF_SE
value = 0x001
@@ -234,7 +234,7 @@
..()
/obj/item/weapon/dnainjector/firemut
name = "DNA-Injector (Fire)"
name = "\improper DNA injector (Fire)"
desc = "Gives you fire."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -244,7 +244,7 @@
..()
/obj/item/weapon/dnainjector/antifire
name = "DNA-Injector (Anti-Fire)"
name = "\improper DNA injector (Anti-Fire)"
desc = "Cures fire."
datatype = DNA2_BUF_SE
value = 0x001
@@ -254,7 +254,7 @@
..()
/obj/item/weapon/dnainjector/telemut
name = "DNA-Injector (Tele.)"
name = "\improper DNA injector (Tele.)"
desc = "Super brain man!"
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -264,7 +264,7 @@
..()
/obj/item/weapon/dnainjector/antitele
name = "DNA-Injector (Anti-Tele.)"
name = "\improper DNA injector (Anti-Tele.)"
desc = "Will make you not able to control your mind."
datatype = DNA2_BUF_SE
value = 0x001
@@ -274,7 +274,7 @@
..()
/obj/item/weapon/dnainjector/nobreath
name = "DNA-Injector (No Breath)"
name = "\improper DNA injector (No Breath)"
desc = "Hold your breath and count to infinity."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -284,7 +284,7 @@
..()
/obj/item/weapon/dnainjector/antinobreath
name = "DNA-Injector (Anti-No Breath)"
name = "\improper DNA injector (Anti-No Breath)"
desc = "Hold your breath and count to 100."
datatype = DNA2_BUF_SE
value = 0x001
@@ -294,7 +294,7 @@
..()
/obj/item/weapon/dnainjector/remoteview
name = "DNA-Injector (Remote View)"
name = "\improper DNA injector (Remote View)"
desc = "Stare into the distance for a reason."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -304,7 +304,7 @@
..()
/obj/item/weapon/dnainjector/antiremoteview
name = "DNA-Injector (Anti-Remote View)"
name = "\improper DNA injector (Anti-Remote View)"
desc = "Cures green skin."
datatype = DNA2_BUF_SE
value = 0x001
@@ -314,7 +314,7 @@
..()
/obj/item/weapon/dnainjector/regenerate
name = "DNA-Injector (Regeneration)"
name = "\improper DNA injector (Regeneration)"
desc = "Healthy but hungry."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -324,7 +324,7 @@
..()
/obj/item/weapon/dnainjector/antiregenerate
name = "DNA-Injector (Anti-Regeneration)"
name = "\improper DNA injector (Anti-Regeneration)"
desc = "Sickly but sated."
datatype = DNA2_BUF_SE
value = 0x001
@@ -334,7 +334,7 @@
..()
/obj/item/weapon/dnainjector/runfast
name = "DNA-Injector (Increase Run)"
name = "\improper DNA injector (Increase Run)"
desc = "Running Man."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -344,7 +344,7 @@
..()
/obj/item/weapon/dnainjector/antirunfast
name = "DNA-Injector (Anti-Increase Run)"
name = "\improper DNA injector (Anti-Increase Run)"
desc = "Walking Man."
datatype = DNA2_BUF_SE
value = 0x001
@@ -354,7 +354,7 @@
..()
/obj/item/weapon/dnainjector/morph
name = "DNA-Injector (Morph)"
name = "\improper DNA injector (Morph)"
desc = "A total makeover."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -364,7 +364,7 @@
..()
/obj/item/weapon/dnainjector/antimorph
name = "DNA-Injector (Anti-Morph)"
name = "\improper DNA injector (Anti-Morph)"
desc = "Cures identity crisis."
datatype = DNA2_BUF_SE
value = 0x001
@@ -375,7 +375,7 @@
/* No COLDBLOCK on bay
/obj/item/weapon/dnainjector/cold
name = "DNA-Injector (Cold)"
name = "\improper DNA injector (Cold)"
desc = "Feels a bit chilly."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -385,7 +385,7 @@
..()
/obj/item/weapon/dnainjector/anticold
name = "DNA-Injector (Anti-Cold)"
name = "\improper DNA injector (Anti-Cold)"
desc = "Feels room-temperature."
datatype = DNA2_BUF_SE
value = 0x001
@@ -396,7 +396,7 @@
*/
/obj/item/weapon/dnainjector/noprints
name = "DNA-Injector (No Prints)"
name = "\improper DNA injector (No Prints)"
desc = "Better than a pair of budget insulated gloves."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -406,7 +406,7 @@
..()
/obj/item/weapon/dnainjector/antinoprints
name = "DNA-Injector (Anti-No Prints)"
name = "\improper DNA injector (Anti-No Prints)"
desc = "Not quite as good as a pair of budget insulated gloves."
datatype = DNA2_BUF_SE
value = 0x001
@@ -416,7 +416,7 @@
..()
/obj/item/weapon/dnainjector/insulation
name = "DNA-Injector (Shock Immunity)"
name = "\improper DNA injector (Shock Immunity)"
desc = "Better than a pair of real insulated gloves."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -426,7 +426,7 @@
..()
/obj/item/weapon/dnainjector/antiinsulation
name = "DNA-Injector (Anti-Shock Immunity)"
name = "\improper DNA injector (Anti-Shock Immunity)"
desc = "Not quite as good as a pair of real insulated gloves."
datatype = DNA2_BUF_SE
value = 0x001
@@ -436,7 +436,7 @@
..()
/obj/item/weapon/dnainjector/midgit
name = "DNA-Injector (Small Size)"
name = "\improper DNA injector (Small Size)"
desc = "Makes you shrink."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -446,7 +446,7 @@
..()
/obj/item/weapon/dnainjector/antimidgit
name = "DNA-Injector (Anti-Small Size)"
name = "\improper DNA injector (Anti-Small Size)"
desc = "Makes you grow. But not too much."
datatype = DNA2_BUF_SE
value = 0x001
@@ -457,7 +457,7 @@
/////////////////////////////////////
/obj/item/weapon/dnainjector/antiglasses
name = "DNA-Injector (Anti-Glasses)"
name = "\improper DNA injector (Anti-Glasses)"
desc = "Toss away those glasses!"
datatype = DNA2_BUF_SE
value = 0x001
@@ -467,7 +467,7 @@
..()
/obj/item/weapon/dnainjector/glassesmut
name = "DNA-Injector (Glasses)"
name = "\improper DNA injector (Glasses)"
desc = "Will make you need dorkish glasses."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -477,7 +477,7 @@
..()
/obj/item/weapon/dnainjector/epimut
name = "DNA-Injector (Epi.)"
name = "\improper DNA injector (Epi.)"
desc = "Shake shake shake the room!"
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -487,7 +487,7 @@
..()
/obj/item/weapon/dnainjector/antiepi
name = "DNA-Injector (Anti-Epi.)"
name = "\improper DNA injector (Anti-Epi.)"
desc = "Will fix you up from shaking the room."
datatype = DNA2_BUF_SE
value = 0x001
@@ -497,7 +497,7 @@
..()
/obj/item/weapon/dnainjector/anticough
name = "DNA-Injector (Anti-Cough)"
name = "\improper DNA injector (Anti-Cough)"
desc = "Will stop that awful noise."
datatype = DNA2_BUF_SE
value = 0x001
@@ -507,7 +507,7 @@
..()
/obj/item/weapon/dnainjector/coughmut
name = "DNA-Injector (Cough)"
name = "\improper DNA injector (Cough)"
desc = "Will bring forth a sound of horror from your throat."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -517,7 +517,7 @@
..()
/obj/item/weapon/dnainjector/clumsymut
name = "DNA-Injector (Clumsy)"
name = "\improper DNA injector (Clumsy)"
desc = "Makes clumsy minions."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -527,7 +527,7 @@
..()
/obj/item/weapon/dnainjector/anticlumsy
name = "DNA-Injector (Anti-Clumy)"
name = "\improper DNA injector (Anti-Clumy)"
desc = "Cleans up confusion."
datatype = DNA2_BUF_SE
value = 0x001
@@ -537,7 +537,7 @@
..()
/obj/item/weapon/dnainjector/antitour
name = "DNA-Injector (Anti-Tour.)"
name = "\improper DNA injector (Anti-Tour.)"
desc = "Will cure tourrets."
datatype = DNA2_BUF_SE
value = 0x001
@@ -547,7 +547,7 @@
..()
/obj/item/weapon/dnainjector/tourmut
name = "DNA-Injector (Tour.)"
name = "\improper DNA injector (Tour.)"
desc = "Gives you a nasty case off tourrets."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -557,7 +557,7 @@
..()
/obj/item/weapon/dnainjector/stuttmut
name = "DNA-Injector (Stutt.)"
name = "\improper DNA injector (Stutt.)"
desc = "Makes you s-s-stuttterrr"
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -567,7 +567,7 @@
..()
/obj/item/weapon/dnainjector/antistutt
name = "DNA-Injector (Anti-Stutt.)"
name = "\improper DNA injector (Anti-Stutt.)"
desc = "Fixes that speaking impairment."
datatype = DNA2_BUF_SE
value = 0x001
@@ -577,7 +577,7 @@
..()
/obj/item/weapon/dnainjector/blindmut
name = "DNA-Injector (Blind)"
name = "\improper DNA injector (Blind)"
desc = "Makes you not see anything."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -587,7 +587,7 @@
..()
/obj/item/weapon/dnainjector/antiblind
name = "DNA-Injector (Anti-Blind)"
name = "\improper DNA injector (Anti-Blind)"
desc = "ITS A MIRACLE!!!"
datatype = DNA2_BUF_SE
value = 0x001
@@ -597,7 +597,7 @@
..()
/obj/item/weapon/dnainjector/deafmut
name = "DNA-Injector (Deaf)"
name = "\improper DNA injector (Deaf)"
desc = "Sorry, what did you say?"
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -607,7 +607,7 @@
..()
/obj/item/weapon/dnainjector/antideaf
name = "DNA-Injector (Anti-Deaf)"
name = "\improper DNA injector (Anti-Deaf)"
desc = "Will make you hear once more."
datatype = DNA2_BUF_SE
value = 0x001
@@ -617,7 +617,7 @@
..()
/obj/item/weapon/dnainjector/hallucination
name = "DNA-Injector (Halluctination)"
name = "\improper DNA injector (Halluctination)"
desc = "What you see isn't always what you get."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -627,7 +627,7 @@
..()
/obj/item/weapon/dnainjector/antihallucination
name = "DNA-Injector (Anti-Hallucination)"
name = "\improper DNA injector (Anti-Hallucination)"
desc = "What you see is what you get."
datatype = DNA2_BUF_SE
value = 0x001
@@ -637,7 +637,7 @@
..()
/obj/item/weapon/dnainjector/h2m
name = "DNA-Injector (Human > Monkey)"
name = "\improper DNA injector (Human > Monkey)"
desc = "Will make you a flea bag."
datatype = DNA2_BUF_SE
value = 0xFFF
@@ -647,11 +647,11 @@
..()
/obj/item/weapon/dnainjector/m2h
name = "DNA-Injector (Monkey > Human)"
name = "\improper DNA injector (Monkey > Human)"
desc = "Will make you...less hairy."
datatype = DNA2_BUF_SE
value = 0x001
//block = 14
New()
block = MONKEYBLOCK
..()
..()
@@ -38,7 +38,7 @@
/obj/item/weapon/plastique/afterattack(atom/movable/target, mob/user, flag)
if (!flag)
return
if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/))
if (ismob(target) || istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/) || istype(target, /obj/item/clothing/tie/storage/) || istype(target, /obj/item/clothing/under))
return
user << "Planting explosives..."
@@ -144,4 +144,4 @@
step(user, user.inertia_dir)
else
return ..()
return
return
@@ -218,4 +218,4 @@
igniter.secured = 0
status = 1
update_icon()
return
return

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