Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions code/datums/achievements/achievements.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,13 @@

/datum/achievement/engineering/Poly_silent
name = "Silence Bird!"
desc = "As a signal technician, create a script that mutes poly"
desc = "As a network admin, create a script that mutes poly"
id = 18
hidden = TRUE

/datum/achievement/engineering/Poly_loud
name = "Embrace the Bird!"
desc = "As a signal technician, create a script that makes poly LOUD"
desc = "As a network admin, create a script that makes poly LOUD"
id = 19
hidden = TRUE

Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/objective_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
name = "the telecommunications blackbox."
targetitem = /obj/item/blackbox
difficulty = 10
excludefromjob = list("Chief Engineer","Station Engineer","Atmospheric Technician","Signal Technician")
excludefromjob = list("Chief Engineer","Station Engineer","Atmospheric Technician","Network Admin")

//Unique Objectives
/datum/objective_item/unique/docs_red
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/crew.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
jobs["Chief Engineer"] = 40
jobs["Station Engineer"] = 41
jobs["Atmospheric Technician"] = 42
jobs["Signal Technician"] = 43 //Yogs: Added IDs for this job
jobs["Network Admin"] = 43 //Yogs: Added IDs for this job
jobs["Quartermaster"] = 51
jobs["Shaft Miner"] = 52
jobs["Cargo Technician"] = 53
Expand Down
33 changes: 33 additions & 0 deletions code/modules/ai_upgrades/ai_hardware.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/obj/item/ai_hardware
name = "BUG!"
desc = "I am a filthy bug. Report me!"
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'

flags_1 = CONDUCT_1
force = 5
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
throw_speed = 3
throw_range = 7
materials = list(/datum/material/gold=50)

var/power_consumption = 0

var/cpu_power = 0
var/memory_capacity = 0

/obj/item/ai_hardware/Initialize()
. = ..()
calculate_power_usage()

/obj/item/ai_hardware/proc/calculate_efficiency()
var/theoretical_usage = cpu_power * AI_BASE_POWER_PER_CPU

return round(theoretical_usage / consumption * 100, 0.5)

/obj/item/ai_hardware/proc/calculate_power_usage()
power_consumption = cpu_power * AI_BASE_POWER_PER_CPU
19 changes: 19 additions & 0 deletions code/modules/ai_upgrades/fabricator.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/obj/machinery/ai_fabricator
name = "circuit fabricator"
desc = "It produces items using metal and glass."
icon = 'icons/obj/machines/research.dmi'
icon_state = "circuit_imprinter"
density = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 10
active_power_usage = 100
//circuit = /obj/item/circuitboard/machine/autolathe
layer = BELOW_OBJ_LAYER

var/datum/component/remote_materials/materials
var/datum/techweb/stored_research

/obj/machinery/ai_fabricator/Initialize()
materials = AddComponent(/datum/component/remote_materials, "mechfab", mapload && link_on_init)
stored_research = SSresearch.science_tech
. = ..()
6 changes: 6 additions & 0 deletions code/modules/ai_upgrades/memory_card.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/obj/item/ai_hardware/memory_card
name = "AI Memory Card"
desc = "An external memory card for crucial AI process management."


memory_capacity = 1
7 changes: 7 additions & 0 deletions code/modules/ai_upgrades/processing_card.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/obj/item/ai_hardware/processing_card
name = "AI Processing Card"
desc = "An external processing card for crucial AI computational operations."

cpu_power = 1


8 changes: 4 additions & 4 deletions code/modules/clothing/neck/skillcapes/skillcape_datums.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,14 @@
path = /obj/item/clothing/neck/skillcape/trimmed/physician

/datum/skillcape/signaltech
name = "cape of the signal technician"
job = "Signal Technician"
name = "cape of the network admin"
job = "Network Admin"
path = /obj/item/clothing/neck/skillcape/signaltech
id = "signaltech"

/datum/skillcape/trimmed/signaltech
name = "cape of the grand signal technician"
job = "Signal Technician"
name = "cape of the grand network admin"
job = "Network Admin"
path = /obj/item/clothing/neck/skillcape/trimmed/signaltech
id = "signaltech_trimmed"

Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/neck/skillcapes/skillcapes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,12 @@
item_state = "brigphys-trimmed"

/obj/item/clothing/neck/skillcape/signaltech
name = "cape of the signal technician"
name = "cape of the network admin"
icon_state = "signal-skillcape"
item_state = "signal-skillcape"

/obj/item/clothing/neck/skillcape/trimmed/signaltech
name = "cape of the grand signal technician"
name = "cape of the grand network admin"
icon_state = "signal-trimmed"
item_state = "signal-trimmed"

Expand Down
6 changes: 3 additions & 3 deletions code/modules/clothing/outfits/plasmaman.dm
Original file line number Diff line number Diff line change
Expand Up @@ -413,10 +413,10 @@
duffelbag = /obj/item/storage/backpack/duffelbag/clown
backpack_contents = list(/obj/item/storage/box/plasmaman = 1)

/datum/outfit/job/plasmaman/sigtech
name = "Plasmaman Signal Technician"
/datum/outfit/job/plasmaman/network_admin
name = "Plasmaman Network Admin"

jobtype = /datum/job/signal_tech
jobtype = /datum/job/network_admin

head = /obj/item/clothing/head/helmet/space/plasmaman/engineering
r_hand= /obj/item/tank/internals/plasmaman/belt/full
Expand Down
2 changes: 1 addition & 1 deletion code/modules/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist",
// yogs start - Yog jobs
"Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer",
"Signal Technician", "Mining Medic", "Paramedic", "Psychiatrist", "Clerk", "Tourist", "Space Bartender", "Artist", "Brig Physician")
"Network Admin", "Mining Medic", "Paramedic", "Psychiatrist", "Clerk", "Tourist", "Space Bartender", "Artist", "Brig Physician")
// yogs end

/// Gets all jobs with hud icons
Expand Down
2 changes: 1 addition & 1 deletion code/modules/jobs/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ GLOBAL_LIST_INIT(original_engineering_positions, list(
"Chief Engineer",
"Station Engineer",
"Atmospheric Technician",
"Signal Technician"))
"Network Admin"))

GLOBAL_LIST_INIT(original_medical_positions, list(
"Chief Medical Officer",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@
if("Clown")
O = new /datum/outfit/job/plasmaman/clown

if("Signal Technician")
O = new /datum/outfit/job/plasmaman/sigtech
if("Network Admin")
O = new /datum/outfit/job/plasmaman/network_admin

if("Mining Medic")
O = new /datum/outfit/job/plasmaman/miningmedic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,11 @@ GLOBAL_DATUM_INIT(ai_os, /datum/ai_os, new)
if(!C.valid_holder() && !C.roundstart)
continue
for(var/CARD in C.installed_cards)
if(istype(CARD, /obj/item/processing_card))
var/obj/item/processing_card/PC = CARD
total_cpu += PC.tier
if(istype(CARD, /obj/item/memory_card))
var/obj/item/memory_card/MC = CARD
total_ram += MC.tier
/obj/item/ai_hardware/memory_card
if(istype(CARD, /obj/item/ai_hardware))
var/obj/item/ai_hardware/PC = CARD
total_cpu += PC.cpu_power
total_ram += PC.memory_capacity

update_allocations()

Expand Down
38 changes: 0 additions & 38 deletions code/modules/mob/living/silicon/ai/decentralized/expansion_card.dm

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ GLOBAL_LIST_EMPTY(expansion_card_holders)
//We manually calculate how power the cards + CPU give, so this is accounted for by that
active_power_usage = 0

var/card_power_consumption = 0

var/max_cards = 2

var/was_valid_holder = FALSE
Expand Down Expand Up @@ -91,12 +93,11 @@ GLOBAL_LIST_EMPTY(expansion_card_holders)
W.forceMove(src)
installed_cards += W
GLOB.ai_os.update_hardware()
if(istype(W, /obj/item/processing_card))
var/obj/item/processing_card/cpu_card = W
total_cpu += cpu_card.tier
if(istype(W, /obj/item/memory_card))
var/obj/item/memory_card/ram_card = W
total_ram += ram_card.tier
if(istype(W, /obj/item/ai_hardware))
var/obj/item/ai_hardware/card = W
total_cpu += card.cpu_power
total_ram += card.memory_capacity
card_power_consumption += card.power_consumption
use_power = ACTIVE_POWER_USE
return FALSE
if(W.tool_behaviour == TOOL_CROWBAR)
Expand All @@ -107,6 +108,7 @@ GLOBAL_LIST_EMPTY(expansion_card_holders)
installed_cards.len = 0
total_cpu = 0
total_ram = 0
card_power_consumption = 0
GLOB.ai_os.update_hardware()
to_chat(user, span_notice("You remove all the cards from [src]"))
use_power = IDLE_POWER_USE
Expand All @@ -132,13 +134,12 @@ GLOBAL_LIST_EMPTY(expansion_card_holders)

/obj/machinery/ai/expansion_card_holder/prefilled/Initialize()
..()
var/obj/item/processing_card/cpu = new /obj/item/processing_card()
var/obj/item/memory_card/ram = new /obj/item/memory_card()
var/obj/item/ai_hardware/processing_card/cpu = new (src)
var/obj/item/ai_hardware/memory_card/ram = new (src)

cpu.forceMove(src)
total_cpu++
ram.forceMove(src)
total_ram++
total_cpu += cpu.cpu_power + ram.cpu_power
total_ram += cpu.memory_capacity + ram.memory_capacity
installed_cards += cpu
installed_cards += ram
card_power_consumption = cpu.power_consumption + ram.power_consumption
GLOB.ai_os.update_hardware()
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ GLOBAL_VAR_INIT(ai_control_code, random_nukecode(6))
/obj/machinery/computer/ai_control_console
name = "\improper AI control console"
desc = "Used for accessing the central AI repository from which AIs can be downloaded or uploaded."
req_access = list(ACCESS_RD)
req_one_access = list(ACCESS_RD, ACCESS_HEADS)
circuit = /obj/item/circuitboard/computer/aifixer
icon_keyboard = "tech_key"
icon_screen = "ai-fixer"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/obj/machinery/computer/ai_resource_distribution
name = "\improper AI system resource distribution"
desc = "Used for distributing processing resources across the current artificial intelligences."
req_access = list(ACCESS_ROBOTICS)
req_one_access = list(ACCESS_ROBOTICS, ACCESS_MINISAT, ACCESS_HEADS)
circuit = /obj/item/circuitboard/computer/aifixer
icon_keyboard = "tech_key"
icon_screen = "ai-fixer"
Expand Down
20 changes: 0 additions & 20 deletions code/modules/research/designs/AI_module_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -165,23 +165,3 @@
category = list("AI Modules")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE


//AI CPU + RAM

/datum/design/board/processing_card_1
name = "AI CPU board (Tier 1)"
desc = "Allows for the construction of a basic AI processing board."
id = "ai_cpu_1"
materials = list(/datum/material/glass = 2000, /datum/material/gold = 4000)
build_path = /obj/item/processing_card
category = list("AI Modules")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE

/datum/design/board/memory_card_1
name = "AI Memory board (Tier 1)"
desc = "Allows for the construction of a basic AI memory board."
id = "ai_memory_1"
materials = list(/datum/material/glass = 2000, /datum/material/gold = 4000)
build_path = /obj/item/memory_card
category = list("AI Modules")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
2 changes: 1 addition & 1 deletion code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@
display_name = "Artificial Intelligence"
description = "AI unit research."
prereq_ids = list("robotics", "posibrain")
design_ids = list("expansion_card_holder", "ai_data_core", "ai_control", "ai_server_overview", "ai_resource_distribution", "ai_memory_1", "ai_cpu_1", "aifixer", "safeguard_module", "onehuman_module", "protectstation_module", "quarantine_module", "oxygen_module", "freeform_module",
design_ids = list("expansion_card_holder", "ai_data_core", "ai_control", "ai_server_overview", "ai_resource_distribution", "aifixer", "safeguard_module", "onehuman_module", "protectstation_module", "quarantine_module", "oxygen_module", "freeform_module",
"reset_module", "purge_module", "remove_module", "freeformcore_module", "asimov_module", "crewsimov_module", "paladin_module", "tyrant_module", "overlord_module", "ceo_module", "cowboy_module", "default_module", "borg_ai_control", "mecha_tracking_ai_control", "intellicard")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
Expand Down
4 changes: 2 additions & 2 deletions code/modules/vending/wardrobes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@
machine_name = "AtmosDrobe"

/obj/machinery/vending/wardrobe/sig_wardrobe
name = "SigDrobe"
desc = "A rarely used vending machine that provides clothing for Signal Technicians."
name = "AdminDrobe"
desc = "A rarely used vending machine that provides clothing for Network Admins."
icon_state = "sigdrobe"
product_ads = "Dress to impress yourself!;The drones will love you!;Get your clothing here!"
vend_reply = "Thank you for using the SigDrobe!"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@
screen = 0

if("editcode")
if(is_banned_from(usr.ckey, "Signal Technician"))
if(is_banned_from(usr.ckey, "Network Admin"))
to_chat(usr, span_warning("You are banned from using NTSL."))
return
if(editingcode == usr)
Expand Down Expand Up @@ -320,4 +320,4 @@
C.put_in_hands(auth)
auth = null
updateUsrDialog()
return
return
4 changes: 2 additions & 2 deletions yogstation/code/game/machinery/telecomms/machines/server.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@
rawcode = t

/obj/machinery/telecomms/server/proc/compile(mob/user = usr)
if(is_banned_from(user.ckey, "Signal Technician"))
if(is_banned_from(user.ckey, "Network Admin"))
to_chat(user, span_warning("You are banned from using NTSL."))
return
if(Compiler)
var/list/compileerrors = Compiler.Compile(rawcode)
if(!compileerrors.len && (compiledcode != rawcode))
user.log_message(rawcode, LOG_NTSL)
compiledcode = rawcode
if(user.mind.assigned_role == "Signal Technician") //achivement description says only Signal Technician gets the achivement
if(user.mind.assigned_role == "Network Admin") //achivement description says only Network Admin gets the achivement
var/freq
if(freq_listening.len > 0)
freq = freq_listening[1]
Expand Down
2 changes: 1 addition & 1 deletion yogstation/code/game/objects/effects/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(chosen_station_templates)
icon_state = "Mining Medic"

/obj/effect/landmark/start/yogs/signal_technician
name = "Signal Technician"
name = "Network Admin"
icon_state = "Signal Technician"

/obj/effect/landmark/start/yogs/clerk
Expand Down
Loading