From 4ff044dc783ff3224d8c74ce2898976031e5faec Mon Sep 17 00:00:00 2001 From: Ikarrus Date: Sun, 19 Apr 2015 22:16:34 -0600 Subject: [PATCH] Gang v3 has been tested and is now good to go! --- code/game/area/Space Station 13 areas.dm | 4 +- code/game/gamemodes/blob/blob_report.dm | 18 ++++-- code/game/gamemodes/game_mode.dm | 2 +- code/game/gamemodes/gang/gang.dm | 65 ++++++++----------- code/game/objects/effects/decals/crayon.dm | 38 +++++++++-- code/game/objects/items/blueprints.dm | 2 +- code/game/objects/items/crayons.dm | 26 +++++--- code/game/objects/items/devices/recaller.dm | 56 ++++++++++------- code/game/objects/items/toys.dm | 66 +++++++++++--------- code/game/objects/items/weapons/mop.dm | 4 +- code/game/turfs/simulated.dm | 6 +- code/game/turfs/simulated/walls.dm | 2 +- code/modules/admin/player_panel.dm | 4 +- code/modules/lighting/lighting_system.dm | 3 + code/modules/paperwork/pen.dm | 4 ++ config/game_options.txt | 5 +- data/mode.txt | 2 +- icons/effects/crayondecal.dmi | Bin 13093 -> 21333 bytes icons/effects/water.dmi | Bin 2722 -> 2925 bytes icons/mob/hud.dmi | Bin 3711 -> 3718 bytes icons/obj/bureaucracy.dmi | Bin 12314 -> 12780 bytes icons/obj/crayons.dmi | Bin 984 -> 1173 bytes 22 files changed, 186 insertions(+), 121 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 719c6bfeae7..da4a45d31b9 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -28,7 +28,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station mouse_opacity = 0 invisibility = INVISIBILITY_LIGHTING var/lightswitch = 1 - var/player_defined = 0 //If it was created by players in-game as opposed to existing at compile time + var/valid_territory = 1 //If it's a valid territory for gangs to claim var/eject = null @@ -110,6 +110,7 @@ proc/process_ghost_teleport_locs() power_light = 0 power_equip = 0 power_environ = 0 + valid_territory = 0 ambientsounds = list('sound/ambience/ambispace.ogg','sound/ambience/title2.ogg',) @@ -347,6 +348,7 @@ proc/process_ghost_teleport_locs() //Maintenance /area/maintenance ambientsounds = list('sound/ambience/ambimaint1.ogg', 'sound/ambience/ambimaint2.ogg', 'sound/ambience/ambimaint3.ogg', 'sound/ambience/ambimaint4.ogg', 'sound/ambience/ambimaint5.ogg') + valid_territory = 0 /area/maintenance/atmos_control name = "Atmospherics Maintenance" diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm index 7fa366c32c2..d08526eda5d 100644 --- a/code/game/gamemodes/blob/blob_report.dm +++ b/code/game/gamemodes/blob/blob_report.dm @@ -54,10 +54,10 @@ var/door = 0 var/grille = 0 var/mach = 0 - var/num_territories = 0//Number of total valid territories for gang mode + var/num_territories = 1//Number of total valid territories for gang mode -/datum/station_state/proc/count() +/datum/station_state/proc/count(var/count_territories) for(var/turf/T in block(locate(1,1,1), locate(world.maxx,world.maxy,1))) if(istype(T,/turf/simulated/floor)) @@ -89,10 +89,16 @@ else if(istype(O, /obj/machinery)) src.mach += 1 - var/list/valid_territories = list() - for(var/area/A in block(locate(1,1,1), locate(world.maxx,world.maxy,1))) - valid_territories |= A.type - num_territories = valid_territories.len - 1 //Minus space + if(count_territories) + var/list/valid_territories = list() + for(var/area/A in world) //First, collect all area types on the station zlevel + if(A.z == ZLEVEL_STATION) + if(!(A.type in valid_territories) && A.valid_territory) + valid_territories |= A.type + if(valid_territories.len) + num_territories = valid_territories.len //Add them all up to make the total number of area types + else + world << "ERROR: NO VALID TERRITORIES" /datum/station_state/proc/score(var/datum/station_state/result) if(!result) return 0 diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5ab109066d8..2e3654f7b6a 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -84,7 +84,7 @@ spawn (rand(waittime_l, waittime_h)) send_intercept(0) start_state = new /datum/station_state() - start_state.count() + start_state.count(1) return 1 ///make_antag_chance() diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 297086acc07..1432c50efd7 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -9,8 +9,8 @@ var/obj/item/device/gangtool/A_tools = list() var/obj/item/device/gangtool/B_tools = list() var/datum/gang_points/gang_points - var/list/area/A_territory = list() - var/list/area/B_territory = list() + var/list/A_territory = list() + var/list/B_territory = list() /datum/game_mode/gang name = "gang war" @@ -142,8 +142,8 @@ mob << "Your Syndicate benefactors were unfortunately unable to get you a Gangtool." else gangtool.register_device(mob) - mob << "The Gangtool in your [where] will allow you to purchase items for your gang 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 recrtuitment pens and gangtools." + 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." . += 1 var/where2 = mob.equip_in_one_of_slots(T, slots) @@ -157,7 +157,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 supply points 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." . += 1 mob.update_icons() @@ -167,16 +167,16 @@ //Checks if the either gang have won or not// ///////////////////////////////////////////// /datum/game_mode/gang/check_win() - if(ticker.mode.A_territory.len > (start_state.num_territories / 2)) + if(A_territory.len > (start_state.num_territories / 2)) finished = "A" //Gang A wins - else if(ticker.mode.B_territory.len > (start_state.num_territories / 2)) + else if(B_territory.len > (start_state.num_territories / 2)) finished = "B" //Gang B wins /////////////////////////////// //Checks if the round is over// /////////////////////////////// /datum/game_mode/gang/check_finished() - if(finished && !config.continuous["gang"]) + if(finished) return 1 return ..() //Check for evacuation/nuke @@ -200,7 +200,7 @@ 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 \"B\" icon." + gangster_mind.current << "You can identify your bosses by their brown \"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) @@ -303,23 +303,9 @@ else winner = "Draw" - var/num_ganga = 0 - var/list/agang = A_gang + A_bosses - for(var/datum/mind/agangster in agang) - if(agangster.current) - if(agangster.current in living_mob_list) - num_ganga++ - - var/num_gangb = 0 - var/list/bgang = B_gang + B_bosses - for(var/datum/mind/bgangster in bgang) - if(bgangster.current) - if(bgangster.current in living_mob_list) - num_gangb++ - if(A_bosses.len || A_gang.len) if(winner) - world << "
The [gang_name("A")] Gang was [winner=="A" ? "victorious" : "defeated"] with [num_ganga] members!" + world << "
The [gang_name("A")] Gang was [winner=="A" ? "victorious" : "defeated"] with [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 0.1)]% control of the station!" world << "
The [gang_name("A")] Gang Bosses were:" gang_membership_report(A_bosses) world << "
The [gang_name("A")] Gangsters were:" @@ -328,7 +314,7 @@ if(B_bosses.len || B_gang.len) if(winner) - world << "
The [gang_name("B")] Gang was [winner=="B" ? "victorious" : "defeated"] with [num_gangb] members!" + world << "
The [gang_name("B")] Gang was [winner=="B" ? "victorious" : "defeated"] with [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 0.1)]% control of the station!" world << "
The [gang_name("B")] Gang Bosses were:" gang_membership_report(B_bosses) world << "
The [gang_name("B")] Gangsters were:" @@ -370,21 +356,22 @@ income() /datum/gang_points/proc/income() - var/A_new = max(100(A + 10 + ticker.mode.A_territory.len)) + var/A_new = min(100,(A + 10 + ticker.mode.A_territory.len)) var/A_message = "" - if(A_new > A) - A_message += "Your gang has collected [A_new - A] additional supply points from the station." + if(A_new != A) + A_message += "Your gang has gained [A_new - A] Influence from their presence on station." if(A_new == 100) - A_message += "Maximum supply point count reached." + A_message += "Maximum influence reached." A = A_new ticker.mode.message_gangtools(ticker.mode.A_tools,A_message) - var/B_new = max(100,(B + 10 + ticker.mode.B_territory.len)) + var/B_new = min(100,(B + 10 + ticker.mode.B_territory.len)) var/B_message = "" - if(B_new > B) - B_message += "Your gang has collected [B_new - B] additional supply points from the station. " + if(B_new != B) + B_message += "Your gang has collected [B_new - B] Influence from their presence on station. " if(B_new == 100) - B_message += "Maximum supply point count reached." + B_message += "Maximum influence reached." + B = B_new ticker.mode.message_gangtools(ticker.mode.B_tools,B_message) start() @@ -394,13 +381,13 @@ //Sends a message to the boss via his gangtool// //////////////////////////////////////////////// -/datum/game_mode/proc/message_gangtools(var/list/gangtools,var/message) +/datum/game_mode/proc/message_gangtools(var/list/gangtools,var/message,var/beeps=1) 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) - if(mob.mind) - playsound(mob.loc, 'sound/machines/twobeep.ogg', 50, 1) - 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 << "\icon[tool] [message]" \ No newline at end of file + 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 << "\icon[tool] [message]" + if(beeps) + playsound(mob.loc, 'sound/machines/twobeep.ogg', 50, 1) \ No newline at end of file diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index c30db111525..7c460171a90 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -27,20 +27,46 @@ color = main /obj/effect/decal/cleanable/crayon/gang + layer = 3.6 //Harder to hide var/gang -/obj/effect/decal/cleanable/crayon/gang/New() - world << "DEBUG: A[ticker.mode.A_territory.len] B[ticker.mode.B_territory.len] Goal[start_state.num_territories / 2]" +/obj/effect/decal/cleanable/crayon/gang/New(location, var/type, var/e_name = "gang tag", var/rotation = 0) + if(!type) + qdel(src) + + var/area/territory = get_area(location) + var/list/recipients = list() + var/color + + if(type == "A") + gang = type + color = "#00b4ff" + icon_state = gang_name("A") + recipients = ticker.mode.A_tools + ticker.mode.A_territory |= territory.type + else if(type == "B") + gang = type + color = "#ff3232" + icon_state = gang_name("B") + recipients = ticker.mode.B_tools + ticker.mode.B_territory |= territory.type + + if(recipients.len) + ticker.mode.message_gangtools(recipients,"New territory claimed: [territory]",0) + + ..(location, color, icon_state, e_name, rotation) /obj/effect/decal/cleanable/crayon/gang/Destroy() var/area/territory = get_area(src) - var/list/recipients + var/list/recipients = list() if(gang == "A") - recipients = ticker.mode.A_tools + recipients += ticker.mode.A_tools ticker.mode.A_territory -= territory.type if(gang == "B") - recipients = ticker.mode.B_tools + recipients += ticker.mode.B_tools ticker.mode.B_territory -= territory.type if(recipients.len) - ticker.mode.message_gangtools(recipients,"Territory lost: [territory]") \ No newline at end of file + ticker.mode.message_gangtools(recipients,"Territory lost: [territory]",0) + + ..() \ No newline at end of file diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 1031bab35d8..819bcc01339 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -155,7 +155,7 @@ A.power_light = 0 A.power_environ = 0 A.always_unpowered = 0 - A.player_defined = 1 + A.valid_territory = 0 move_turfs_to_area(turfs, A) A.SetDynamicLighting() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index eb05aa3569b..fbffa30e777 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -91,15 +91,26 @@ desc = "A metallic container containing tasty paint." var/capped = 1 instant = 1 + edible = 0 validSurfaces = list(/turf/simulated/floor,/turf/simulated/wall) /obj/item/toy/crayon/spraycan/New() ..() - name = "NanoTrasen-brand Rapid Paint Applicator" + if(gang) + name = "Modified Paint Applicator" + else + name = "NanoTrasen-brand Rapid Paint Applicator" update_icon() +/obj/item/toy/crayon/spraycan/examine(mob/user) + ..() + if(uses) + user << "It has [uses] uses left." + else + user << "It is empty." + /obj/item/toy/crayon/spraycan/attack_self(mob/living/user as mob) - var/choice = input(user,"Spraycan options") in list("Toggle Cap","Change Drawing","Change Color") + var/choice = input(user,"Spraycan options") in list("Toggle Cap","Change Drawing","Change Color","Cancel") switch(choice) if("Toggle Cap") user << "You [capped ? "Remove" : "Replace"] the cap of the [src]" @@ -119,8 +130,9 @@ return else if(iscarbon(target)) - if(uses-10 > 0) - uses = uses - 10 + if(uses) + playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5) + uses = max(0,uses-10) var/mob/living/carbon/human/C = target user.visible_message(" [user] sprays [src] into the face of [target]!") if(C.client) @@ -132,7 +144,6 @@ C.lip_style = "spray_face" C.lip_color = colour C.update_body() - playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5) ..() /obj/item/toy/crayon/spraycan/update_icon() @@ -142,7 +153,8 @@ overlays += I /obj/item/toy/crayon/spraycan/gang + desc = "A suspicious-looking spraycan modified to use special paint used by gangsters to mark territory." icon_state = "spraycan_gang_cap" - desc = "A modified spraycan containing special paint used by gangsters to mark territory." + uses = 20 gang = 1 - instant = 0 \ No newline at end of file + instant = -1 \ No newline at end of file diff --git a/code/game/objects/items/devices/recaller.dm b/code/game/objects/items/devices/recaller.dm index 7340eaccf8a..226ae801ee0 100644 --- a/code/game/objects/items/devices/recaller.dm +++ b/code/game/objects/items/devices/recaller.dm @@ -18,6 +18,8 @@ if(!ticker.mode.gang_points) ticker.mode.gang_points = new /datum/gang_points(ticker.mode) ticker.mode.gang_points.start() + if(boss) + desc += " Looks important." /obj/item/device/gangtool/attack_self(mob/user) if (!can_use(user)) @@ -32,41 +34,41 @@ 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 += "Registered as [boss ? "Administrator." : "User."]" + dat += "Registered as [boss ? "Administrator." : "User."]
" dat += "Organization: [(gang == "A")?("[gang_name("A")] Gang"):("[gang_name("B")] Gang")]
" dat += "Organization Size: [gang_size]
" - dat += "Areas Controlled: [gang_territory] ([(gang_territory/start_state.num_territories)*100]% of [station_name()])
" + dat += "Areas Controlled: [gang_territory] ([round((gang_territory/start_state.num_territories)*100, 0.1)]% of station)
" dat += "Recall Emergency Shuttle
" dat += "
" - dat += "Supply Points: [points]
" - dat += "Time until next point collection: [(points >= 100) ? ("--:--") : (time2text(ticker.mode.gang_points.next_point_time - world.time, "mm:ss"))]
" + dat += "Influence: [points]
" + dat += "Time until Influence grows: [(points >= 100) ? ("--:--") : (time2text(ticker.mode.gang_points.next_point_time - world.time, "mm:ss"))]
" dat += "Purchase Items:
" - if(points >= 30) - dat += "(30 SP) 10mm Pistol
" + if(points >= 25) + dat += "(25 Influence) 10mm Pistol
" else - dat += "(30 SP) 10mm Pistol
" + dat += "(25 Influence) 10mm Pistol
" if(points >= 10) - dat += "(10 SP) 10mm Ammo
" + dat += "(10 Influence) 10mm Ammo
" else - dat += "(10 SP) 10mm Ammo
" + dat += "(10 Influence) 10mm Ammo
" if(points >= 10) - dat += "(10 SP) Territory Spraycan
" + dat += "(10 Influence) Territory Spraycan
" else - dat += "(10 SP) Territory Spraycan
" + dat += "(10 Influence) Territory Spraycan
" if(points >= 50) - dat += "(50 SP) Recruitment Pen
" + dat += "(50 Influence) Recruitment Pen
" else - dat += "(50 SP) Recruitment Pen
" + dat += "(50 Influence) Recruitment Pen
" if(boss) if(points >= 40) - dat += "(40 SP) Promote a Gangster
" + dat += "(40 Influence) Unregistered Gangtool
" else - dat += "(40 SP) Promote a Gangster
" + dat += "(40 Influence) Unregistered Gangtool
" dat += "
" dat += "Refresh
" @@ -86,9 +88,9 @@ var/item_type switch(href_list["purchase"]) if("pistol") - if(points >= 30) + if(points >= 25) item_type = /obj/item/weapon/gun/projectile/automatic/pistol - points = 30 + points = 25 if("ammo") if(points >= 10) item_type = /obj/item/ammo_box/magazine/m10mm @@ -114,7 +116,7 @@ var/obj/purchased = new item_type(get_turf(usr)) var/mob/living/carbon/human/H = usr H.put_in_any_hand_if_possible(purchased) - ticker.mode.message_gangtools(((gang=="A")? ticker.mode.A_tools : ticker.mode.B_tools), "Transaction Confirmed: A [href_list["purchase"]] was purchased by [usr] for [points] SP.") + ticker.mode.message_gangtools(((gang=="A")? ticker.mode.A_tools : ticker.mode.B_tools), "A [href_list["purchase"]] was purchased by [usr] for [points] Influence.") else if(href_list["choice"]) switch(href_list["choice"]) @@ -128,6 +130,7 @@ /obj/item/device/gangtool/proc/register_device(var/mob/user) var/promoted if((user.mind in ticker.mode.A_gang) || (user.mind in ticker.mode.A_bosses)) + ticker.mode.A_tools += src gang = "A" if(!(user.mind in ticker.mode.A_bosses)) ticker.mode.remove_gangster(user.mind, 0, 2) @@ -137,6 +140,7 @@ log_game("[key_name(user)] has been promoted to Lieutenant in the [gang_name("A")] Gang (A)") promoted = 1 else if((user.mind in ticker.mode.B_gang) || (user.mind in ticker.mode.B_bosses)) + ticker.mode.B_tools += src gang = "B" if(!(user.mind in ticker.mode.B_bosses)) ticker.mode.remove_gangster(user.mind, 0, 2) @@ -146,8 +150,9 @@ log_game("[key_name(user)] has been promoted to Lieutenant in the [gang_name("B")] Gang (B)") promoted = 1 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!" - user << "The Gangtool you registered will allow you to purchase items for your gang 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 << "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." if(!gang) usr << "ACCESS DENIED: Unauthorized user." @@ -184,14 +189,19 @@ return if(!(src in user.contents)) return + + var/success if(user.mind) if(gang) if((gang == "A") && (user.mind in ticker.mode.A_bosses)) - return 1 - if((gang == "B") && (user.mind in ticker.mode.B_bosses)) - return 1 + success = 1 + else if((gang == "B") && (user.mind in ticker.mode.B_bosses)) + success = 1 else - return 1 + success = 1 + if(success) + return 1 + user << "\icon[src] ACCESS DENIED: Unauthorized user." return 0 /obj/item/device/gangtool/lt diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 9952bb3e128..8e102ad2225 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -329,6 +329,7 @@ var/dat var/list/validSurfaces = list(/turf/simulated/floor) var/gang = 0 //For marking territory + var/edible = 1 /obj/item/toy/crayon/suicide_act(mob/user) user.visible_message("[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.") @@ -398,6 +399,8 @@ /obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity) if(!proximity) return + if(istype(target, /obj/effect/decal/cleanable)) + target = target.loc if(is_type_in_list(target,validSurfaces)) var/temp = "rune" if(letters.Find(drawtype)) @@ -405,27 +408,26 @@ else if(graffiti.Find(drawtype)) temp = "graffiti" + ////////////////////////// GANG FUNCTIONS var/area/territory + var/gangID if(gang) //Check area validity. Reject space, player-created areas, and non-station z-levels. territory = get_area(target) - if (territory && (territory.z == ZLEVEL_STATION) && !territory.player_defined && !istype(territory,/area/space)) - + 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" - drawtype = "ganga" + gangID = "A" else if((user.mind in ticker.mode.B_bosses) || (user.mind in ticker.mode.B_gang)) temp = "[gang_name("B")] gang tag" - drawtype = "gangb" + gangID = "B" //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 - for(var/area/RA in territory.related) - var/obj/effect/decal/cleanable/crayon/gang/gangtag = locate(/obj/effect/decal/cleanable/crayon/gang) in RA - if(gangtag && gangtag.gang) - user << "Something's wrong... This area has already been tagged by the [gangtag.icon_state] gang! You must get rid of the old tag first, or simply spray over it!" - return + if(territory_claimed(territory, user)) + return + ///////////////////////////////////////// var/graf_rot if(oriented.Find(drawtype)) @@ -438,30 +440,28 @@ graf_rot = 270 else graf_rot = 0 - user << "You start drawing a [temp] on the [target.name]." - if(instant || do_after(user, 50)) + + user << "You start [instant ? "spraying" : "drawing"] a [temp] on the [target.name]." + if(instant) + playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5) + if((instant>0) || do_after(user, 50)) //Gang functions - if(drawtype == "ganga") + if(gangID) //Delete any old markings on this tile, including other gang tags + 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)) + return for(var/obj/effect/decal/cleanable/crayon/old_marking in target) qdel(old_marking) - var/obj/effect/decal/cleanable/crayon/gang/newtag = new(target,colour,gang_name("A"),temp,graf_rot) - newtag.gang = "A" - ticker.mode.A_territory |= territory.type - ticker.mode.message_gangtools(ticker.mode.A_bosses,"New territory claimed: [territory]") - if(drawtype == "gangb") - //Delete any old markings on this tile, including other gang tags - for(var/obj/effect/decal/cleanable/crayon/old_marking in target) - qdel(old_marking) - var/obj/effect/decal/cleanable/crayon/gang/newtag = new(target,colour,gang_name("B"),temp,graf_rot) - newtag.gang = "B" - ticker.mode.B_territory |= territory.type - ticker.mode.message_gangtools(ticker.mode.B_bosses,"New territory claimed: [territory]") + new /obj/effect/decal/cleanable/crayon/gang(target,gangID,temp,graf_rot) else new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp,graf_rot) - user << "You finish drawing [temp]." + + user << "You finish [instant ? "spraying" : "drawing"] [temp]." + if(instant<0) + playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5) if(uses) uses-- if(!uses) @@ -470,9 +470,8 @@ return /obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob) - var/huffable = istype(src,/obj/item/toy/crayon/spraycan) - if(M == user) - user << "You take a [huffable ? "huff" : "bite"] of the [src.name]. Delicious!" + if(edible && (M == user)) + user << "You take a bite of the [src.name]. Delicious!" user.nutrition += 5 if(uses) uses -= 5 @@ -482,6 +481,17 @@ else ..() +/obj/item/toy/crayon/proc/territory_claimed(var/area/territory,mob/user) + var/occupying_gang + if(territory.type in ticker.mode.A_territory) + occupying_gang = gang_name("A") + if(territory.type in ticker.mode.B_territory) + occupying_gang = gang_name("B") + if(occupying_gang) + user << "[territory] has already been tagged by the [occupying_gang] gang! You must get rid of or spray over the old tag first!" + return 1 + return 0 + /* * Snap pops */ diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index f08ddf39317..22ee1031980 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -21,8 +21,10 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A) if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1)) A.clean_blood() + A.thermite = 0 var/turf/simulated/floor/F = A - F.dirt = 0 + if(istype(F)) + F.dirt = 0 for(var/obj/effect/O in A) if(istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) qdel(O) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index fef4bbef000..c0ebdc6ed13 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -23,7 +23,11 @@ if(wet_overlay) overlays -= wet_overlay wet_overlay = null - wet_overlay = image('icons/effects/water.dmi', src, "wet_floor_static") + var/turf/simulated/floor/F = src + if(istype(F)) + wet_overlay = image('icons/effects/water.dmi', src, "wet_floor_static") + else + wet_overlay = image('icons/effects/water.dmi', src, "wet_static") overlays += wet_overlay spawn(rand(790, 820)) // Purely so for visual effect diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 76206f08ab6..06843b8b32d 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -144,7 +144,7 @@ if(try_wallmount(W,user,T) || try_decon(W,user,T) || try_destroy(W,user,T)) return - return attack_hand(user) + return /turf/simulated/wall/proc/try_wallmount(obj/item/weapon/W as obj, mob/user as mob, turf/T as turf) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index be61dd07461..478231185de 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -386,7 +386,7 @@ dat += "" if(ticker.mode.A_bosses.len || ticker.mode.A_gang.len) - dat += "
" + dat += "
[gang_name("A")] Gang Members
" for(var/datum/mind/N in ticker.mode.A_bosses) var/mob/M = N.current if(!M) @@ -402,7 +402,7 @@ dat += "
[gang_name("A")] Gang: [round((ticker.mode.A_territory.len/start_state.num_territories)*100, 0.1)]% Station Control
" if(ticker.mode.B_bosses.len || ticker.mode.B_gang.len) - dat += "
" + dat += "
[gang_name("B")] Gang Members
" for(var/datum/mind/N in ticker.mode.B_bosses) var/mob/M = N.current if(!M) diff --git a/code/modules/lighting/lighting_system.dm b/code/modules/lighting/lighting_system.dm index d1a24a9a9bc..7c7eb7264a5 100644 --- a/code/modules/lighting/lighting_system.dm +++ b/code/modules/lighting/lighting_system.dm @@ -239,6 +239,9 @@ if(!path || path == type) //Sucks this is here but it would cause problems otherwise. return ..() + for(var/obj/effect/decal/cleanable/decal in src.contents) + qdel(decal) + if(light) qdel(light) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 4331862da77..75303ca55c5 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -97,6 +97,8 @@ M.Paralyse(5) M.Jitter(500) cooldown(ticker.mode.A_gang.len, ) + spawn(40) + M.jitteriness -= 490 else user << "This mind is resistant to recruitment!" else if(user.mind in ticker.mode.B_bosses) @@ -104,6 +106,8 @@ M.Paralyse(5) M.Jitter(500) cooldown(ticker.mode.B_gang.len) + spawn(40) + M.jitteriness -= 490 else user << "This mind is resistant to recruitment!" else diff --git a/config/game_options.txt b/config/game_options.txt index e6116e80030..ae06f1b3675 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -83,14 +83,14 @@ PROBABILITY DOUBLE_AGENTS 3 PROBABILITY NUCLEAR 2 PROBABILITY REVOLUTION 2 PROBABILITY SHADOWLING 2 -PROBABILITY GANG 0 +PROBABILITY GANG 2 PROBABILITY CULT 2 PROBABILITY CHANGELING 2 PROBABILITY WIZARD 4 PROBABILITY MALFUNCTION 1 PROBABILITY BLOB 2 PROBABILITY RAGINMAGES 2 -PROBABILITY MONKEY 1 +PROBABILITY MONKEY 0 PROBABILITY METEOR 0 PROBABILITY EXTENDED 0 @@ -103,7 +103,6 @@ PROBABILITY SANDBOX 0 ## Unlisted modes are not currently supported for noncontinous play #CONTINUOUS REVOLUTION -#CONTINUOUS GANG CONTINUOUS WIZARD CONTINUOUS MALFUNCTION CONTINUOUS BLOB diff --git a/data/mode.txt b/data/mode.txt index cf1ffd5c991..3ee55accb2c 100644 --- a/data/mode.txt +++ b/data/mode.txt @@ -1 +1 @@ -extended \ No newline at end of file +gang diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi index e22bf5c64b99618c80c69554592f042a63a5176a..5525d3b1cbfa9e326061ebd86e2db5d4c58bc72a 100644 GIT binary patch literal 21333 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 literal 13093 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 RqW?2sXLH)R@`z8ue*rFGw88)Y literal 2722 zcmYjTeLRzU8^0Mgl6ec2(?)6vo8rWghO(kM7+EoDUdkbFr6k!)vyjy>I=v8vij*Qp zB4MKrm8g~^)F@;cn~`lcdu~t9^L(B^?)$p#&-Z&>zw2}VuIu~zo%i$EwOnVF4gdhl zy}dmBK}%YCU|QgNF0)^enFm_pXfIk~;{$aZf6KBFBK$~j*T=%rt7X=#OUo^A zPCvHz2b_Ktsx0w*Bj7q{tyAeg3sY>gZDmI8Zclj1eUg8AnoKF(eXI8N<(F}Rfj0o4 zwoG&}btrGexvN&^p+MG5ng)Pulb8cE>uho6>ecL38C-3;{oV>51f+vx0H}=gXJ~ts z`!na?zsC-J>d$?6ys`9-zlF(cPU*K)3n_&S?$%ZV}8y1mW}Ytk%I)=EJ7isv>atz;^o) zI`RM*eCv*2IS4bT{hHLNPalKVZO43j{0WuNaR~D?)0d5QJ8&prOd>12KUudej#vEd zEWFq?C~@)LWGeH?FVyA>sx$ESee)8TYxQJmPF+RZDztR^g4pT#fVl6alqx2XmDRE| zY!yfc!Gn!_l?mXU^41iyqsOt@yu`c4_HM`9mZ*aLdaPxO7&BRpne4MVz^Ke`jJGm8 zKg=BtV;8K{pe*o3HMm#0>MA~8BdmdiH%bdd36cNE=9RJF7mc*iZ65ilQ}gl#Elu9k1X|*UPr>3L(nJ#O0J0g zzc9QGkx1=x6fP9`j0??F`DelhJ&&2Amcqu3v~T%YEAaXZAN18dhKm}*ZsVU=BjVfz z>+C$c*f_G`$^%!FRr?BJaQg#)EeH+$9d~-s>iYB9oPt+afP?2X2c^w^%l&0kcIoWl zIrin_U_%!7iXU2zlto_ z^(tUwgRBW(?6gftFI;AS@n$IMr*TmAUnYx=>CGgir3FqL74hDMyX{Kj_r_v`6 za-YDUsNi}<$?K`9slMNNt_uc`m$ef+PIl{6_^M9bGR%7L;rW9wQMT=T_OlVoiLOr4 z>mOglfMCy^-k9yTf|a?^1?;WTh1pVC-`?Y|`erpqEP@CIkvpQvpD@~pk z^YCLDNWK+akYKI|mHQR_-9EuXDVihNy*AV;*x?VZtyQc|_ZZ0OfZWDZ67JeH{s|3X zSOAQWw4RlF66s$Wj2?+;d!#!`dGUKk+?eY^IMW**vP4ZvWz+-4rbUn2{*||b8x{V6 zy~HIIwf$8v_XsrJd37*Ae^h1#xHD{>%dA`G6C)x9>@S@5&`+H>@zF1E?n;&Qo+TBX znY!t-E})YA8I(fdk8U5BgB$fsR1~e!H&Foj=4eiB)<LgkB|DE>T-tzUj*>~XG_l^mLxdGfm= zEtX72$Z6{^!c}uFJl#Z*!|3<|r{|_GjHj6#JZs1N&Eflx7uob8cFsLt*pt#u(i^C~ z9leT^Y#|-pu6+d9OjmQ)Iue|XnHbVlbTOURwrX=s;3SvMnzm|1nil2ItoB*$?K_=E zjv=OgDo*M6c*LZUCq8XjJT^v_b7>#`Vg5%tFls*A*yx!rJ^41r?JoRWbLe2u^U(eR zcjITtj|MJ-XSg_J8Bo$UsZB@D0zmkK5AQ1J8DU)m^+JKC?EZ`-ZeXh6D-|VYbV^Jy zl);G;dPNB5A)_zrv%fSnDx0?*!{$nZ!68;YPm~@;UnQyoUKk8U9k4Pn>27qonUeMu zn_ZSxQS)#vgjYwjmB~=;76Fu&^61S>>~N%W%zt7(;zFGTP=VtgEK%j|fEO6i3b+HoB7l8ZzRZlBk-Cde6lWJX6%vi@qM z3TT~?tdx@9proa6X~xpDMZM^mKg;%J(<d^2X@e z-o+vABqckOl9sbhJLb=Cg?!ixUW`ysC8%WF2(0}aE{g$Z1|B$D5)Jo z)<{(Xy78!*IRl47Zouj)Ic!$0Ry9x3tjAi4GAtv0(oB8qAuI!3U~@~Ys@`z*2?KV& zTy=`(0g;N+4ERnFFew7YUmc2Ik8+B+tsPM$ncM$WQmzQ-Ces^25i# ziqn5Z>r3gZO@GfpYKE_3)tfG!cA3%oy diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 84ed7d9fc07ce331381ae6269c5db58e012e689a..4f1f25c3a4b1b83c3349b6800ee9f181a3eba70d 100644 GIT binary patch delta 2632 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 F^uH2dz*qnP diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 5ad942985510350a814260948d5d0e6a06e4bedf..3e50217bb16336e94e373a96a34090091539af0c 100644 GIT binary patch literal 12780 zcmb_@WmFwav+l+=Ez;epy+3Bn?3t#!y1V+Rs;7!DWkqRBG!irr2!#1TMnV+?f};X15DFN0gU4D@ z2mI*r_@wD9Vfw|`${R^2h7mk|{87Sz90#eVjEK|XJ+fQSkiv>( zAgTF}qfeJNo{UBy)ZWJ0Df9WS&uja&?%wxb+&CWQ#XZG7WCZMwZXN3`m#%IvUhQnO z*_vJT^V+k%7MGe%D+wFS#_&HWwoOkm@tCe1rK?=OdBjs7IFf-W|ELEG(Y~nA^7sLn zE127f#35ko3=MSpiPTJEG1wm`I%IzK0n1DEyGJK&Fbz3%4n{8a_MFh9)0d`fJ5&wA zr0+I#D5h{WHba#?Y3*_Zipqpr8mnTZo95+Pwz~Bk)(nm3XxEUEV7FP>16revH>-v` z8c1iJ+XCWmkuAIe3||h0=nMI*abcm36>uvx|I9QDe|pJYnArHdat%Ktr+v)c+Wf{j zOWk)#&PrqEPV_VoElM%Ni%07vq(c@Od`%<{zOeLrXJ;m0`M`W>=P{E3mAI_FLmyyMHTMfad-;b&%W=O7+|V?P(BGzR19!8(d6g}-rHFkW~j z=X?IT54C+{%XvDHI4WSQ_$2-H{^673ufNNeU5;zr-Ivpz4zr)I{VeqpuEq&#K_Dv7 z2MN(nZt2HAAUdDap8JJA78MrC2!YdgmiR;=G4t?X%#+05J>sxC)_Ti! z25Hx8F*|8BKiN$;9NYCC?{4iksL~X{LF^1TbTjv*3cW!m#u3F?p+cZR@h3GAK@@ce zzzC&6v0LfjM?e(4qbyM`!(DjTpZ-buJtO4rmkP~VtAt9ob0bH7K|x(*E3p|wS`;xZ z)yu_NYa)=r`DQQHi#YCqXx|&y^Q|6gBy=62*D!@i&us&#;wtH_ZgKH*`m0R0{B{AB zMuh}n`(Zr2{r<-TakcBq%gffOnCNJAHJ{6!QN4ZPs|oSqgL-iKsQK|yEy%aZxZeoq zKAeWSBGrH$0p2u!n5nE!n9@_;&Ez+q8Vr@1n!0)_At8a9m-qACpLnHDv)Bjh%IZzU zm#^F|u;qegecZDZ5`6NiN=luPOW)re{a!A{wW**z8?*`kPkq`TQCyIY;@74Y^=KlWv=1tZD z9Y(kUJSgwyPg`kV zygYo@Th>&0dQE1+z`(%uljhSoc^Dw>+uIm2UR-1>G7$#{ww&DD_tW-acXw{o{QTPS zdrW{>o|$gg0Y>r4uKREJkae&@3)bk;6Il)+zy8WgDtx|zrYwNQb$VtPa%>ua%p{mF zFEKl3sOFu~-L^l;&XcQ+<=av^i?z&-mpP-*T;7ku4K;Te?oMwfb6L=P4oP#F2K&y; zd^jKt8rUh{si4LNT7vU^ZG9xym47nCJRD|yN5bHd3Nvc!4?2x7qWT4cQP1&`~2 z`4tAKUpi)lBL48--^!iXD{JqADEe?UHNfjw~I@tC>7THtl{^0 zN#~eRGw}+&RuD)(vqDTlLZXIKMWejKtOl;3?OaXJYHShb-_BszF)sh?<*uE7l(f%6eqRsxsii0_n6y!b|x#$EP=SO-!fMdKV z+)aS{A-J}#;51uQQnFR7@3T##0a@MNeS!(Q9N@36XouaqUW9dwWhAWitLq+nWEH&M zD(}`@Vn)YkMqqs!Me8_-?X%-r-O{KxdOS{>e(A4BF^!*15w<}Qf5)^Lqev&BG0Ru zsyzs?bu>4!Sgj!=b(Ay;0(bBktIwq4JxkbS|%hVmke;w&}q%001_kb_(4F30k9SipYu@mzhAVh;GSmJ+Z%;-(ESgcmk zgN*0iOeH9agP1kpt6rw{idnBkb45`}iRc$+_VuMg^<2tVv!OJ?cT)Zqy>7N5{|WMa z(c}@m5k%H@Vx0()difR1wRPz-aLgB9-j*~!S+Sdsk$t9b@w#_szh-bhMFP`!Tr!C?IK)eJ2YQ%Ns+M^6~u`-fHcL+hYT zA*#y|VT6~aK2K-nHZX_a@I|ZNdzPG$+rvqun)uE~3+%Cjd*kUdpX&P)%}uD7nB*p= z5Zw-~{WQRw5U8`bhey*(BuoI74fI+01O>@I^Ck=oS$bHttssAVz?T5Vmkd8sSDq8B))0Qb^opG>Ja!t}Ix{J~MqcbC5ckwt&K_Z}EV zpsHxh!!MadE17-MCaj_rj+dX`v|kdX@nYi7pM0^2thk)}bYWMLAEe|dEXr#fHi%6d~(B}xL+o(l^L38xA1@qh6`DA?j1 zy{|P=B}JyLf8@LUFNfcu)k1J%4Hy}Ha&mHDd_1Jnz?Z54TLKLYtz*h6o3&qOW^T8) z&UTs2W=|O;vXLz=BQM_r{04!-!opImGFh1L`XWhpFBVRI@H-mIgw9Xq2f#Iw)_&s} zhVMSoJJC@bsKkoRNochqWC z4b_as02gU?o0v*L=v>5%mjE&Lgo%(pRfmD{&%@q?`=ixX(hw~2u8F<@gOOx*texBf zA$!d=>_g;(rF?WNE9+i}7FCp2`cJsL{Cq=2t2Z1p6+b}@oLPB!bksC7Iro0yuq^N` zHQUIfZy*$HCf()tOfjERmckgaRZIg1W!kh_9Cg_vOG*MabS!Q>ncbMpEV5O}>GtIJ z+fixEr#atd6*iVecDfz|mN#9%I;FkuOuqlVXp3sSs>*XtT2DfrmNk-RER4LGy5%lA1`_8kU-1wu zI8cV$CaTS1b^hlXIbcMTh+xq1=m3vNXk~LLMziaQv-@L6i@*vY-qy8=OuYh|>&GWS z%zv;fI)@V0uYDO8EvxqFQ=ySic6K%+Bclc3y^Ox@^?hMBYi}dAgnb@Vu*uc6Q6Ifj zQZkrSTx^9RlaZHeQk>5mgD|2u$!ot0dQUGp`1|aN2W##8YX)Y?qd!%lnUL%ioC__b zy*W_{gdfo!Ql{+1@n+IHmSY@TiCteKMD(5(`xVrRyV*^{Vil^jK?LU9R*2|a4*8~X zmHXBPe{eSR+a(zl3slGL5N~On2#gq;eHN&|$@vlkOR6LKgZ}Kv7fVcN;Mcn-xEGIS zW+>VbL*v?+6Ik!4awJzqFCBvj6Ef?CvdO*K(WG!BmILRIX#cx6{C@?m|E_VDQfMY6 zBTsv^a2xMOEC9jp*ca{9AFdG=08H? zNt*?miH)7s&bbDs#HwDxdD-}%hYD!L3&jldf6h$02Z3S+q|tyYJR>d!-@GP{BrZdN zU7v;$T!t8*|OLtj%-dfvr{wF#0+-p-)qYBK>vi`U4$uu6WOrAaBeShAiOyr_d z&gjgWyhDv=Q0g1yUc;ae7MrqPgO=}2*Rw*ejt{4K@mWSkFwE!2et$*Oa<9b(-fIcS-Zu+zTkOWv7!AWDD( zm2Mvpe%}IK#X0JO6){!iv3q$a`fI5s5?5C1hniy=ch@!hI-$jRJHs69NWB^qZQu_lWy! z^+{+lOWAEJtu(|94h=1;j3IjQ5%ar}_ z-t3Dan}LMTP~|98atJ*ufwIi6#P9xs63$8%{mXyH2K>J%JAg2sKbr>uS0f90mo}`V zOgpHe&hFLI*JAw?W861i?pRPM$jMoBn!iS+c|SgiPTrVyyWtM3zFLX3a(v2;`H3+DVWC-t#t2-57N)$jCE2g%cse>L zxUP?Ef2==&0+C_Pj?296PoMiJg=^Mj)iO;OSpVJRPkViRp%acgC1~F18dQ&UI6f|p z8r0zeMkuzn>fv(xuY;1>#J(Rdv|mpS0ay`LN2%LBy}P%%O(2ljSbEW7EY&|BSs&m|?WP>~HN{ZHRPU89Mo++R<>XY<)Q~`- z;o)8JNDy+$h6lz_8fA?WpVJufCE z29Jx2tE{d*cXYQ{W3Hm2;-}mE^*%_5SQ$N8o`toQ9|(UwsjKHyS67ej$ zE)ajp{QUf6E?cddr>d$d5YFhNvQUH}jNNa%zp5rixk_uO6DnN>!; zXdsc()z(?QSKN?Z@TZrQta?a0+FMAi3Iq5SxH#xkL~Lc;sEMzaQYU~Z|81Wx>_Y*n zH0Xq9+1C2ut*)*fp#hoGKmtkSs?@?lrox3y25|5Rcv&g__&~?b-chhzLBf4A#zv8h z{1#R;YcHnX0P83+U#@%pcsU;N01pqp6eVP=Xk}Fc`JwY?t7cs2qr#U?eT1!l@GYuNWKp#{i33x#RrYkt|6+BObkZjI|q=+ zt~)Y>H_9kji5v{#adXYy(b9@y8`v0#qs3b8kD=WC9#8Lt8O>6vDVp|bP&%3nRb+K2 z)5XQ5u>7k|Lj3#BPimRe=J>MMG_Q!)iDS9f=>tw!IMd0kh-@eIM#?M{M5Fv1POT`N`SsUce^{U=pb_}t0DREm;E zuC&o@$Nl5iR%&;1dE*nF_#-x4=u;@eYJUibiNiKGjf7q(XSP8g0GR9*o!U`Es{{74 z)BWpZmS_N3UHknG>FCw(xMd5@Dv%J{%QH{Wj^{oIFdDShp{BH+N7@JQDWuxHpFj&y zhFg76g(W2))oR}FH;av{u<^#t|8QMJEtxIed(hK7gFk7~xz zN@I)w2O(98R^Uo-w0pAJzMyu@H<7D78I_lN@D~*$Bg%5Uy?vb$tJ@*R6$z5DN_1je zk_MQr>@o7>ck@1skmZ*@8b;~8F%kufv1sw>g`s|R;e5j-wCM35JVii>Cum5Q5)4J7h*!dZ7roizlP ztF>X!a6zyRz}6FrDT!K3iZMCXR=ShvFBDiY1HMX_`?X{sW*!J3{QoL0ZyI!-H1&mBi z&I#9c>EI@z$MWKEW@RWL($~^&HCMSUIVSO}fv7b9UKn(B9B5Z@mW-_%+0Os#2-$&Z_C@ z*MI4@5U>qU_yFA(7(v9!HI0peGT|Z=o7zW1M3HMCn+9P}%9yb+<2zMhE4v!>ZRwb` z_@41&y5-uv!x}%5x_;3WuvYTPY@#j@@Tq6#uPFwEZ>Xn}jH^(Ab5s1%%1WG70Sudk zO2hC}mD@ER;lGx2?lw?Z;Kk%JIt>8XZZT5lbGu=- zgv^>$fBP0tS5wV<_4hZ!jl7S){%ZZ}kjeyQhma z$XcbcL)w`PveF4N#g8r5#73{SjF(=p~Xtd)mB?h4#Js;TNOH97*u2 z7zwqKi_5trn%%HKtF&kesEG&*kSD@$N|c@}20rYL=14|h)R>PGf*zbhm4u&uedg8X zI~j*!a4{{CYjHLHn&Adg5t76}7U?YEf1g>pYlX{~mm^dyc!j>Bp+D*T@|y)@;B!UB zm3DpGc=y@3;H^%Le9L(sY17Du4=IVv@=eQuDy}QxPiwGHafX=A$BQm5UdmvL=n^zG z$4!af&#=7H<~9wy7rH5<9ib@BhjW;IetvtCxyWrpLl-;W!~f~z2OmMFV8GdFMSEYx zX(RFrBD>)GSq;Qic}Bo$fqVfBN2nCWqM@hnqY~_^Th3|Ib8DI!`=9`1HC7v(6lDA%i-aY7ZU$?5SWxhKdkjp5lxT z594V{A|E9{4rYq5EdBlc+3Z&Z;6Nj093X?y)c5`*^c~vz*eg#HKYadx{*r%Qlr-*S zA!)z-m+0w6OSFIy$Hn#4@s1jIGw`J7+rvp80%^|r+V;p-5V*e{`bS`j=!y%LbIs(I zpWyoQ>q%CS9#pyQ*nhGQ{=3GTInvYzW7=>aQZBnb+xlJ_Iy(GJy9M9N-SMqnq6}$> zE=%?EL)3vnRZELNXJZ#X9^fSX;CH3r zc4ZM55|Zl~LzP}s(%YjSIbZvF2Wu4|YuZ%vG(LfNChxpRH4>&%e*NMc@qk)_L|}c= zAzXT85WCd79O20bH8Hm&VLDEHYx5D2Px2UbX`^iKg+gS}A&X$=*OkIuU_^M3>dlJ3 zZ-$>+#TEs|-kbG4#SWIv{5{Sr1P^Cb^RVyVEeE?4;<%~bdf;#3;VDl~__|on|8+F? zCaP#bSsNFoWGuYF{3k64a6jM;SOieEDmN+#DI|{bt&9KU78VX{M4+Rg;bsO{*DT_Y zkR056fN1SuhmjkuWj=7&aFK5MyoX!Vu4{fQZC@wTt$be)DMeeV&J@{KfV7^@^poR@ z>c=Vp+T6v21xfv&oR&AUw}__~{D&28S1R&u*J?+ehb&ho)5wX!PpA#&QVLh5q{^Q( zsl4C9LtT)t$jf{5VNg(=rXP9|5(XwbJU=L)Ia5lcL!|MiGrG0iH7Rab=zxsLaU}@U zsfzj}KM^+k~~*l}DM z#vs-%+F)T@r}DWJD?!-Gui%>R*=UDWtI5yXQ`herS2EQm?Zebc)EjLRuLK8LUl9Vl&{Qc>%MRPeozn0mg9*v z!-t}(ek~ee-x}1v=864xKi3B19Uc0y{?2$JXt?9dVBM8SxNo~37RuUQAz|^-!IYF@1`{$NXz+98W0R>vk4RO8`R^qco{uVi9p$<&W;jr|e>>xWr6jU^EKr`~uit~# zJM;8uY2M)iyVzCwg0LK4_F9QjFs!)vO-Nygq`1{VeGiaH z2?P=%5z9ax*kOsVyjhVbp zcj2`F2!y@(w-$gn0z=kN!_Ev#_PW*2{QeX;NH(e5*ub3MN{IokE(f5oGsl~-jo009 zWc;o#x@Kk5`HjW*7-@I71tJ3sLnbS}_@rAGN`8iv0yEvt52_$p^*OBQvMs0rrBZML z;dN9T`y@|nQj8C*fx!ID8-sAl5aZrnHZ0QUao9C)=^PEHqcnx%Y#oBfxsPr{AOQGL zK|w*OT%EoJX7hdRux?QwnIjYv`^ECcHje+638DoG0pxRMynG8ND@tU&9%{zJ6%a~h z!?*flXaxjTOrh`6Mh|ylnesI3UqM%I-oJhgGoBSc7cVvLDEReQ!)?>CM9jhF*$rNV zmR~SQ>({~Q`W&N0CuH>87o(-K2>WGG%p0rTdodqh&`aru_QaSXD{Db;9iPC%g89-J z9ydOiucyBSNz)5Qu9F6^Tm4}~yv6A9aXso#LK21pHG#kOo}9LIPZ)L^l5vqGz2*LU zY99|YZnKR=Kzv}t!a1TIMrLLkLR}tdic-ru$ir7PKEKcL;lxhzrB)?lj{bOPxy~lc)^(DXdp%bXBl~8P7*_#mWvbjEzIwfLXi^K z8b%;2S{~UEnWmFQT!`hzv3TOwEU*Zr)>9RIyZd}7;GPiX60)@WEY=(8peLg*|F%9~ zAK?3QG}ygLiM?4HF1#*V>zfYa52uVF*f6l<4IKXQC!<l;vi?f2{mh)IdXsoO032V*Mqygd;jdn##6@y=^5}U4f`B$ZA!CTZ;1FVy zlNnFe>TF3Bzb9@=SiY_XRywOQpz5mafeiW~JtaQ%jWuFF`4m%gB2;#$y>!w`ujDZ` zqOD>($yQ`;I$?l$CBj}73{))`8MG{ho=dj(D!tmiE6O8#h)M4X`$*(4(%U1Ee|1b? z#V7~?11Hg;=ouFp5}f4&^VT%c3(f8hMgZ}BJ@N$-?m9gBLD5loFR-=B8oV0eLa-_O z0&W#LE-hDu=jT%ZCMaYNTq!L+hJ7%Xa{=J4-yrOgzaHA_=xDSA+g~IG9`5R@#Pw_o zlrrrM6v}`qlg;yf%Kn9_n}TZAN$hpa$ujj4P3jf3NTTOUN-|!rm*=RcjB5>(Ta8IT z%8{B{RHbcZ%D(7zLEaCNv-4l&BLaNet((N_-b~8tuu;Z zqJGCLi3pD?0@PXAm0}`LpN^z72pJ9(Bq@y}L`9Za`Z?mUMSxvFd7O%DV7UL*vt7F1 z7ZeyAxLzM46wZ+8h09=LTD&7oa=cedmHrEri|#8TU`0f|Ofi7zZ8q=#XEfSaque5u z(i{)oi<=UJrJ(}k6suW#8jX_mJWv}SZn9l7g*5q%gOj7Lg=OOO23tj0o)TlVpO>AE z^*KD%N*)E;d;lBy*rlRV1V5IT*^xx6z9maAQRc~3NBLH43PIeV7ToZ41N=RqM0*2n zJ(H9>yL+}|Z*Eiw`*oo?4tz5gW`Cv-grvFs0Snj@sgyDdTIndU&ncLmH(ntsxprzS zXig_vh6?X2dva%6sOEZ%Mp@^s;C&l5jVAMgg%cwe10qA2-l_{?t0tpX3G0s{JLrq1 zUU$m8kpfikFIuGYLYB4*BY%yHdQjM(ePVB&v`1~+Mot~s4bc>>y|}!4Hgy$4-?bA_ zwM7%c)`~hjzC1hI&1w`8tbB5KVV91W{@VjpETqIq>2+F+FtjK39n0rreg*>Miwnnx zvU;Pn7~#z;%LlFfBv$UfnwNYRab75(5%f-**yCo;53rj$#qEK1f&p=E+MF3m+EguV z5{utnk0~(Stj-Drr(QZN6Zuq@{?mG23ht>DY{#({%-^3`rkTg4z zP=>Sb4X032yAI6xHD4%H?uPtz$2J&Fzk}xXSM~i}t`f!?B#mXoahDwAo7*290p>i< zkiZ}nB1678?T^cqcHHdwFp|bi1Uj2`eQ?5YcgD-vj|@5EkVFLw+lC=Ia)1PfP0;gbo>t(5s{@{5f=3Zp5QhE+-?? z5lznDQy?NM8@}l^Sd`4NKTI5cTkxperP#P~s;IAc@9qVw#@w@TMD@5m32Lr;gcpAL z%4&CirI=;Sn)QVZ?eqybxGbvod(|LtQ;GXhYa9Y{SpKF^VM%535-_a`p7o&T&XBA@z(0LxLcCnziqgHQk=E? z&W7a*FyQy3eIAD1^xoMnONhfC?cizXL>djsqzZS4eci1TW?>mEDWm}a56E5{_3ll! zHXjjBj1BxVmmt^s>p1|&`eT-N5y@hnQCbx5Ghe zKhV~dsyPlYl>{H!gOxOV7+1`iNaN`hy0+z#9H>|+h5tPJa+tp{AmhU@mR<{Dxxb=kP=S0e>J^t;KqmX{O>SG16s)ev*D z>M)Wh(mk@mUpTuYjLBs1IOh2MZahBd8%(xoiz5tQErB%;dIsW z#S7xF%(mrS1A(^n71yphV8)t~(++(-7&=%QX&2Un1k?yhhLmW;JP!> zgV5&rYWis&|2iVec3k__CajHb3rrJ!ga!Nd=TmJ2lnBEPnHHn3|5Ww5a++4i?wD zd}1?nfbAxa+6DF@Rx@Sv=JAn<15ZxRQz72Qfk}AM%#n@C6}-_xQ8$yE7Z+Qi!oKfC zr9nPh&8~fSmpIQd#M0|}YH19R(7*FbXC^Qhp0KIvOb?KWd z>XzD1t@~BYN`7p(ik^(02!<_I4(4PVL-gm)%-MN z2b6m((T&p6RMW?QsbTtS15wQYbplGc@S}>PZ%^9FKL6H)>yIKuW_C_(GpVC$tGb9H z<;J?(Az`y4(^D(o5vl7nayUZa4uia9Td0Ktt?6`+^$8T`AB!0C*7WO#*kl!La$EKF z_ENuni*>%{jSjM{c$7%%2B^l=-$n)rTrD%PdyQ;}qHba?2;amY n!oZWiy40)xDjeE^!QI+gFi~{<+yefK1N1>sQKDST!2dr0-1cDd literal 12314 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 diff --git a/icons/obj/crayons.dmi b/icons/obj/crayons.dmi index 7d3489285c387f9cf48abbb9955dd9ea9b700403..a3966103053556d20f34a4642bb5b4f9ae7b9305 100644 GIT binary patch delta 1057 zcmV++1m64D2bBqs7Y?8Z0{{R3yb+fl0001lktJ|{z`(#+Sy?eLF=}dRR~Z@10093p zGlz$V;ngmn00001bW%=J06^y0W&i*H)Ou7{bVOxyV{&P5bZKvH004NLm6Od1!Y~Yg z&+Su`?JoXZy~sp%aIY}BE^dXcEotZ6+gsgD5VKnnzJ!pEUE^DgC3|TN^KkRAsYAmOHzapRS_l8^pM05l?0#8p`@*q z^sC@nIpZ*pdsYlzH@NPSfpzP@JATo*xKzb|=gVI;6DqAZj9~r%00Q4hL_t(|ob8(1 zj@mF3Ma}&V2_{o$rk5m&f%5>*;LHui@BIDS4%NpZ`NYo1Acvf z;5Pt%L*O@pe)9bG!Tb)u{0_nVj==mz?>7d1Q{XoTeoNrD1}hl!Pl5g^&_4zGr$GM* zA%qY@2qA=!50j+HoiyoM=P#12-rmt$!Egs&Dg*fo$iF;&Hr2@^I(3fUA7sPqt8AF% zvf=Bur-rG1k5h1e*n9cCfPD1*_386}sZJkp3hq4pQ2&Om`!81M#~r8O&U1cI{|3(c zM^@?Q9hac5AL?J(gZ?Q{ALi2i$M)MyN2H0K=$T&VmEP!s zPT~{%ldgpbA%qY@2qAQ z0*B7v6$^O93SO~s1<`kq5JCtcgb+ex@+)0ixXFtv@fzk?gD6;*|IOwJSTL{3F8d1w zbCnfJGR&12`+@|mUsXwl#qFwKV8O?SC-|;0SRj`R+;$*oAM)I#^6M0ci$E-p7ft>N z+mP!Fq3=HTY5Sz>kXc^9eNM!Gcl;X%SAnW2P<>p`bNn054wjYW<6Euo_%;Q~(ofK9 ze47GF$px|^;CM)j0)?lbI3AK$%@p}862I}dK+(L(eYP3D@hu8OvJZwTK*8t*(buWq z<6Bhl{8btEuTnw?Aw;RV?%F`c9Bb3HgM?AXT19MV{fk_R` zuH4kd(%~{O=h||1cM#;kG4(HtyF(}sj;W8$G8F{nJUHq~9_g!iDF2PghT61(8(CgA+2LwRt_xe<^)>f}5)(SOug1B*}}<>6_*PWj{{ bK7IoUsc2K~+Ez^f00008NkvXXu0mjfaAyhe delta 866 zcmV-o1D*Vp3D^ga7Y=|30{{R3yS{WkjmkLxdlq;YRT!<8s$O)y~ zzERmav}UudXUp=Fb8#(iRV|8p#h-vdJ1Z{YyxVg&>n;u{IUPA0K=(sjlMrQu6lMzL z;w(acmvPo<45@bD?16HGHU1(UO4|bwUceYP6X6~KERk)^MBTwp=nWN~2OX*Gs7ES_ zQrnh%h}OOSk`!S?RYXZNJtQ$iCBdh2C}|rd{U*3k&NvL@o(;o)4$ehc7oRVD0|_+^ zBW|FJBQ0&Tqax=e_z=$;u8{|&amNpfen`{Y`ETF!|e_mPG?gXpD*Sx zzFaL~e7#x2_;$C2@d5E062B4g8xy|?^~2{oB`Es;s-V?0ycd4*=U&izex%nPe+sA6NyiLy)=HF`}~%q;KAs}`ZrG9 zznqm`uOtNz#`9(U8zt|L&PuaxF7Fu0<0$S^nzw|j-&xqsAJ z^V<}tDx07wzfA$>aDk$HU_PZuMS;>N2=ghSjz?s9No@JNKpFqYEn~)(-=aWI=HR0W sNU-;U?BA(}=eMX}{8riTZ>8UpKcSUCZ~op*%K!iX07*qoM6N<$f;}COh5!Hn
[gang_name("B")] Gang: [round((ticker.mode.B_territory.len/start_state.num_territories)*100, 0.1)]% Station Control