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:
sood
2016-09-03 10:45:49 -07:00
committed by clusterfack
parent 1a4ed406d1
commit a0066e52f2
9 changed files with 21 additions and 21 deletions

View File

@@ -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")

View File

@@ -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

View File

@@ -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>")

View File

@@ -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()")

View File

@@ -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

View File

@@ -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>")

View File

@@ -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()

View File

@@ -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)

View File

@@ -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>")