From 84016ed3efd29c83887a76345f8f8fed163b87c1 Mon Sep 17 00:00:00 2001 From: JTGSZ <46565256+JTGSZ@users.noreply.github.com> Date: Tue, 21 May 2019 12:30:44 -0400 Subject: [PATCH] Here we go. --- code/game/objects/effects/decals/crayon.dm | 1 + code/game/objects/items/crayons.dm | 60 +++++++------------ .../code/game/gamemodes/gangs/gang.dm | 2 +- .../code/game/gamemodes/gangs/gang_datums.dm | 10 ++-- 4 files changed, 30 insertions(+), 43 deletions(-) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 34263ef9a4..0a0348ae39 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -3,6 +3,7 @@ desc = "Graffiti. Damn kids." icon = 'icons/effects/crayondecal.dmi' icon_state = "rune1" + plane = GAME_PLANE //makes the graffiti visible over a wall. gender = NEUTER mergeable_decal = FALSE var/do_icon_rotate = TRUE diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index b76a9b9c98..859369384c 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -68,8 +68,7 @@ var/pre_noise = FALSE var/post_noise = FALSE - var/datum/team/gang/gang //For marking territory, spraycans are gang-locked to their initial gang due to colors - + var/datum/team/gang/gang //For marking territory. /obj/item/toy/crayon/suicide_act(mob/user) user.visible_message("[user] is jamming [src] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!") @@ -290,8 +289,14 @@ else if(drawing in numerals) temp = "number" - temp = gang_check(user,target) - if(!temp) return // gang check + // If a gang member is using a gang spraycan, it'll behave differently + var/gang_mode = FALSE + if(gang && user.mind && user.mind.has_antag_datum(/datum/antagonist/gang)) //Heres a check. + gang_mode = TRUE // No more runtimes if a non-gang member sprays a gang can, it just works like normal cans. + // discontinue if the area isn't valid for tagging because gang "honour" + if(gang_mode && (!can_claim_for_gang(user, target))) + return + var/graf_rot if(drawing in oriented) switch(user.dir) @@ -320,12 +325,13 @@ playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5) var/takes_time = !instant + if(gang_mode) + takes_time = TRUE var/wait_time = 50 if(paint_mode == PAINT_LARGE_HORIZONTAL) wait_time *= 3 - if(gang) takes_time = TRUE // gang tagging takes time. if(takes_time) if(!do_after(user, 50, target = target)) return @@ -336,8 +342,15 @@ var/list/turf/affected_turfs = list() - if(!gang) //drawing is done in gang_final() if it's a gang type - if(actually_paints) + + if(actually_paints) + if(gang_mode) + // Double check it wasn't tagged in the meanwhile + if(!can_claim_for_gang(user, target)) + return + tag_for_gang(user, target) + affected_turfs += target + else switch(paint_mode) if(PAINT_NORMAL) var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot) @@ -357,8 +370,6 @@ else to_chat(user, "There isn't enough space to paint!") return - else // gangstuff - if(gang_final(user, target, affected_turfs)) return // gangstuff if(!instant) to_chat(user, "You finish drawing \the [temp].") @@ -382,27 +393,6 @@ //////////////Gang mode stuff///////////////// -/obj/item/toy/crayon/proc/gang_check(mob/user, atom/target) // hooked into afterattack - var/gang_mode = FALSE - if(gang && user.mind) - var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang) - if(G.gang != gang) - to_chat(user, "This spraycan's color isn't your gang's one! You cannot use it.") - return FALSE - gang_mode = TRUE - instant = FALSE - . = "graffiti" - // discontinue if the area isn't valid for tagging because gang "honour" - if(gang_mode && (!can_claim_for_gang(user, target))) - return FALSE - -/obj/item/toy/crayon/proc/gang_final(mob/user, atom/target, list/affected_turfs) // hooked into afterattack - // Double check it wasn't tagged in the meanwhile - if(!can_claim_for_gang(user, target)) - return TRUE - tag_for_gang(user, target) - affected_turfs += target - /obj/item/toy/crayon/proc/can_claim_for_gang(mob/user, atom/target) // Check area validity. // Reject space, player-created areas, and non-station z-levels. @@ -420,10 +410,6 @@ spraying_over = TRUE break - for(var/obj/machinery/power/apc in target) - to_chat(user, "You can't tag an APC.") - return FALSE - var/occupying_gang = territory_claimed(A, user) if(occupying_gang && !spraying_over) to_chat(user, "[A] has already been tagged by the [occupying_gang] gang! You must get rid of or spray over the old tag first!") @@ -446,9 +432,9 @@ var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang) var/area/territory = get_area(target) - new /obj/effect/decal/cleanable/crayon/gang(target,G.gang,"graffiti",0,user) + new /obj/effect/decal/cleanable/crayon/gang(target,G.gang,"graffiti",0,user) // Heres the gang tag. to_chat(user, "You tagged [territory] for your gang!") -////////////Gang end//////////////////// +/////////////////Gang end//////////////////// /obj/item/toy/crayon/attack(mob/M, mob/user) @@ -782,7 +768,7 @@ reagent_contents = list("nothing" = 1, "mutetoxin" = 1) /obj/item/toy/crayon/spraycan/gang - charges = 20 + charges = 10 // Charges are at 10 because the tagger trait exists. gang = TRUE pre_noise = FALSE diff --git a/modular_citadel/code/game/gamemodes/gangs/gang.dm b/modular_citadel/code/game/gamemodes/gangs/gang.dm index 5b93cf0cb7..8192041e3e 100644 --- a/modular_citadel/code/game/gamemodes/gangs/gang.dm +++ b/modular_citadel/code/game/gamemodes/gangs/gang.dm @@ -331,7 +331,7 @@ var/list/report = list() report += "[name]:" if(winner) - report += "The [name] gang was successful!" + report += "The [name] gang successfully activated the mind dominator!" else report += "The [name] gang has failed!" diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_datums.dm b/modular_citadel/code/game/gamemodes/gangs/gang_datums.dm index c2a31abe17..010778413b 100644 --- a/modular_citadel/code/game/gamemodes/gangs/gang_datums.dm +++ b/modular_citadel/code/game/gamemodes/gangs/gang_datums.dm @@ -86,15 +86,15 @@ /datum/team/gang/tunnel name = "Tunnel" - color = "#FF00FF" + color = "#FF00FF" //Gave the leather jacket to the tunnel gang over diablo. inner_outfits = list(/obj/item/clothing/under/villain) - outer_outfits = list(/obj/item/clothing/suit/poncho/ponchoshame) + outer_outfits = list(/obj/item/clothing/suit/jacket/leather) /datum/team/gang/diablo name = "Diablo" - color = "#FF0000" - inner_outfits = list(/obj/item/clothing/under/color/red) - outer_outfits = list(/obj/item/clothing/suit/jacket/leather) + color = "#FF0000" //literal early 90s skinhead regalia. + inner_outfits = list(/obj/item/clothing/under/pants/classicjeans) + outer_outfits = list(/obj/item/clothing/suit/suspenders) /datum/team/gang/psyke name = "Psyke"