var/global/ntnet_card_uid = 1 /obj/item/weapon/computer_hardware/network_card name = "network card" desc = "A basic wireless network card for usage with standard NTNet frequencies." power_usage = 50 origin_tech = "programming=2;engineering=1" icon_state = "radio_mini" var/identification_id = null // Identification ID. Technically MAC address of this device. Can't be changed by user. var/identification_string = "" // Identification string, technically nickname seen in the network. Can be set by user. var/long_range = 0 var/ethernet = 0 // Hard-wired, therefore always on, ignores NTNet wireless checks. malfunction_probability = 1 device_type = MC_NET /obj/item/weapon/computer_hardware/network_card/diagnostics(var/mob/user) ..() to_chat(user, "NIX Unique ID: [identification_id]") to_chat(user, "NIX User Tag: [identification_string]") to_chat(user, "Supported protocols:") to_chat(user, "511.m SFS (Subspace) - Standard Frequency Spread") if(long_range) to_chat(user, "511.n WFS/HB (Subspace) - Wide Frequency Spread/High Bandiwdth") if(ethernet) to_chat(user, "OpenEth (Physical Connection) - Physical network connection port") /obj/item/weapon/computer_hardware/network_card/New(var/l) ..(l) identification_id = ntnet_card_uid ntnet_card_uid++ // Returns a string identifier of this network card /obj/item/weapon/computer_hardware/network_card/proc/get_network_tag() return "[identification_string] (NID [identification_id])" // 0 - No signal, 1 - Low signal, 2 - High signal. 3 - Wired Connection /obj/item/weapon/computer_hardware/network_card/proc/get_signal(var/specific_action = 0) if(!holder) // Hardware is not installed in anything. No signal. How did this even get called? return 0 if(!check_functionality()) return 0 if(ethernet) // Computer is connected via wired connection. return 3 if(!ntnet_global || !ntnet_global.check_function(specific_action)) // NTNet is down and we are not connected via wired connection. No signal. return 0 if(holder) var/turf/T = get_turf(holder) if((T && istype(T)) && is_station_contact(T.z)) // Computer is on station. Low/High signal depending on what type of network card you have if(long_range) return 2 else return 1 if(long_range) // Computer is not on station, but it has upgraded network card. Low signal. return 1 return 0 // Computer is not on station and does not have upgraded network card. No signal. /obj/item/weapon/computer_hardware/network_card/advanced name = "advanced network card" desc = "An advanced network card for usage with standard NTNet frequencies. Its transmitter is strong enough to connect even off-station." long_range = 1 origin_tech = "programming=4;engineering=2" power_usage = 100 // Better range but higher power usage. icon_state = "radio" w_class = WEIGHT_CLASS_TINY /obj/item/weapon/computer_hardware/network_card/wired name = "wired network card" desc = "An advanced network card for usage with standard NTNet frequencies. This one also supports wired connection." ethernet = 1 origin_tech = "programming=5;engineering=3" power_usage = 100 // Better range but higher power usage. icon_state = "net_wired" w_class = WEIGHT_CLASS_NORMAL