Files
Aurora.3/code/game/gamemodes/technomancer/technomancer.dm
VMSolidusandGitHub 514bc2346e Technomancer Jumpstarter (#22869)
Might as well complete the set of solo antag jumpstarters. This PR adds
a Technomancer Jumpstarter, as a traitor exclusive item equivalent to
the Vampire and Changeling jumpstarters. It lets them trade all of their
TC to become a Technomancer instead of a traitor.

<img width="1902" height="988" alt="image"
src="https://github.com/user-attachments/assets/7f392d58-a3e2-47aa-9a79-b737a17ea94c"
/>
2026-07-29 16:38:14 +00:00

56 lines
2.2 KiB
Plaintext

/datum/game_mode/technomancer
name = "Technomancer"
config_tag = "technomancer"
votable = 1
max_players = 15
required_players = 5
required_enemies = 1
antag_tags = list(MODE_TECHNOMANCER)
/datum/game_mode/technomancer/pre_setup()
round_description = "An entity possessing advanced, unknown technology is onboard, who is capable of accomplishing amazing feats."
extended_round_description = "A powerful entity capable of manipulating space around them, has arrived on the [SSatlas.current_map.station_type]. \
They have a wide variety of powers and functions available to them that makes your own simple moral self tremble with \
fear and excitement. Ultimately, their purpose is unknown. However, it is up to you and your crew to decide if \
their powers can be used for good or if their arrival foreshadows the destruction of the entire [SSatlas.current_map.station_type], or worse."
. = ..()
/obj/item/technomancer_jumpstarter
name = "technomancer jumpstarter"
desc = "Use this to become a technomancer. This item is definitely not canon."
icon = 'icons/obj/clothing/hats.dmi'
icon_state = "amp"
contained_sprite = FALSE
/obj/item/technomancer_jumpstarter/attack_self(mob/user)
. = ..()
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
var/datum/technomancer/technomancer = H.mind.antag_datums[MODE_TECHNOMANCER]
if(technomancer)
to_chat(H, SPAN_WARNING("You're already a technomancer!"))
return
if(GLOB.technomancers.add_antagonist(H.mind, FALSE, TRUE, FALSE, TRUE, TRUE))
var/obj/item/technomancer_core/core = new /obj/item/technomancer_core
if (core)
GLOB.technomancer_belongings.Add(core)
H.equip_or_collect(core, slot_in_backpack)
var/obj/item/technomancer_catalog/catalog = new /obj/item/technomancer_catalog
if (catalog)
catalog.bind_to_owner(H)
if(istype(H.back, /obj/item/storage))
var/obj/item/storage/S = H.back
S.handle_item_insertion(catalog, TRUE)
else
var/turf/T = get_turf(H)
if(istype(T))
catalog.forceMove(T)
to_chat(H, SPAN_NOTICE("You've become a technomancer! You will find your core and catalog inside your backpack."))
qdel(src)
else
to_chat(H, SPAN_WARNING("Something prevented you from becoming a technomancer."))