April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
// To add a rev to the list of revolutionaries, make sure it's rev (with if(ticker.mode.name == "revolution)),
|
||||
// then call ticker.mode:add_revolutionary(_THE_PLAYERS_MIND_)
|
||||
// To add a rev to the list of revolutionaries, make sure it's rev (with if(SSticker.mode.name == "revolution)),
|
||||
// then call SSticker.mode:add_revolutionary(_THE_PLAYERS_MIND_)
|
||||
// nothing else needs to be done, as that proc will check if they are a valid target.
|
||||
// Just make sure the converter is a head before you call it!
|
||||
// To remove a rev (from brainwashing or w/e), call ticker.mode:remove_revolutionary(_THE_PLAYERS_MIND_),
|
||||
// To remove a rev (from brainwashing or w/e), call SSticker.mode:remove_revolutionary(_THE_PLAYERS_MIND_),
|
||||
// this will also check they're not a head, so it can just be called freely
|
||||
// If the game somtimes isn't registering a win properly, then ticker.mode.check_win() isn't being called somewhere.
|
||||
// If the game somtimes isn't registering a win properly, then SSticker.mode.check_win() isn't being called somewhere.
|
||||
|
||||
/datum/game_mode
|
||||
var/list/datum/mind/head_revolutionaries = list()
|
||||
@@ -118,7 +118,7 @@
|
||||
if(check_counter >= 5)
|
||||
if(!finished)
|
||||
check_heads()
|
||||
ticker.mode.check_win()
|
||||
SSticker.mode.check_win()
|
||||
check_counter = 0
|
||||
return 0
|
||||
|
||||
@@ -248,16 +248,16 @@
|
||||
//Deals with converting players to the revolution//
|
||||
///////////////////////////////////////////////////
|
||||
/proc/is_revolutionary(mob/M)
|
||||
return M && istype(M) && M.mind && ticker && ticker.mode && M.mind in ticker.mode.revolutionaries
|
||||
return M && istype(M) && M.mind && SSticker && SSticker.mode && M.mind in SSticker.mode.revolutionaries
|
||||
|
||||
/proc/is_head_revolutionary(mob/M)
|
||||
return M && istype(M) && M.mind && ticker && ticker.mode && M.mind in ticker.mode.head_revolutionaries
|
||||
return M && istype(M) && M.mind && SSticker && SSticker.mode && M.mind in SSticker.mode.head_revolutionaries
|
||||
|
||||
/proc/is_revolutionary_in_general(mob/M)
|
||||
return is_revolutionary(M) || is_head_revolutionary(M)
|
||||
|
||||
/datum/game_mode/proc/add_revolutionary(datum/mind/rev_mind)
|
||||
if(rev_mind.assigned_role in command_positions)
|
||||
if(rev_mind.assigned_role in GLOB.command_positions)
|
||||
return 0
|
||||
var/mob/living/carbon/human/H = rev_mind.current//Check to see if the potential rev is implanted
|
||||
if(H.isloyal())
|
||||
@@ -292,26 +292,21 @@
|
||||
rev_mind.current.log_message("<font color='red'>Has renounced the revolution!</font>", INDIVIDUAL_ATTACK_LOG)
|
||||
|
||||
if(beingborged)
|
||||
to_chat(rev_mind.current, "<span class='danger'><FONT size = 3>The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]</FONT></span>")
|
||||
rev_mind.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.",\
|
||||
"<span class='danger'><FONT size = 3>The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]</FONT></span>")
|
||||
message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
|
||||
|
||||
else
|
||||
rev_mind.current.Paralyse(5)
|
||||
to_chat(rev_mind.current, "<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...</FONT></span>")
|
||||
|
||||
rev_mind.current.visible_message("[rev_mind.current] looks like they just remembered their real allegiance!",\
|
||||
"<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...</FONT></span>")
|
||||
update_rev_icons_removed(rev_mind)
|
||||
for(var/mob/living/M in view(rev_mind.current))
|
||||
if(beingborged)
|
||||
to_chat(M, "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.")
|
||||
|
||||
else
|
||||
to_chat(M, "[rev_mind.current] looks like they just remembered their real allegiance!")
|
||||
|
||||
/////////////////////////////////////
|
||||
//Adds the rev hud to a new convert//
|
||||
/////////////////////////////////////
|
||||
/datum/game_mode/proc/update_rev_icons_added(datum/mind/rev_mind)
|
||||
var/datum/atom_hud/antag/revhud = huds[ANTAG_HUD_REV]
|
||||
var/datum/atom_hud/antag/revhud = GLOB.huds[ANTAG_HUD_REV]
|
||||
revhud.join_hud(rev_mind.current)
|
||||
set_antag_hud(rev_mind.current, ((rev_mind in head_revolutionaries) ? "rev_head" : "rev"))
|
||||
|
||||
@@ -319,7 +314,7 @@
|
||||
//Removes the hud from deconverted revs//
|
||||
/////////////////////////////////////////
|
||||
/datum/game_mode/proc/update_rev_icons_removed(datum/mind/rev_mind)
|
||||
var/datum/atom_hud/antag/revhud = huds[ANTAG_HUD_REV]
|
||||
var/datum/atom_hud/antag/revhud = GLOB.huds[ANTAG_HUD_REV]
|
||||
revhud.leave_hud(rev_mind.current)
|
||||
set_antag_hud(rev_mind.current, null)
|
||||
|
||||
@@ -353,43 +348,43 @@
|
||||
feedback_set_details("round_end_result","win - heads killed")
|
||||
to_chat(world, "<span class='redtext'>The heads of staff were killed or exiled! The revolutionaries win!</span>")
|
||||
|
||||
ticker.news_report = REVS_WIN
|
||||
SSticker.news_report = REVS_WIN
|
||||
|
||||
else if(finished == 2)
|
||||
feedback_set_details("round_end_result","loss - rev heads killed")
|
||||
to_chat(world, "<span class='redtext'>The heads of staff managed to stop the revolution!</span>")
|
||||
|
||||
ticker.news_report = REVS_LOSE
|
||||
SSticker.news_report = REVS_LOSE
|
||||
..()
|
||||
return 1
|
||||
|
||||
/datum/game_mode/proc/auto_declare_completion_revolution()
|
||||
var/list/targets = list()
|
||||
if(head_revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution))
|
||||
if(head_revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution))
|
||||
var/num_revs = 0
|
||||
var/num_survivors = 0
|
||||
for(var/mob/living/carbon/survivor in living_mob_list)
|
||||
for(var/mob/living/carbon/survivor in GLOB.living_mob_list)
|
||||
if(survivor.ckey)
|
||||
num_survivors++
|
||||
if(survivor.mind)
|
||||
if((survivor.mind in head_revolutionaries) || (survivor.mind in revolutionaries))
|
||||
num_revs++
|
||||
if(num_survivors)
|
||||
to_chat(world, "[TAB]Command's Approval Rating: <B>[100 - round((num_revs/num_survivors)*100, 0.1)]%</B>" )
|
||||
to_chat(world, "[GLOB.TAB]Command's Approval Rating: <B>[100 - round((num_revs/num_survivors)*100, 0.1)]%</B>" )
|
||||
var/text = "<br><font size=3><b>The head revolutionaries were:</b></font>"
|
||||
for(var/datum/mind/headrev in head_revolutionaries)
|
||||
text += printplayer(headrev, 1)
|
||||
text += "<br>"
|
||||
to_chat(world, text)
|
||||
|
||||
if(revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution))
|
||||
if(revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution))
|
||||
var/text = "<br><font size=3><b>The revolutionaries were:</b></font>"
|
||||
for(var/datum/mind/rev in revolutionaries)
|
||||
text += printplayer(rev, 1)
|
||||
text += "<br>"
|
||||
to_chat(world, text)
|
||||
|
||||
if( head_revolutionaries.len || revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution) )
|
||||
if( head_revolutionaries.len || revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution) )
|
||||
var/text = "<br><font size=3><b>The heads of staff were:</b></font>"
|
||||
var/list/heads = get_all_heads()
|
||||
for(var/datum/mind/head in heads)
|
||||
|
||||
Reference in New Issue
Block a user