mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
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
This commit is contained in:
@@ -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
|
||||
@@ -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("<span class='notice'>[M] stops to admire [parent].</span>", \
|
||||
"<span class='notice'>You take in [parent], admiring the fine craftsmanship.</span>")
|
||||
M.visible_message("<span class='notice'>[M] stops and looks intently at [parent].</span>", \
|
||||
"<span class='notice'>You stop to take in [parent].</span>")
|
||||
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)
|
||||
@@ -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 = "<span class='notice'>You know how to tag walls efficiently.</span>"
|
||||
|
||||
@@ -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, "<span class='notice'>You finish drawing \the [temp].</span>")
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user