mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 03:26:31 +01:00
Merge branch 'master' of https://github.com/Giacomand/-tg-station into tator_typos
Conflicts: code/modules/admin/topic.dm
This commit is contained in:
+39
-15
@@ -130,11 +130,9 @@ datum/mind
|
||||
text = uppertext(text)
|
||||
text = "<i><b>[text]</b></i>: "
|
||||
if (assigned_role in command_positions)
|
||||
text += "<b>HEAD</b>|officer|employee|headrev|rev"
|
||||
else if (assigned_role in list("Security Officer", "Detective", "Warden"))
|
||||
text += "head|<b>OFFICER</b>|employee|headre|rev"
|
||||
text += "<b>HEAD</b>|loyal|employee|headrev|rev"
|
||||
else if (src in ticker.mode.head_revolutionaries)
|
||||
text = "head|officer|<a href='?src=\ref[src];revolution=clear'>employee</a>|<b>HEADREV</b>|<a href='?src=\ref[src];revolution=rev'>rev</a>"
|
||||
text = "head|loyal|<a href='?src=\ref[src];revolution=clear'>employee</a>|<b>HEADREV</b>|<a href='?src=\ref[src];revolution=rev'>rev</a>"
|
||||
text += "<br>Flash: <a href='?src=\ref[src];revolution=flash'>give</a>"
|
||||
|
||||
var/list/L = current.get_contents()
|
||||
@@ -150,10 +148,12 @@ datum/mind
|
||||
text += " <a href='?src=\ref[src];revolution=reequip'>Reequip</a> (gives traitor uplink)."
|
||||
if (objectives.len==0)
|
||||
text += "<br>Objectives are empty! <a href='?src=\ref[src];revolution=autoobjectives'>Set to kill all heads</a>."
|
||||
else if(isloyal(current))
|
||||
text += "head|<b>LOYAL</b>|employee|<a href='?src=\ref[src];revolution=headrev'>headrev</a>|rev"
|
||||
else if (src in ticker.mode.revolutionaries)
|
||||
text += "head|officer|<a href='?src=\ref[src];revolution=clear'>employee</a>|<a href='?src=\ref[src];revolution=headrev'>headrev</a>|<b>REV</b>"
|
||||
text += "head|loyal|<a href='?src=\ref[src];revolution=clear'>employee</a>|<a href='?src=\ref[src];revolution=headrev'>headrev</a>|<b>REV</b>"
|
||||
else
|
||||
text += "head|officer|<b>EMPLOYEE</b>|<a href='?src=\ref[src];revolution=headrev'>headrev</a>|<a href='?src=\ref[src];revolution=rev'>rev</a>"
|
||||
text += "head|loyal|<b>EMPLOYEE</b>|<a href='?src=\ref[src];revolution=headrev'>headrev</a>|<a href='?src=\ref[src];revolution=rev'>rev</a>"
|
||||
sections["revolution"] = text
|
||||
|
||||
/** CULT ***/
|
||||
@@ -161,19 +161,17 @@ datum/mind
|
||||
if (ticker.mode.config_tag=="cult")
|
||||
text = uppertext(text)
|
||||
text = "<i><b>[text]</b></i>: "
|
||||
if (assigned_role in command_positions)
|
||||
text += "<b>HEAD</b>|officer|employee|cultist"
|
||||
else if (assigned_role in list("Security Officer", "Detective", "Warden"))
|
||||
text += "head|<b>OFFICER</b>|employee|cultist"
|
||||
else if (src in ticker.mode.cult)
|
||||
text += "head|officer|<a href='?src=\ref[src];cult=clear'>employee</a>|<b>CULTIST</b>"
|
||||
if (src in ticker.mode.cult)
|
||||
text += "loyal|<a href='?src=\ref[src];cult=clear'>employee</a>|<b>CULTIST</b>"
|
||||
text += "<br>Give <a href='?src=\ref[src];cult=tome'>tome</a>|<a href='?src=\ref[src];cult=amulet'>amulet</a>."
|
||||
/*
|
||||
if (objectives.len==0)
|
||||
text += "<br>Objectives are empty! Set to sacrifice and <a href='?src=\ref[src];cult=escape'>escape</a> or <a href='?src=\ref[src];cult=summon'>summon</a>."
|
||||
*/
|
||||
else if(isloyal(current))
|
||||
text += "<b>LOYAL</b>|employee|<a href='?src=\ref[src];cult=cultist'>cultist</a>"
|
||||
else
|
||||
text += "head|officer|<b>EMPLOYEE</b>|<a href='?src=\ref[src];cult=cultist'>cultist</a>"
|
||||
text += "loyal|<b>EMPLOYEE</b>|<a href='?src=\ref[src];cult=cultist'>cultist</a>"
|
||||
sections["cult"] = text
|
||||
|
||||
/** WIZARD ***/
|
||||
@@ -472,18 +470,25 @@ datum/mind
|
||||
if (objective)
|
||||
objectives -= objective
|
||||
objectives.Insert(objective_pos, new_objective)
|
||||
message_admins("[key_name_admin(usr)] edited [current]'s objective to [new_objective.explanation_text]")
|
||||
log_admin("[key_name(usr)] edited [current]'s objective to [new_objective.explanation_text]")
|
||||
else
|
||||
objectives += new_objective
|
||||
message_admins("[key_name_admin(usr)] added a new objective for [current]: [new_objective.explanation_text]")
|
||||
log_admin("[key_name(usr)] added a new objective for [current]: [new_objective.explanation_text]")
|
||||
|
||||
else if (href_list["obj_delete"])
|
||||
var/datum/objective/objective = locate(href_list["obj_delete"])
|
||||
if(!istype(objective)) return
|
||||
objectives -= objective
|
||||
message_admins("[key_name_admin(usr)] removed an objective for [current]: [objective.explanation_text]")
|
||||
log_admin("[key_name(usr)] removed an objective for [current]: [objective.explanation_text]")
|
||||
|
||||
else if(href_list["obj_completed"])
|
||||
var/datum/objective/objective = locate(href_list["obj_completed"])
|
||||
if(!istype(objective)) return
|
||||
objective.completed = !objective.completed
|
||||
log_admin("[key_name(usr)] toggled the win state for [current]'s objective: [objective.explanation_text]")
|
||||
|
||||
else if (href_list["revolution"])
|
||||
switch(href_list["revolution"])
|
||||
@@ -498,6 +503,7 @@ datum/mind
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a head revolutionary!</B></FONT>"
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
special_role = null
|
||||
message_admins("[key_name_admin(usr)] has de-rev'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-rev'ed [current].")
|
||||
|
||||
if("rev")
|
||||
@@ -512,7 +518,8 @@ datum/mind
|
||||
ticker.mode.revolutionaries += src
|
||||
ticker.mode.update_rev_icons_added(src)
|
||||
special_role = "Revolutionary"
|
||||
log_admin("[key_name(usr)] has rev'ed [current].")
|
||||
message_admins("[key_name_admin(usr)] has rev'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has rev'ed [current].")
|
||||
|
||||
if("headrev")
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
@@ -520,7 +527,7 @@ datum/mind
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
current << "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>"
|
||||
else if(!(src in ticker.mode.head_revolutionaries))
|
||||
current << "\blue You are a member of the revolutionaries' leadership now!"
|
||||
current << "\red <FONT size = 3><B>You are a member of the revolutionaries' leadership now!</B></FONT>"
|
||||
else
|
||||
return
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
@@ -537,6 +544,7 @@ datum/mind
|
||||
ticker.mode.head_revolutionaries += src
|
||||
ticker.mode.update_rev_icons_added(src)
|
||||
special_role = "Head Revolutionary"
|
||||
message_admins("[key_name_admin(usr)] has head-rev'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has head-rev'ed [current].")
|
||||
|
||||
if("autoobjectives")
|
||||
@@ -586,6 +594,7 @@ datum/mind
|
||||
cult.memoize_cult_objectives(src)
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a cultist!</B></FONT>"
|
||||
memory = ""
|
||||
message_admins("[key_name_admin(usr)] has de-cult'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-cult'ed [current].")
|
||||
if("cultist")
|
||||
if(!(src in ticker.mode.cult))
|
||||
@@ -597,6 +606,7 @@ datum/mind
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
if (istype(cult))
|
||||
cult.memoize_cult_objectives(src)
|
||||
message_admins("[key_name_admin(usr)] has de-cult'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has cult'ed [current].")
|
||||
if("tome")
|
||||
var/mob/living/carbon/human/H = current
|
||||
@@ -635,6 +645,7 @@ datum/mind
|
||||
special_role = "Wizard"
|
||||
//ticker.mode.learn_basic_spells(current)
|
||||
current << "<B>\red You are the Space Wizard!</B>"
|
||||
message_admins("[key_name_admin(usr)] has wizard'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has wizard'ed [current].")
|
||||
if("lair")
|
||||
current.loc = pick(wizardstart)
|
||||
@@ -656,6 +667,7 @@ datum/mind
|
||||
current.verbs -= /datum/changeling/proc/EvolutionMenu
|
||||
if(changeling) del(changeling)
|
||||
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>"
|
||||
message_admins("[key_name_admin(usr)] has de-changeling'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-changeling'ed [current].")
|
||||
if("changeling")
|
||||
if(!(src in ticker.mode.changelings))
|
||||
@@ -663,6 +675,7 @@ datum/mind
|
||||
current.make_changeling()
|
||||
special_role = "Changeling"
|
||||
current << "<B><font color='red'>Your powers are awoken. A flash of memory returns to us...we are a changeling!</font></B>"
|
||||
message_admins("[key_name_admin(usr)] has changeling'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has changeling'ed [current].")
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_changeling_objectives(src)
|
||||
@@ -688,6 +701,7 @@ datum/mind
|
||||
for (var/datum/objective/nuclear/O in objectives)
|
||||
objectives-=O
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a syndicate operative!</B></FONT>"
|
||||
message_admins("[key_name_admin(usr)] has de-nuke op'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-nuke op'ed [current].")
|
||||
if("nuclear")
|
||||
if(!(src in ticker.mode.syndicates))
|
||||
@@ -701,6 +715,7 @@ datum/mind
|
||||
current << "\blue You are a [syndicate_name()] agent!"
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
message_admins("[key_name_admin(usr)] has nuke op'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has nuke op'ed [current].")
|
||||
if("lair")
|
||||
current.loc = get_turf(locate("landmark*Syndicate-Spawn"))
|
||||
@@ -737,6 +752,7 @@ datum/mind
|
||||
ticker.mode.traitors -= src
|
||||
special_role = null
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a traitor!</B></FONT>"
|
||||
message_admins("[key_name_admin(usr)] has de-traitor'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-traitor'ed [current].")
|
||||
if(isAI(current))
|
||||
var/mob/living/silicon/ai/A = current
|
||||
@@ -749,6 +765,7 @@ datum/mind
|
||||
ticker.mode.traitors += src
|
||||
special_role = "traitor"
|
||||
current << "<B>\red You are a traitor!</B>"
|
||||
message_admins("[key_name_admin(usr)] has traitor'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has traitor'ed [current].")
|
||||
if(isAI(current))
|
||||
var/mob/living/silicon/ai/A = current
|
||||
@@ -830,10 +847,12 @@ datum/mind
|
||||
current.icon_state = "ai"
|
||||
|
||||
current << "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>"
|
||||
message_admins("[key_name_admin(usr)] has de-malf'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has de-malf'ed [current].")
|
||||
|
||||
if("malf")
|
||||
make_AI_Malf()
|
||||
message_admins("[key_name_admin(usr)] has malf'ed [current].")
|
||||
log_admin("[key_name_admin(usr)] has malf'ed [current].")
|
||||
|
||||
if("unemag")
|
||||
@@ -851,6 +870,7 @@ datum/mind
|
||||
else if(R.module_state_3 == R.module.emag)
|
||||
R.module_state_3 = null
|
||||
R.contents -= R.module.emag
|
||||
message_admins("[key_name_admin(usr)] has unemag'ed [R].")
|
||||
log_admin("[key_name_admin(usr)] has unemag'ed [R].")
|
||||
|
||||
if("unemagcyborgs")
|
||||
@@ -870,6 +890,7 @@ datum/mind
|
||||
else if(R.module_state_3 == R.module.emag)
|
||||
R.module_state_3 = null
|
||||
R.contents -= R.module.emag
|
||||
message_admins("[key_name_admin(usr)] has unemag'ed [ai]'s Cyborgs.")
|
||||
log_admin("[key_name_admin(usr)] has unemag'ed [ai]'s Cyborgs.")
|
||||
|
||||
else if (href_list["common"])
|
||||
@@ -880,6 +901,7 @@ datum/mind
|
||||
if("takeuplink")
|
||||
take_uplink()
|
||||
memory = null//Remove any memory they may have had.
|
||||
log_admin("[key_name_admin(usr)] removed [current]'s uplink.")
|
||||
if("crystals")
|
||||
if (usr.client.holder.rights & R_FUN)
|
||||
var/obj/item/device/uplink/hidden/suplink = find_syndicate_uplink()
|
||||
@@ -890,9 +912,11 @@ datum/mind
|
||||
if (!isnull(crystals))
|
||||
if (suplink)
|
||||
suplink.uses = crystals
|
||||
log_admin("[key_name_admin(usr)] changed [current]'s telecrystal count to [crystals].")
|
||||
if("uplink")
|
||||
if (!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
|
||||
usr << "\red Equipping a syndicate failed!"
|
||||
log_admin("[key_name_admin(usr)] attempted to give [current] an uplink.")
|
||||
|
||||
else if (href_list["obj_announce"])
|
||||
var/obj_count = 1
|
||||
|
||||
@@ -11,9 +11,8 @@
|
||||
/proc/is_convertable_to_cult(datum/mind/mind)
|
||||
if(!istype(mind)) return 0
|
||||
if(istype(mind.current, /mob/living/carbon/human) && (mind.assigned_role in list("Captain", "Chaplain"))) return 0
|
||||
for(var/obj/item/weapon/implant/loyalty/L in mind.current)
|
||||
if(L && (L.imp_in == mind.current))//Checks to see if the person contains an implant, then checks that the implant is actually inside of them
|
||||
return 0
|
||||
if(isloyal(mind.current))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
/datum/game_mode/proc/greet_revolutionary(var/datum/mind/rev_mind, var/you_are=1)
|
||||
var/obj_count = 1
|
||||
if (you_are)
|
||||
rev_mind.current << "\blue You are a member of the revolutionaries' leadership!"
|
||||
rev_mind.current << "\red <FONT size = 3><B>You are a member of the revolutionaries' leadership!</B></FONT>"
|
||||
for(var/datum/objective/objective in rev_mind.objectives)
|
||||
rev_mind.current << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
|
||||
rev_mind.special_role = "Head Revolutionary"
|
||||
@@ -185,9 +185,8 @@
|
||||
if(rev_mind.assigned_role in command_positions)
|
||||
return 0
|
||||
var/mob/living/carbon/human/H = rev_mind.current//Check to see if the potential rev is implanted
|
||||
for(var/obj/item/weapon/implant/loyalty/L in H)//Checking that there is a loyalty implant in the contents
|
||||
if(L.imp_in == H)//Checking that it's actually implanted
|
||||
return 0
|
||||
if(isloyal(H))
|
||||
return 0
|
||||
if((rev_mind in revolutionaries) || (rev_mind in head_revolutionaries))
|
||||
return 0
|
||||
revolutionaries += rev_mind
|
||||
|
||||
@@ -39,5 +39,5 @@
|
||||
traitor.objectives += escape_objective
|
||||
return
|
||||
|
||||
/datum/game_mode/traitor/dobule_agents/make_antag_chance(var/mob/living/carbon/human/character)
|
||||
/datum/game_mode/traitor/double_agents/make_antag_chance(var/mob/living/carbon/human/character)
|
||||
return // TODO: Have late joining double agents.
|
||||
@@ -75,10 +75,8 @@
|
||||
if(M.client)
|
||||
if(M.stat == CONSCIOUS)
|
||||
var/revsafe = 0
|
||||
for(var/obj/item/weapon/implant/loyalty/L in M)
|
||||
if(L && L.implanted)
|
||||
revsafe = 1
|
||||
break
|
||||
if(isloyal(M))
|
||||
revsafe = 1
|
||||
M.mind_initialize() //give them a mind datum if they don't have one.
|
||||
// if(M.mind.has_been_rev)
|
||||
// revsafe = 2
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
if (!tile)
|
||||
return
|
||||
|
||||
var/P = new /obj/effect/decal/point(tile)
|
||||
var/obj/P = new /obj/effect/decal/point(tile)
|
||||
spawn (20)
|
||||
if(P) del(P)
|
||||
if(P)
|
||||
P.loc = null
|
||||
|
||||
usr.visible_message("<b>[usr]</b> points to [this]")
|
||||
|
||||
+20
-10
@@ -9,42 +9,52 @@
|
||||
if(href_list["makeAntag"])
|
||||
switch(href_list["makeAntag"])
|
||||
if("1")
|
||||
log_admin("[key_name(usr)] has spawned a traitor.")
|
||||
message_admins("[key_name_admin(usr)] created traitors.")
|
||||
log_admin("[key_name(usr)] created traitors.")
|
||||
if(!src.makeTraitors())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("2")
|
||||
log_admin("[key_name(usr)] has spawned a changeling.")
|
||||
message_admins("[key_name(usr)] created changelings.")
|
||||
log_admin("[key_name(usr)] created changelings.")
|
||||
if(!src.makeChanglings())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("3")
|
||||
log_admin("[key_name(usr)] has spawned revolutionaries.")
|
||||
message_admins("[key_name(usr)] started a revolution.")
|
||||
log_admin("[key_name(usr)] started a revolution.")
|
||||
if(!src.makeRevs())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("4")
|
||||
log_admin("[key_name(usr)] has spawned a cultists.")
|
||||
message_admins("[key_name(usr)] created cultists.")
|
||||
log_admin("[key_name(usr)] created cultists.")
|
||||
if(!src.makeCult())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("5")
|
||||
log_admin("[key_name(usr)] has spawned a malf AI.")
|
||||
message_admins("[key_name(usr)] caused an AI to malfunction.")
|
||||
log_admin("[key_name(usr)] caused an AI to malfunction.")
|
||||
if(!src.makeMalfAImode())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("6")
|
||||
log_admin("[key_name(usr)] has spawned a wizard.")
|
||||
message_admins("[key_name(usr)] created a wizard.")
|
||||
log_admin("[key_name(usr)] created a wizard.")
|
||||
if(!src.makeWizard())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("7")
|
||||
log_admin("[key_name(usr)] has spawned a nuke team.")
|
||||
message_admins("[key_name(usr)] created a nuke team.")
|
||||
log_admin("[key_name(usr)] created a nuke team.")
|
||||
if(!src.makeNukeTeam())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
if("8")
|
||||
log_admin("[key_name(usr)] has spawned a ninja.")
|
||||
message_admins("[key_name(usr)] spawned a ninja.")
|
||||
log_admin("[key_name(usr)] spawned a ninja.")
|
||||
src.makeSpaceNinja()
|
||||
if("9")
|
||||
log_admin("[key_name(usr)] has spawned aliens.")
|
||||
message_admins("[key_name(usr)] started an alien infestation.")
|
||||
log_admin("[key_name(usr)] started an alien infestation.")
|
||||
src.makeAliens()
|
||||
/* DEATH SQUADS
|
||||
if("10")
|
||||
log_admin("[key_name(usr)] has spawned a death squad.")
|
||||
message_admins("[key_name(usr)] created a death squad.")
|
||||
log_admin("[key_name(usr)] created a death squad.")
|
||||
if(!src.makeDeathsquad())
|
||||
usr << "\red Unfortunatly there were no candidates available"
|
||||
*/
|
||||
|
||||
@@ -123,6 +123,11 @@ proc/isorgan(A)
|
||||
/proc/hsl2rgb(h, s, l)
|
||||
return
|
||||
|
||||
/proc/isloyal(A) //Checks to see if the person contains a loyalty implant, then checks that the implant is actually inside of them
|
||||
for(var/obj/item/weapon/implant/loyalty/L in A)
|
||||
if(L && L.implanted)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/check_zone(zone)
|
||||
if(!zone) return "chest"
|
||||
|
||||
Reference in New Issue
Block a user