mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 07:08:00 +01:00
@@ -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
|
||||
|
||||
@@ -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 <b>Gangtool</b> 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 <b>lieutenant</b> 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 <b>territory spraycan</b> 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 <b>territory spraycan</b> 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 << "<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 claiming territory with the special spraycans they provide. Simply spray on any unclaimed area of the station.</font>"
|
||||
gangster_mind.current << "<font color='red'>You can identify your bosses by their brown \"G\" icon.</font>"
|
||||
gangster_mind.current << "<font color='red'>Help your bosses take over the station by claiming territory with <b>special spraycans</b> only they can provide. Simply spray on any unclaimed area of the station.</font>"
|
||||
gangster_mind.current << "<font color='red'>You can identify your bosses by their <b>red \[G\] icon</b>.</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)
|
||||
@@ -285,7 +285,7 @@
|
||||
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>"
|
||||
else
|
||||
world << "<FONT size=3 color=red><B>The [finished=="A" ? gang_name("A") : gang_name("B")] Gang has taken over the station!</B></FONT>"
|
||||
world << "<FONT size=3 color=red><B>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!</B></FONT>"
|
||||
..()
|
||||
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,"<b>[gang_name("A")] Gang Status Report:</b>")
|
||||
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 <b>[A_new - A] Influence</b> 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,"<b>[gang_name("B")] Gang Status Report:</b>")
|
||||
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>[B_new - B] Influence</b> for holding on to [ticker.mode.B_territory.len] territories."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: <B>[(points >= 100) ? ("--:--") : (time2text(ticker.mode.gang_points.next_point_time - world.time, "mm:ss"))]</B><br>"
|
||||
dat += "<B>Purchase Items:</B><br>"
|
||||
|
||||
dat += "(10 Influence) "
|
||||
if(points >= 10)
|
||||
dat += "(10 Influence) <a href='?src=\ref[src];purchase=spraycan'>Territory Spraycan</a><br>"
|
||||
dat += "<a href='?src=\ref[src];purchase=spraycan'><b>Territory Spraycan</b></a><br>"
|
||||
else
|
||||
dat += "(10 Influence) Territory Spraycan<br>"
|
||||
dat += "<b>Territory Spraycan</b><br>"
|
||||
|
||||
dat += "(10 Influence) "
|
||||
if(points >= 10)
|
||||
dat += "<a href='?src=\ref[src];purchase=switchblade'>Switchblade</a><br>"
|
||||
else
|
||||
dat += "Switchblade<br>"
|
||||
|
||||
dat += "(25 Influence) "
|
||||
if(points >= 25)
|
||||
dat += "(25 Influence) <a href='?src=\ref[src];purchase=pistol'>10mm Pistol</a><br>"
|
||||
dat += "<a href='?src=\ref[src];purchase=pistol'>10mm Pistol</a><br>"
|
||||
else
|
||||
dat += "(25 Influence) 10mm Pistol<br>"
|
||||
dat += "10mm Pistol<br>"
|
||||
|
||||
dat += "(10 Influence) "
|
||||
if(points >= 10)
|
||||
dat += "(10 Influence) <a href='?src=\ref[src];purchase=ammo'>10mm Ammo</a><br>"
|
||||
dat += "<a href='?src=\ref[src];purchase=ammo'>10mm Ammo</a><br>"
|
||||
else
|
||||
dat += "(10 Influence) 10mm Ammo<br>"
|
||||
|
||||
if(points >= 10)
|
||||
dat += "(10 Influence) <a href='?src=\ref[src];purchase=switchblade'>Switchblade</a><br>"
|
||||
else
|
||||
dat += "(10 Influence) Switchblade<br>"
|
||||
dat += "10mm Ammo<br>"
|
||||
|
||||
dat += "(50 Influence) "
|
||||
if(points >= 50)
|
||||
dat += "(50 Influence) <a href='?src=\ref[src];purchase=pen'>Recruitment Pen</a><br>"
|
||||
dat += "<a href='?src=\ref[src];purchase=pen'>Recruitment Pen</a><br>"
|
||||
else
|
||||
dat += "(50 Influence) Recruitment Pen<br>"
|
||||
dat += "Recruitment Pen<br>"
|
||||
|
||||
if(boss)
|
||||
if(promotion_cost > 100)
|
||||
dat += "(Maximum Reached) Promote a Gangster<br>"
|
||||
else if(points >= promotion_cost)
|
||||
dat += "([promotion_cost] Influence) <a href='?src=\ref[src];purchase=gangtool'>Promote a Gangster</a><br>"
|
||||
if(promotions >= 3)
|
||||
dat += "(Out of stock) Promote a Gangster<br>"
|
||||
else
|
||||
dat += "([promotion_cost] Influence) Promote a Gangster<br>"
|
||||
dat += "([(promotions*20)+10] Influence, [3-promotions] left) "
|
||||
if(points >= (promotions*20)+10)
|
||||
dat += "<a href='?src=\ref[src];purchase=gangtool'>Promote a Gangster</a><br>"
|
||||
else
|
||||
dat += "Promote a Gangster<br>"
|
||||
|
||||
dat += "<br>"
|
||||
dat += "<a href='?src=\ref[src];choice=refresh'>Refresh</a><br>"
|
||||
@@ -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 << "<FONT size=3 color=red><B>You have been promoted to Lieutenant!</B></FONT>"
|
||||
ticker.mode.forge_gang_objectives(user.mind)
|
||||
ticker.mode.greet_gang(user.mind,0)
|
||||
user << "The <b>Gangtool</b> 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 <b>recruitment pens</b> to grow your gang membership. Use them on unsuspecting crew members to recruit them."
|
||||
if(!gang)
|
||||
usr << "<span class='warning'>ACCESS DENIED: Unauthorized user.</span>"
|
||||
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
dat += "</table>"
|
||||
|
||||
if(ticker.mode.A_bosses.len || ticker.mode.A_gang.len)
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[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</B></td><td></td></tr>"
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[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</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.A_bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
@@ -397,7 +397,7 @@
|
||||
dat += "</table>"
|
||||
|
||||
if(ticker.mode.B_bosses.len || ticker.mode.B_gang.len)
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[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</B></td><td></td></tr>"
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[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</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.B_bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
|
||||
@@ -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"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user