mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-11 10:22:13 +00:00
oops! All Refactors!
This commit is contained in:
@@ -22,11 +22,10 @@
|
||||
|
||||
/datum/config_entry/string/cross_comms_name
|
||||
|
||||
/datum/config_entry/string/medal_hub_address
|
||||
|
||||
/datum/config_entry/string/medal_hub_password
|
||||
protection = CONFIG_ENTRY_HIDDEN
|
||||
/datum/config_entry/string/cross_comms_network
|
||||
protection = CONFIG_ENTRY_LOCKED
|
||||
|
||||
/// cit config
|
||||
/datum/config_entry/keyed_list/cross_server_bunker_override
|
||||
key_mode = KEY_MODE_TEXT
|
||||
value_mode = VALUE_MODE_TEXT
|
||||
@@ -42,6 +41,3 @@
|
||||
|
||||
/datum/config_entry/keyed_list/cross_server_bunker_override/ValidateListEntry(key_name, key_value)
|
||||
return key_value != "byond:\\address:port" && ..()
|
||||
|
||||
/datum/config_entry/flag/allow_cross_server_bunker_override
|
||||
protection = CONFIG_ENTRY_LOCKED
|
||||
|
||||
@@ -8,12 +8,16 @@
|
||||
var/description
|
||||
var/prerequisites
|
||||
var/admin_notes
|
||||
|
||||
/// How much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.
|
||||
var/credit_cost = INFINITY
|
||||
/// Can the be legitimately purchased by the station? Used by hardcoded or pre-mapped shuttles like the lavaland or cargo shuttle.
|
||||
var/can_be_bought = TRUE
|
||||
/// If set, overrides default movement_force on shuttle
|
||||
var/list/movement_force
|
||||
|
||||
var/port_x_offset
|
||||
var/port_y_offset
|
||||
var/extra_desc = ""
|
||||
|
||||
/datum/map_template/shuttle/proc/prerequisites_met()
|
||||
return TRUE
|
||||
@@ -23,7 +27,7 @@
|
||||
mappath = "[prefix][shuttle_id].dmm"
|
||||
. = ..()
|
||||
|
||||
/datum/map_template/shuttle/preload_size(path = mappath, force_cache = FALSE)
|
||||
/datum/map_template/shuttle/preload_size(path, force_cache)
|
||||
. = ..(path, TRUE) // Done this way because we still want to know if someone actualy wanted to cache the map
|
||||
if(!cached_map)
|
||||
return
|
||||
@@ -64,6 +68,9 @@
|
||||
continue
|
||||
if(length(place.baseturfs) < 2) // Some snowflake shuttle shit
|
||||
continue
|
||||
// var/list/sanity = place.baseturfs.Copy() // we do not have new baseturfs yet
|
||||
// sanity.Insert(3, /turf/baseturf_skipover/shuttle)
|
||||
// place.baseturfs = baseturfs_string_list(sanity, place)
|
||||
place.baseturfs.Insert(3, /turf/baseturf_skipover/shuttle)
|
||||
|
||||
for(var/obj/docking_port/mobile/port in place)
|
||||
@@ -93,6 +100,7 @@
|
||||
port.dwidth = port_y_offset - 1
|
||||
port.dheight = width - port_x_offset
|
||||
|
||||
// these three for loops are cit specific.
|
||||
for(var/obj/structure/closet/closet in place)
|
||||
if(closet.anchorable)
|
||||
closet.anchored = TRUE
|
||||
@@ -104,11 +112,10 @@
|
||||
rack.AddComponent(/datum/component/magnetic_catch)
|
||||
|
||||
//Whatever special stuff you want
|
||||
/datum/map_template/shuttle/proc/post_load(obj/docking_port/mobile/M)
|
||||
return
|
||||
|
||||
/datum/map_template/shuttle/proc/on_bought()
|
||||
return
|
||||
/datum/map_template/shuttle/post_load(obj/docking_port/mobile/M)
|
||||
if(movement_force)
|
||||
M.movement_force = movement_force.Copy()
|
||||
M.linkup()
|
||||
|
||||
/datum/map_template/shuttle/emergency
|
||||
port_id = "emergency"
|
||||
@@ -117,6 +124,7 @@
|
||||
/datum/map_template/shuttle/cargo
|
||||
port_id = "cargo"
|
||||
name = "Base Shuttle Template (Cargo)"
|
||||
can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/ferry
|
||||
port_id = "ferry"
|
||||
@@ -137,10 +145,6 @@
|
||||
port_id = "mining_common"
|
||||
can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/cargo
|
||||
port_id = "cargo"
|
||||
can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/arrival
|
||||
port_id = "arrival"
|
||||
can_be_bought = FALSE
|
||||
@@ -189,21 +193,23 @@
|
||||
name = "Backup Shuttle"
|
||||
can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/emergency/airless
|
||||
suffix = "airless"
|
||||
/datum/map_template/shuttle/emergency/construction
|
||||
suffix = "construction"
|
||||
name = "Build your own shuttle kit"
|
||||
description = "Save money by building your own shuttle! The chassis will dock upon purchase, but launch will have to be authorized as usual via shuttle call. Interior and lighting not included."
|
||||
description = "For the enterprising shuttle engineer! The chassis will dock upon purchase, but launch will have to be authorized as usual via shuttle call. Comes stocked with construction materials. Unlocks the ability to buy shuttle engine crates from cargo."
|
||||
admin_notes = "No brig, no medical facilities, just an empty box."
|
||||
credit_cost = -7500
|
||||
|
||||
/datum/map_template/shuttle/emergency/airless/prerequisites_met()
|
||||
/datum/map_template/shuttle/emergency/construction/prerequisites_met()
|
||||
// first 10 minutes only
|
||||
return world.time - SSticker.round_start_time < 6000
|
||||
|
||||
/datum/map_template/shuttle/emergency/airless/on_bought()
|
||||
//enable buying engines from cargo
|
||||
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/engineering/shuttle_engine]
|
||||
P.special_enabled = TRUE
|
||||
// this is broken and does not work. Thanks TG
|
||||
// /datum/map_template/shuttle/emergency/airless/post_load()
|
||||
// . = ..()
|
||||
// //enable buying engines from cargo
|
||||
// var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/engineering/shuttle_engine]
|
||||
// P.special_enabled = TRUE
|
||||
|
||||
|
||||
/datum/map_template/shuttle/emergency/asteroid
|
||||
@@ -220,6 +226,13 @@
|
||||
Has medical facilities."
|
||||
credit_cost = 5000
|
||||
|
||||
// /datum/map_template/shuttle/emergency/pod
|
||||
// suffix = "pod"
|
||||
// name = "Emergency Pods"
|
||||
// description = "We did not expect an evacuation this quickly. All we have available is two escape pods."
|
||||
// admin_notes = "For player punishment."
|
||||
// can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/emergency/russiafightpit
|
||||
suffix = "russiafightpit"
|
||||
name = "Mother Russia Bleeds"
|
||||
@@ -230,9 +243,10 @@
|
||||
/datum/map_template/shuttle/emergency/meteor
|
||||
suffix = "meteor"
|
||||
name = "Asteroid With Engines Strapped To It"
|
||||
description = "A hollowed out asteroid with engines strapped to it. Due to its size and difficulty in steering it, this shuttle may damage the docking area."
|
||||
description = "A hollowed out asteroid with engines strapped to it, the hollowing procedure makes it very difficult to hijack but is very expensive. Due to its size and difficulty in steering it, this shuttle may damage the docking area."
|
||||
admin_notes = "This shuttle will likely crush escape, killing anyone there."
|
||||
credit_cost = -5000
|
||||
movement_force = list("KNOCKDOWN" = 3, "THROW" = 2)
|
||||
|
||||
/datum/map_template/shuttle/emergency/luxury
|
||||
suffix = "luxury"
|
||||
@@ -247,6 +261,7 @@
|
||||
description = "The glorious results of centuries of plasma research done by Nanotrasen employees. This is the reason why you are here. Get on and dance like you're on fire, burn baby burn!"
|
||||
admin_notes = "Flaming hot. The main area has a dance machine as well as plasma floor tiles that will be ignited by players every single time."
|
||||
credit_cost = 10000
|
||||
// can_be_bought = FALSE
|
||||
|
||||
/datum/map_template/shuttle/emergency/arena
|
||||
suffix = "arena"
|
||||
@@ -254,11 +269,22 @@
|
||||
description = "The crew must pass through an otherworldy arena to board this shuttle. Expect massive casualties. The source of the Bloody Signal must be tracked down and eliminated to unlock this shuttle."
|
||||
admin_notes = "RIP AND TEAR."
|
||||
credit_cost = 10000
|
||||
/// Whether the arena z-level has been created
|
||||
var/arena_loaded = FALSE
|
||||
|
||||
/datum/map_template/shuttle/emergency/arena/prerequisites_met()
|
||||
if("bubblegum" in SSshuttle.shuttle_purchase_requirements_met)
|
||||
return TRUE
|
||||
return FALSE
|
||||
return SSshuttle.shuttle_purchase_requirements_met["bubblegum"]
|
||||
|
||||
/datum/map_template/shuttle/emergency/arena/post_load(obj/docking_port/mobile/M)
|
||||
. = ..()
|
||||
if(!arena_loaded)
|
||||
arena_loaded = TRUE
|
||||
var/datum/map_template/arena/arena_template = new()
|
||||
arena_template.load_new_z()
|
||||
|
||||
/datum/map_template/arena
|
||||
name = "The Arena"
|
||||
mappath = "_maps/templates/the_arena.dmm"
|
||||
|
||||
/datum/map_template/shuttle/emergency/birdboat
|
||||
suffix = "birdboat"
|
||||
@@ -272,6 +298,13 @@
|
||||
credit_cost = 2000
|
||||
description = "The gold standard in emergency exfiltration, this tried and true design is equipped with everything the crew needs for a safe flight home."
|
||||
|
||||
// /datum/map_template/shuttle/emergency/donut
|
||||
// suffix = "donut"
|
||||
// name = "Donutstation Emergency Shuttle"
|
||||
// description = "The perfect spearhead for any crude joke involving the station's shape, this shuttle supports a separate containment cell for prisoners and a compact medical wing."
|
||||
// admin_notes = "Has airlocks on both sides of the shuttle and will probably intersect near the front on some stations that build past departures."
|
||||
// credit_cost = 2500
|
||||
|
||||
/datum/map_template/shuttle/emergency/clown
|
||||
suffix = "clown"
|
||||
name = "Snappop(tm)!"
|
||||
@@ -316,7 +349,9 @@
|
||||
credit_cost = -1000
|
||||
description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean too heavily on the exterior windows, they are fragile."
|
||||
admin_notes = "An abomination with no functional medbay, sections missing, and some very fragile windows. Surprisingly airtight."
|
||||
movement_force = list("KNOCKDOWN" = 3, "THROW" = 2)
|
||||
|
||||
// CIT SPECIFIC
|
||||
/datum/map_template/shuttle/emergency/syndicate
|
||||
suffix = "syndicate"
|
||||
name = "Syndicate GM Battlecruiser"
|
||||
@@ -325,9 +360,7 @@
|
||||
admin_notes = "An emag exclusive, stocked with syndicate equipment and turrets that will target any simplemob."
|
||||
|
||||
/datum/map_template/shuttle/emergency/syndicate/prerequisites_met()
|
||||
if("emagged" in SSshuttle.shuttle_purchase_requirements_met)
|
||||
return TRUE
|
||||
return FALSE
|
||||
return SSshuttle.shuttle_purchase_requirements_met["emagged"]
|
||||
|
||||
/datum/map_template/shuttle/emergency/narnar
|
||||
suffix = "narnar"
|
||||
@@ -335,6 +368,10 @@
|
||||
description = "Looks like this shuttle may have wandered into the darkness between the stars on route to the station. Let's not think too hard about where all the bodies came from."
|
||||
admin_notes = "Contains real cult ruins, mob eyeballs, and inactive constructs. Cult mobs will automatically be sentienced by fun balloon. \
|
||||
Cloning pods in 'medbay' area are showcases and nonfunctional."
|
||||
credit_cost = 6667 ///The joke is the number so no defines
|
||||
|
||||
/datum/map_template/shuttle/emergency/narnar/prerequisites_met()
|
||||
return SSshuttle.shuttle_purchase_requirements_met["narsie"]
|
||||
|
||||
/datum/map_template/shuttle/emergency/pubby
|
||||
suffix = "pubby"
|
||||
@@ -354,7 +391,7 @@
|
||||
/datum/map_template/shuttle/emergency/supermatter
|
||||
suffix = "supermatter"
|
||||
name = "Hyperfractal Gigashuttle"
|
||||
description = "(Emag only) \"I dunno, this seems kinda needlessly complicated.\"\n\
|
||||
description = "\"I dunno, this seems kinda needlessly complicated.\"\n\
|
||||
\"This shuttle has very a very high safety record, according to CentCom Officer Cadet Yins.\"\n\
|
||||
\"Are you sure?\"\n\
|
||||
\"Yes, it has a safety record of N-A-N, which is apparently larger than 100%.\""
|
||||
@@ -363,19 +400,19 @@
|
||||
It does, however, still dust anything on contact, emits high levels of radiation, and induce hallucinations in anyone looking at it without protective goggles. \
|
||||
Emitters spawn powered on, expect admin notices, they are harmless."
|
||||
credit_cost = 15000
|
||||
movement_force = list("KNOCKDOWN" = 3, "THROW" = 2)
|
||||
|
||||
/datum/map_template/shuttle/emergency/supermatter/prerequisites_met()
|
||||
if("emagged" in SSshuttle.shuttle_purchase_requirements_met)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
return SSshuttle.shuttle_purchase_requirements_met["emagged"]
|
||||
/datum/map_template/shuttle/emergency/imfedupwiththisworld
|
||||
suffix = "imfedupwiththisworld"
|
||||
name = "Oh, Hi Daniel"
|
||||
description = "How was space work today? Oh, pretty good. We got a new space station and the company will make a lot of money. What space station? I cannot tell you; it's space confidential. \
|
||||
Aw, come space on. Why not? No, I can't. Anyway, how is your space roleplay life?"
|
||||
admin_notes = "Tiny, with a single airlock and wooden walls. What could go wrong?"
|
||||
// can_be_bought = FALSE
|
||||
credit_cost = -5000
|
||||
movement_force = list("KNOCKDOWN" = 3, "THROW" = 2)
|
||||
|
||||
/datum/map_template/shuttle/emergency/goon
|
||||
suffix = "goon"
|
||||
@@ -383,6 +420,14 @@
|
||||
description = "The Nanotrasen Emergency Shuttle Port(NES Port for short) is a shuttle used at other less known Nanotrasen facilities and has a more open inside for larger crowds, but fewer onboard shuttle facilities."
|
||||
credit_cost = 500
|
||||
|
||||
// /datum/map_template/shuttle/emergency/rollerdome
|
||||
// suffix = "rollerdome"
|
||||
// name = "Uncle Pete's Rollerdome"
|
||||
// description = "Developed by a member of Nanotrasen's R&D crew that claims to have travelled from the year 2028.
|
||||
// He says this shuttle is based off an old entertainment complex from the 1990s, though our database has no records on anything pertaining to that decade."
|
||||
// admin_notes = "ONLY NINETIES KIDS REMEMBER. Uses the fun balloon and drone from the Emergency Bar."
|
||||
// credit_cost = 500 * 5
|
||||
|
||||
/datum/map_template/shuttle/emergency/wabbajack
|
||||
suffix = "wabbajack"
|
||||
name = "NT Lepton Violet"
|
||||
@@ -398,6 +443,7 @@
|
||||
description = "On the smaller size with a modern design, this shuttle is for the crew who like the cosier things, while still being able to stretch their legs."
|
||||
credit_cost = 1000
|
||||
|
||||
// CIT SPECIFIC
|
||||
/datum/map_template/shuttle/emergency/gorilla
|
||||
suffix = "gorilla"
|
||||
name = "Gorilla Cargo Freighter"
|
||||
@@ -405,11 +451,17 @@
|
||||
credit_cost = 2000
|
||||
|
||||
/datum/map_template/shuttle/emergency/gorilla/prerequisites_met()
|
||||
if("emagged" in SSshuttle.shuttle_purchase_requirements_met)
|
||||
return TRUE
|
||||
return FALSE
|
||||
return SSshuttle.shuttle_purchase_requirements_met["emagged"]
|
||||
|
||||
|
||||
/datum/map_template/shuttle/emergency/cruise
|
||||
suffix = "cruise"
|
||||
name = "The NTSS Independence"
|
||||
description = "Ordinarily reserved for special functions and events, the Cruise Shuttle Independence can bring a summery cheer to your next station evacuation for a 'modest' fee!"
|
||||
admin_notes = "This motherfucker is BIG. You might need to force dock it."
|
||||
credit_cost = 8000
|
||||
|
||||
/datum/map_template/shuttle/emergency/monkey
|
||||
suffix = "nature"
|
||||
name = "Dynamic Environmental Interaction Shuttle"
|
||||
description = "A large shuttle with a center biodome that is flourishing with life. Frolick with the monkeys! (Extra monkeys are stored on the bridge.)"
|
||||
@@ -441,7 +493,7 @@
|
||||
/datum/map_template/shuttle/ferry/fancy
|
||||
suffix = "fancy"
|
||||
name = "fancy transport ferry"
|
||||
description = "At some point, someone upgraded the ferry to have fancier flooring... and less seats."
|
||||
description = "At some point, someone upgraded the ferry to have fancier flooring... and fewer seats."
|
||||
|
||||
/datum/map_template/shuttle/ferry/kilo
|
||||
suffix = "kilo"
|
||||
@@ -464,6 +516,14 @@
|
||||
suffix = "cere"
|
||||
name = "NT Construction Vessel"
|
||||
|
||||
// /datum/map_template/shuttle/whiteship/kilo
|
||||
// suffix = "kilo"
|
||||
// name = "NT Mining Shuttle"
|
||||
|
||||
// /datum/map_template/shuttle/whiteship/donut
|
||||
// suffix = "donut"
|
||||
// name = "NT Long-Distance Bluespace Jumper"
|
||||
|
||||
/datum/map_template/shuttle/whiteship/delta
|
||||
suffix = "delta"
|
||||
name = "NT Frigate"
|
||||
@@ -476,10 +536,6 @@
|
||||
suffix = "cog"
|
||||
name = "NT Prisoner Transport"
|
||||
|
||||
/datum/map_template/shuttle/cargo/box
|
||||
suffix = "box"
|
||||
name = "supply shuttle (Box)"
|
||||
|
||||
/datum/map_template/shuttle/cargo/kilo
|
||||
suffix = "kilo"
|
||||
name = "supply shuttle (Kilo)"
|
||||
@@ -488,6 +544,14 @@
|
||||
suffix = "birdboat"
|
||||
name = "supply shuttle (Birdboat)"
|
||||
|
||||
// /datum/map_template/shuttle/cargo/donut
|
||||
// suffix = "donut"
|
||||
// name = "supply shuttle (Donut)"
|
||||
|
||||
// /datum/map_template/shuttle/cargo/pubby
|
||||
// suffix = "pubby"
|
||||
// name = "supply shuttle (Pubby)"
|
||||
|
||||
/datum/map_template/shuttle/emergency/delta
|
||||
suffix = "delta"
|
||||
name = "Delta Station Emergency Shuttle"
|
||||
@@ -497,11 +561,24 @@
|
||||
|
||||
/datum/map_template/shuttle/emergency/raven
|
||||
suffix = "raven"
|
||||
name = "CentCom Raven Battlecruiser"
|
||||
description = "The CentCom Raven Battlecruiser is currently docked at the CentCom ship bay awaiting a mission, this Battlecruiser has been reassigned as an emergency escape shuttle for currently unknown reasons. The CentCom Raven Battlecruiser should comfortably fit a medium to large crew size crew and is complete with all required facitlities including a top of the range CentCom Medical Bay."
|
||||
admin_notes = "Comes with turrets that will target any simplemob."
|
||||
name = "CentCom Raven Cruiser"
|
||||
description = "The CentCom Raven Cruiser is a former high-risk salvage vessel, now repurposed into an emergency escape shuttle. \
|
||||
Once first to the scene to pick through warzones for valuable remains, it now serves as an excellent escape option for stations under heavy fire from outside forces. \
|
||||
This escape shuttle boasts shields and numerous anti-personnel turrets guarding its perimeter to fend off meteors and enemy boarding attempts."
|
||||
admin_notes = "Comes with turrets that will target anything without the neutral faction (nuke ops, xenos etc, but not pets)."
|
||||
credit_cost = 12500
|
||||
|
||||
// /datum/map_template/shuttle/emergency/zeta
|
||||
// suffix = "zeta"
|
||||
// name = "Tr%nPo2r& Z3TA"
|
||||
// description = "A glitch appears on your monitor, flickering in and out of the options laid before you.
|
||||
// It seems strange and alien, you may need a special technology to access the signal.."
|
||||
// admin_notes = "Has alien surgery tools, and a void core that provides unlimited power."
|
||||
// credit_cost = CARGO_CRATE_VALUE * 16
|
||||
|
||||
// /datum/map_template/shuttle/emergency/zeta/prerequisites_met()
|
||||
// return SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ALIENTECH]
|
||||
|
||||
/datum/map_template/shuttle/emergency/cog
|
||||
suffix = "cog"
|
||||
name = "NES Classic"
|
||||
@@ -524,18 +601,22 @@
|
||||
suffix = "box"
|
||||
name = "labour shuttle (Box)"
|
||||
|
||||
/datum/map_template/shuttle/labour/kilo
|
||||
suffix = "kilo"
|
||||
name = "labour shuttle (Kilo)"
|
||||
|
||||
/datum/map_template/shuttle/labour/cog
|
||||
suffix = "cog"
|
||||
name = "labour shuttle (Cog)"
|
||||
|
||||
// /datum/map_template/shuttle/arrival/donut
|
||||
// suffix = "donut"
|
||||
// name = "arrival shuttle (Donut)"
|
||||
|
||||
/datum/map_template/shuttle/infiltrator/basic
|
||||
suffix = "basic"
|
||||
name = "basic syndicate infiltrator"
|
||||
|
||||
// /datum/map_template/shuttle/infiltrator/advanced
|
||||
// suffix = "advanced"
|
||||
// name = "advanced syndicate infiltrator"
|
||||
|
||||
/datum/map_template/shuttle/cargo/delta
|
||||
suffix = "delta"
|
||||
name = "cargo ferry (Delta)"
|
||||
@@ -548,17 +629,25 @@
|
||||
suffix = "kilo"
|
||||
name = "mining shuttle (Kilo)"
|
||||
|
||||
// /datum/map_template/shuttle/mining/large
|
||||
// suffix = "large"
|
||||
// name = "mining shuttle (Large)"
|
||||
|
||||
/datum/map_template/shuttle/labour/delta
|
||||
suffix = "delta"
|
||||
name = "labour shuttle (Delta)"
|
||||
|
||||
/datum/map_template/shuttle/labour/kilo
|
||||
suffix = "kilo"
|
||||
name = "labour shuttle (Kilo)"
|
||||
|
||||
/datum/map_template/shuttle/mining_common/meta
|
||||
suffix = "meta"
|
||||
name = "lavaland shuttle (Meta)"
|
||||
|
||||
/datum/map_template/shuttle/labour/kilo
|
||||
suffix = "kilo"
|
||||
name = "labour shuttle (Kilo)"
|
||||
// /datum/map_template/shuttle/mining_common/kilo
|
||||
// suffix = "kilo"
|
||||
// name = "lavaland shuttle (Kilo)"
|
||||
|
||||
/datum/map_template/shuttle/arrival/delta
|
||||
suffix = "delta"
|
||||
@@ -608,6 +697,18 @@
|
||||
suffix = "default"
|
||||
name = "pirate ship (Default)"
|
||||
|
||||
/datum/map_template/shuttle/hunter/space_cop
|
||||
suffix = "space_cop"
|
||||
name = "Police Spacevan"
|
||||
|
||||
/datum/map_template/shuttle/hunter/russian
|
||||
suffix = "russian"
|
||||
name = "Russian Cargo Ship"
|
||||
|
||||
/datum/map_template/shuttle/hunter/bounty
|
||||
suffix = "bounty"
|
||||
name = "Bounty Hunter Ship"
|
||||
|
||||
/datum/map_template/shuttle/ruin/caravan_victim
|
||||
suffix = "caravan_victim"
|
||||
name = "Small Freighter"
|
||||
@@ -631,15 +732,3 @@
|
||||
/datum/map_template/shuttle/snowdin/excavation
|
||||
suffix = "excavation"
|
||||
name = "Snowdin Excavation Elevator"
|
||||
|
||||
/datum/map_template/shuttle/hunter/space_cop
|
||||
suffix = "space_cop"
|
||||
name = "Police Spacevan"
|
||||
|
||||
/datum/map_template/shuttle/hunter/russian
|
||||
suffix = "russian"
|
||||
name = "Russian Cargo Ship"
|
||||
|
||||
/datum/map_template/shuttle/hunter/bounty
|
||||
suffix = "bounty"
|
||||
name = "Bounty Hunter Ship"
|
||||
|
||||
@@ -83,8 +83,6 @@
|
||||
/datum/viewData/proc/apply()
|
||||
chief.change_view(getView())
|
||||
safeApplyFormat()
|
||||
if(chief.prefs.auto_fit_viewport)
|
||||
chief.fit_viewport()
|
||||
|
||||
/datum/viewData/proc/supress()
|
||||
is_suppressed = TRUE
|
||||
|
||||
@@ -106,8 +106,8 @@
|
||||
|
||||
/datum/world_topic/comms_console/Run(list/input, addr)
|
||||
minor_announce(input["message"], "Incoming message from [input["message_sender"]]")
|
||||
for(var/obj/machinery/computer/communications/CM in GLOB.machines)
|
||||
CM.overrideCooldown()
|
||||
for(var/obj/machinery/computer/communications/console in GLOB.machines)
|
||||
console.override_cooldown()
|
||||
|
||||
/datum/world_topic/news_report
|
||||
keyword = "News_Report"
|
||||
|
||||
@@ -149,7 +149,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
|
||||
if(isliving(thing))
|
||||
var/mob/living/living_thing = thing
|
||||
living_thing.visible_message("<span class='warning'>[src] slams into [living_thing].</span>", "<span class='userdanger'>[src] slams into you!.</span>")
|
||||
A.ex_act(hitpwr)
|
||||
living_thing.ex_act(hitpwr)
|
||||
|
||||
//then, ram the turf if it still exists
|
||||
if(T)
|
||||
|
||||
@@ -96,7 +96,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
|
||||
|
||||
/obj/machinery/computer/arcade/proc/prizevend(mob/user, prizes = 1)
|
||||
// if(user.mind?.get_skill_level(/datum/skill/gaming) >= SKILL_LEVEL_LEGENDARY && HAS_TRAIT(user, TRAIT_GAMERGOD))
|
||||
// visible_message("<span class='notice'>[user] inputs an intense cheat code!",\
|
||||
// visible_message("<span class='notice'>[user] inputs an intense cheat code!</span>",
|
||||
// "<span class='notice'>You hear a flurry of buttons being pressed.</span>")
|
||||
// say("CODE ACTIVATED: EXTRA PRIZES.")
|
||||
// prizes *= 2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,41 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
grind_results = list(/datum/reagent/silicon = 20)
|
||||
var/build_path = null
|
||||
///determines if the circuit board originated from a vendor off station or not.
|
||||
var/onstation = TRUE
|
||||
|
||||
/obj/item/circuitboard/proc/apply_default_parts(obj/machinery/M)
|
||||
if(LAZYLEN(M.component_parts))
|
||||
// This really shouldn't happen. If it somehow does, print out a stack trace and gracefully handle it.
|
||||
stack_trace("apply_defauly_parts called on machine that already had component_parts: [M]")
|
||||
|
||||
// Move to nullspace so you don't trigger handle_atom_del logic and remove existing parts.
|
||||
for(var/obj/item/part in M.component_parts)
|
||||
part.moveToNullspace(loc)
|
||||
qdel(part)
|
||||
|
||||
// List of components always contains the circuit board used to build it.
|
||||
M.component_parts = list(src)
|
||||
forceMove(M)
|
||||
|
||||
if(M.circuit != src)
|
||||
// This really shouldn't happen. If it somehow does, print out a stack trace and gracefully handle it.
|
||||
stack_trace("apply_default_parts called from a circuit board that does not belong to machine: [M]")
|
||||
|
||||
// Move to nullspace so you don't trigger handle_atom_del logic, remove old circuit, add new circuit.
|
||||
M.circuit.moveToNullspace()
|
||||
qdel(M.circuit)
|
||||
M.circuit = src
|
||||
|
||||
return
|
||||
|
||||
/**
|
||||
* Used to allow the circuitboard to configure a machine in some way, shape or form.
|
||||
*
|
||||
* Arguments:
|
||||
* * machine - The machine to attempt to configure.
|
||||
*/
|
||||
/obj/item/circuitboard/proc/configure_machine(obj/machinery/machine)
|
||||
return
|
||||
|
||||
// Circuitboard/machine
|
||||
@@ -36,8 +69,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
if(!req_components)
|
||||
return
|
||||
|
||||
M.component_parts = list(src) // List of components always contains a board
|
||||
moveToNullspace()
|
||||
. = ..()
|
||||
|
||||
for(var/comp_path in req_components)
|
||||
var/comp_amt = req_components[comp_path]
|
||||
@@ -48,10 +80,10 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||
comp_path = def_components[comp_path]
|
||||
|
||||
if(ispath(comp_path, /obj/item/stack))
|
||||
M.component_parts += new comp_path(null, comp_amt)
|
||||
M.component_parts += new comp_path(M, comp_amt)
|
||||
else
|
||||
for(var/i in 1 to comp_amt)
|
||||
M.component_parts += new comp_path(null)
|
||||
M.component_parts += new comp_path(M)
|
||||
|
||||
M.RefreshParts()
|
||||
|
||||
|
||||
@@ -1,58 +1,22 @@
|
||||
/obj/item/circuitboard/computer/turbine_computer
|
||||
name = "Turbine Computer (Computer Board)"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
|
||||
/obj/item/circuitboard/computer/launchpad_console
|
||||
name = "Launchpad Control Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/launchpad
|
||||
|
||||
/obj/item/circuitboard/computer/message_monitor
|
||||
name = "Message Monitor (Computer Board)"
|
||||
build_path = /obj/machinery/computer/message_monitor
|
||||
|
||||
/obj/item/circuitboard/computer/security
|
||||
name = "Security Cameras (Computer Board)"
|
||||
build_path = /obj/machinery/computer/security
|
||||
|
||||
/obj/item/circuitboard/computer/security/shuttle
|
||||
name = "Shuttlelinking Security Cameras (Computer Board)"
|
||||
build_path = /obj/machinery/computer/security/shuttle
|
||||
|
||||
/obj/item/circuitboard/computer/xenobiology
|
||||
name = "circuit board (Xenobiology Console)"
|
||||
build_path = /obj/machinery/computer/camera_advanced/xenobio
|
||||
|
||||
/obj/item/circuitboard/computer/base_construction
|
||||
name = "circuit board (Aux Mining Base Construction Console)"
|
||||
build_path = /obj/machinery/computer/camera_advanced/base_construction
|
||||
//Command
|
||||
|
||||
/obj/item/circuitboard/computer/aiupload
|
||||
name = "AI Upload (Computer Board)"
|
||||
icon_state = "command"
|
||||
build_path = /obj/machinery/computer/upload/ai
|
||||
|
||||
/obj/item/circuitboard/computer/borgupload
|
||||
name = "Cyborg Upload (Computer Board)"
|
||||
icon_state = "command"
|
||||
build_path = /obj/machinery/computer/upload/borg
|
||||
|
||||
/obj/item/circuitboard/computer/med_data
|
||||
name = "Medical Records Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/med_data
|
||||
|
||||
/obj/item/circuitboard/computer/pandemic
|
||||
name = "PanD.E.M.I.C. 2200 (Computer Board)"
|
||||
build_path = /obj/machinery/computer/pandemic
|
||||
|
||||
/obj/item/circuitboard/computer/scan_consolenew
|
||||
name = "DNA Machine (Computer Board)"
|
||||
build_path = /obj/machinery/computer/scan_consolenew
|
||||
|
||||
/obj/item/circuitboard/computer/communications
|
||||
name = "Communications (Computer Board)"
|
||||
build_path = /obj/machinery/computer/communications
|
||||
var/lastTimeUsed = 0
|
||||
/obj/item/circuitboard/computer/bsa_control
|
||||
name = "Bluespace Artillery Controls (Computer Board)"
|
||||
build_path = /obj/machinery/computer/bsa_control
|
||||
|
||||
/obj/item/circuitboard/computer/card
|
||||
name = "ID Console (Computer Board)"
|
||||
icon_state = "command"
|
||||
build_path = /obj/machinery/computer/card
|
||||
|
||||
/obj/item/circuitboard/computer/card/centcom
|
||||
@@ -66,279 +30,251 @@
|
||||
var/list/dept_list = list("Civilian","Security","Medical","Science","Engineering","Cargo")
|
||||
|
||||
/obj/item/circuitboard/computer/card/minor/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(I.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
target_dept = (target_dept == dept_list.len) ? 1 : (target_dept + 1)
|
||||
to_chat(user, "<span class='notice'>You set the board to \"[dept_list[target_dept]]\".</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/computer/card/minor/examine(user)
|
||||
. = ..()
|
||||
. += "Currently set to \"[dept_list[target_dept]]\"."
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>Currently set to \"[dept_list[target_dept]]\".</span>")
|
||||
|
||||
|
||||
//obj/item/circuitboard/computer/shield
|
||||
// name = "Shield Control (Computer Board)"
|
||||
// icon_state = "command"
|
||||
// build_path = /obj/machinery/computer/stationshield
|
||||
/obj/item/circuitboard/computer/teleporter
|
||||
name = "Teleporter (Computer Board)"
|
||||
build_path = /obj/machinery/computer/teleporter
|
||||
|
||||
/obj/item/circuitboard/computer/secure_data
|
||||
name = "Security Records Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/secure_data
|
||||
//Engineering
|
||||
|
||||
/obj/item/circuitboard/computer/stationalert
|
||||
name = "Station Alerts (Computer Board)"
|
||||
build_path = /obj/machinery/computer/station_alert
|
||||
/obj/item/circuitboard/computer/apc_control
|
||||
name = "\improper Power Flow Control Console (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/apc_control
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_alert
|
||||
name = "Atmospheric Alert (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/atmos_alert
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_control
|
||||
name = "Atmospheric Monitor (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/atmos_control
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_control/incinerator
|
||||
name = "Incinerator Air Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/incinerator
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_control/toxinsmix
|
||||
name = "Toxins Mixing Air Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/toxinsmix
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_control/tank
|
||||
name = "Tank Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank
|
||||
|
||||
/obj/item/circuitboard/computer/atmos_alert
|
||||
name = "Atmospheric Alert (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_alert
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/oxygen_tank
|
||||
name = "Oxygen Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/oxygen_tank
|
||||
|
||||
/obj/item/circuitboard/computer/pod
|
||||
name = "Massdriver control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/pod
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/toxin_tank
|
||||
name = "Plasma Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/toxin_tank
|
||||
|
||||
/obj/item/circuitboard/computer/robotics
|
||||
name = "Robotics Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/robotics
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/air_tank
|
||||
name = "Mixed Air Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/air_tank
|
||||
|
||||
/obj/item/circuitboard/computer/cloning
|
||||
name = "Cloning (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cloning
|
||||
var/list/records = list()
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/mix_tank
|
||||
name = "Gas Mix Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/mix_tank
|
||||
|
||||
/obj/item/circuitboard/computer/cloning/prototype
|
||||
name = "Prototype Cloning (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cloning/prototype
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/nitrous_tank
|
||||
name = "Nitrous Oxide Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/nitrous_tank
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/battle
|
||||
name = "Arcade Battle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/arcade/battle
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/nitrogen_tank
|
||||
name = "Nitrogen Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/nitrogen_tank
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/orion_trail
|
||||
name = "Orion Trail (Computer Board)"
|
||||
build_path = /obj/machinery/computer/arcade/orion_trail
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/carbon_tank
|
||||
name = "Carbon Dioxide Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/carbon_tank
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/minesweeper
|
||||
name = "Minesweeper (Computer Board)"
|
||||
build_path = /obj/machinery/computer/arcade/minesweeper
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/bz_tank
|
||||
name = "BZ Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/bz_tank
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/amputation
|
||||
name = "Mediborg's Amputation Adventure (Computer Board)"
|
||||
build_path = /obj/machinery/computer/arcade/amputation
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/freon_tank
|
||||
name = "Freon Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/freon_tank
|
||||
|
||||
/obj/item/circuitboard/computer/turbine_control
|
||||
name = "Turbine control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/halon_tank
|
||||
name = "Halon Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/halon_tank
|
||||
|
||||
/obj/item/circuitboard/computer/solar_control
|
||||
name = "Solar Control (Computer Board)" //name fixed 250810
|
||||
build_path = /obj/machinery/power/solar_control
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/healium_tank
|
||||
name = "Healium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/healium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/powermonitor
|
||||
name = "Power Monitor (Computer Board)" //name fixed 250810
|
||||
build_path = /obj/machinery/computer/monitor
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/hydrogen_tank
|
||||
name = "Hydrogen Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/hydrogen_tank
|
||||
|
||||
/obj/item/circuitboard/computer/powermonitor/secret
|
||||
name = "Outdated Power Monitor (Computer Board)" //Variant used on ruins to prevent them from showing up on PDA's.
|
||||
build_path = /obj/machinery/computer/monitor/secret
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/hypernoblium_tank
|
||||
name = "Hypernoblium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/hypernoblium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/olddoor
|
||||
name = "DoorMex (Computer Board)"
|
||||
build_path = /obj/machinery/computer/pod/old
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/miasma_tank
|
||||
name = "Miasma Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/miasma_tank
|
||||
|
||||
/obj/item/circuitboard/computer/syndicatedoor
|
||||
name = "ProComp Executive (Computer Board)"
|
||||
build_path = /obj/machinery/computer/pod/old/syndicate
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/nitryl_tank
|
||||
name = "Nitryl Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/nitryl_tank
|
||||
|
||||
/obj/item/circuitboard/computer/swfdoor
|
||||
name = "Magix (Computer Board)"
|
||||
build_path = /obj/machinery/computer/pod/old/swf
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/pluoxium_tank
|
||||
name = "Pluoxium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/pluoxium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/prisoner
|
||||
name = "Prisoner Management Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/prisoner/management
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/proto_nitrate_tank
|
||||
name = "Proto-Nitrate Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/proto_nitrate_tank
|
||||
|
||||
/obj/item/circuitboard/computer/gulag_teleporter_console
|
||||
name = "Labor Camp teleporter console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/prisoner/gulag_teleporter_computer
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/stimulum_tank
|
||||
name = "Stimulum Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/stimulum_tank
|
||||
|
||||
/obj/item/circuitboard/computer/rdconsole/production
|
||||
name = "R&D Console Production Only (Computer Board)"
|
||||
build_path = /obj/machinery/computer/rdconsole/production
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/tritium_tank
|
||||
name = "Tritium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/tritium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/rdconsole
|
||||
name = "R&D Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/water_vapor
|
||||
name = "Water Vapor Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/water_vapor
|
||||
|
||||
/obj/item/circuitboard/computer/rdconsole/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(build_path == /obj/machinery/computer/rdconsole/core)
|
||||
name = "R&D Console - Robotics (Computer Board)"
|
||||
build_path = /obj/machinery/computer/rdconsole/robotics
|
||||
to_chat(user, "<span class='notice'>Access protocols successfully updated.</span>")
|
||||
else
|
||||
name = "R&D Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/rdconsole/core
|
||||
to_chat(user, "<span class='notice'>Defaulting access protocols.</span>")
|
||||
else
|
||||
return ..()
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/zauker_tank
|
||||
name = "Zauker Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/zauker_tank
|
||||
|
||||
/obj/item/circuitboard/computer/mecha_control
|
||||
name = "Exosuit Control Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/mecha
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/helium_tank
|
||||
name = "Helium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/helium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/rdservercontrol
|
||||
name = "R&D Server Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/rdservercontrol
|
||||
/obj/item/circuitboard/computer/atmos_control/tank/antinoblium_tank
|
||||
name = "Antinoblium Supply Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/atmos_control/tank/antinoblium_tank
|
||||
|
||||
/obj/item/circuitboard/computer/crew
|
||||
name = "Crew Monitoring Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/crew
|
||||
/obj/item/circuitboard/computer/auxiliary_base
|
||||
name = "Auxiliary Base Management Console (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/auxiliary_base
|
||||
|
||||
/obj/item/circuitboard/computer/mech_bay_power_console
|
||||
name = "Mech Bay Power Control Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
/obj/item/circuitboard/computer/base_construction
|
||||
name = "circuit board (Generic Base Construction Console)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/camera_advanced/base_construction
|
||||
|
||||
/obj/item/circuitboard/computer/cargo
|
||||
name = "Supply Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cargo
|
||||
var/contraband = FALSE
|
||||
/obj/item/circuitboard/computer/base_construction/aux
|
||||
name = "circuit board (Aux Mining Base Construction Console)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/camera_advanced/base_construction/aux
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/multitool_act(mob/living/user)
|
||||
if(!(obj_flags & EMAGGED))
|
||||
contraband = !contraband
|
||||
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
|
||||
. = ..()
|
||||
if(obj_flags & EMAGGED)
|
||||
return
|
||||
contraband = TRUE
|
||||
obj_flags |= EMAGGED
|
||||
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express
|
||||
name = "Express Supply Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cargo/express
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user)
|
||||
if (!(obj_flags & EMAGGED))
|
||||
to_chat(user, "<span class='notice'>Routing protocols are already set to: \"factory defaults\".</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You reset the routing protocols to: \"factory defaults\".</span>")
|
||||
obj_flags &= ~EMAGGED
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
|
||||
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||
if(obj_flags & EMAGGED)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
|
||||
obj_flags |= EMAGGED
|
||||
return TRUE
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/request
|
||||
name = "Supply Request Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cargo/request
|
||||
|
||||
/obj/item/circuitboard/computer/bounty
|
||||
name = "Nanotrasen Bounty Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/bounty
|
||||
|
||||
/obj/item/circuitboard/computer/operating
|
||||
name = "Operating Computer (Computer Board)"
|
||||
build_path = /obj/machinery/computer/operating
|
||||
|
||||
/obj/item/circuitboard/computer/mining
|
||||
name = "Outpost Status Display (Computer Board)"
|
||||
build_path = /obj/machinery/computer/security/mining
|
||||
|
||||
/obj/item/circuitboard/computer/research
|
||||
name = "Research Monitor (Computer Board)"
|
||||
build_path = /obj/machinery/computer/security/research
|
||||
/obj/item/circuitboard/computer/base_construction/centcom
|
||||
name = "circuit board (Centcom Base Construction Console)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/camera_advanced/base_construction/centcom
|
||||
|
||||
/obj/item/circuitboard/computer/comm_monitor
|
||||
name = "Telecommunications Monitor (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/telecomms/monitor
|
||||
|
||||
/obj/item/circuitboard/computer/comm_server
|
||||
name = "Telecommunications Server Monitor (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/telecomms/server
|
||||
|
||||
/obj/item/circuitboard/computer/labor_shuttle
|
||||
name = "Labor Shuttle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/labor
|
||||
/obj/item/circuitboard/computer/communications
|
||||
name = "Communications (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/communications
|
||||
|
||||
/obj/item/circuitboard/computer/labor_shuttle/one_way
|
||||
name = "Prisoner Shuttle Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/labor/one_way
|
||||
/obj/item/circuitboard/computer/message_monitor
|
||||
name = "Message Monitor (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/message_monitor
|
||||
|
||||
/obj/item/circuitboard/computer/ferry
|
||||
name = "Transport Ferry (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry
|
||||
/obj/item/circuitboard/computer/powermonitor
|
||||
name = "Power Monitor (Computer Board)" //name fixed 250810
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/monitor
|
||||
|
||||
/obj/item/circuitboard/computer/ferry/request
|
||||
name = "Transport Ferry Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry/request
|
||||
/obj/item/circuitboard/computer/powermonitor/secret
|
||||
name = "Outdated Power Monitor (Computer Board)" //Variant used on ruins to prevent them from showing up on PDA's.
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/monitor/secret
|
||||
|
||||
/obj/item/circuitboard/computer/mining_shuttle
|
||||
name = "Mining Shuttle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/mining
|
||||
/obj/item/circuitboard/computer/sat_control
|
||||
name = "Satellite Network Control (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/sat_control
|
||||
|
||||
/obj/item/circuitboard/computer/mining_shuttle/common
|
||||
name = "Lavaland Shuttle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/mining/common
|
||||
/obj/item/circuitboard/computer/solar_control
|
||||
name = "Solar Control (Computer Board)" //name fixed 250810
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/power/solar_control
|
||||
|
||||
/obj/item/circuitboard/computer/snow_taxi
|
||||
name = "Snow Taxi (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/snow_taxi
|
||||
/obj/item/circuitboard/computer/stationalert
|
||||
name = "Station Alerts (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/station_alert
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship
|
||||
name = "White Ship (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship
|
||||
/obj/item/circuitboard/computer/turbine_computer
|
||||
name = "Turbine Computer (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship/pod
|
||||
name = "Salvage Pod (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship/pod
|
||||
/obj/item/circuitboard/computer/turbine_control
|
||||
name = "Turbine control (Computer Board)"
|
||||
icon_state = "engineering"
|
||||
build_path = /obj/machinery/computer/turbine_computer
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship/pod/recall
|
||||
name = "Salvage Pod Recall (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship/pod/recall
|
||||
//Generic
|
||||
|
||||
/obj/item/circuitboard/computer/auxillary_base
|
||||
name = "Auxillary Base Management Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/auxillary_base
|
||||
/obj/item/circuitboard/computer/arcade/amputation
|
||||
name = "Mediborg's Amputation Adventure (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/arcade/amputation
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/battle
|
||||
name = "Arcade Battle (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/arcade/battle
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/orion_trail
|
||||
name = "Orion Trail (Computer Board)"
|
||||
|
||||
build_path = /obj/machinery/computer/arcade/orion_trail
|
||||
|
||||
/obj/item/circuitboard/computer/arcade/minesweeper
|
||||
name = "Minesweeper (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/arcade/minesweeper
|
||||
|
||||
/obj/item/circuitboard/computer/holodeck// Not going to let people get this, but it's just here for future
|
||||
name = "Holodeck Control (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/holodeck
|
||||
|
||||
/obj/item/circuitboard/computer/aifixer
|
||||
name = "AI Integrity Restorer (Computer Board)"
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
|
||||
/obj/item/circuitboard/computer/slot_machine
|
||||
name = "Slot Machine (Computer Board)"
|
||||
build_path = /obj/machinery/computer/slot_machine
|
||||
|
||||
/obj/item/circuitboard/computer/libraryconsole
|
||||
name = "Library Visitor Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/libraryconsole
|
||||
|
||||
/obj/item/circuitboard/computer/libraryconsole/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(I.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
|
||||
name = "Library Visitor Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/libraryconsole
|
||||
@@ -350,16 +286,34 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/computer/apc_control
|
||||
name = "\improper Power Flow Control Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/apc_control
|
||||
|
||||
/obj/item/circuitboard/computer/monastery_shuttle
|
||||
name = "Monastery Shuttle (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/shuttle/monastery_shuttle
|
||||
|
||||
/obj/item/circuitboard/computer/olddoor
|
||||
name = "DoorMex (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/pod/old
|
||||
|
||||
/obj/item/circuitboard/computer/pod
|
||||
name = "Massdriver control (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/pod
|
||||
|
||||
/obj/item/circuitboard/computer/slot_machine
|
||||
name = "Slot Machine (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/slot_machine
|
||||
|
||||
/obj/item/circuitboard/computer/swfdoor
|
||||
name = "Magix (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/pod/old/swf
|
||||
|
||||
/obj/item/circuitboard/computer/syndicate_shuttle
|
||||
name = "Syndicate Shuttle (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/shuttle/syndicate
|
||||
var/challenge = FALSE
|
||||
var/moved = FALSE
|
||||
@@ -372,25 +326,265 @@
|
||||
GLOB.syndicate_shuttle_boards -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/computer/bsa_control
|
||||
name = "Bluespace Artillery Controls (Computer Board)"
|
||||
build_path = /obj/machinery/computer/bsa_control
|
||||
/obj/item/circuitboard/computer/syndicatedoor
|
||||
name = "ProComp Executive (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/pod/old/syndicate
|
||||
|
||||
/obj/item/circuitboard/computer/sat_control
|
||||
name = "Satellite Network Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/sat_control
|
||||
/obj/item/circuitboard/computer/white_ship
|
||||
name = "White Ship (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship/bridge
|
||||
name = "White Ship Bridge (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship/bridge
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship/pod
|
||||
name = "Salvage Pod (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship/pod
|
||||
|
||||
/obj/item/circuitboard/computer/white_ship/pod/recall
|
||||
name = "Salvage Pod Recall (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/white_ship/pod/recall
|
||||
|
||||
/obj/item/circuitboard/computer/bountypad
|
||||
name = "Bounty Pad (Computer Board)"
|
||||
build_path = /obj/machinery/computer/piratepad_control/civilian
|
||||
|
||||
/obj/item/circuitboard/computer/security/shuttle
|
||||
name = "Shuttlelinking Security Cameras (Computer Board)"
|
||||
icon_state = "generic"
|
||||
build_path = /obj/machinery/computer/security/shuttle
|
||||
|
||||
//Medical
|
||||
|
||||
/obj/item/circuitboard/computer/crew
|
||||
name = "Crew Monitoring Console (Computer Board)"
|
||||
icon_state = "medical"
|
||||
build_path = /obj/machinery/computer/crew
|
||||
|
||||
/obj/item/circuitboard/computer/med_data
|
||||
name = "Medical Records Console (Computer Board)"
|
||||
icon_state = "medical"
|
||||
build_path = /obj/machinery/computer/med_data
|
||||
|
||||
/obj/item/circuitboard/computer/operating
|
||||
name = "Operating Computer (Computer Board)"
|
||||
icon_state = "medical"
|
||||
build_path = /obj/machinery/computer/operating
|
||||
|
||||
/obj/item/circuitboard/computer/pandemic
|
||||
name = "PanD.E.M.I.C. 2200 (Computer Board)"
|
||||
icon_state = "medical"
|
||||
build_path = /obj/machinery/computer/pandemic
|
||||
|
||||
/obj/item/circuitboard/computer/cloning
|
||||
name = "Cloning (Computer Board)"
|
||||
icon_state = "medical"
|
||||
build_path = /obj/machinery/computer/cloning
|
||||
var/list/records = list()
|
||||
|
||||
/obj/item/circuitboard/computer/cloning/prototype
|
||||
name = "Prototype Cloning (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cloning/prototype
|
||||
|
||||
//Science
|
||||
|
||||
/obj/item/circuitboard/computer/aifixer
|
||||
name = "AI Integrity Restorer (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
|
||||
/obj/item/circuitboard/computer/launchpad_console
|
||||
name = "Launchpad Control Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/launchpad
|
||||
|
||||
/obj/item/circuitboard/computer/mech_bay_power_console
|
||||
name = "Mech Bay Power Control Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
|
||||
/obj/item/circuitboard/computer/mecha_control
|
||||
name = "Exosuit Control Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/mecha
|
||||
|
||||
/obj/item/circuitboard/computer/nanite_chamber_control
|
||||
name = "Nanite Chamber Control (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/nanite_chamber_control
|
||||
|
||||
/obj/item/circuitboard/computer/nanite_cloud_controller
|
||||
name = "Nanite Cloud Control (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/nanite_cloud_controller
|
||||
|
||||
/obj/item/circuitboard/computer/shuttle/flight_control
|
||||
name = "Shuttle Flight Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/custom_shuttle
|
||||
/obj/item/circuitboard/computer/rdconsole
|
||||
name = "R&D Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/rdconsole
|
||||
|
||||
/obj/item/circuitboard/computer/rdservercontrol
|
||||
name = "R&D Server Control (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/rdservercontrol
|
||||
|
||||
/obj/item/circuitboard/computer/research
|
||||
name = "Research Monitor (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/security/research
|
||||
|
||||
/obj/item/circuitboard/computer/robotics
|
||||
name = "Robotics Control (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/robotics
|
||||
|
||||
/obj/item/circuitboard/computer/teleporter
|
||||
name = "Teleporter (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/teleporter
|
||||
|
||||
/obj/item/circuitboard/computer/xenobiology
|
||||
name = "Xenobiology Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/camera_advanced/xenobio
|
||||
|
||||
/obj/item/circuitboard/computer/scan_consolenew
|
||||
name = "DNA Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/scan_consolenew
|
||||
|
||||
/obj/item/circuitboard/computer/mechpad
|
||||
name = "Mecha Orbital Pad Console (Computer Board)"
|
||||
icon_state = "science"
|
||||
build_path = /obj/machinery/computer/mechpad
|
||||
|
||||
//Security
|
||||
|
||||
/obj/item/circuitboard/computer/labor_shuttle
|
||||
name = "Labor Shuttle (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/shuttle/labor
|
||||
|
||||
/obj/item/circuitboard/computer/labor_shuttle/one_way
|
||||
name = "Prisoner Shuttle Console (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/shuttle/labor/one_way
|
||||
|
||||
/obj/item/circuitboard/computer/gulag_teleporter_console
|
||||
name = "Labor Camp teleporter console (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/prisoner/gulag_teleporter_computer
|
||||
|
||||
/obj/item/circuitboard/computer/prisoner
|
||||
name = "Prisoner Management Console (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/prisoner/management
|
||||
|
||||
/obj/item/circuitboard/computer/secure_data
|
||||
name = "Security Records Console (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/secure_data
|
||||
|
||||
/obj/item/circuitboard/computer/warrant
|
||||
name = "Security Warrant Viewer (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/warrant
|
||||
|
||||
/obj/item/circuitboard/computer/security
|
||||
name = "Security Cameras (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/security
|
||||
|
||||
/obj/item/circuitboard/computer/advanced_camera
|
||||
name = "Advanced Camera Console (Computer Board)"
|
||||
icon_state = "security"
|
||||
build_path = /obj/machinery/computer/camera_advanced/syndie
|
||||
|
||||
//Service
|
||||
|
||||
//Supply
|
||||
|
||||
/obj/item/circuitboard/computer/cargo
|
||||
name = "Supply Console (Computer Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/computer/cargo
|
||||
var/contraband = FALSE
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/multitool_act(mob/living/user)
|
||||
. = ..()
|
||||
if(!(obj_flags & EMAGGED))
|
||||
contraband = !contraband
|
||||
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='alert'>The spectrum chip is unresponsive.</span>")
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
|
||||
. = ..()
|
||||
if(!(obj_flags & EMAGGED))
|
||||
contraband = TRUE
|
||||
obj_flags |= EMAGGED
|
||||
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/configure_machine(obj/machinery/computer/cargo/machine)
|
||||
if(!istype(machine))
|
||||
CRASH("Cargo board attempted to configure incorrect machine type: [machine] ([machine?.type])")
|
||||
|
||||
machine.contraband = contraband
|
||||
if (obj_flags & EMAGGED)
|
||||
machine.obj_flags |= EMAGGED
|
||||
else
|
||||
machine.obj_flags &= ~EMAGGED
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express
|
||||
name = "Express Supply Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cargo/express
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
|
||||
if(!(obj_flags & EMAGGED))
|
||||
contraband = TRUE
|
||||
obj_flags |= EMAGGED
|
||||
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user)
|
||||
if (!(obj_flags & EMAGGED))
|
||||
contraband = !contraband
|
||||
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You reset the destination-routing protocols and receiver spectrum to factory defaults.</span>")
|
||||
contraband = FALSE
|
||||
obj_flags &= ~EMAGGED
|
||||
|
||||
/obj/item/circuitboard/computer/cargo/request
|
||||
name = "Supply Request Console (Computer Board)"
|
||||
build_path = /obj/machinery/computer/cargo/request
|
||||
|
||||
/obj/item/circuitboard/computer/ferry
|
||||
name = "Transport Ferry (Computer Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry
|
||||
|
||||
/obj/item/circuitboard/computer/ferry/request
|
||||
name = "Transport Ferry Console (Computer Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/computer/shuttle/ferry/request
|
||||
|
||||
/obj/item/circuitboard/computer/mining
|
||||
name = "Outpost Status Display (Computer Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/computer/security/mining
|
||||
|
||||
/obj/item/circuitboard/computer/mining_shuttle
|
||||
name = "Mining Shuttle (Computer Board)"
|
||||
icon_state = "supply"
|
||||
build_path = /obj/machinery/computer/shuttle/mining
|
||||
|
||||
/obj/item/circuitboard/computer/mining_shuttle/common
|
||||
name = "Lavaland Shuttle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/mining/common
|
||||
|
||||
/obj/item/circuitboard/computer/shuttle/docker
|
||||
name = "Shuttle Navigation Computer (Computer Board)"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1143,9 +1143,9 @@
|
||||
desc = "A box containing a gift for worthy golems."
|
||||
|
||||
/obj/item/storage/box/rndboards/PopulateContents()
|
||||
new /obj/item/circuitboard/machine/protolathe/offstation(src)
|
||||
new /obj/item/circuitboard/machine/protolathe(src)
|
||||
new /obj/item/circuitboard/machine/destructive_analyzer(src)
|
||||
new /obj/item/circuitboard/machine/circuit_imprinter/offstation(src)
|
||||
new /obj/item/circuitboard/machine/circuit_imprinter(src)
|
||||
new /obj/item/circuitboard/computer/rdconsole(src)
|
||||
|
||||
/obj/item/storage/box/silver_sulf
|
||||
|
||||
@@ -605,21 +605,49 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
msg2 = replacetext(replacetext(msg2, "\proper", ""), "\improper", "")
|
||||
world.TgsTargetedChatBroadcast("[msg] | [msg2]", TRUE)
|
||||
|
||||
/proc/send2otherserver(source,msg,type = "Ahelp")
|
||||
var/comms_key = CONFIG_GET(string/comms_key)
|
||||
if(!comms_key)
|
||||
/**
|
||||
* Sends a message to a set of cross-communications-enabled servers using world topic calls
|
||||
*
|
||||
* Arguments:
|
||||
* * source - Who sent this message
|
||||
* * msg - The message body
|
||||
* * type - The type of message, becomes the topic command under the hood
|
||||
* * target_servers - A collection of servers to send the message to, defined in config
|
||||
* * additional_data - An (optional) associated list of extra parameters and data to send with this world topic call
|
||||
*/
|
||||
/proc/send2otherserver(source, msg, type = "Ahelp", target_servers, list/additional_data = list())
|
||||
if(!CONFIG_GET(string/comms_key))
|
||||
debug_world_log("Server cross-comms message not sent for lack of configured key")
|
||||
return
|
||||
var/list/message = list()
|
||||
message["message_sender"] = source
|
||||
message["message"] = msg
|
||||
message["source"] = "([CONFIG_GET(string/cross_comms_name)])"
|
||||
message["key"] = comms_key
|
||||
message += type
|
||||
|
||||
var/our_id = CONFIG_GET(string/cross_comms_name)
|
||||
additional_data["message_sender"] = source
|
||||
additional_data["message"] = msg
|
||||
additional_data["source"] = "([our_id])"
|
||||
additional_data += type
|
||||
|
||||
var/list/servers = CONFIG_GET(keyed_list/cross_server)
|
||||
for(var/I in servers)
|
||||
world.Export("[servers[I]]?[list2params(message)]")
|
||||
if(I == our_id) //No sending to ourselves
|
||||
continue
|
||||
if(target_servers && !(I in target_servers))
|
||||
continue
|
||||
world.send_cross_comms(I, additional_data)
|
||||
|
||||
/// Sends a message to a given cross comms server by name (by name for security).
|
||||
/world/proc/send_cross_comms(server_name, list/message, auth = TRUE)
|
||||
set waitfor = FALSE
|
||||
if (auth)
|
||||
var/comms_key = CONFIG_GET(string/comms_key)
|
||||
if(!comms_key)
|
||||
debug_world_log("Server cross-comms message not sent for lack of configured key")
|
||||
return
|
||||
message["key"] = comms_key
|
||||
var/list/servers = CONFIG_GET(keyed_list/cross_server)
|
||||
var/server_url = servers[server_name]
|
||||
if (!server_url)
|
||||
CRASH("Invalid cross comms config: [server_name]")
|
||||
world.Export("[server_url]?[list2params(message)]")
|
||||
|
||||
/proc/ircadminwho()
|
||||
var/list/message = list("Admins: ")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
set name = "Pray"
|
||||
|
||||
if(GLOB.say_disabled) //This is here to try to identify lag problems
|
||||
to_chat(usr, "<span class='danger'>Speech is currently admin-disabled.</span>")
|
||||
to_chat(usr, "<span class='danger'>Speech is currently admin-disabled.</span>", confidential = TRUE)
|
||||
return
|
||||
|
||||
msg = copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||
@@ -12,7 +12,7 @@
|
||||
log_prayer("[src.key]/([src.name]): [msg]")
|
||||
if(usr.client)
|
||||
if(usr.client.prefs.muted & MUTE_PRAY)
|
||||
to_chat(usr, "<span class='danger'>You cannot pray (muted).</span>")
|
||||
to_chat(usr, "<span class='danger'>You cannot pray (muted).</span>", confidential = TRUE)
|
||||
return
|
||||
if(src.client.handle_spam_prevention(msg,MUTE_PRAY))
|
||||
return
|
||||
@@ -44,34 +44,35 @@
|
||||
|
||||
for(var/client/C in GLOB.admins)
|
||||
if(C.prefs.chat_toggles & CHAT_PRAYER)
|
||||
to_chat(C, msg)
|
||||
to_chat(C, msg, confidential = TRUE)
|
||||
if(C.prefs.toggles & SOUND_PRAYERS)
|
||||
if(usr.job == "Chaplain")
|
||||
SEND_SOUND(C, sound('sound/effects/pray.ogg'))
|
||||
else
|
||||
SEND_SOUND(C, sound('sound/effects/ding.ogg'))
|
||||
to_chat(usr, "<span class='info'>You pray to the gods: \"[msg_tmp]\"</span>")
|
||||
to_chat(usr, "<span class='info'>You pray to the gods: \"[msg_tmp]\"</span>", confidential = TRUE)
|
||||
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
//log_admin("HELP: [key_name(src)]: [msg]")
|
||||
|
||||
/proc/CentCom_announce(text , mob/Sender)
|
||||
/// Used by communications consoles to message CentCom
|
||||
/proc/message_centcom(text, mob/sender)
|
||||
var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN)
|
||||
msg = "<span class='adminnotice'><b><font color=orange>CENTCOM:</font>[ADMIN_FULLMONTY(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg)
|
||||
for(var/obj/machinery/computer/communications/C in GLOB.machines)
|
||||
C.overrideCooldown()
|
||||
msg = "<span class='adminnotice'><b><font color=orange>CENTCOM:</font>[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg, confidential = TRUE)
|
||||
for(var/obj/machinery/computer/communications/console in GLOB.machines)
|
||||
console.override_cooldown()
|
||||
|
||||
/proc/Syndicate_announce(text , mob/Sender)
|
||||
/// Used by communications consoles to message the Syndicate
|
||||
/proc/message_syndicate(text, mob/sender)
|
||||
var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN)
|
||||
msg = "<span class='adminnotice'><b><font color=crimson>SYNDICATE:</font>[ADMIN_FULLMONTY(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg)
|
||||
for(var/obj/machinery/computer/communications/C in GLOB.machines)
|
||||
C.overrideCooldown()
|
||||
msg = "<span class='adminnotice'><b><font color=crimson>SYNDICATE:</font>[ADMIN_FULLMONTY(sender)] [ADMIN_SYNDICATE_REPLY(sender)]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg, confidential = TRUE)
|
||||
for(var/obj/machinery/computer/communications/console in GLOB.machines)
|
||||
console.override_cooldown()
|
||||
|
||||
/proc/Nuke_request(text , mob/Sender)
|
||||
/// Used by communications consoles to request the nuclear launch codes
|
||||
/proc/nuke_request(text, mob/sender)
|
||||
var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN)
|
||||
msg = "<span class='adminnotice'><b><font color=orange>NUKE CODE REQUEST:</font>[ADMIN_FULLMONTY(Sender)] [ADMIN_CENTCOM_REPLY(Sender)] [ADMIN_SET_SD_CODE]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg)
|
||||
for(var/obj/machinery/computer/communications/C in GLOB.machines)
|
||||
C.overrideCooldown()
|
||||
msg = "<span class='adminnotice'><b><font color=orange>NUKE CODE REQUEST:</font>[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)] [ADMIN_SET_SD_CODE]:</b> [msg]</span>"
|
||||
to_chat(GLOB.admins, msg, confidential = TRUE)
|
||||
for(var/obj/machinery/computer/communications/console in GLOB.machines)
|
||||
console.override_cooldown()
|
||||
|
||||
@@ -3,8 +3,14 @@
|
||||
desc = "Used to order supplies, approve requests, and control the shuttle."
|
||||
icon_screen = "supply"
|
||||
circuit = /obj/item/circuitboard/computer/cargo
|
||||
light_color = "#E2853D"//orange
|
||||
|
||||
///Can the supply console send the shuttle back and forth? Used in the UI backend.
|
||||
var/can_send = TRUE
|
||||
///Can this console only send requests?
|
||||
var/requestonly = FALSE
|
||||
///Can you approve requests placed for cargo? Works differently between the app and the computer.
|
||||
var/can_approve_requests = TRUE
|
||||
var/contraband = FALSE
|
||||
var/self_paid = FALSE
|
||||
var/safety_warning = "For safety reasons, the automated supply shuttle \
|
||||
@@ -16,25 +22,21 @@
|
||||
/// var that tracks message cooldown
|
||||
var/message_cooldown
|
||||
var/list/loaded_coupons
|
||||
|
||||
light_color = "#E2853D"//orange
|
||||
/// var that makes express console use rockets
|
||||
var/is_express = FALSE
|
||||
|
||||
/obj/machinery/computer/cargo/request
|
||||
name = "supply request console"
|
||||
desc = "Used to request supplies from cargo."
|
||||
icon_screen = "request"
|
||||
circuit = /obj/item/circuitboard/computer/cargo/request
|
||||
can_send = FALSE
|
||||
can_approve_requests = FALSE
|
||||
requestonly = TRUE
|
||||
|
||||
/obj/machinery/computer/cargo/Initialize()
|
||||
. = ..()
|
||||
radio = new /obj/item/radio/headset/headset_cargo(src)
|
||||
var/obj/item/circuitboard/computer/cargo/board = circuit
|
||||
contraband = board.contraband
|
||||
if (board.obj_flags & EMAGGED)
|
||||
obj_flags |= EMAGGED
|
||||
else
|
||||
obj_flags &= ~EMAGGED
|
||||
|
||||
/obj/machinery/computer/cargo/Destroy()
|
||||
QDEL_NULL(radio)
|
||||
@@ -64,6 +66,10 @@
|
||||
board.obj_flags |= EMAGGED
|
||||
update_static_data(user)
|
||||
|
||||
/obj/machinery/computer/cargo/on_construction()
|
||||
. = ..()
|
||||
circuit.configure_machine(src)
|
||||
|
||||
/obj/machinery/computer/cargo/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
@@ -81,6 +87,8 @@
|
||||
data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE
|
||||
data["loan"] = !!SSshuttle.shuttle_loan
|
||||
data["loan_dispatched"] = SSshuttle.shuttle_loan && SSshuttle.shuttle_loan.dispatched
|
||||
data["can_send"] = can_send
|
||||
data["can_approve_requests"] = can_approve_requests
|
||||
var/message = "Remember to stamp and send back the supply manifests."
|
||||
if(SSshuttle.centcom_message)
|
||||
message = SSshuttle.centcom_message
|
||||
@@ -128,14 +136,15 @@
|
||||
"id" = pack,
|
||||
"desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name.
|
||||
"goody" = P.goody,
|
||||
"private_goody" = P.goody == PACK_GOODY_PRIVATE,
|
||||
"access" = P.access,
|
||||
"private_goody" = P.goody == PACK_GOODY_PRIVATE,
|
||||
"can_private_buy" = P.can_private_buy
|
||||
))
|
||||
return data
|
||||
|
||||
/obj/machinery/computer/cargo/ui_act(action, params, datum/tgui/ui)
|
||||
if(..())
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
switch(action)
|
||||
if("send")
|
||||
@@ -172,6 +181,8 @@
|
||||
log_game("[key_name(usr)] accepted a shuttle loan event.")
|
||||
. = TRUE
|
||||
if("add")
|
||||
if(is_express)
|
||||
return
|
||||
var/id = text2path(params["id"])
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
|
||||
if(!istype(pack))
|
||||
@@ -195,9 +206,9 @@
|
||||
rank = "Silicon"
|
||||
|
||||
var/datum/bank_account/account
|
||||
if(self_paid && ishuman(usr))
|
||||
var/mob/living/carbon/human/H = usr
|
||||
var/obj/item/card/id/id_card = H.get_idcard(TRUE)
|
||||
if(self_paid && isliving(usr))
|
||||
var/mob/living/L = usr
|
||||
var/obj/item/card/id/id_card = L.get_idcard(TRUE)
|
||||
if(!istype(id_card))
|
||||
say("No ID card detected.")
|
||||
return
|
||||
|
||||
@@ -968,7 +968,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
var/mob/living/M = mob
|
||||
M.update_damage_hud()
|
||||
if (prefs.auto_fit_viewport)
|
||||
fit_viewport()
|
||||
addtimer(CALLBACK(src,.verb/fit_viewport,10)) //Delayed to avoid wingets from Login calls.
|
||||
SEND_SIGNAL(mob, COMSIG_MOB_CLIENT_CHANGE_VIEW, src, old_view, actualview)
|
||||
|
||||
/client/proc/generate_clickcatcher()
|
||||
|
||||
@@ -62,9 +62,15 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/UI_style = null
|
||||
var/buttons_locked = FALSE
|
||||
var/hotkeys = FALSE
|
||||
|
||||
///Runechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean.
|
||||
var/chat_on_map = TRUE
|
||||
///Limit preference on the size of the message. Requires chat_on_map to have effect.
|
||||
var/max_chat_length = CHAT_MESSAGE_MAX_LENGTH
|
||||
///Whether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean.
|
||||
var/see_chat_non_mob = TRUE
|
||||
///Whether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean.
|
||||
var/see_rc_emotes = TRUE
|
||||
|
||||
/// Custom Keybindings
|
||||
var/list/key_bindings = list()
|
||||
@@ -160,13 +166,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/auto_fit_viewport = FALSE
|
||||
///Should we be in the widescreen mode set by the config?
|
||||
var/widescreenpref = TRUE
|
||||
|
||||
///What size should pixels be displayed as? 0 is strech to fit
|
||||
var/pixel_size = 0
|
||||
///What scaling method should we use?
|
||||
var/scaling_method = "normal"
|
||||
|
||||
var/uplink_spawn_loc = UPLINK_PDA
|
||||
///The playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak.
|
||||
var/playtime_reward_cloak = FALSE
|
||||
|
||||
var/hud_toggle_flash = TRUE
|
||||
var/hud_toggle_color = "#ffffff"
|
||||
@@ -209,8 +215,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/autostand = TRUE
|
||||
var/auto_ooc = FALSE
|
||||
|
||||
///This var stores the amount of points the owner will get for making it out alive.
|
||||
var/hardcore_survival_score = 0
|
||||
|
||||
///Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)
|
||||
var/hearted
|
||||
///If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed
|
||||
var/hearted_until
|
||||
/// If we have persistent scars enabled
|
||||
var/persistent_scars = TRUE
|
||||
///If we want to broadcast deadchat connect/disconnect messages
|
||||
var/broadcast_login_logout = TRUE
|
||||
/// We have 5 slots for persistent scars, if enabled we pick a random one to load (empty by default) and scars at the end of the shift if we survived as our original person
|
||||
var/list/scars_list = list("1" = "", "2" = "", "3" = "", "4" = "", "5" = "")
|
||||
/// Which of the 5 persistent scar slots we randomly roll to load for this round, if enabled. Actually rolled in [/datum/preferences/proc/load_character(slot)]
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/circuitboard/machine/smartfridge
|
||||
|
||||
var/base_build_path = /obj/machinery/smartfridge ///What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.
|
||||
var/max_n_of_items = 1500
|
||||
var/allow_ai_retrieve = FALSE
|
||||
var/list/initial_contents
|
||||
@@ -43,7 +44,7 @@
|
||||
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
|
||||
if(!stat)
|
||||
SSvis_overlays.add_vis_overlay(src, icon, "smartfridge-light-mask", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha)
|
||||
if(visible_contents)
|
||||
if (visible_contents)
|
||||
switch(contents.len)
|
||||
if(0)
|
||||
icon_state = "[initial(icon_state)]"
|
||||
@@ -111,10 +112,10 @@
|
||||
if(loaded)
|
||||
if(contents.len >= max_n_of_items)
|
||||
user.visible_message("<span class='notice'>[user] loads \the [src] with \the [O].</span>", \
|
||||
"<span class='notice'>You fill \the [src] with \the [O].</span>")
|
||||
"<span class='notice'>You fill \the [src] with \the [O].</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] loads \the [src] with \the [O].</span>", \
|
||||
"<span class='notice'>You load \the [src] with \the [O].</span>")
|
||||
"<span class='notice'>You load \the [src] with \the [O].</span>")
|
||||
if(O.contents.len > 0)
|
||||
to_chat(user, "<span class='warning'>Some items are refused.</span>")
|
||||
if (visible_contents)
|
||||
@@ -172,6 +173,10 @@
|
||||
|
||||
var/listofitems = list()
|
||||
for (var/I in src)
|
||||
// We do not vend our own components.
|
||||
if(I in component_parts)
|
||||
continue
|
||||
|
||||
var/atom/movable/O = I
|
||||
if (!QDELETED(O))
|
||||
var/md5name = md5(O.name) // This needs to happen because of a bug in a TGUI component, https://github.com/ractivejs/ractive/issues/744
|
||||
@@ -212,6 +217,8 @@
|
||||
if(desired == 1 && Adjacent(usr) && !issilicon(usr))
|
||||
for(var/obj/item/O in src)
|
||||
if(O.name == params["name"])
|
||||
if(O in component_parts)
|
||||
CRASH("Attempted removal of [O] component_part from vending machine via vending interface.")
|
||||
dispense(O, usr)
|
||||
break
|
||||
if (visible_contents)
|
||||
@@ -222,6 +229,8 @@
|
||||
if(desired <= 0)
|
||||
break
|
||||
if(O.name == params["name"])
|
||||
if(O in component_parts)
|
||||
CRASH("Attempted removal of [O] component_part from vending machine via vending interface.")
|
||||
dispense(O, usr)
|
||||
desired--
|
||||
if (visible_contents)
|
||||
@@ -242,13 +251,21 @@
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 200
|
||||
visible_contents = FALSE
|
||||
base_build_path = /obj/machinery/smartfridge/drying_rack //should really be seeing this without admin fuckery.
|
||||
var/drying = FALSE
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/Initialize()
|
||||
. = ..()
|
||||
if(component_parts && component_parts.len)
|
||||
component_parts.Cut()
|
||||
|
||||
// Cache the old_parts first, we'll delete it after we've changed component_parts to a new list.
|
||||
// This stops handle_atom_del being called on every part when not necessary.
|
||||
var/list/old_parts = component_parts.Copy()
|
||||
|
||||
component_parts = null
|
||||
circuit = null
|
||||
|
||||
QDEL_LIST(old_parts)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/on_deconstruction()
|
||||
new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
|
||||
@@ -280,25 +297,18 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
// /obj/machinery/smartfridge/drying_rack/powered() do we have this? no.
|
||||
// if(!anchored)
|
||||
// return FALSE
|
||||
// return ..()
|
||||
/obj/machinery/smartfridge/drying_rack/powered()
|
||||
if(!anchored)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/power_change()
|
||||
if(powered() && anchored)
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
stat |= NOPOWER
|
||||
. = ..()
|
||||
if(!powered())
|
||||
toggle_drying(TRUE)
|
||||
update_icon()
|
||||
|
||||
// . = ..()
|
||||
// if(!powered())
|
||||
// toggle_drying(TRUE)
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay
|
||||
..()
|
||||
/obj/machinery/smartfridge/drying_rack/load(/obj/item/dried_object) //For updating the filled overlay
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/update_overlays()
|
||||
@@ -363,6 +373,7 @@
|
||||
/obj/machinery/smartfridge/drinks
|
||||
name = "drink showcase"
|
||||
desc = "A refrigerated storage unit for tasty tasty alcohol."
|
||||
base_build_path = /obj/machinery/smartfridge/drinks
|
||||
|
||||
/obj/machinery/smartfridge/drinks/accept_check(obj/item/O)
|
||||
if(!istype(O, /obj/item/reagent_containers) || (O.item_flags & ABSTRACT) || !O.reagents || !O.reagents.reagent_list.len)
|
||||
@@ -375,6 +386,7 @@
|
||||
// ----------------------------
|
||||
/obj/machinery/smartfridge/food
|
||||
desc = "A refrigerated storage unit for food."
|
||||
base_build_path = /obj/machinery/smartfridge/food
|
||||
|
||||
/obj/machinery/smartfridge/food/accept_check(obj/item/O)
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/))
|
||||
@@ -387,6 +399,7 @@
|
||||
/obj/machinery/smartfridge/extract
|
||||
name = "smart slime extract storage"
|
||||
desc = "A refrigerated storage unit for slime extracts."
|
||||
base_build_path = /obj/machinery/smartfridge/extract
|
||||
|
||||
/obj/machinery/smartfridge/extract/accept_check(obj/item/O)
|
||||
if(istype(O, /obj/item/slime_extract))
|
||||
@@ -405,6 +418,7 @@
|
||||
name = "smart organ storage"
|
||||
desc = "A refrigerated storage unit for organ storage."
|
||||
max_n_of_items = 20 //vastly lower to prevent processing too long
|
||||
base_build_path = /obj/machinery/smartfridge/organ
|
||||
var/repair_rate = 0
|
||||
|
||||
/obj/machinery/smartfridge/organ/accept_check(obj/item/O)
|
||||
@@ -429,14 +443,14 @@
|
||||
/obj/machinery/smartfridge/organ/RefreshParts()
|
||||
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
|
||||
max_n_of_items = 20 * B.rating
|
||||
repair_rate = max(0, STANDARD_ORGAN_HEALING * (B.rating - 1))
|
||||
repair_rate = max(0, STANDARD_ORGAN_HEALING * (B.rating - 1) * 0.5)
|
||||
|
||||
/obj/machinery/smartfridge/organ/process()
|
||||
/obj/machinery/smartfridge/organ/process(delta_time)
|
||||
for(var/organ in contents)
|
||||
var/obj/item/organ/O = organ
|
||||
if(!istype(O))
|
||||
return
|
||||
O.applyOrganDamage(-repair_rate)
|
||||
O.applyOrganDamage(-repair_rate * delta_time)
|
||||
|
||||
/obj/machinery/smartfridge/organ/Exited(atom/movable/AM, atom/newLoc)
|
||||
. = ..()
|
||||
@@ -444,7 +458,9 @@
|
||||
var/obj/item/organ/O = AM
|
||||
O.organ_flags &= ~ORGAN_FROZEN
|
||||
|
||||
/obj/machinery/smartfridge/organ/preloaded //cit specific??????
|
||||
//cit specific??????
|
||||
/obj/machinery/smartfridge/organ/preloaded
|
||||
base_build_path = /obj/machinery/smartfridge/organ/preloaded
|
||||
initial_contents = list(
|
||||
/obj/item/reagent_containers/medspray/synthtissue = 1,
|
||||
/obj/item/reagent_containers/medspray/sterilizine = 1)
|
||||
@@ -461,6 +477,7 @@
|
||||
/obj/machinery/smartfridge/chemistry
|
||||
name = "smart chemical storage"
|
||||
desc = "A refrigerated storage unit for medicine storage."
|
||||
base_build_path = /obj/machinery/smartfridge/chemistry
|
||||
|
||||
/obj/machinery/smartfridge/chemistry/accept_check(obj/item/O)
|
||||
var/static/list/chemfridge_typecache = typecacheof(list(
|
||||
@@ -502,6 +519,7 @@
|
||||
/obj/machinery/smartfridge/chemistry/virology
|
||||
name = "smart virus storage"
|
||||
desc = "A refrigerated storage unit for volatile sample storage."
|
||||
base_build_path = /obj/machinery/smartfridge/chemistry/virology
|
||||
|
||||
/obj/machinery/smartfridge/chemistry/virology/preloaded
|
||||
initial_contents = list(
|
||||
@@ -523,6 +541,7 @@
|
||||
icon_state = "disktoaster"
|
||||
pass_flags = PASSTABLE
|
||||
visible_contents = FALSE
|
||||
base_build_path = /obj/machinery/smartfridge/disks
|
||||
|
||||
/obj/machinery/smartfridge/disks/accept_check(obj/item/O)
|
||||
if(istype(O, /obj/item/disk/))
|
||||
|
||||
@@ -196,6 +196,9 @@
|
||||
deleted_atoms++
|
||||
log_world("Annihilated [deleted_atoms] objects.")
|
||||
|
||||
/datum/map_template/proc/post_load()
|
||||
return
|
||||
|
||||
//for your ever biggening badminnery kevinz000
|
||||
//❤ - Cyberboss
|
||||
/proc/load_new_z_level(file, name, orientation, list/ztraits)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// An error report generated by [parsed_map/check_for_errors].
|
||||
/// An error report generated by [/datum/parsed_map/proc/check_for_errors].
|
||||
/datum/map_report
|
||||
var/original_path
|
||||
var/list/bad_paths = list()
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
desc = "Makes researched and prototype items with materials and energy."
|
||||
layer = BELOW_OBJ_LAYER
|
||||
var/consoleless_interface = TRUE //Whether it can be used without a console.
|
||||
var/offstation_security_levels = TRUE
|
||||
var/print_cost_coeff = 1 //Materials needed * coeff = actual.
|
||||
var/list/categories = list()
|
||||
var/datum/component/remote_materials/materials
|
||||
@@ -19,7 +18,11 @@
|
||||
var/screen = RESEARCH_FABRICATOR_SCREEN_MAIN
|
||||
var/selected_category
|
||||
|
||||
var/offstation_security_levels
|
||||
|
||||
/obj/machinery/rnd/production/Initialize(mapload)
|
||||
if(mapload && offstation_security_levels)
|
||||
log_mapping("Depricated var named \"offstation_security_levels\" at ([x], [y], [z])!")
|
||||
. = ..()
|
||||
create_reagents(0, OPENCONTAINER)
|
||||
matching_designs = list()
|
||||
|
||||
@@ -22,12 +22,3 @@
|
||||
/obj/machinery/rnd/production/circuit_imprinter/disconnect_console()
|
||||
linked_console.linked_imprinter = null
|
||||
..()
|
||||
|
||||
/obj/machinery/rnd/production/circuit_imprinter/calculate_efficiency()
|
||||
. = ..()
|
||||
var/obj/item/circuitboard/machine/circuit_imprinter/C = circuit
|
||||
offstation_security_levels = C.offstation_security_levels
|
||||
|
||||
/obj/machinery/rnd/production/circuit_imprinter/offstation
|
||||
offstation_security_levels = FALSE
|
||||
circuit = /obj/item/circuitboard/machine/circuit_imprinter/offstation
|
||||
|
||||
@@ -23,12 +23,3 @@
|
||||
/obj/machinery/rnd/production/protolathe/disconnect_console()
|
||||
linked_console.linked_lathe = null
|
||||
..()
|
||||
|
||||
/obj/machinery/rnd/production/protolathe/calculate_efficiency()
|
||||
. = ..()
|
||||
var/obj/item/circuitboard/machine/protolathe/C = circuit
|
||||
offstation_security_levels = C.offstation_security_levels
|
||||
|
||||
/obj/machinery/rnd/production/protolathe/offstation
|
||||
offstation_security_levels = FALSE
|
||||
circuit = /obj/item/circuitboard/machine/protolathe/offstation
|
||||
|
||||
Reference in New Issue
Block a user