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 += ""
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"