mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 20:47:10 +01:00
Adds/ports the AI Triumvirate station trait. (triple ai mode as a VERY rare trait) (#25957)
* yippie itt works * Update tripAI.dm * Update code/modules/admin/verbs/tripAI.dm Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Update code/datums/station_traits/neutral_traits.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> --------- Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
@@ -396,6 +396,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
#define STATION_TRAIT_FORESTED "station_trait_forested"
|
||||
#define STATION_TRAIT_VENDING_SHORTAGE "station_trait_vending_shortage"
|
||||
#define STATION_TRAIT_MESSY "station_trait_messy"
|
||||
#define STATION_TRAIT_TRIAI "station_trait_triai"
|
||||
|
||||
//***** TURF TRAITS *****//
|
||||
/// Removes slowdown while walking on these tiles.
|
||||
|
||||
@@ -284,6 +284,12 @@ SUBSYSTEM_DEF(ticker)
|
||||
Master.SetRunLevel(RUNLEVEL_GAME)
|
||||
|
||||
// Generate the list of empty playable AI cores in the world
|
||||
if(HAS_TRAIT(SSstation, STATION_TRAIT_TRIAI))
|
||||
for(var/obj/effect/landmark/tripai in GLOB.landmarks_list)
|
||||
if(tripai.name == "tripai")
|
||||
if(locate(/mob/living) in get_turf(tripai))
|
||||
continue
|
||||
GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(tripai))
|
||||
for(var/obj/effect/landmark/start/ai/A in GLOB.landmarks_list)
|
||||
if(locate(/mob/living) in get_turf(A))
|
||||
continue
|
||||
|
||||
@@ -64,3 +64,19 @@
|
||||
/datum/station_trait/hangover/revert()
|
||||
. = ..()
|
||||
SSjobs.drunken_spawning = FALSE
|
||||
|
||||
/datum/station_trait/triple_ai
|
||||
name = "AI Triumvirate"
|
||||
trait_type = STATION_TRAIT_NEUTRAL
|
||||
weight = 1
|
||||
show_in_report = TRUE
|
||||
report_message = "As part of Operation Magi, your station has been equipped with three Nanotrasen Artificial Intelligence models. Please try not to break them."
|
||||
trait_to_give = STATION_TRAIT_TRIAI
|
||||
|
||||
/datum/station_trait/triple_ai/New()
|
||||
. = ..()
|
||||
SSticker.triai = TRUE
|
||||
|
||||
/datum/station_trait/triple_ai/revert()
|
||||
. = ..()
|
||||
SSticker.triai = FALSE
|
||||
|
||||
@@ -11,12 +11,16 @@
|
||||
if(!job)
|
||||
to_chat(usr, "Unable to locate the AI job")
|
||||
return
|
||||
if(HAS_TRAIT(SSstation, STATION_TRAIT_TRIAI))
|
||||
to_chat(usr, "<span class='danger'>The triple AI station trait is now enabled. This trait can be disabled in the Modify Station Traits menu.</span>")
|
||||
return
|
||||
|
||||
if(SSticker.triai)
|
||||
SSticker.triai = 0
|
||||
SSticker.triai = FALSE
|
||||
to_chat(usr, "Only one AI will be spawned at round start.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has toggled off triple AIs at round start.</span>", 1)
|
||||
else
|
||||
SSticker.triai = 1
|
||||
SSticker.triai = TRUE
|
||||
to_chat(usr, "There will be an AI Triumvirate at round start.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has toggled on triple AIs at round start.</span>", 1)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user