[MIRROR] Adds 👏 High 👏 Fives 👏 (#1445)

* Adds 👏 High 👏 Fives 👏 (#54516)

This PR lets you post up for high-fives with your buds so you can slap some skin and show off how well you vibe together. To initiate a high-five, simply stand next to another person with a slapper (the *slap emote one) in hand, and hit the offer item button (default G) to let the people adjacent to you know you're available. They'll get an alert that you're offering a high-five, and clicking it will follow through and award you both a small positive moodlet, or they can just walk away and leave you hanging, earning you a negative moodlet.

Is a high-five not enough to show the world how tight your crew is? Double the fun! If whoever initiates the high-five has a slapper in both hands, and the taker has two hands free, you'll go for the mythical high-ten for a louder slap and extra emphasis! Woo!

* Adds 👏 High 👏 Fives 👏

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
This commit is contained in:
SkyratBot
2020-10-24 01:05:55 +01:00
committed by GitHub
co-authored by Ryll Ryll
parent b27ee03697
commit b3d0512b47
6 changed files with 243 additions and 2 deletions
@@ -170,6 +170,10 @@
if(!receiving)
to_chat(src, "<span class='warning'>You're not holding anything to give!</span>")
return
if(istype(receiving, /obj/item/slapper))
offer_high_five(receiving)
return
visible_message("<span class='notice'>[src] is offering [receiving]</span>", \
"<span class='notice'>You offer [receiving]</span>", null, 2)
for(var/mob/living/carbon/C in orange(1, src)) //Fixed that, now it shouldn't be able to give benos stunbatons and IDs
@@ -210,3 +214,15 @@
visible_message("<span class='notice'>[src] takes [I] from [giver]</span>", \
"<span class='notice'>You take [I] from [giver]</span>")
put_in_hands(I)
/// Spin-off of [/mob/living/carbon/proc/give] exclusively for high-fiving
/mob/living/carbon/proc/offer_high_five(obj/item/slap)
if(has_status_effect(STATUS_EFFECT_HIGHFIVE))
return
if(!(locate(/mob/living/carbon) in orange(1, src)))
visible_message("<span class='danger'>[src] raises [p_their()] arm, looking around for a high-five, but there's no one around! How embarassing...</span>", \
"<span class='warning'>You post up, looking for a high-five, but finding no one within range! How embarassing...</span>", null, 2)
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_alone)
return
apply_status_effect(STATUS_EFFECT_HIGHFIVE, slap)