diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index c410bc58927..60f9226bc4e 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -33,6 +33,32 @@ desc = "Your standard drinking glass." center_of_mass = list("x"=16, "y"=10) +/obj/item/reagent_containers/food/drinks/drinkingglass/afterattack(var/atom/target, var/mob/user, var/proximity, var/params) + if(ishuman(target) && user.a_intent == I_HELP && (user.zone_sel.selecting == BP_L_HAND || user.zone_sel.selecting == BP_R_HAND)) + if(!user.Adjacent(target)) + return + var/mob/living/carbon/human/H = target + var/obj/item/reagent_containers/food/drinks/drinkingglass/glass = H.get_type_in_hands(/obj/item/reagent_containers/food/drinks/drinkingglass) + if(!use_check(H)) + to_chat(user, SPAN_WARNING("[H] is in no condition to perform a toast!")) + return + else if(!glass) + to_chat(user, SPAN_WARNING("[H] needs to be holding a glass to perform a toast.")) + return + else + user.visible_message("[user] holds \the [src] out for a toast with [H].") + if(alert(H,"[user] wants to do a toast with you. Will you accept it?",,"Yes","No") == "No") + H.visible_message("[H] pushes [user]'s hand away.") + return + if(!user.Adjacent(H)) + to_chat(user, SPAN_WARNING("You need to remain next to [H]!")) + to_chat(H, SPAN_WARNING("You need to remain next to [user]!")) + return + user.visible_message("[user] clinks \the [src] with [H]'s [glass.name].") + playsound(user.loc, pick('sound/items/glass_clink_1.ogg', 'sound/items/glass_clink_2.ogg', 'sound/items/glass_clink_3.ogg'), 50, 0, vary = FALSE) + return + ..() + // for /obj/machinery/vending/sovietsoda /obj/item/reagent_containers/food/drinks/drinkingglass/soda reagents_to_add = list(/decl/reagent/drink/sodawater = 50) diff --git a/html/changelogs/Toasting.yml b/html/changelogs/Toasting.yml new file mode 100644 index 00000000000..87c253559c4 --- /dev/null +++ b/html/changelogs/Toasting.yml @@ -0,0 +1,6 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "You can now do toasts! Hold a glass (including normal drinking ones, most special bar glasses and coffee cups), target the hands and click on another person also hoding a glass while on help intent." diff --git a/sound/items/glass_clink_1.ogg b/sound/items/glass_clink_1.ogg new file mode 100644 index 00000000000..7f74b382740 Binary files /dev/null and b/sound/items/glass_clink_1.ogg differ diff --git a/sound/items/glass_clink_2.ogg b/sound/items/glass_clink_2.ogg new file mode 100644 index 00000000000..fa8a6730ab1 Binary files /dev/null and b/sound/items/glass_clink_2.ogg differ diff --git a/sound/items/glass_clink_3.ogg b/sound/items/glass_clink_3.ogg new file mode 100644 index 00000000000..45124219ad9 Binary files /dev/null and b/sound/items/glass_clink_3.ogg differ