diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 58a3b600d7a..b8efb6fa02d 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -46,8 +46,6 @@ var/list/datum/objective/objectives = list() var/list/datum/objective/special_verbs = list() - var/has_been_rev = 0//Tracks if this mind has been a rev or not - var/list/cult_words = list() var/list/spell_list = list() // Wizard mode & "Give Spell" badmin button. @@ -264,6 +262,17 @@ else text += "." + text += " Reequip (gives traitor uplink)." + if (objectives.len==0) + text += "
Objectives are empty! Set to kill all heads." + else if(isloyal(current)) + text += "head|LOYAL|employee|headrev|rev" + else if (src in ticker.mode.revolutionaries) + text += "head|loyal|employee|headrev|REV" + else + text += "head|loyal|EMPLOYEE|headrev|rev" + sections["revolution"] = text + /** GANG ***/ text = "gang" if (ticker.mode.config_tag=="gang") @@ -286,6 +295,7 @@ if (objectives.len==0) text += "
Objectives are empty! Set to kill all rival gang leaders." + else if (src in ticker.mode.B_bosses) text += "loyal|none|(A) gangster boss|(B) gangster BOSS" text += "
Flash & Recaller: give" diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 061839062d1..a9faa393a0a 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -38,7 +38,7 @@ if(player.assigned_role == job) antag_candidates -= player - if(antag_candidates.len > 2) + if(antag_candidates.len >= 2) assign_bosses() if(antag_candidates.len > 20) assign_bosses() @@ -147,7 +147,8 @@ if (!where) mob << "Your Syndicate benefactors were unfortunately unable to get you a flash." else - mob << "The flash in your [where] will help you to persuade the crew to work for you. Keep in mind that your underlings can only identify their bosses, but not each other." + mob << "The flash in your [where] will help you to persuade the crew to work for you." + mob << "Keep in mind that your underlings can only identify their bosses, but not each other. You must coordinate your gang effectively to beat out the competition." . += 1 mob.update_icons() @@ -191,7 +192,7 @@ else B_gangsters += gangster_mind gangster_mind.current << "You are now a member of the [gang=="A" ? gang_name("A") : gang_name("B")] Gang!" - gangster_mind.current << "Help your bosses take over the station by defeating their rivals. You can identify your bosses by the brown \"B\" icons, but only they know who is in your gang! Work with your boss to avoid attacking your own gang." + gangster_mind.current << "Help your bosses take over the station by defeating their rivals. You can identify your bosses by the brown \"B\" icons, but only they know who the other members of your gang are! Work with your boss to avoid attacking your own gang." gangster_mind.current.attack_log += "\[[time_stamp()]\] Has been converted to the [gang=="A" ? "[gang_name("A")] Gang (A)" : "[gang_name("B")] Gang (B)"]!" gangster_mind.special_role = "[gang=="A" ? "[gang_name("A")] Gang (A)" : "[gang_name("B")] Gang (B)"]" update_gang_icons_added(gangster_mind,gang) @@ -379,7 +380,7 @@ /datum/game_mode/gang/declare_completion() if(!finished) world << "The station was [station_was_nuked ? "destroyed!" : "evacuated before either gang could claim it!"]" - if(finished == "Draw") + else if(finished == "Draw") world << "All gang bosses have been killed or exiled!" else world << "The [finished=="A" ? gang_name("A") : gang_name("B")] Gang defeated their rivals!" @@ -413,7 +414,7 @@ if(A_bosses.len || A_gangsters.len) if(winner == "A" || winner == "B") - world << "
The [gang_name("A")] Gang was [winner=="A" ? "victorious" : "defeated"] with [round((num_ganga/num_survivors)*100, 0.1)]% strength." + world << "
The [gang_name("A")] Gang was [winner=="A" ? "victorious" : "defeated"] with [round((num_ganga/num_survivors)*100, 0.1)]% influence." world << "
The [gang_name("A")] Gang bosses were:" gang_membership_report(A_bosses) world << "
The [gang_name("A")] Gangsters were:" @@ -421,7 +422,7 @@ if(B_bosses.len || B_gangsters.len) if(winner == "A" || winner == "B") - world << "
The [gang_name("B")] Gang was [winner=="B" ? "victorious" : "defeated"] with [round((num_gangb/num_survivors)*100, 0.1)]% strength" + world << "
The [gang_name("B")] Gang was [winner=="B" ? "victorious" : "defeated"] with [round((num_gangb/num_survivors)*100, 0.1)]% influence." world << "
The [gang_name("B")] Gang bosses were:" gang_membership_report(B_bosses) world << "
The [gang_name("B")] Gangsters were:" @@ -443,6 +444,6 @@ else text += "body destroyed" text += ")" - text += "
" + text += "

" world << text diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index 2be2b45d984..93ec09810de 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -227,7 +227,7 @@ /datum/intercept_text/proc/build_gang(datum/mind/correct_person) src.text += "

Syndicate forces may be supplying opposing criminal organizations within your sector in an attempt at destabilizing our operations." src.text += "Ensure law and order is maintained on the station and be on the lookout for violent confrontations between station factions." - src.text += "Forced labor on the mining asteroid is recommended for anyone convicted of heading a criminal organization." + src.text += "Central Command retains an interest in any criminal leaders captured by station security. The execution or exile of these persons are ill-advised." /datum/intercept_text/proc/build_wizard(datum/mind/correct_person) var/SWF_desc = pick(SWF_names) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index f418c40a72b..ae0c9ab83c2 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -78,23 +78,21 @@ if(M.client) if(M.stat == CONSCIOUS) M.mind_initialize() //give them a mind datum if they don't have one. - M.mind.has_been_rev = 1 var/resisted - if(isloyal(M)) - resisted = 1 - else if(user.mind in ticker.mode.head_revolutionaries) - if(!ticker.mode.add_revolutionary(M.mind)) - resisted = 1 - else if(user.mind in ticker.mode.A_bosses) - if(!ticker.mode.add_gangster(M.mind,"A")) - resisted = 1 - else if(user.mind in ticker.mode.B_bosses) - if(!ticker.mode.add_gangster(M.mind,"B")) - resisted = 1 - if(!resisted) - M.mind.has_been_rev = 1 - ticker.mode.add_revolutionary(M.mind) + if(!isloyal(M)) + if(user.mind in ticker.mode.head_revolutionaries) + if(!ticker.mode.add_revolutionary(M.mind)) + resisted = 1 + if(user.mind in ticker.mode.A_bosses) + if(!ticker.mode.add_gangster(M.mind,"A")) + resisted = 1 + if(user.mind in ticker.mode.B_bosses) + if(!ticker.mode.add_gangster(M.mind,"B")) + resisted = 1 else + resisted = 1 + + if(resisted) user << "This mind seems resistant to the flash!" else user << "They must be conscious before you can convert them!" diff --git a/code/game/objects/items/devices/recaller.dm b/code/game/objects/items/devices/recaller.dm index 72ec1e64b08..efe0ae00066 100644 --- a/code/game/objects/items/devices/recaller.dm +++ b/code/game/objects/items/devices/recaller.dm @@ -31,6 +31,8 @@ loc << "\icon[src]Comm arrays accessed. Broadcasting recall signal..." sleep(rand(10,30)) recalling = 0 + log_game("[key_name(user)] has recalled the shuttle with a recaller.") + message_admins("[key_name_admin(user)] has recalled the shuttle with a recaller.", 1) if(!cancel_call_proc(user)) loc << "\icon[src]No response recieved. Emergency shuttle cannot be recalled at this time." return diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 54ca285ed53..6275aceffeb 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1296,9 +1296,9 @@ //Job + antagonist if(M.mind) - special_role_description = "Role: [M.mind.assigned_role]; Antagonist: [M.mind.special_role]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]" + special_role_description = "Role: [M.mind.assigned_role]; Antagonist: [M.mind.special_role]" else - special_role_description = "Role: Mind datum missing Antagonist: Mind datum missing; Has been rev: Mind datum missing;" + special_role_description = "Role: Mind datum missing Antagonist: Mind datum missing" //Health if(isliving(M)) diff --git a/config/game_options.txt b/config/game_options.txt index ddcb4042cf4..107dceb009f 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -87,6 +87,7 @@ PROBABILITY TRAITORCHAN 4 PROBABILITY DOUBLE_AGENTS 3 PROBABILITY NUCLEAR 2 PROBABILITY REVOLUTION 2 +PROBABILITY GANG 0 PROBABILITY CULT 2 PROBABILITY CHANGELING 2 PROBABILITY WIZARD 4