Files
Yogstation/code/modules/research/techweb/__techweb_helpers.dm
TheGamerdk ef5bd13cc9 [READY][AI] Reworks AI CPU + RAM. Turns the Sig Tech into the Network Admin. Adds overclocking (#13686)
* z-level restrictions

* Initial card rewrite

* UI Mockup

* e

* Functionality almost working

* test map

* pre-rename

* Network Admin Complete

* tiny tiny workshop

* tiny tiny tiny tiny workshop try 2

* makes tgui compile

* map files duh

* gax

* Update engineering.dm

* stuff should cost points

* ew

* Update rack_creator.dm

* attackby

* Update AiRackCreator.js

* Update rack.dm

* Update network_admin.dm

* Update network_admin.dm

* Update cpu.dm

* access and spelling stuff

* Unique imprinter

* maps

* netmin

* oops

* Fractional CPU and search for projects

* AI research points

* Assorted bug fixes

* Research booster upgrade

* netmin

* Examine

* overclocking

* Fractional CPU + Overclocking finished

* Rack upgrades + TGUI linter

* Yogstation

* access

* propers yogstation

* Meta + yogs fix

* kilo

* GAX

* oops

* Update overclocking.dm

* Update resource_distribution.dm

* spaces

* Update AiOverclocking.js

* Update induction.dm

* Update rack_creator.dm

* assorted bugfixes

* Core tracking

* Update AiServerConsole.js

* Update AiDashboard.js

* Update AiDashboard.js
2022-05-16 21:40:38 +01:00

36 lines
1.4 KiB
Plaintext

/proc/count_unique_techweb_nodes()
var/static/list/L = typesof(/datum/techweb_node)
return L.len
/proc/count_unique_techweb_designs()
var/static/list/L = typesof(/datum/design)
return L.len
/proc/node_boost_error(id, message)
WARNING("Invalid boost information for node \[[id]\]: [message]")
SSresearch.invalid_node_boost[id] = message
/proc/techweb_item_boost_check(obj/item/I) //Returns an associative list of techweb node datums with values of the boost it gives. var/list/returned = list()
if(SSresearch.techweb_boost_items[I.type])
return SSresearch.techweb_boost_items[I.type] //It should already be formatted in node datum = list(point type = value)
/proc/techweb_item_point_check(obj/item/I)
if(SSresearch.techweb_point_items[I.type])
return SSresearch.techweb_point_items[I.type]
/proc/techweb_point_display_generic(pointlist)
var/list/ret = list()
for(var/i in pointlist)
if(SSresearch.point_types[i])
ret += "[SSresearch.point_types[i]]: [pointlist[i]]"
else
ret += "ERRORED POINT TYPE: [pointlist[i]]"
return ret.Join("<BR>")
/proc/techweb_point_display_rdconsole(pointlist, last_pointlist)
var/list/ret = list()
for(var/i in pointlist)
var/point_count = (last_pointlist[i]) * ((SSresearch.flags & SS_TICKER)? (600 / (world.tick_lag * SSresearch.wait)) : (600 / SSresearch.wait))
ret += "[SSresearch.point_types[i] || "ERRORED POINT TYPE"]: [pointlist[i]] [point_count ? "(+[point_count]/ minute)" : ""]"
return ret.Join("<BR>")