mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Mixed mode sanity (#11687)
* Mixed mode sanity * Whoops, forgot to set 0 on these children * whoooops * defines for nerds * check if it can be mixed before instantiating * type * aaa * accidental file commit
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
var/list/possible_traitors
|
||||
var/num_players = 0
|
||||
can_be_mixed = TRUE
|
||||
|
||||
/datum/game_mode/traitor/autotraitor/announce()
|
||||
..()
|
||||
@@ -209,5 +210,3 @@
|
||||
//message_admins("New traitor roll failed. No new traitor.")
|
||||
//else
|
||||
//message_admins("Late Joiner does not have Be Syndicate")
|
||||
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
|
||||
|
||||
var/changeling_amount = 4
|
||||
|
||||
can_be_mixed = TRUE
|
||||
|
||||
/datum/game_mode/changeling/announce()
|
||||
to_chat(world, "<B>The current game mode is - Changeling!</B>")
|
||||
to_chat(world, "<B>There are alien changelings on the station. Do not let the changelings succeed!</B>")
|
||||
@@ -318,4 +320,4 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
|
||||
if(show_message)
|
||||
to_chat(current, "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</B></FONT>")
|
||||
return 1
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -79,6 +79,8 @@
|
||||
var/escaped_pod = 0
|
||||
var/survivors = 0
|
||||
|
||||
can_be_mixed = TRUE
|
||||
|
||||
/datum/game_mode/cult/announce()
|
||||
to_chat(world, "<B>The current game mode is - Cult!</B>")
|
||||
to_chat(world, "<B>Some crewmembers are attempting to start a cult!<BR>\nCultists - complete your objectives. Convert crewmembers to your cause by using the convert rune. Remember - there is no you, there is only the cult.<BR>\nPersonnel - Do not let the cult succeed in its mission. Brainwashing them with the chaplain's bible reverts them to whatever CentCom-allowed faith they had.</B>")
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
var/list/datum/mind/deathsquad = list()
|
||||
var/list/datum/mind/ert = list()
|
||||
var/rage = 0
|
||||
var/can_be_mixed = FALSE
|
||||
|
||||
/datum/game_mode/proc/announce() //to be calles when round starts
|
||||
to_chat(world, "<B>Notice</B>: [src] did not define announce()")
|
||||
|
||||
@@ -56,29 +56,19 @@ var/global/list/mixed_allowed = list(
|
||||
else
|
||||
qdel(GM)
|
||||
else
|
||||
var/list/datum/game_mode/possible = typesof(/datum/game_mode) - list(
|
||||
/datum/game_mode,
|
||||
/datum/game_mode/mixed,
|
||||
/datum/game_mode/malfunction,
|
||||
/datum/game_mode/traitor,
|
||||
/datum/game_mode/traitor/double_agents,
|
||||
/datum/game_mode/sandbox,
|
||||
/datum/game_mode/revolution,
|
||||
/datum/game_mode/meteor,
|
||||
/datum/game_mode/extended,
|
||||
/datum/game_mode/heist,
|
||||
/datum/game_mode/nuclear,
|
||||
/datum/game_mode/traitor/changeling,
|
||||
/datum/game_mode/wizard/raginmages,
|
||||
/datum/game_mode/blob,
|
||||
)
|
||||
var/list/datum/game_mode/possible = typesof(/datum/game_mode) - list(/datum/game_mode, /datum/game_mode/mixed)
|
||||
while(modes.len < 3)
|
||||
if(!possible.len)
|
||||
break
|
||||
var/ourmode = pick(possible)
|
||||
var/datum/game_mode/ourmode = pick(possible)
|
||||
possible -= ourmode
|
||||
if(!initial(ourmode.can_be_mixed))
|
||||
continue
|
||||
var/datum/game_mode/M = new ourmode
|
||||
// I put this in a separate block just in case BYOND does something silly with &&
|
||||
|
||||
M.mixed = 1
|
||||
|
||||
if(!M.pre_setup())
|
||||
qdel(M)
|
||||
continue
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
var/list/target_list = list()
|
||||
|
||||
can_be_mixed = FALSE
|
||||
|
||||
/datum/game_mode/traitor/double_agents/announce()
|
||||
to_chat(world, "<B>The current game mode is - Double Agents!</B>")
|
||||
to_chat(world, "<B>There are double agents killing eachother! Do not let them succeed!</B>")
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
|
||||
|
||||
var/vampire_amount = 4
|
||||
can_be_mixed = TRUE
|
||||
|
||||
|
||||
/datum/game_mode/vampire/announce()
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
var/exhausted_pool = 0
|
||||
rage = 1
|
||||
|
||||
can_be_mixed = FALSE
|
||||
|
||||
/datum/game_mode/wizard/announce()
|
||||
to_chat(world, "<B>The current game mode is - Ragin' Mages!</B>")
|
||||
to_chat(world, "<B>The <span class='danger'>Space Wizard Federation is pissed, help defeat all the space wizards!</span>")
|
||||
@@ -117,4 +119,4 @@
|
||||
if(finished)
|
||||
feedback_set_details("round_end_result","loss - wizard killed")
|
||||
to_chat(world, "<span class='danger'><FONT size = 3> The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!</FONT></span>")
|
||||
..(1)
|
||||
..(1)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
|
||||
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
|
||||
|
||||
can_be_mixed = TRUE
|
||||
|
||||
/datum/game_mode/wizard/announce()
|
||||
to_chat(world, "<B>The current game mode is - Wizard!</B>")
|
||||
|
||||
Reference in New Issue
Block a user