Skip to content

Commit

Permalink
Add 50% graffiti speed boost to tagger quirk (#148)
Browse files Browse the repository at this point in the history
* Add 50% graffiti speed boost to tagger quirk (#80567)

## About The Pull Request

This gives the tagger quirk a 50% speed boost when drawing graffiti.
There was also some unused variable intended to make large graffiti more
time consuming that is now fixed.

## Why It's Good For The Game

It'd be nice to be able to spraypaint messages on the floor quicker.
Especially if you are doing a gimmick that requires making a shop sign
using letters.

## Changelog

:cl:
add: Add 50% graffiti speed boost to tagger quirk
fix: Fix time duration of large graffiti not applying properly
/:cl:

* Add 50% graffiti speed boost to tagger quirk

---------

Co-authored-by: Tim <[email protected]>
Co-authored-by: NovaBot <[email protected]>
  • Loading branch information
3 people authored and Iajret committed Dec 28, 2023
1 parent 529c75c commit 755c92c
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
4 changes: 2 additions & 2 deletions code/datums/quirks/positive_quirks/tagger.dm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/datum/quirk/item_quirk/tagger
name = "Tagger"
desc = "You're an experienced artist. People will actually be impressed by your graffiti, and you can get twice as many uses out of drawing supplies."
desc = "You're an experienced artist. People will actually be impressed by your graffiti, and you can get twice as many uses out of drawing supplies in half the time."
icon = FA_ICON_SPRAY_CAN
value = 4
mob_trait = TRAIT_TAGGER
gain_text = span_notice("You know how to tag walls efficiently.")
gain_text = span_notice("You know how to tag walls efficiently and quickly.")
lose_text = span_danger("You forget how to tag walls properly.")
medical_record_text = "Patient was recently seen for possible paint huffing incident."
mail_goodies = list(
Expand Down
8 changes: 6 additions & 2 deletions code/game/objects/items/crayons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#define AVAILABLE_SPRAYCAN_SPACE 8 // enough to fill one radial menu page

#define DRAW_TIME 5 SECONDS
#define INFINITE_CHARGES -1

/*
Expand Down Expand Up @@ -504,11 +505,13 @@
audible_message(span_notice("You hear spraying."))
playsound(user.loc, 'sound/effects/spray.ogg', 5, TRUE, 5)

var/wait_time = 50
var/wait_time = DRAW_TIME
if(paint_mode == PAINT_LARGE_HORIZONTAL)
wait_time *= 3
if(istagger)
wait_time *= 0.5

if(!instant && !do_after(user, 50, target = target))
if(!instant && !do_after(user, wait_time, target = target))
return

if(!use_charges(user, cost))
Expand Down Expand Up @@ -1064,3 +1067,4 @@
#undef PAINT_LARGE_HORIZONTAL_ICON

#undef INFINITE_CHARGES
#undef DRAW_TIME
10 changes: 9 additions & 1 deletion code/game/objects/items/syndie_spraycan.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#define SYNDIE_DRAW_TIME 3 SECONDS

// Extending the existing spraycan item was more trouble than it was worth, I don't want or need this to be able to draw arbitrary shapes.
/obj/item/traitor_spraycan
name = "seditious spraycan"
Expand Down Expand Up @@ -79,7 +81,12 @@
/obj/item/traitor_spraycan/proc/try_draw_step(start_output, mob/living/user, atom/target)
drawing_rune = TRUE
user.balloon_alert(user, "[start_output]")
if (!do_after(user, 3 SECONDS, target))
var/wait_time = SYNDIE_DRAW_TIME

if(HAS_TRAIT(user, TRAIT_TAGGER))
wait_time *= 0.5

if(!do_after(user, wait_time, target))
user.balloon_alert(user, "interrupted!")
drawing_rune = FALSE
return FALSE
Expand Down Expand Up @@ -220,6 +227,7 @@

return ..()

#undef SYNDIE_DRAW_TIME
#undef RUNE_STAGE_COLOURED
#undef RUNE_STAGE_COMPLETE
#undef RUNE_STAGE_OUTLINE
Expand Down

0 comments on commit 755c92c

Please sign in to comment.