mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge pull request #6690 from VOREStation/vplk-ntnet-fixer
Fixes to Modular Computers and NTNet Relays
This commit is contained in:
@@ -87,10 +87,10 @@ obj/item/weapon/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mo
|
|||||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||||
|
|
||||||
obj/item/weapon/circuitboard/ntnet_relay
|
/obj/item/weapon/circuitboard/ntnet_relay
|
||||||
name = "Circuit board (NTNet Quantum Relay)"
|
name = "Circuit board (NTNet Quantum Relay)"
|
||||||
build_path = "/obj/machinery/ntnet_relay"
|
build_path = /obj/machinery/ntnet_relay
|
||||||
board_type = "machine"
|
board_type = new /datum/frame/frame_types/machine
|
||||||
origin_tech = list(TECH_DATA = 4)
|
origin_tech = list(TECH_DATA = 4)
|
||||||
req_components = list(
|
req_components = list(
|
||||||
"/obj/item/stack/cable_coil" = 15)
|
/obj/item/stack/cable_coil = 15)
|
||||||
|
|||||||
@@ -31,9 +31,10 @@ var/global/datum/ntnet/ntnet_global = new()
|
|||||||
/datum/ntnet/New()
|
/datum/ntnet/New()
|
||||||
if(ntnet_global && (ntnet_global != src))
|
if(ntnet_global && (ntnet_global != src))
|
||||||
ntnet_global = src // There can be only one.
|
ntnet_global = src // There can be only one.
|
||||||
for(var/obj/machinery/ntnet_relay/R in machines)
|
if (SSatoms && SSatoms.initialized > INITIALIZATION_INSSATOMS)
|
||||||
relays.Add(R)
|
for(var/obj/machinery/ntnet_relay/R in machines)
|
||||||
R.NTNet = src
|
relays.Add(R)
|
||||||
|
R.NTNet = src
|
||||||
build_software_lists()
|
build_software_lists()
|
||||||
build_news_list()
|
build_news_list()
|
||||||
build_emails_list()
|
build_emails_list()
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
icon_state = "bus"
|
icon_state = "bus"
|
||||||
anchored = 1
|
anchored = 1
|
||||||
density = 1
|
density = 1
|
||||||
|
circuit = /obj/item/weapon/circuitboard/ntnet_relay
|
||||||
var/datum/ntnet/NTNet = null // This is mostly for backwards reference and to allow varedit modifications from ingame.
|
var/datum/ntnet/NTNet = null // This is mostly for backwards reference and to allow varedit modifications from ingame.
|
||||||
var/enabled = 1 // Set to 0 if the relay was turned off
|
var/enabled = 1 // Set to 0 if the relay was turned off
|
||||||
var/dos_failure = 0 // Set to 1 if the relay failed due to (D)DoS attack
|
var/dos_failure = 0 // Set to 1 if the relay failed due to (D)DoS attack
|
||||||
@@ -93,17 +94,16 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/ntnet_relay/New()
|
/obj/machinery/ntnet_relay/New()
|
||||||
uid = gl_uid
|
..()
|
||||||
gl_uid++
|
assign_uid()
|
||||||
component_parts = list()
|
default_apply_parts()
|
||||||
component_parts += new /obj/item/stack/cable_coil(src,15)
|
|
||||||
component_parts += new /obj/item/weapon/circuitboard/ntnet_relay(src)
|
|
||||||
|
|
||||||
|
/obj/machinery/ntnet_relay/Initialize()
|
||||||
|
. = ..()
|
||||||
if(ntnet_global)
|
if(ntnet_global)
|
||||||
ntnet_global.relays.Add(src)
|
ntnet_global.relays.Add(src)
|
||||||
NTNet = ntnet_global
|
NTNet = ntnet_global
|
||||||
ntnet_global.add_log("New quantum relay activated. Current amount of linked relays: [NTNet.relays.len]")
|
ntnet_global.add_log("New quantum relay activated. Current amount of linked relays: [NTNet.relays.len]")
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/ntnet_relay/Destroy()
|
/obj/machinery/ntnet_relay/Destroy()
|
||||||
if(ntnet_global)
|
if(ntnet_global)
|
||||||
@@ -113,24 +113,11 @@
|
|||||||
for(var/datum/computer_file/program/ntnet_dos/D in dos_sources)
|
for(var/datum/computer_file/program/ntnet_dos/D in dos_sources)
|
||||||
D.target = null
|
D.target = null
|
||||||
D.error = "Connection to quantum relay severed"
|
D.error = "Connection to quantum relay severed"
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
/obj/machinery/ntnet_relay/attackby(var/obj/item/W as obj, var/mob/user as mob)
|
||||||
|
if(default_deconstruction_screwdriver(user, W))
|
||||||
|
return
|
||||||
|
if(default_deconstruction_crowbar(user, W))
|
||||||
|
return
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/machinery/ntnet_relay/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
|
||||||
if(W.is_screwdriver())
|
|
||||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
|
||||||
panel_open = !panel_open
|
|
||||||
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch")
|
|
||||||
return
|
|
||||||
if(W.is_crowbar())
|
|
||||||
if(!panel_open)
|
|
||||||
to_chat(user, "Open the maintenance panel first.")
|
|
||||||
return
|
|
||||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
|
||||||
to_chat(user, "You disassemble \the [src]!")
|
|
||||||
|
|
||||||
for(var/atom/movable/A in component_parts)
|
|
||||||
A.forceMove(src.loc)
|
|
||||||
new /obj/structure/frame(src.loc)
|
|
||||||
qdel(src)
|
|
||||||
return
|
|
||||||
..()
|
|
||||||
@@ -41,14 +41,14 @@
|
|||||||
/obj/item/modular_computer/proc/install_default_programs()
|
/obj/item/modular_computer/proc/install_default_programs()
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/item/modular_computer/New()
|
/obj/item/modular_computer/Initialize()
|
||||||
START_PROCESSING(SSobj, src)
|
START_PROCESSING(SSobj, src)
|
||||||
install_default_hardware()
|
install_default_hardware()
|
||||||
if(hard_drive)
|
if(hard_drive)
|
||||||
install_default_programs()
|
install_default_programs()
|
||||||
update_icon()
|
update_icon()
|
||||||
update_verbs()
|
update_verbs()
|
||||||
..()
|
. = ..()
|
||||||
|
|
||||||
/obj/item/modular_computer/Destroy()
|
/obj/item/modular_computer/Destroy()
|
||||||
kill_program(1)
|
kill_program(1)
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ var/global/file_uid = 0
|
|||||||
if(holder.holder2 && holder.holder2.active_program == src)
|
if(holder.holder2 && holder.holder2.active_program == src)
|
||||||
holder.holder2.kill_program(1)
|
holder.holder2.kill_program(1)
|
||||||
holder = null
|
holder = null
|
||||||
..()
|
return ..()
|
||||||
|
|
||||||
// Returns independent copy of this file.
|
// Returns independent copy of this file.
|
||||||
/datum/computer_file/proc/clone(var/rename = 0)
|
/datum/computer_file/proc/clone(var/rename = 0)
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
to_chat(user, "Hardware Integrity Test... (Corruption: [damage]/[max_damage]) [damage > damage_failure ? "FAIL" : damage > damage_malfunction ? "WARN" : "PASS"]")
|
to_chat(user, "Hardware Integrity Test... (Corruption: [damage]/[max_damage]) [damage > damage_failure ? "FAIL" : damage > damage_malfunction ? "WARN" : "PASS"]")
|
||||||
|
|
||||||
/obj/item/weapon/computer_hardware/New(var/obj/L)
|
/obj/item/weapon/computer_hardware/New(var/obj/L)
|
||||||
|
..()
|
||||||
w_class = hardware_size
|
w_class = hardware_size
|
||||||
if(istype(L, /obj/item/modular_computer))
|
if(istype(L, /obj/item/modular_computer))
|
||||||
holder2 = L
|
holder2 = L
|
||||||
|
|||||||
@@ -97,4 +97,4 @@ var/global/ntnet_card_uid = 1
|
|||||||
/obj/item/weapon/computer_hardware/network_card/Destroy()
|
/obj/item/weapon/computer_hardware/network_card/Destroy()
|
||||||
if(holder2 && (holder2.network_card == src))
|
if(holder2 && (holder2.network_card == src))
|
||||||
holder2.network_card = null
|
holder2.network_card = null
|
||||||
..()
|
return ..()
|
||||||
|
|||||||
5
html/changelogs/leshana - vplk-ntnet-fixer.yml
Normal file
5
html/changelogs/leshana - vplk-ntnet-fixer.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
author: leshana
|
||||||
|
delete-after: True
|
||||||
|
changes:
|
||||||
|
- bugfix: "NTNet Quantum Relay can be constructed/deconstructed without runtimes."
|
||||||
|
- bugfix: "Missing qdel hints or calls to parent in New/Initialize for NTNet items."
|
||||||
Reference in New Issue
Block a user