From 885b7b7a45e45340f2755419e46e665f05b7f1e8 Mon Sep 17 00:00:00 2001 From: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com> Date: Sat, 14 Sep 2024 18:07:34 +0300 Subject: [PATCH] and it works --- config/monkestation/antag-tokens.toml | 4 ++-- .../code/antagonist_stuff/antagonist_datum.dm | 24 ++++++++++++------- .../code/antagonist_stuff/midround_event.dm | 5 ++-- .../borers/code/items/borer_spawner.dm | 4 ++-- monkestation/code/modules/client/verbs.dm | 8 ++++--- .../tgui/interfaces/AntagInfoBorer.tsx | 2 +- .../antagonists/antagonists/corticalborer.ts | 2 +- 7 files changed, 30 insertions(+), 19 deletions(-) diff --git a/config/monkestation/antag-tokens.toml b/config/monkestation/antag-tokens.toml index a6b25fbfd528..267c6c32c904 100644 --- a/config/monkestation/antag-tokens.toml +++ b/config/monkestation/antag-tokens.toml @@ -1,3 +1,3 @@ -low = ["traitor", "florida_man", "paradox_clone"] -medium = ["heretic", "bloodsucker"] +low = ["traitor", "florida_man", "paradox_clone", "cortical_borer"] +medium = ["heretic", "bloodsucker", "cortical_borer/hivemind"] high = ["cult", "rev/head", "wizard", "clock_cultist", "ninja"] diff --git a/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/antagonist_datum.dm b/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/antagonist_datum.dm index e103f421d89a..d328bd1f0654 100644 --- a/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/antagonist_datum.dm +++ b/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/antagonist_datum.dm @@ -7,15 +7,15 @@ count_against_dynamic_roll_chance = FALSE // there are thousands of them, we do not need them to be the only antagonist prevent_roundtype_conversion = FALSE show_to_ghosts = TRUE + /// Our linked borer, used for the antagonist panel TGUI var/mob/living/basic/cortical_borer/cortical_owner + /// Borer mob type, used for antag token spawns. + var/borer_mob_type = /mob/living/basic/cortical_borer/neutered + /datum/antagonist/cortical_borer/antag_token(datum/mind/hosts_mind, mob/spender) var/list/vents = list() - if(isliving(spender) && hosts_mind) - hosts_mind.current.unequip_everything() - new /obj/effect/holy(hosts_mind.current.loc) - QDEL_IN(hosts_mind.current, 20) for(var/obj/machinery/atmospherics/components/unary/vent_pump/temp_vent as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/atmospherics/components/unary/vent_pump)) if(QDELETED(temp_vent)) continue @@ -29,14 +29,20 @@ vents += temp_vent if(!length(vents)) - message_admins("Spawning in as a borer failed!") + message_admins(span_adminnotice("[spender] ([ckey(spender.key)]) tried spawning in as a borer, but no suitable vents were found!")) return MAP_ERROR + if(isliving(spender) && hosts_mind) + hosts_mind.current.unequip_everything() + new /obj/effect/holy(hosts_mind.current.loc) + QDEL_IN(hosts_mind.current, 1 SECOND) + var/mob/dead/observer/new_borer = spender - var/turf/vent_turf = get_turf(pick(vents)) - var/mob/living/basic/cortical_borer/spawned_cb = new(vent_turf) + var/vent = pick(vents) + var/mob/living/basic/cortical_borer/spawned_cb = new borer_mob_type(get_turf(vent)) + spawned_cb.move_into_vent(vent) spawned_cb.ckey = new_borer.ckey - spawned_cb.mind.add_antag_datum(/datum/antagonist/cortical_borer/hivemind) + spawned_cb.mind.add_antag_datum(type) notify_ghosts( "Someone has become a borer due to spending an antag token ([spawned_cb])!", source = spawned_cb, @@ -56,6 +62,8 @@ /datum/antagonist/cortical_borer/hivemind roundend_category = "cortical borers" + borer_mob_type = /mob/living/basic/cortical_borer + /// The team of borers var/datum/team/cortical_borers/borers diff --git a/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/midround_event.dm b/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/midround_event.dm index 8ac51f258a50..33dcd8813e06 100644 --- a/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/midround_event.dm +++ b/monkestation/code/modules/antagonists/borers/code/antagonist_stuff/midround_event.dm @@ -68,8 +68,9 @@ for(var/repeating_code in 1 to choosing_number) var/mob/dead/observer/new_borer = pick(candidates) candidates -= new_borer - var/turf/vent_turf = get_turf(pick(vents)) - var/mob/living/basic/cortical_borer/spawned_cb = new /mob/living/basic/cortical_borer(vent_turf) + var/vent = pick(vents) + var/mob/living/basic/cortical_borer/spawned_cb = new /mob/living/basic/cortical_borer(get_turf(vent)) + spawned_cb.move_into_vent(vent) spawned_cb.ckey = new_borer.ckey spawned_cb.mind.add_antag_datum(/datum/antagonist/cortical_borer/hivemind) announce_to_ghosts(spawned_cb) diff --git a/monkestation/code/modules/antagonists/borers/code/items/borer_spawner.dm b/monkestation/code/modules/antagonists/borers/code/items/borer_spawner.dm index 8aeaf618a23f..5c49fadb2ce9 100644 --- a/monkestation/code/modules/antagonists/borers/code/items/borer_spawner.dm +++ b/monkestation/code/modules/antagonists/borers/code/items/borer_spawner.dm @@ -89,8 +89,8 @@ action = NOTIFY_ORBIT, header = "Someone just got a new friend!" ) - message_admins("[ADMIN_LOOKUPFLW(new_mob)] has been made into a borer via a traitor item used by [user]") - log_game("[key_name(new_mob)] was spawned as a borer by [key_name(user)]") + message_admins("[ADMIN_LOOKUPFLW(new_mob)] has been made into a borer via a traitor item used by [user].") + log_game("[key_name(new_mob)] was spawned as a borer by [key_name(user)].") visible_message("A borer wriggles out of the [src]!") var/obj/item/cortical_cage/empty_cage = new(drop_location()) diff --git a/monkestation/code/modules/client/verbs.dm b/monkestation/code/modules/client/verbs.dm index 663221f424bf..adf97b39536c 100644 --- a/monkestation/code/modules/client/verbs.dm +++ b/monkestation/code/modules/client/verbs.dm @@ -120,16 +120,18 @@ GLOBAL_LIST_INIT(antag_token_config, load_antag_token_config()) /datum/antagonist/rev/head, /datum/antagonist/wizard, /datum/antagonist/clock_cultist, - /datum/antagonist/ninja + /datum/antagonist/ninja, )), MEDIUM_THREAT = init_antag_list(list( /datum/antagonist/heretic, - /datum/antagonist/bloodsucker + /datum/antagonist/bloodsucker, + /datum/antagonist/cortical_borer/hivemind, )), LOW_THREAT = init_antag_list(list( /datum/antagonist/florida_man, /datum/antagonist/traitor, - /datum/antagonist/paradox_clone + /datum/antagonist/paradox_clone, + /datum/antagonist/cortical_borer, )) ) var/static/list/toml_keys = list( diff --git a/tgui/packages/tgui/interfaces/AntagInfoBorer.tsx b/tgui/packages/tgui/interfaces/AntagInfoBorer.tsx index 66ee012c7ece..2846a1fc3dd3 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoBorer.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoBorer.tsx @@ -111,7 +111,7 @@ const MainPage = () => { You are a Cortical Borer, a creature that crawls into peoples - ear's to then settle on the brain + ears to then settle in the brain. diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/corticalborer.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/corticalborer.ts index 4b87325a3990..cb16af0760ad 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/corticalborer.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/corticalborer.ts @@ -8,7 +8,7 @@ const CorticalBorer: Antagonist = { multiline` You are a slug that crawls into peoples ears and then manipulates them in various ways - to make sure your species survives and thrives + to make sure your species survives and thrives. `, ], category: Category.Midround,