mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
Gang Mode Update 4
**Major Changes** - Increased win condition to require 66% - Added a switchblade. A relatively cheap and decently robust melee weapon for gangsters. - Capped how much influence you can get every income at 50 - Limited gang spraycan use to 15 - Pistol cost increased to 30 Influence - Promotion cost now scales to how many bosses you already have. The more bosses, the more expensive it will be. It starts off cheap at 20 influence now. **Minor Changes** - Tagging a territory now tells you what territory you actually tagged! - Added an option to silence the verbose territorial updates you get from gangtools - Capped how much influence you can get every income at 50 - Updated Centcom report on gangs - Spraycans always show their inhands now, instead of only when uncapped - Antag panel now shows how much influence each gang has - Cleaned up gang code in the traitor panel - Fixed non-gangers getting gang messages when trying to spray on an invalid territory
This commit is contained in:
+3
-11
@@ -295,10 +295,6 @@
|
||||
else
|
||||
text += "."
|
||||
|
||||
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>Equipment: <a href='?src=\ref[src];gang=equip'>give</a>"
|
||||
@@ -306,13 +302,10 @@
|
||||
var/list/L = current.get_contents()
|
||||
var/obj/item/device/gangtool/gangtool = locate() in L
|
||||
if (gangtool)
|
||||
text += "<br><a href='?src=\ref[src];gang=takeequip'>take</a>."
|
||||
text += "|<a href='?src=\ref[src];gang=takeequip'>take</a>."
|
||||
else
|
||||
text += "."
|
||||
|
||||
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.A_gang)
|
||||
text += "loyal|<a href='?src=\ref[src];gang=clear'>none</a>|<B>(A) GANGSTER</B> <a href='?src=\ref[src];gang=aboss'>boss</a>|(B) <a href='?src=\ref[src];gang=bgang'>gangster</a> <a href='?src=\ref[src];gang=bboss'>boss</a>"
|
||||
else if (src in ticker.mode.B_gang)
|
||||
@@ -835,6 +828,8 @@
|
||||
current << "<FONT size=3 color=red><B>You are a [gang_name("A")] Gang Boss!</B></FONT>"
|
||||
message_admins("[key_name_admin(usr)] has added [current] to the [gang_name("A")] Gang (A) leadership.")
|
||||
log_admin("[key_name(usr)] has added [current] to the [gang_name("A")] Gang (A) leadership.")
|
||||
ticker.mode.forge_gang_objectives(src)
|
||||
ticker.mode.greet_gang(src,0)
|
||||
|
||||
if("bgang")
|
||||
if(src in ticker.mode.B_gang)
|
||||
@@ -854,11 +849,8 @@
|
||||
current << "<FONT size=3 color=red><B>You are a [gang_name("B")] Gang Boss!</B></FONT>"
|
||||
message_admins("[key_name_admin(usr)] has added [current] to the [gang_name("B")] Gang (B) leadership.")
|
||||
log_admin("[key_name(usr)] has added [current] to the [gang_name("B")] Gang (B) leadership.")
|
||||
|
||||
if("autoobjective")
|
||||
ticker.mode.forge_gang_objectives(src)
|
||||
ticker.mode.greet_gang(src,0)
|
||||
usr << "<span class='info>The objectives for gang war have been generated and shown to [key]</span>"
|
||||
|
||||
if("equip")
|
||||
switch(ticker.mode.equip_gang(current))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
///////////////////////////
|
||||
/datum/game_mode/gang/announce()
|
||||
world << "<B>The current game mode is - Gang War!</B>"
|
||||
world << "<B>A violent turf war has erupted on the station!<BR>Gangsters - Take over the station by claiming more than half of the station! <BR>Crew - The gangs will try to keep you on the station. Successfully evacuate the station to win!</B>"
|
||||
world << "<B>A violent turf war has erupted on the station!<BR>Gangsters - Take over the station by claiming more than 66% of the station! <BR>Crew - The gangs will try to keep you on the station. Successfully evacuate the station to win!</B>"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@@ -99,7 +99,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 half the station before the [(boss_mind in A_bosses) ? gang_name("B") : gang_name("A")] Gang does."
|
||||
rival_obj.explanation_text = "Claim more than 66% the station before the [(boss_mind in A_bosses) ? gang_name("B") : gang_name("A")] Gang does."
|
||||
boss_mind.objectives += rival_obj
|
||||
|
||||
|
||||
@@ -167,9 +167,9 @@
|
||||
//Checks if the either gang have won or not//
|
||||
/////////////////////////////////////////////
|
||||
/datum/game_mode/gang/check_win()
|
||||
if(A_territory.len > (start_state.num_territories / 2))
|
||||
if(A_territory.len > (start_state.num_territories / 3))
|
||||
finished = "A" //Gang A wins
|
||||
else if(B_territory.len > (start_state.num_territories / 2))
|
||||
else if(B_territory.len > (start_state.num_territories / 3))
|
||||
finished = "B" //Gang B wins
|
||||
|
||||
///////////////////////////////
|
||||
@@ -305,7 +305,7 @@
|
||||
|
||||
if(A_bosses.len || A_gang.len)
|
||||
if(winner)
|
||||
world << "<br><b>The [gang_name("A")] Gang was [winner=="A" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 0.1)]% control of the station!</b>"
|
||||
world << "<br><b>The [gang_name("A")] Gang was [winner=="A" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 1)]% control of the station!</b>"
|
||||
world << "<br>The [gang_name("A")] Gang Bosses were:"
|
||||
gang_membership_report(A_bosses)
|
||||
world << "<br>The [gang_name("A")] Gangsters were:"
|
||||
@@ -314,7 +314,7 @@
|
||||
|
||||
if(B_bosses.len || B_gang.len)
|
||||
if(winner)
|
||||
world << "<br><b>The [gang_name("B")] Gang was [winner=="B" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 0.1)]% control of the station!</b></b>"
|
||||
world << "<br><b>The [gang_name("B")] Gang was [winner=="B" ? "<font color=green>victorious</font>" : "<font color=red>defeated</font>"] with [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 1)]% control of the station!</b></b>"
|
||||
world << "<br>The [gang_name("B")] Gang Bosses were:"
|
||||
gang_membership_report(B_bosses)
|
||||
world << "<br>The [gang_name("B")] Gangsters were:"
|
||||
@@ -356,19 +356,19 @@
|
||||
income()
|
||||
|
||||
/datum/gang_points/proc/income()
|
||||
var/A_new = min(100,(A + 10 + ticker.mode.A_territory.len))
|
||||
var/A_new = min(100,(A + 10 + min(ticker.mode.A_territory.len,40)))
|
||||
var/A_message = ""
|
||||
if(A_new != A)
|
||||
A_message += "Your gang has gained [A_new - A] Influence from their presence on station."
|
||||
A_message += "Your gang has gained [A_new - A] Influence from their control of [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 1)]% of the station."
|
||||
if(A_new == 100)
|
||||
A_message += "Maximum influence reached."
|
||||
A = A_new
|
||||
ticker.mode.message_gangtools(ticker.mode.A_tools,A_message)
|
||||
|
||||
var/B_new = min(100,(B + 10 + ticker.mode.B_territory.len))
|
||||
var/B_new = min(100,(B + 10 + min(ticker.mode.B_territory.len,40)))
|
||||
var/B_message = ""
|
||||
if(B_new != B)
|
||||
B_message += "Your gang has collected [B_new - B] Influence from their presence on station. "
|
||||
B_message += "Your gang has collected [B_new - B] Influence from their control of [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 1)]% of the station."
|
||||
if(B_new == 100)
|
||||
B_message += "Maximum influence reached."
|
||||
B = B_new
|
||||
@@ -381,13 +381,14 @@
|
||||
//Sends a message to the boss via his gangtool//
|
||||
////////////////////////////////////////////////
|
||||
|
||||
/datum/game_mode/proc/message_gangtools(var/list/gangtools,var/message,var/beeps=1)
|
||||
/datum/game_mode/proc/message_gangtools(var/list/gangtools,var/message,var/priority=2) //0 Territories Gained | 1 Territories lost | 2 Beep!
|
||||
if(!gangtools.len || !message)
|
||||
return
|
||||
for(var/obj/item/device/gangtool/tool in gangtools)
|
||||
var/mob/living/mob = get(tool.loc,/mob/living)
|
||||
if(mob && mob.mind)
|
||||
if(((tool.gang == "A") && ((mob.mind in A_gang) || (mob.mind in A_bosses))) || ((tool.gang == "B") && ((mob.mind in B_gang) || (mob.mind in B_bosses))))
|
||||
mob << "<span class='notice'>\icon[tool] [message]</span>"
|
||||
if(beeps)
|
||||
playsound(mob.loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
if(tool.ignore_messages <= priority)
|
||||
var/mob/living/mob = get(tool.loc,/mob/living)
|
||||
if(mob && mob.mind)
|
||||
if(((tool.gang == "A") && ((mob.mind in A_gang) || (mob.mind in A_bosses))) || ((tool.gang == "B") && ((mob.mind in B_gang) || (mob.mind in B_bosses))))
|
||||
mob << "<span class='notice'>\icon[tool] [message]</span>"
|
||||
if(priority>=2)
|
||||
playsound(mob.loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
@@ -228,9 +228,9 @@
|
||||
*/
|
||||
|
||||
/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 += "Central Command retains an interest in any criminal leaders captured by station security. The execution or exile of these persons are ill-advised."
|
||||
src.text += "<BR><BR>We have recieved reports of a sudden increase of criminal activity in close proximity to our operations within your sector."
|
||||
src.text += "Ensure law and order is maintained on the station and be on the lookout for unusually territorial behavior from the crew."
|
||||
src.text += "In the event of a full-scale takeover attempt, sensitive research items are to be secured and the station evacuated ASAP."
|
||||
src.text += "<BR><HR>"
|
||||
|
||||
/datum/intercept_text/proc/build_wizard(datum/mind/correct_person)
|
||||
|
||||
@@ -67,6 +67,6 @@
|
||||
recipients += ticker.mode.B_tools
|
||||
ticker.mode.B_territory -= territory.type
|
||||
if(recipients.len)
|
||||
ticker.mode.message_gangtools(recipients,"Territory lost: [territory]",0)
|
||||
ticker.mode.message_gangtools(recipients,"Territory lost: [territory]",1)
|
||||
|
||||
..()
|
||||
@@ -88,6 +88,7 @@
|
||||
|
||||
/obj/item/toy/crayon/spraycan
|
||||
icon_state = "spraycan_cap"
|
||||
item_state = "spraycan"
|
||||
desc = "A metallic container containing tasty paint."
|
||||
var/capped = 1
|
||||
instant = 1
|
||||
@@ -156,4 +157,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
|
||||
instant = -1
|
||||
@@ -1,5 +1,4 @@
|
||||
//gangtool device
|
||||
//Allows gang leaders to recall the shuttle
|
||||
/obj/item/device/gangtool
|
||||
name = "suspicious device"
|
||||
desc = "A strange device of sorts. Hard to really make out what it actually does just by looking."
|
||||
@@ -13,6 +12,7 @@
|
||||
var/gang //Which gang uses this?
|
||||
var/boss = 1 //If it has the power to promote gang members
|
||||
var/recalling = 0
|
||||
var/ignore_messages = 0
|
||||
|
||||
/obj/item/device/gangtool/New() //Initialize supply point income if it hasn't already been started
|
||||
if(!ticker.mode.gang_points)
|
||||
@@ -28,23 +28,36 @@
|
||||
var/dat
|
||||
if(!gang)
|
||||
dat += "This device is not registered.<br>"
|
||||
dat += "<a href='?src=\ref[src];choice=register'>Register Device</a><br>"
|
||||
if((user.mind in ticker.mode.B_bosses) || (user.mind in ticker.mode.A_bosses))
|
||||
dat += "Give this device to another member of your organization to use.<br>"
|
||||
else
|
||||
dat += "<a href='?src=\ref[src];choice=register'>Register Device</a><br>"
|
||||
else
|
||||
var/gang_size = ((gang == "A")? (ticker.mode.A_gang.len + ticker.mode.A_bosses.len) : (ticker.mode.B_gang.len + ticker.mode.B_bosses.len))
|
||||
var/gang_territory = ((gang == "A")? ticker.mode.A_territory.len : ticker.mode.B_territory.len)
|
||||
var/points = ((gang == "A") ? ticker.mode.gang_points.A : ticker.mode.gang_points.B)
|
||||
|
||||
dat += "<i>Registered as [boss ? "Administrator." : "User."]</i><br>"
|
||||
dat += "Organization: <B>[(gang == "A")?("[gang_name("A")] Gang"):("[gang_name("B")] Gang")]</B><br>"
|
||||
dat += "Registration: <B>[(gang == "A")? gang_name("A") : gang_name("B")] Gang [boss ? "Administrator" : "Member"]</B><br>"
|
||||
dat += "Organization Size: <B>[gang_size]</B><br>"
|
||||
dat += "Areas Controlled: <B>[gang_territory] ([round((gang_territory/start_state.num_territories)*100, 0.1)]% of station)</B><br>"
|
||||
dat += "Territories Controlled: <B>[round((gang_territory/start_state.num_territories)*100, 1)]% of [station_name()]</B><br>"
|
||||
var/alert = "Recieve all alerts"
|
||||
if(ignore_messages == 1)
|
||||
alert = "Ignore territories gained"
|
||||
else if(ignore_messages == 2)
|
||||
alert = "Ignore territories gained and lost"
|
||||
dat += "Message Setting: <a href='?src=\ref[src];choice=ignore'>[alert]</a><br>"
|
||||
dat += "<a href='?src=\ref[src];choice=recall'>Recall Emergency Shuttle</a><br>"
|
||||
dat += "<br>"
|
||||
dat += "Influence: <B>[points]</B><br>"
|
||||
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>"
|
||||
|
||||
if(points >= 25)
|
||||
if(points >= 10)
|
||||
dat += "(10 Influence) <a href='?src=\ref[src];purchase=spraycan'>Territory Spraycan</a><br>"
|
||||
else
|
||||
dat += "(10 Influence) Territory Spraycan<br>"
|
||||
|
||||
if(points >= 30)
|
||||
dat += "(25 Influence) <a href='?src=\ref[src];purchase=pistol'>10mm Pistol</a><br>"
|
||||
else
|
||||
dat += "(25 Influence) 10mm Pistol<br>"
|
||||
@@ -54,10 +67,10 @@
|
||||
else
|
||||
dat += "(10 Influence) 10mm Ammo<br>"
|
||||
|
||||
if(points >= 10)
|
||||
dat += "(10 Influence) <a href='?src=\ref[src];purchase=spraycan'>Territory Spraycan</a><br>"
|
||||
if(points >= 15)
|
||||
dat += "(15 Influence) <a href='?src=\ref[src];purchase=switchblade'>Switchblade</a><br>"
|
||||
else
|
||||
dat += "(10 Influence) Territory Spraycan<br>"
|
||||
dat += "(15 Influence) Switchblade<br>"
|
||||
|
||||
if(points >= 50)
|
||||
dat += "(50 Influence) <a href='?src=\ref[src];purchase=pen'>Recruitment Pen</a><br>"
|
||||
@@ -65,10 +78,11 @@
|
||||
dat += "(50 Influence) Recruitment Pen<br>"
|
||||
|
||||
if(boss)
|
||||
if(points >= 40)
|
||||
dat += "(40 Influence) <a href='?src=\ref[src];purchase=gangtool'>Unregistered Gangtool</a><br>"
|
||||
var/promotion_cost = max(((gang == "A")? ticker.mode.A_bosses.len : ticker.mode.B_bosses.len) * 20,20)
|
||||
if(points >= promotion_cost)
|
||||
dat += "([promotion_cost] Influence) <a href='?src=\ref[src];purchase=gangtool'>Promote a Gangster</a><br>"
|
||||
else
|
||||
dat += "(40 Influence) Unregistered Gangtool<br>"
|
||||
dat += "([promotion_cost] Influence) Promote a Gangster<br>"
|
||||
|
||||
dat += "<br>"
|
||||
dat += "<a href='?src=\ref[src];choice=refresh'>Refresh</a><br>"
|
||||
@@ -86,27 +100,32 @@
|
||||
if(href_list["purchase"])
|
||||
var/points = ((gang == "A") ? ticker.mode.gang_points.A : ticker.mode.gang_points.B)
|
||||
var/item_type
|
||||
var/promotion_cost = max(((gang == "A")? ticker.mode.A_bosses.len : ticker.mode.B_bosses.len) * 20,20)
|
||||
switch(href_list["purchase"])
|
||||
if("pistol")
|
||||
if(points >= 25)
|
||||
item_type = /obj/item/weapon/gun/projectile/automatic/pistol
|
||||
points = 25
|
||||
if("ammo")
|
||||
if(points >= 10)
|
||||
item_type = /obj/item/ammo_box/magazine/m10mm
|
||||
points = 10
|
||||
if("spraycan")
|
||||
if(points >= 10)
|
||||
item_type = /obj/item/toy/crayon/spraycan/gang
|
||||
points = 10
|
||||
if("pistol")
|
||||
if(points >= 30)
|
||||
item_type = /obj/item/weapon/gun/projectile/automatic/pistol
|
||||
points = 30
|
||||
if("ammo")
|
||||
if(points >= 10)
|
||||
item_type = /obj/item/ammo_box/magazine/m10mm
|
||||
points = 10
|
||||
if("switchblade")
|
||||
if(points >= 15)
|
||||
item_type = /obj/item/weapon/switchblade
|
||||
points = 15
|
||||
if("pen")
|
||||
if(points >= 50)
|
||||
item_type = /obj/item/weapon/pen/gang
|
||||
points = 50
|
||||
if("gangtool")
|
||||
if(points >= 40)
|
||||
if(points >= promotion_cost)
|
||||
item_type = /obj/item/device/gangtool/lt
|
||||
points = 40
|
||||
points = promotion_cost
|
||||
|
||||
if(item_type)
|
||||
if(gang == "A")
|
||||
@@ -120,6 +139,10 @@
|
||||
|
||||
else if(href_list["choice"])
|
||||
switch(href_list["choice"])
|
||||
if("ignore")
|
||||
ignore_messages++
|
||||
if(ignore_messages>2)
|
||||
ignore_messages = 0
|
||||
if("recall")
|
||||
recall(usr)
|
||||
if("register")
|
||||
@@ -152,8 +175,8 @@
|
||||
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>"
|
||||
user << "<font color='red'>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.</font>"
|
||||
user << "<font color='red'>You may also now use recruitment pens to grow your gang membership. Use them on unsuspecting crew members to recruit them.</font>"
|
||||
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."
|
||||
if(!gang)
|
||||
usr << "<span class='warning'>ACCESS DENIED: Unauthorized user.</span>"
|
||||
|
||||
|
||||
@@ -412,17 +412,17 @@
|
||||
var/area/territory
|
||||
var/gangID
|
||||
if(gang)
|
||||
//Determine gang affiliation
|
||||
if((user.mind in ticker.mode.A_bosses) || (user.mind in ticker.mode.A_gang))
|
||||
temp = "[gang_name("A")] gang tag"
|
||||
gangID = "A"
|
||||
else if((user.mind in ticker.mode.B_bosses) || (user.mind in ticker.mode.B_gang))
|
||||
temp = "[gang_name("B")] gang tag"
|
||||
gangID = "B"
|
||||
|
||||
//Check area validity. Reject space, player-created areas, and non-station z-levels.
|
||||
territory = get_area(target)
|
||||
if (territory && (territory.z == ZLEVEL_STATION) && territory.valid_territory)
|
||||
//Determine gang affiliation
|
||||
if((user.mind in ticker.mode.A_bosses) || (user.mind in ticker.mode.A_gang))
|
||||
temp = "[gang_name("A")] gang tag"
|
||||
gangID = "A"
|
||||
else if((user.mind in ticker.mode.B_bosses) || (user.mind in ticker.mode.B_gang))
|
||||
temp = "[gang_name("B")] gang tag"
|
||||
gangID = "B"
|
||||
|
||||
if (gangID && territory && (territory.z == ZLEVEL_STATION) && territory.valid_territory)
|
||||
//Check if this area is already tagged by a gang
|
||||
if(!(locate(/obj/effect/decal/cleanable/crayon/gang) in target)) //Ignore the check if the tile being sprayed has a gang tag
|
||||
if(territory_claimed(territory, user))
|
||||
@@ -457,6 +457,7 @@
|
||||
for(var/obj/effect/decal/cleanable/crayon/old_marking in target)
|
||||
qdel(old_marking)
|
||||
new /obj/effect/decal/cleanable/crayon/gang(target,gangID,temp,graf_rot)
|
||||
user << "<span class='notice'>You tagged [territory] for your gang!</span>"
|
||||
|
||||
else
|
||||
new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp,graf_rot)
|
||||
|
||||
@@ -158,4 +158,38 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/switchblade
|
||||
name = "switchblade"
|
||||
icon_state = "switchblade"
|
||||
desc = "A sharp, concealable, spring-loaded knife."
|
||||
flags = CONDUCT
|
||||
force = 20
|
||||
w_class = 2
|
||||
throwforce = 15
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
m_amt = 12000
|
||||
origin_tech = "materials=1"
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("stubbed", "poked")
|
||||
var/extended
|
||||
|
||||
/obj/item/weapon/switchblade/attack_self(mob/user)
|
||||
extended = !extended
|
||||
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
|
||||
if(extended)
|
||||
force = 20
|
||||
w_class = 3
|
||||
throwforce = 15
|
||||
icon_state = "switchblade_ext"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
else
|
||||
force = 1
|
||||
w_class = 2
|
||||
throwforce = 5
|
||||
icon_state = "switchblade"
|
||||
attack_verb = list("stubbed", "poked")
|
||||
|
||||
/obj/item/weapon/switchblade/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is slitting \his own throat with the [src.name]! It looks like \he's trying to commit suicide.</span>")
|
||||
return (BRUTELOSS)
|
||||
@@ -386,7 +386,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: [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 0.1)]% Station 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, 0.1)]% Control</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.A_bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
@@ -402,7 +402,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: [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 0.1)]% Station 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, 0.1)]% Control</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.B_bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 92 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 91 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user