diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index fecd159e8d9..d1ea5365d4d 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -139,6 +139,7 @@ var/gang_B_name = null
gang_A_name = pick(gang_name_pool)
gang_name_pool -= gang_A_name
gang_B_name = pick(gang_name_pool)
+ gang_name_pool -= gang_B_name
if(gang == "A")
return gang_A_name
diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm
index 4b5fed604e8..a5481346f30 100644
--- a/code/game/gamemodes/gang/gang.dm
+++ b/code/game/gamemodes/gang/gang.dm
@@ -26,7 +26,7 @@
recommended_enemies = 2
enemy_minimum_age = 14
var/finished = 0
- var/goal_scalar = 0.6 //Goal = Total territories x goal_scalar
+ var/goal_scalar = 0.5 //Goal = Total territories x goal_scalar
///////////////////////////
//Announces the game type//
@@ -94,7 +94,7 @@
/datum/game_mode/proc/forge_gang_objectives(var/datum/mind/boss_mind)
var/datum/objective/rival_obj = new
rival_obj.owner = boss_mind
- rival_obj.explanation_text = "Claim more than 60% the station before the [(boss_mind in A_bosses) ? gang_name("B") : gang_name("A")] Gang does."
+ rival_obj.explanation_text = "Claim more than 50% the station before the [(boss_mind in A_bosses) ? gang_name("B") : gang_name("A")] Gang does."
boss_mind.objectives += rival_obj
@@ -138,7 +138,7 @@
else
gangtool.register_device(mob)
mob << "The Gangtool in your [where] will allow you to use your influence to purchase items and prevent the station from evacuating before you can take over. Use it to recall the emergency shuttle from anywhere on the station."
- mob << "You can also promote your gang members to lieutenant by giving them an unregistered gangtool. Lieutenants cannot be deconverted and are able to use recruitment pens and gangtools."
+ mob << "You can also promote your gang members to lieutenant by giving them an unregistered gangtool. Lieutenants cannot be deconverted and are able to use recruitment pens and gangtools."
. += 1
var/where2 = mob.equip_in_one_of_slots(T, slots)
@@ -152,7 +152,7 @@
if (!where3)
mob << "Your Syndicate benefactors were unfortunately unable to get you a territory spraycan to start."
else
- mob << "The territory spraycan in your [where3] can be used to claim areas of the station for your gang. The more territory your gang controls, the more influence you get."
+ mob << "The territory spraycan in your [where3] can be used to claim areas of the station for your gang. The more territory your gang controls, the more influence you get. Distribute these to your gangsters to grow your influence faster."
. += 1
mob.update_icons()
@@ -194,8 +194,8 @@
carbon_mob.flash_eyes(1, 1)
gangster_mind.current.Stun(5)
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 claiming territory with the special spraycans they provide. Simply spray on any unclaimed area of the station."
- gangster_mind.current << "You can identify your bosses by their brown \"G\" icon."
+ gangster_mind.current << "Help your bosses take over the station by claiming territory with special spraycans only they can provide. Simply spray on any unclaimed area of the station."
+ gangster_mind.current << "You can identify your bosses by their red \[G\] icon."
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)
@@ -285,7 +285,7 @@
if(!finished)
world << "The station was [station_was_nuked ? "destroyed!" : "evacuated before either gang could claim it!"]"
else
- world << "The [finished=="A" ? gang_name("A") : gang_name("B")] Gang has taken over the station!"
+ world << "The [finished=="A" ? gang_name("A") : gang_name("B")] Gang has claimed over [round(100*goal_scalar,1)]% of the station and has assumed control!"
..()
return 1
@@ -343,11 +343,12 @@
/datum/gang_points
var/A = 30
var/B = 30
- var/next_point_time = 0
+ var/next_point_interval = 1800
+ var/next_point_time
/datum/gang_points/proc/start()
- next_point_time = world.time + 3000
- spawn(3000)
+ next_point_time = world.time + next_point_interval
+ spawn(next_point_interval)
income()
/datum/gang_points/proc/income()
@@ -375,7 +376,7 @@
//Calculate and report influence growth
ticker.mode.message_gangtools(ticker.mode.A_tools,"[gang_name("A")] Gang Status Report:")
- var/A_new = min(100,A + 15 + min(ticker.mode.A_territory.len, 15) + round(max(ticker.mode.A_territory.len - 15, 0) * 0.5,1))
+ var/A_new = min(100,A + 15 + ticker.mode.A_territory.len)
var/A_message = ""
if(A_new != A)
A_message += "Your gang has gained [A_new - A] Influence for holding on to [ticker.mode.A_territory.len] territories."
@@ -385,7 +386,7 @@
ticker.mode.message_gangtools(ticker.mode.A_tools,A_message,0)
ticker.mode.message_gangtools(ticker.mode.B_tools,"[gang_name("B")] Gang Status Report:")
- var/B_new = min(100,B + 15 + min(ticker.mode.B_territory.len, 15) + round(max(ticker.mode.B_territory.len - 15, 0) * 0.5,1))
+ var/B_new = min(100,B + 15 + ticker.mode.B_territory.len)
var/B_message = ""
if(B_new != B)
B_message += "Your gang has gained [B_new - B] Influence for holding on to [ticker.mode.B_territory.len] territories."
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 2013d180b59..958edb93f01 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -158,5 +158,5 @@
desc = "A suspicious-looking spraycan modified to use special paint used by gangsters to mark territory."
icon_state = "spraycan_gang_cap"
gang = 1
- uses = 15
+ uses = 20
instant = -1
diff --git a/code/game/objects/items/devices/recaller.dm b/code/game/objects/items/devices/recaller.dm
index ed4750d62fa..1fdf9794b96 100644
--- a/code/game/objects/items/devices/recaller.dm
+++ b/code/game/objects/items/devices/recaller.dm
@@ -12,7 +12,7 @@
var/gang //Which gang uses this?
var/boss = 1 //If it has the power to promote gang members
var/recalling = 0
- var/promotion_cost = 20
+ var/promotions = 0
/obj/item/device/gangtool/New() //Initialize supply point income if it hasn't already been started
if(!ticker.mode.gang_points)
@@ -46,38 +46,45 @@
dat += "Time until Influence grows: [(points >= 100) ? ("--:--") : (time2text(ticker.mode.gang_points.next_point_time - world.time, "mm:ss"))]
"
dat += "Purchase Items:
"
+ dat += "(10 Influence) "
if(points >= 10)
- dat += "(10 Influence) Territory Spraycan
"
+ dat += "Territory Spraycan
"
else
- dat += "(10 Influence) Territory Spraycan
"
+ dat += "Territory Spraycan
"
+ dat += "(10 Influence) "
+ if(points >= 10)
+ dat += "Switchblade
"
+ else
+ dat += "Switchblade
"
+
+ dat += "(25 Influence) "
if(points >= 25)
- dat += "(25 Influence) 10mm Pistol
"
+ dat += "10mm Pistol
"
else
- dat += "(25 Influence) 10mm Pistol
"
+ dat += "10mm Pistol
"
+ dat += "(10 Influence) "
if(points >= 10)
- dat += "(10 Influence) 10mm Ammo
"
+ dat += "10mm Ammo
"
else
- dat += "(10 Influence) 10mm Ammo
"
-
- if(points >= 10)
- dat += "(10 Influence) Switchblade
"
- else
- dat += "(10 Influence) Switchblade
"
+ dat += "10mm Ammo
"
+ dat += "(50 Influence) "
if(points >= 50)
- dat += "(50 Influence) Recruitment Pen
"
+ dat += "Recruitment Pen
"
else
- dat += "(50 Influence) Recruitment Pen
"
+ dat += "Recruitment Pen
"
if(boss)
- if(promotion_cost > 100)
- dat += "(Maximum Reached) Promote a Gangster
"
- else if(points >= promotion_cost)
- dat += "([promotion_cost] Influence) Promote a Gangster
"
+ if(promotions >= 3)
+ dat += "(Out of stock) Promote a Gangster
"
else
- dat += "([promotion_cost] Influence) Promote a Gangster
"
+ dat += "([(promotions*20)+10] Influence, [3-promotions] left) "
+ if(points >= (promotions*20)+10)
+ dat += "Promote a Gangster
"
+ else
+ dat += "Promote a Gangster
"
dat += "
"
dat += "Refresh
"
@@ -100,6 +107,10 @@
if(points >= 10)
item_type = /obj/item/toy/crayon/spraycan/gang
points = 10
+ if("switchblade")
+ if(points >= 10)
+ item_type = /obj/item/weapon/switchblade
+ points = 10
if("pistol")
if(points >= 25)
item_type = /obj/item/weapon/gun/projectile/automatic/pistol
@@ -108,19 +119,15 @@
if(points >= 10)
item_type = /obj/item/ammo_box/magazine/m10mm
points = 10
- if("switchblade")
- if(points >= 10)
- item_type = /obj/item/weapon/switchblade
- points = 10
if("pen")
if(points >= 50)
item_type = /obj/item/weapon/pen/gang
points = 50
if("gangtool")
- if(points >= promotion_cost)
+ if((promotions < 3) && (points >= (promotions*20)+10))
item_type = /obj/item/device/gangtool/lt
- points = promotion_cost
- promotion_cost += 30
+ points = (promotions*20)+10
+ promotions++
if(item_type)
if(gang == "A")
@@ -167,8 +174,10 @@
if(promoted)
ticker.mode.message_gangtools(((gang=="A")? ticker.mode.A_tools : ticker.mode.B_tools), "[user] has been promoted to Lieutenant.")
user << "You have been promoted to Lieutenant!"
+ ticker.mode.forge_gang_objectives(user.mind)
+ ticker.mode.greet_gang(user.mind,0)
user << "The Gangtool you registered will allow you to use your gang's influence to purchase items and prevent the station from evacuating before your gang can take over. Use it to recall the emergency shuttle from anywhere on the station."
- user << "You may also now use recruitment pens to grow your gang membership. Use them on unsuspecting crew members to recruit them."
+ user << "You may also now use recruitment pens to grow your gang membership. Use them on unsuspecting crew members to recruit them."
if(!gang)
usr << "ACCESS DENIED: Unauthorized user."
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 03bad1dedf0..1154a8591e1 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -381,7 +381,7 @@
dat += ""
if(ticker.mode.A_bosses.len || ticker.mode.A_gang.len)
- dat += "
| [gang_name("A")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.A] Influence, " : "")][round((ticker.mode.A_territory.len/start_state.num_territories)*100, 0.1)]% Control | |
"
+ dat += "
| [gang_name("A")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.A] Influence, " : "")][round((ticker.mode.A_territory.len/start_state.num_territories)*100, 1)]% Control | |
"
for(var/datum/mind/N in ticker.mode.A_bosses)
var/mob/M = N.current
if(!M)
@@ -397,7 +397,7 @@
dat += "
"
if(ticker.mode.B_bosses.len || ticker.mode.B_gang.len)
- dat += "
| [gang_name("B")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.B] Influence, " : "")][round((ticker.mode.B_territory.len/start_state.num_territories)*100, 0.1)]% Control | |
"
+ dat += "
| [gang_name("B")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.B] Influence, " : "")][round((ticker.mode.B_territory.len/start_state.num_territories)*100, 1)]% Control | |
"
for(var/datum/mind/N in ticker.mode.B_bosses)
var/mob/M = N.current
if(!M)
diff --git a/html/changelogs/Ikarrus-gang5_1.yml b/html/changelogs/Ikarrus-gang5_1.yml
new file mode 100644
index 00000000000..1bd6f90efdf
--- /dev/null
+++ b/html/changelogs/Ikarrus-gang5_1.yml
@@ -0,0 +1,9 @@
+author: Ikarrus
+
+delete-after: True
+
+changes:
+ - tweak: "Gang income delay reduced to 3 minutes intervals."
+ - tweak: "Gang Capture goal reduced to 50%"
+ - tweak: "Gang spraycan use increased to 20"
+ - tweak: "Gang Boss icon is now a red [G] icon to make it stand out better from regular gang icons"
\ No newline at end of file
diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi
index 84ed7d9fc07..a8e2032719a 100644
Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ