Traitorbro gamemode

This commit is contained in:
pubby
2017-09-17 18:02:23 -05:00
committed by CitadelStationBot
parent 3144e56730
commit a01f3213f5
17 changed files with 471 additions and 267 deletions
+36 -3
View File
@@ -131,10 +131,10 @@
memory = null
// Datum antag mind procs
/datum/mind/proc/add_antag_datum(datum_type)
/datum/mind/proc/add_antag_datum(datum_type, team)
if(!datum_type)
return
var/datum/antagonist/A = new datum_type(src)
var/datum/antagonist/A = new datum_type(src, team)
if(!A.can_be_owned(src))
qdel(A)
return
@@ -194,6 +194,11 @@
src.remove_antag_datum(ANTAG_DATUM_TRAITOR)
SSticker.mode.update_traitor_icons_removed(src)
/datum/mind/proc/remove_brother()
if(src in SSticker.mode.brothers)
src.remove_antag_datum(ANTAG_DATUM_BROTHER)
SSticker.mode.update_brother_icons_removed(src)
/datum/mind/proc/remove_nukeop()
if(src in SSticker.mode.syndicates)
SSticker.mode.syndicates -= src
@@ -348,6 +353,12 @@
var/obj_count = 1
for(var/datum/objective/objective in objectives)
output += "<br><B>Objective #[obj_count++]</B>: [objective.explanation_text]"
var/list/datum/mind/other_owners = objective.get_owners() - src
if(other_owners.len)
output += "<ul>"
for(var/datum/mind/M in other_owners)
output += "<li>Conspirator: [M.name]</li>"
output += "</ul>"
if(window)
recipient << browse(output,"window=memory")
@@ -384,7 +395,7 @@
/** TRAITOR ***/
text = "traitor"
if (SSticker.mode.config_tag=="traitor" || SSticker.mode.config_tag=="traitorchan")
if (SSticker.mode.config_tag=="traitor" || SSticker.mode.config_tag=="traitorchan" || SSticker.mode.config_tag=="traitorbro")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if (src in SSticker.mode.traitors)
@@ -404,6 +415,21 @@
if(ishuman(current) || ismonkey(current))
/** BROTHER **/
text = "brother"
if(SSticker.mode.config_tag == "traitorbro")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if(src in SSticker.mode.brothers)
text += "<b>Brother</b> | <a href='?src=\ref[src];brother=clear'>no</a>"
if(current && current.client && (ROLE_BROTHER in current.client.prefs.be_special))
text += " | Enabled in Prefs"
else
text += " | Disabled in Prefs"
sections["brother"] = text
/** CHANGELING ***/
text = "changeling"
if (SSticker.mode.config_tag=="changeling" || SSticker.mode.config_tag=="traitorchan")
@@ -1284,6 +1310,13 @@
if(H)
src = H.mind
else if (href_list["brother"])
switch(href_list["brother"])
if("clear")
remove_brother()
log_admin("[key_name(usr)] has de-brother'ed [current].")
SSticker.mode.update_brother_icons_removed(src)
else if (href_list["silicon"])
switch(href_list["silicon"])
if("unemag")