From 3ea9de5053b1316f1c3c9a1c43ea582cf4508625 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 29 Jul 2015 19:10:22 -0600 Subject: [PATCH 1/3] Territory Tagging Fix Fixed needing to wait for the next payday before you can tag a territory that has it's old tag cleaned off. --- code/game/gamemodes/gang/gang_datum.dm | 10 ++++++---- code/game/objects/effects/decals/crayon.dm | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm index 41f4a710e5a..ed9e0a693d1 100644 --- a/code/game/gamemodes/gang/gang_datum.dm +++ b/code/game/gamemodes/gang/gang_datum.dm @@ -133,6 +133,12 @@ var/added_names = "" var/lost_names = "" + //Re-add territories that were reclaimed, so if they got tagged over, they can still earn income if they tag it back before the next status report + var/list/reclaimed_territories = territory_new & territory_lost + territory |= reclaimed_territories + territory_new -= reclaimed_territories + territory_lost -= reclaimed_territories + //Process lost territories for(var/area in territory_lost) if(lost_names != "") @@ -179,10 +185,6 @@ points = points_new message += "Your gang now has [points] influence.
" - - //Remove territories they already own from the buffer, so if they got tagged over, they can still earn income if they tag it back before the next status report - territory_new -= territory - //Process new territories for(var/area in territory_new) if(added_names != "") diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 2d89998c4d7..5c7753f83db 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -51,6 +51,7 @@ var/area/territory = get_area(src) if(gang) + gang.territory -= territory.type gang.territory_new -= territory.type gang.territory_lost |= list(territory.type = territory.name) ..() \ No newline at end of file From 89f539b804a6330d93ae85649a07bb961cdf148e Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Wed, 29 Jul 2015 19:11:03 -0600 Subject: [PATCH 2/3] no message --- code/game/objects/effects/decals/crayon.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 5c7753f83db..780f45e5ffd 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -43,7 +43,6 @@ color = G.color_hex icon_state = G.name G.territory_new |= list(territory.type = territory.name) - G.territory_lost -= territory.type ..(location, color, icon_state, e_name, rotation) From 0b3a743d7428d344d3f5edcc99df5c3929bc3633 Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Thu, 30 Jul 2015 09:12:34 -0600 Subject: [PATCH 3/3] Added distinct lieutenant ranks Fixed lieutenants being able to do what only bosses should do (Promote, recall) --- code/game/gamemodes/gang/recaller.dm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index dafdb485cd5..c09b45d70cd 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -43,7 +43,7 @@ if(isnum(gang.dom_timer)) dat += "
Takeover In Progress:
[gang.dom_timer] seconds remain
" - var/isboss = (user.mind in ticker.mode.get_gang_bosses()) + var/isboss = (user.mind == gang.bosses[1]) var/points = gang.points dat += "Registration: [gang.name] Gang [isboss ? "Boss" : "Lieutenant"]
" dat += "Organization Size: [gang.gangsters.len + gang.bosses.len] | Station Control: [round((gang.territory.len/start_state.num_territories)*100, 1)]%
" @@ -57,7 +57,7 @@ dat += "Create Armored Gang Outfit
" else dat += "Create Gang Outfit (Restocking)
" - if(user.mind in ticker.mode.get_gang_bosses()) + if(isboss) dat += "Recall Emergency Shuttle
" dat += "
" @@ -158,7 +158,7 @@ dat += "Recruitment Pen
" var/gangtooltext = "Spare Gangtool" - if((user.mind in ticker.mode.get_gang_bosses()) && gang.bosses.len < 3) + if(isboss && gang.bosses.len < 3) gangtooltext = "Promote a Gangster" dat += "(10 Influence) " if(points >= 10) @@ -258,7 +258,7 @@ pointcost = 10 if("gangtool") if(gang.points >= 10) - if(usr.mind in ticker.mode.get_gang_bosses()) + if(usr.mind == gang.bosses[1]) item_type = /obj/item/device/gangtool/spare/lt if(gang.bosses.len < 3) usr << "Gangtools allow you to promote a gangster to be your Lieutenant, enabling them to recruit and purchase items like you. Simply have them register the gangtool. You may promote up to [3-gang.bosses.len] more Lieutenants" @@ -301,7 +301,7 @@ else if(href_list["choice"]) switch(href_list["choice"]) if("recall") - if(usr.mind in ticker.mode.get_gang_bosses()) + if(usr.mind == gang.bosses[1]) recall(usr) if("outfit") if(outfits > 0) @@ -326,7 +326,19 @@ members += gang.gangsters members += gang.bosses if(members.len) - var/ping = "[gang.name] [(user.mind in ticker.mode.get_gang_bosses()) ? "Gang Boss" : "Lieutenant"]: [message]" + var/gang_rank = gang.bosses.Find(user.mind) + switch(gang_rank) + if(1) + gang_rank = "Gang Boss" + if(2) + gang_rank = "1st Lieutenant" + if(3) + gang_rank = "2nd Lieutenant" + if(4) + gang_rank = "3rd Lieutenant" + else + gang_rank = "[gang_rank - 1]th Lieutenant" + var/ping = "[gang.name] [gang_rank]: [message]" for(var/datum/mind/ganger in members) if(ganger.current && (ganger.current.z <= 2) && (ganger.current.stat == CONSCIOUS)) ganger.current << ping