Datumizes Cult. (#24379)

* cult 1

* massive data refactor

* progress

* More crap

* IM SCARED IT COMPILES

* oops

* more fixes

* good comment

* hell yeah, team control

* lol

* blamo

* blam

* More stuff

* team refactor

* epic merge fail

* src not _src_

* more

* progress

* cult

* more stuff

* water

* goodbye __IMPLIED_TYPE__

* time to undraft

* FUCK FUCK FUCK

* okay this is better

* goodbye todos

* fix

* order of operations

* last fix? maybe

* yeah

* oops

* okay this should be ALL the fixes

* wow

* hell yeah

* wow

* fixes duplicate teams + adds more team safeties

* how the fuck did this happen

* admin objective improvements

* wah more bullshit

* guh

* fuuuuck

* fucking hell

* fixes
This commit is contained in:
Contrabang
2024-03-16 16:36:55 -04:00
committed by GitHub
parent 0c25bf4a21
commit 2ec55dbfbb
69 changed files with 1328 additions and 1137 deletions
+26 -1
View File
@@ -643,7 +643,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
antag_list += "Head Rev"
if(M.mind.has_antag_datum(/datum/antagonist/rev, FALSE))
antag_list += "Revolutionary"
if(M.mind in SSticker.mode.cult)
if(IS_CULTIST(M))
antag_list += "Cultist"
if(M.mind in SSticker.mode.syndicates)
antag_list += "Nuclear Operative"
@@ -989,4 +989,29 @@ GLOBAL_VAR_INIT(gamma_ship_location, 1) // 0 = station , 1 = space
result[1]++
return result
/**
* Allows admins to safely pick from SSticker.minds for objectives
* - caller, mob to ask for results
* - blacklist, optional list of targets that are not available
* - default_target, the target to show in the list as default
*/
/proc/get_admin_objective_targets(mob/caller, list/blacklist, mob/default_target)
if(!islist(blacklist))
blacklist = list(blacklist)
var/list/possible_targets = list()
for(var/datum/mind/possible_target in SSticker.minds)
if(!(possible_target in blacklist) && ishuman(possible_target.current))
possible_targets += possible_target.current // Allows for admins to pick off station roles
if(!length(possible_targets))
to_chat(caller, "<span class='warning'>No possible target found.</span>")
return
possible_targets = sortAtom(possible_targets)
var/mob/new_target = input(caller, "Select target:", "Objective target", default_target) as null|anything in possible_targets
if(!QDELETED(new_target))
return new_target.mind
#undef PLAYER_NOTES_ENTRIES_PER_PAGE