mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-18 13:43:27 +00:00
* Remove NTNet from doors (saves 0.2s of init) -- Fixes windoors not working with remotes, and balloons them (#71735)
## About The Pull Request
Removes NTNet from doors. NTNet as a whole is getting excised, but this
was an enormous cost to initialize. Was only used for door remotes, so
just changes them to act on the door directly.
Windoors were supposed to be controllable, but were broken at some point
to always display an error message in chat.
Closes https://github.com/tgstation/dev-cycles-initiative/issues/3
## Changelog
🆑
fix: Door remotes now open windoors again.
qol: Door remotes now use balloon alerts for failures.
/🆑
(cherry picked from commit db2566f44d)
# Conflicts:
# code/game/machinery/doors/airlock.dm
* Update airlock.dm
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
98 lines
3.0 KiB
Plaintext
98 lines
3.0 KiB
Plaintext
/datum/unit_test/ntnetwork
|
|
var/list/valid_network_names = list(
|
|
"SS13.ATMOS.SCRUBBERS.SM",
|
|
"DEEPSPACE.HYDRO.PLANT",
|
|
"SINDIE.STINKS.BUTT",
|
|
)
|
|
|
|
var/list/invalid_network_names = list(
|
|
".SS13.BOB",
|
|
"SS13.OHMAN.",
|
|
"SS13.HAS A SPACE",
|
|
)
|
|
|
|
var/list/valid_network_trees = list(
|
|
list(
|
|
"SS13",
|
|
"ATMOS",
|
|
"SCRUBBERS",
|
|
"SM",
|
|
),
|
|
list(
|
|
"DEEPSPACE",
|
|
"HYDRO",
|
|
"PLANT",
|
|
),
|
|
list(
|
|
"SINDIE",
|
|
"STINKS",
|
|
"BUTT",
|
|
),
|
|
)
|
|
|
|
var/list/network_roots = list(
|
|
__STATION_NETWORK_ROOT,
|
|
__CENTCOM_NETWORK_ROOT,
|
|
__SYNDICATE_NETWORK_ROOT,
|
|
__LIMBO_NETWORK_ROOT,
|
|
)
|
|
|
|
var/list/random_words_for_testing = list(
|
|
__NETWORK_TOOLS,
|
|
__NETWORK_CONTROL,
|
|
__NETWORK_STORAGE,
|
|
__NETWORK_CARGO,
|
|
__NETWORK_BOTS,
|
|
__NETWORK_COMPUTER,
|
|
__NETWORK_TABLETS,
|
|
)
|
|
|
|
var/number_of_names_to_test = 50
|
|
var/length_of_test_network = 5
|
|
|
|
/datum/unit_test/proc/mangle_word(word)
|
|
var/len = length(word)
|
|
var/space_pos = round(len/2)
|
|
word = copytext(word,1,space_pos) + " " + copytext(word,space_pos,len)
|
|
return word
|
|
|
|
/datum/unit_test/ntnetwork/Run()
|
|
// First check if name checks work
|
|
for(var/name in valid_network_names)
|
|
TEST_ASSERT(verify_network_name(name), "Network name ([name]) marked as invalid but supposed to valid")
|
|
|
|
for(var/name in invalid_network_names)
|
|
TEST_ASSERT(!verify_network_name(name), "Network name ([name]) marked as valid but supposed to be invalid")
|
|
|
|
// Next check if we can pack and unpack network names
|
|
for(var/i in 1 to valid_network_names.len)
|
|
var/name = valid_network_names[i]
|
|
var/list/name_list = SSnetworks.network_string_to_list(name)
|
|
TEST_ASSERT(compare_list(name_list, valid_network_trees[i]), "Network name ([name]) did not unpack into a proper list")
|
|
for(var/i in 1 to valid_network_trees.len)
|
|
var/list/name_list = valid_network_trees[i]
|
|
var/name = SSnetworks.network_list_to_string(name_list)
|
|
TEST_ASSERT_EQUAL(name, valid_network_names[i], "Network name ([name]) did not pack into a proper string")
|
|
|
|
// Ok, we know we can verify network names now, and that we can pack and unpack. Lets try making some random good names
|
|
var/list/generated_network_names = list()
|
|
var/test_string
|
|
for(var/i in 1 to number_of_names_to_test)
|
|
var/list/builder = list()
|
|
builder += pick(network_roots)
|
|
for(var/j in 1 to length_of_test_network)
|
|
builder += pick(random_words_for_testing)
|
|
test_string = SSnetworks.network_list_to_string(builder)
|
|
var/name_fix = simple_network_name_fix(test_string)
|
|
TEST_ASSERT_EQUAL(name_fix, test_string, "Network name ([test_string]) was not fixed correctly to ([name_fix])")
|
|
generated_network_names += name_fix // save for future
|
|
// test badly generated names
|
|
for(var/i in 1 to number_of_names_to_test)
|
|
var/list/builder = list()
|
|
builder += mangle_word(pick(network_roots))
|
|
for(var/j in 1 to length_of_test_network)
|
|
builder += mangle_word(pick(random_words_for_testing))
|
|
test_string = builder.Join(".")
|
|
var/name_fix = simple_network_name_fix(test_string)
|
|
TEST_ASSERT(verify_network_name(name_fix), "Network name ([test_string]) was not fixed correctly ([name_fix]) with bad name")
|