diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index a7d4f679164..d01ff3e1beb 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -255,7 +255,7 @@ /obj/item/reagent_containers/food/drinks/cans/dr_gibb = 10, /obj/item/reagent_containers/food/drinks/cans/root_beer = 10, /obj/item/reagent_containers/food/drinks/cans/starkist = 10, - /obj/item/reagent_containers/food/drinks/cans/waterbottle = 10, + /obj/item/reagent_containers/food/drinks/waterbottle = 10, /obj/item/reagent_containers/food/drinks/cans/dyn = 10, /obj/item/reagent_containers/food/drinks/cans/space_up = 10, /obj/item/reagent_containers/food/drinks/cans/iced_tea = 10, @@ -278,7 +278,7 @@ /obj/item/reagent_containers/food/drinks/cans/dr_gibb = 16, /obj/item/reagent_containers/food/drinks/cans/root_beer = 13, /obj/item/reagent_containers/food/drinks/cans/starkist = 15, - /obj/item/reagent_containers/food/drinks/cans/waterbottle = 12, + /obj/item/reagent_containers/food/drinks/waterbottle = 12, /obj/item/reagent_containers/food/drinks/cans/dyn = 18, /obj/item/reagent_containers/food/drinks/cans/space_up = 15, /obj/item/reagent_containers/food/drinks/cans/iced_tea = 13, diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 18902a8727b..4b4d9bbaf7a 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -139,9 +139,14 @@ /obj/item/trash/can name = "used can" - icon_state = "can-used" + icon_state = "cola" drop_sound = 'sound/items/drop/soda.ogg' pickup_sound = 'sound/items/pickup/soda.ogg' + randpixel = 4 + +/obj/item/trash/can/Initialize() + . = ..() + randpixel_xy() /obj/item/trash/tuna name = "\improper Tuna Snax" diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 16ea7003635..f80d3cf547f 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -493,7 +493,7 @@ /obj/structure/closet/crate/freezer/rations/fill() for(var/i=1,i<=6,i++) new /obj/item/reagent_containers/food/snacks/liquidfood(src) - new /obj/item/reagent_containers/food/drinks/cans/waterbottle(src) + new /obj/item/reagent_containers/food/drinks/waterbottle(src) /obj/structure/closet/crate/bin name = "large bin" diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index 39602789bfb..5d69bc30a9a 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -4,6 +4,25 @@ flags = 0 //starts closed drop_sound = 'sound/items/drop/soda.ogg' pickup_sound = 'sound/items/pickup/soda.ogg' + desc_info = "Click it in your hand to open it.\ + If it's carbonated and closed, you can shake it by clicking on it with harm intent. \ + If it's empty, you can crush it on your forehead by selecting your head and clicking on yourself with harm intent. \ + You can also crush cans on other people's foreheads as well." + +/obj/item/reagent_containers/food/drinks/cans/attack(mob/living/M, mob/user, var/target_zone) + if(iscarbon(M) && !reagents.total_volume && user.a_intent == I_HURT && target_zone == BP_HEAD) + if(M == user) + user.visible_message(SPAN_WARNING("[user] crushes the can of [src.name] on [user.get_pronoun(1)] forehead!"), SPAN_NOTICE("You crush the can of [src.name] on your forehead.")) + else + user.visible_message(SPAN_WARNING("[user] crushes the can of [src.name] on [M]'s forehead!"), SPAN_NOTICE("You crush the can of [src.name] on [M]'s forehead.")) + M.apply_damage(2,BRUTE,BP_HEAD) // ouch. + playsound(M,'sound/items/soda_crush.ogg', rand(10,50), TRUE) + var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(M.loc) + crushed_can.icon_state = icon_state + qdel(src) + user.put_in_hands(crushed_can) + return TRUE + . = ..() //DRINKS @@ -14,16 +33,6 @@ center_of_mass = list("x"=16, "y"=10) reagents_to_add = list(/datum/reagent/drink/space_cola = 30) -/obj/item/reagent_containers/food/drinks/cans/waterbottle - name = "bottled water" - desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles." - icon_state = "waterbottle" - center_of_mass = list("x"=16, "y"=8) - drop_sound = 'sound/items/drop/disk.ogg' - pickup_sound = 'sound/items/pickup/disk.ogg' - - reagents_to_add = list(/datum/reagent/water = 30) - /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind name = "\improper Space Mountain Wind" desc = "Blows right through you like a space wind." @@ -148,7 +157,7 @@ /obj/item/reagent_containers/food/drinks/cans/zorahozm name = "\improper High Octane Zorane Might" - desc = "A can of fizzy, acidic energy, with plenty V'krexi additives. It tastes like the bottom of your mouth is being impaled by a freezing cold spear, a spear laced with bees and salt." + desc = "A can of fizzy, acidic energy, with plenty of V'krexi additives. Tastes like impaling the bottom of your mouth with a freezing cold spear laced with bees and salt." icon_state = "hozm" center_of_mass = list("x"=16, "y"=8) @@ -156,7 +165,7 @@ /obj/item/reagent_containers/food/drinks/cans/zoravenom name = "\improper Zo'ra Soda Sour Venom Grass (Diet!)" - desc = "A diet can of Venom Grass flavored energy drink, with V'krexi additives. It still tastes like a cloud of stinging polytrinic bees, but calories are nowhere to be found." + desc = "A diet can of Venom Grass flavored energy drink, with V'krexi additives. Still tastes like a cloud of stinging polytrinic bees, but calories are nowhere to be found." icon_state = "sourvenomgrass" center_of_mass = list("x"=16, "y"=8) @@ -212,7 +221,7 @@ /obj/item/reagent_containers/food/drinks/cans/dyn name = "Cooling Breeze" - desc = "The most refreshing thing you can find on the market, based on a Skrell medicinal plant. No salt or sugar. " + desc = "The most refreshing thing you can find on the market, based on a Skrell medicinal plant. No salt or sugar." icon_state = "dyncan" center_of_mass = list("x"=16, "y"=10) reagents_to_add = list(/datum/reagent/drink/dynjuice/cold = 30) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 5330e81fb1e..3e8d5bc815b 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -65,8 +65,8 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I open(user) /obj/item/reagent_containers/food/drinks/proc/open(mob/user as mob) - playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1) - user.visible_message("[user] opens \the [src].", SPAN_NOTICE("You open \the [src] with an audible pop!"), "You can hear a pop,") + playsound(loc,'sound/items/soda_open.ogg', rand(10,50), 1) + user.visible_message("[user] opens \the [src].", SPAN_NOTICE("You open \the [src] with an audible pop!"), "You can hear a pop.") flags |= OPENCONTAINER /obj/item/reagent_containers/food/drinks/proc/boom(mob/user as mob) @@ -276,6 +276,33 @@ If you add a drink with no empty icon sprite, ensure it is flagged as NO_EMPTY_I else is_liquid = TRUE +/obj/item/reagent_containers/food/drinks/waterbottle + name = "bottled water" + desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles." + icon_state = "waterbottle" + flags = 0 //starts closed + center_of_mass = list("x"=16, "y"=8) + drop_sound = 'sound/items/drop/disk.ogg' + pickup_sound = 'sound/items/pickup/disk.ogg' + + reagents_to_add = list(/datum/reagent/water = 30) + +//heehoo bottle flipping +/obj/item/reagent_containers/food/drinks/waterbottle/throw_impact() + . = ..() + if(!QDELETED(src)) + if(prob(10)) // landed upright + src.visible_message(SPAN_NOTICE("\The [src] lands upright!")) + if(prob(1)) // landed upright on ITS CAP + src.visible_message(SPAN_NOTICE("\The [src] lands upright on its cap!")) + animate(src, transform = matrix(prob(50)? 180 : -180, MATRIX_ROTATE), time = 3, loop = 0) + else // landed on it's side + animate(src, transform = matrix(prob(50)? 90 : -90, MATRIX_ROTATE), time = 3, loop = 0) + +/obj/item/reagent_containers/food/drinks/waterbottle/pickup() + . = ..() + animate(src, transform = null, time = 1, loop = 0) + /obj/item/reagent_containers/food/drinks/sillycup name = "paper cup" desc = "A paper water cup." diff --git a/code/modules/reagents/reagent_containers/food/lunch.dm b/code/modules/reagents/reagent_containers/food/lunch.dm index 3e44b8b480e..fa85e8f975f 100644 --- a/code/modules/reagents/reagent_containers/food/lunch.dm +++ b/code/modules/reagents/reagent_containers/food/lunch.dm @@ -54,7 +54,7 @@ var/list/lunchables_snacks_ = list( var/list/lunchables_drinks_ = list( /obj/item/reagent_containers/food/drinks/cans/cola, - /obj/item/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/reagent_containers/food/drinks/waterbottle, /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind, /obj/item/reagent_containers/food/drinks/cans/dr_gibb, /obj/item/reagent_containers/food/drinks/cans/starkist, diff --git a/html/changelogs/wezzy_cancrush_bottleflip.yml b/html/changelogs/wezzy_cancrush_bottleflip.yml new file mode 100644 index 00000000000..f0a79bd33a9 --- /dev/null +++ b/html/changelogs/wezzy_cancrush_bottleflip.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "You can now crush cans on your head, so long as it's empty and you are targeting something's head with harm intent." + - rscadd: "You can now bottle flip using bottled water. Just throw." diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index ba0c3c0b646..9f2a35b1523 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 3ce3dde1652..60011e22338 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm index 0002ecd463b..504f3b70efd 100644 --- a/maps/aurora/aurora-1_centcomm.dmm +++ b/maps/aurora/aurora-1_centcomm.dmm @@ -2446,11 +2446,11 @@ /obj/item/device/suit_cooling_unit{ pixel_x = 8 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = -6; pixel_y = 4 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = -6; pixel_y = 4 }, @@ -5438,11 +5438,11 @@ /area/shuttle/administration/centcom) "auh" = ( /obj/structure/closet/crate/freezer/rations, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /obj/effect/floor_decal/corner/red{ dir = 6 }, @@ -18419,7 +18419,7 @@ /obj/structure/table/wood, /obj/item/material/ashtray/glass, /obj/item/storage/box/fancy/cigarettes/dromedaryco, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /turf/unsimulated/floor{ icon_state = "floor" }, @@ -24445,7 +24445,7 @@ /turf/simulated/floor/plating, /area/shuttle/merchant/start) "jqI" = ( -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = -6; pixel_y = 4 }, diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index eb88d061b81..96a9b6e6e74 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -64710,26 +64710,26 @@ /area/maintenance/vault) "pSX" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = -7; pixel_y = 10 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_y = 10 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = 7; pixel_y = 10 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ layer = 3.1; pixel_x = -7; pixel_y = 4 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_y = 4 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = 7; pixel_y = 4 }, diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index e09489cd901..b031c5ff0e4 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -24449,26 +24449,26 @@ /obj/structure/table/standard, /obj/item/storage/box/fancy/cookiesnack, /obj/item/storage/box/fancy/cookiesnack, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ layer = 3.01; pixel_x = -8; pixel_y = 14 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ layer = 3.01; pixel_x = -1; pixel_y = 14 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ layer = 3.01; pixel_x = 6; pixel_y = 14 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = -5; pixel_y = 17 }, -/obj/item/reagent_containers/food/drinks/cans/waterbottle{ +/obj/item/reagent_containers/food/drinks/waterbottle{ pixel_x = 2; pixel_y = 17 }, diff --git a/maps/exodus/exodus-2_centcomm.dmm b/maps/exodus/exodus-2_centcomm.dmm index a63e45555a9..15779745e6c 100644 --- a/maps/exodus/exodus-2_centcomm.dmm +++ b/maps/exodus/exodus-2_centcomm.dmm @@ -19043,7 +19043,7 @@ /obj/structure/table/wood, /obj/item/material/ashtray/glass, /obj/item/storage/box/fancy/cigarettes/dromedaryco, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /turf/unsimulated/floor{ icon_state = "floor" }, diff --git a/maps/templates/distress/iac.dmm b/maps/templates/distress/iac.dmm index 1e39ded8e71..91efaaf581d 100644 --- a/maps/templates/distress/iac.dmm +++ b/maps/templates/distress/iac.dmm @@ -54,16 +54,16 @@ /obj/item/reagent_containers/food/snacks/skrellsnacks, /obj/item/reagent_containers/food/snacks/nathisnack, /obj/item/reagent_containers/food/snacks/nathisnack, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /obj/random/plushie, /obj/random/plushie, /turf/unsimulated/floor{ diff --git a/maps/templates/distress/kataphracts.dmm b/maps/templates/distress/kataphracts.dmm index 47369b0121e..809282e90c7 100644 --- a/maps/templates/distress/kataphracts.dmm +++ b/maps/templates/distress/kataphracts.dmm @@ -74,16 +74,16 @@ /obj/item/reagent_containers/food/snacks/skrellsnacks, /obj/item/reagent_containers/food/snacks/nathisnack, /obj/item/reagent_containers/food/snacks/nathisnack, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, -/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /turf/unsimulated/floor{ icon_state = "platebot" }, diff --git a/sound/items/soda_crush.ogg b/sound/items/soda_crush.ogg new file mode 100644 index 00000000000..834c929b04c Binary files /dev/null and b/sound/items/soda_crush.ogg differ diff --git a/sound/effects/canopen.ogg b/sound/items/soda_open.ogg similarity index 100% rename from sound/effects/canopen.ogg rename to sound/items/soda_open.ogg