mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 13:05:36 +01:00
Merge pull request #4986 from Ikarrus/gangfixes
Gang Mode fixes and improvements
This commit is contained in:
+12
-2
@@ -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 += " <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|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|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
|
||||
|
||||
/** GANG ***/
|
||||
text = "gang"
|
||||
if (ticker.mode.config_tag=="gang")
|
||||
@@ -286,6 +295,7 @@
|
||||
if (objectives.len==0)
|
||||
text += "<br>Objectives are empty! <a href='?src=\ref[src];gang=autoobjective'>Set to kill all rival gang leaders</a>."
|
||||
|
||||
|
||||
else if (src in ticker.mode.B_bosses)
|
||||
text += "loyal|<a href='?src=\ref[src];gang=clear'>none</a>|(A) <a href='?src=\ref[src];gang=agang'>gangster</a> <a href='?src=\ref[src];gang=aboss'>boss</a>|<B>(B)</B> <a href='?src=\ref[src];gang=bgang'>gangster</a> <b>BOSS</b>"
|
||||
text += "<br>Flash & Recaller: <a href='?src=\ref[src];gang=equip'>give</a>"
|
||||
|
||||
@@ -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 <b>flash</b> 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 <b>flash</b> in your [where] will help you to persuade the crew to work for you."
|
||||
mob << "<span class='userdanger'>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.</span>"
|
||||
. += 1
|
||||
|
||||
mob.update_icons()
|
||||
@@ -191,7 +192,7 @@
|
||||
else
|
||||
B_gangsters += gangster_mind
|
||||
gangster_mind.current << "<FONT size=3 color=red><B>You are now a member of the [gang=="A" ? gang_name("A") : gang_name("B")] Gang!</B></FONT>"
|
||||
gangster_mind.current << "<font color='red'>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.</font>"
|
||||
gangster_mind.current << "<font color='red'>Help your bosses take over the station by defeating their rivals. You can identify your bosses by the brown \"B\" icons, but <B>only they know who the other members of your gang are!</B> Work with your boss to avoid attacking your own gang.</font>"
|
||||
gangster_mind.current.attack_log += "\[[time_stamp()]\] <font color='red'>Has been converted to the [gang=="A" ? "[gang_name("A")] Gang (A)" : "[gang_name("B")] Gang (B)"]!</font>"
|
||||
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 << "<FONT size=3 color=red><B>The station was [station_was_nuked ? "destroyed!" : "evacuated before either gang could claim it!"]</B></FONT>"
|
||||
if(finished == "Draw")
|
||||
else if(finished == "Draw")
|
||||
world << "<FONT size=3 color=red><B>All gang bosses have been killed or exiled!</B></FONT>"
|
||||
else
|
||||
world << "<FONT size=3 color=red><B>The [finished=="A" ? gang_name("A") : gang_name("B")] Gang defeated their rivals!</B></FONT>"
|
||||
@@ -413,7 +414,7 @@
|
||||
|
||||
if(A_bosses.len || A_gangsters.len)
|
||||
if(winner == "A" || winner == "B")
|
||||
world << "<br><b>The [gang_name("A")] Gang was [winner=="A" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((num_ganga/num_survivors)*100, 0.1)]% strength.</b>"
|
||||
world << "<br><b>The [gang_name("A")] Gang was [winner=="A" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((num_ganga/num_survivors)*100, 0.1)]% influence.</b>"
|
||||
world << "<br><font size=2><b>The [gang_name("A")] Gang bosses were:</b></font>"
|
||||
gang_membership_report(A_bosses)
|
||||
world << "<br><font size=2><b>The [gang_name("A")] Gangsters were:</b></font>"
|
||||
@@ -421,7 +422,7 @@
|
||||
|
||||
if(B_bosses.len || B_gangsters.len)
|
||||
if(winner == "A" || winner == "B")
|
||||
world << "<br><b>The [gang_name("B")] Gang was [winner=="B" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((num_gangb/num_survivors)*100, 0.1)]% strength</b>"
|
||||
world << "<br><b>The [gang_name("B")] Gang was [winner=="B" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((num_gangb/num_survivors)*100, 0.1)]% influence.</b>"
|
||||
world << "<br><font size=2><b>The [gang_name("B")] Gang bosses were:</b></font>"
|
||||
gang_membership_report(B_bosses)
|
||||
world << "<br><font size=2><b>The [gang_name("B")] Gangsters were:</b></font>"
|
||||
@@ -443,6 +444,6 @@
|
||||
else
|
||||
text += "body destroyed"
|
||||
text += ")"
|
||||
text += "<br>"
|
||||
text += "<br><br>"
|
||||
|
||||
world << text
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
/datum/intercept_text/proc/build_gang(datum/mind/correct_person)
|
||||
src.text += "<BR><BR>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)
|
||||
|
||||
@@ -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 << "<span class='warning'>This mind seems resistant to the flash!</span>"
|
||||
else
|
||||
user << "<span class='warning'>They must be conscious before you can convert them!</span>"
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
loc << "<span class='info'>\icon[src]Comm arrays accessed. Broadcasting recall signal...</span>"
|
||||
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 << "<span class='info'>\icon[src]No response recieved. Emergency shuttle cannot be recalled at this time.</span>"
|
||||
return
|
||||
|
||||
@@ -1296,9 +1296,9 @@
|
||||
|
||||
//Job + antagonist
|
||||
if(M.mind)
|
||||
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: <font color='red'><b>[M.mind.special_role]</b></font>; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]"
|
||||
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: <font color='red'><b>[M.mind.special_role]</b></font>"
|
||||
else
|
||||
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>; Has been rev: <i>Mind datum missing</i>;"
|
||||
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>"
|
||||
|
||||
//Health
|
||||
if(isliving(M))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user