From c606522becb82263960b0565f8165ac1cbb44012 Mon Sep 17 00:00:00 2001 From: bgobandit Date: Sun, 1 Sep 2019 17:17:41 -0400 Subject: [PATCH] Non-tagger graffiti counts as bad art (and other art adjustments.) (#46248) About The Pull Request Non-taggers' graffiti counts as bad art. Taggers' graffiti counts as good art, not great art. Makes the art defines global defines and removes some magic numbers. Re-orders the switch statement for art to go ascending instead of descending, because otherwise if something is at BAD_ART it will register as good instead, if it's at GOOD_ART it will register as great, etc., which defeats the purpose of having defines. Why It's Good For The Game The tagger component: Because there isn't really much bad art in the game ,and graffiti is as obvious a candidate as any, and gives the janitor an actual excuse to remove it besides being a dick. If you don't want the potential for a bad moodlet, don't examine the art. You have to go out of your way to do so anyway. Very slightly nerfing tagger graffiti: Because "what a thought-provoking piece of art" is kind of much for graffiti. The other component: Because there's no point in having defines if people are just going to put magic numbers everywhere anyway. (I left the impressiveness numbers for statues, etc. alone, because those can take damage, dropping their quality. But if something can't take damage, just use the define.) Changelog cl tweak: Graffiti by a non-tagger counts as bad art. /cl --- code/__DEFINES/misc.dm | 5 +++++ code/datums/components/art.dm | 27 +++++++++---------------- code/datums/traits/good.dm | 2 +- code/game/objects/items/crayons.dm | 4 +++- code/game/objects/structures/statues.dm | 5 ----- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 16b196b4200..f4e78300ef2 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -458,3 +458,8 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE)) //Misc text define. Does 4 spaces. Used as a makeshift tabulator. #define FOURSPACES "    " + +// art quality defines, used in datums/components/art.dm, elsewhere +#define BAD_ART 12.5 +#define GOOD_ART 25 +#define GREAT_ART 50 \ No newline at end of file diff --git a/code/datums/components/art.dm b/code/datums/components/art.dm index 86a52090368..fe41b547229 100644 --- a/code/datums/components/art.dm +++ b/code/datums/components/art.dm @@ -1,7 +1,3 @@ -#define BAD_ART 12.5 -#define GOOD_ART 25 -#define GREAT_ART 50 - /datum/component/art var/impressiveness = 0 @@ -17,17 +13,18 @@ RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/apply_moodlet) /datum/component/art/proc/apply_moodlet(mob/M, impress) - M.visible_message("[M] stops to admire [parent].", \ - "You take in [parent], admiring the fine craftsmanship.") + M.visible_message("[M] stops and looks intently at [parent].", \ + "You stop to take in [parent].") switch(impress) - if(GREAT_ART to INFINITY) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artgreat", /datum/mood_event/artgreat) - if (GOOD_ART to GREAT_ART) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artgood", /datum/mood_event/artgood) - if (BAD_ART to GOOD_ART) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artok", /datum/mood_event/artok) if (0 to BAD_ART) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artbad", /datum/mood_event/artbad) + if (BAD_ART to GOOD_ART) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artok", /datum/mood_event/artok) + if (GOOD_ART to GREAT_ART) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artgood", /datum/mood_event/artgood) + if(GREAT_ART to INFINITY) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artgreat", /datum/mood_event/artgreat) + /datum/component/art/proc/on_other_examine(datum/source, mob/M) apply_moodlet(M, impressiveness) @@ -40,8 +37,4 @@ to_chat(M, "You start examining [parent].") if(!do_after(M, 20, target = parent)) return - on_obj_examine(source, M) - -#undef BAD_ART -#undef GOOD_ART -#undef GREAT_ART + on_obj_examine(source, M) \ No newline at end of file diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 4e18d669497..ee67a9e89cd 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -181,7 +181,7 @@ /datum/quirk/tagger name = "Tagger" - desc = "You're an experienced artist. While drawing graffiti, 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." value = 1 mob_trait = TRAIT_TAGGER gain_text = "You know how to tag walls efficiently." diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 15cb5e8dd07..f6c3917f559 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -374,7 +374,9 @@ return C.add_hiddenprint(user) if(istagger) - C.AddComponent(/datum/component/art, 30) + C.AddComponent(/datum/component/art, GOOD_ART) + else + C.AddComponent(/datum/component/art, BAD_ART) if(!instant) to_chat(user, "You finish drawing \the [temp].") diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index a67ec4fe66d..ce8ee7c1c7c 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -1,8 +1,3 @@ - -#define BAD_ART 12.5 -#define GOOD_ART 25 -#define GREAT_ART 50 - /obj/structure/statue name = "statue" desc = "Placeholder. Yell at Firecage if you SOMEHOW see this."