diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index 1b3f7f5390d..84af8110334 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -138,4 +138,18 @@ anchored = TRUE icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" - random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") \ No newline at end of file + random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") + +/obj/effect/decal/cleanable/confetti + name = "confetti" + desc = "Tiny bits of colored paper thrown about for the janitor to enjoy!" + gender = PLURAL + density = FALSE + anchored = TRUE + icon = 'icons/effects/effects.dmi' + icon_state = "confetti" + +/obj/effect/decal/cleanable/confetti/attack_hand(mob/user) + to_chat(user, SPAN_NOTICE("You start to meticulously pick up the confetti.")) + if(do_after(user, 60)) + qdel(src) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 3a686cb8151..24d0d41fb82 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -979,18 +979,6 @@ attack_verb = list("attacked", "slashed", "stabbed", "poked") contained_sprite = TRUE -/* NYET. -/obj/item/toddler - icon_state = "toddler" - name = "toddler" - desc = "This baby looks almost real. Wait, did it just burp?" - force = 5 - w_class = ITEMSIZE_LARGE - slot_flags = SLOT_BACK -*/ - -//This should really be somewhere else but I don't know where. w/e - /obj/item/inflatable_duck name = "inflatable duck" desc = "No bother to sink or swim when you can just float!" @@ -1011,3 +999,24 @@ throwforce = 1 drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' + +/obj/item/toy/partypopper + name = "party popper" + desc = "Instructions : Aim away from face. Wait for appropriate timing. Pull cord, enjoy confetti." + icon_state = "partypopper" + w_class = ITEMSIZE_TINY + drop_sound = 'sound/items/drop/cardboardbox.ogg' + pickup_sound = 'sound/items/pickup/cardboardbox.ogg' + +/obj/item/toy/partypopper/attack_self(mob/user) + if(icon_state == "partypopper") + spark(src, 1, user.dir) + user.visible_message(SPAN_NOTICE("[user] pulls on the string, releasing a burst of confetti!"), SPAN_NOTICE("You pull on the string, releasing a burst of confetti!")) + playsound(src, 'sound/effects/snap.ogg', 50, TRUE) + icon_state = "partypopper_e" + var/turf/T = get_step(src, user.dir) + if(!turf_clear(T)) + T = get_turf(src) + new /obj/effect/decal/cleanable/confetti(T) + else + to_chat(user, SPAN_NOTICE("The [src] is already spent!")) diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 5f184b42062..b5558d1bf6c 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -215,7 +215,8 @@ /obj/item/ore/coal, /obj/item/stamp/clown, /obj/item/organ/internal/heart/skrell, - /obj/item/toy/balloon/color) + /obj/item/toy/balloon/color, + /obj/item/storage/box/partypopper) var/atom/movable/I = new gift_type(get_turf(user)) user.remove_from_mob(src) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 5b628db4aa3..98f825ae87a 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -512,6 +512,11 @@ desc_antag = "These snap pops have an extra compound added that will deploy a tiny smokescreen when snapped." starts_with = list(/obj/item/toy/snappop/syndi = 8) +/obj/item/storage/box/partypopper + name = "party popper box" + desc = "Six cones of confetti conflagarating fun!" + starts_with = list(/obj/item/toy/partypopper = 6) + /obj/item/storage/box/autoinjectors name = "box of empty injectors" desc = "Contains empty autoinjectors." diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index fddf824e0d6..47079e36a89 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -1220,9 +1220,8 @@ /obj/item/eightball/broken = 1, /obj/item/spirit_board = 5, /obj/item/device/laser_pointer = 1, - /obj/item/clothing/accessory/badge/press/plastic = 2 - - + /obj/item/clothing/accessory/badge/press/plastic = 2, + /obj/item/storage/box/partypopper = 11 ) /obj/random/arcade/orion diff --git a/html/changelogs/wezzy-partypopper.yml b/html/changelogs/wezzy-partypopper.yml new file mode 100644 index 00000000000..e57a43e116b --- /dev/null +++ b/html/changelogs/wezzy-partypopper.yml @@ -0,0 +1,41 @@ +################################ +# 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: "Adds party poppers and confetti. Hooray!" diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index cc9192c5430..10cdd324b02 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 7c6d67ca3c8..9a376ceaa61 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm index 4035320e562..d5cffef6421 100644 --- a/maps/aurora/aurora-1_centcomm.dmm +++ b/maps/aurora/aurora-1_centcomm.dmm @@ -2308,7 +2308,8 @@ /area/centcom/specops) "ajY" = ( /obj/machinery/vending/coffee/free{ - pixel_x = 5;random_itemcount = 0 + pixel_x = 5; + random_itemcount = 0 }, /obj/effect/floor_decal/corner/red/diagonal{ dir = 8 @@ -5754,6 +5755,7 @@ }, /obj/machinery/vending/coffee/free{ pixel_x = -1; + }, /turf/unsimulated/floor, /area/centcom/spawning) @@ -13351,6 +13353,7 @@ "eVL" = ( /obj/machinery/vending/coffee/free{ pixel_x = -1; + }, /turf/unsimulated/floor{ icon_state = "wood" @@ -15078,6 +15081,7 @@ "fYz" = ( /obj/machinery/vending/coffee/free{ pixel_x = -1; + }, /turf/unsimulated/floor{ icon_state = "dark2" @@ -17671,6 +17675,7 @@ "hBo" = ( /obj/machinery/vending/cigarette/merchant{ pixel_x = 2; + }, /turf/simulated/floor/lino/grey, /area/merchant_station) @@ -20502,6 +20507,7 @@ "jvz" = ( /obj/machinery/vending/coffee/free{ pixel_x = 2; + }, /obj/machinery/light{ icon_state = "tube1" @@ -30883,6 +30889,7 @@ "pZr" = ( /obj/machinery/vending/coffee/free{ pixel_x = -1; + }, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -34062,6 +34069,7 @@ "ssN" = ( /obj/machinery/vending/coffee/free{ pixel_x = -1; + }, /turf/unsimulated/floor, /area/centcom/control) diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 8e55a4cb120..1841320b177 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -67697,6 +67697,7 @@ "tIQ" = ( /obj/machinery/vending/dinnerware/plastic{ pixel_x = -4; + }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, diff --git a/maps/exodus/exodus-2_centcomm.dmm b/maps/exodus/exodus-2_centcomm.dmm index 41655ea5f55..58768b8d801 100644 --- a/maps/exodus/exodus-2_centcomm.dmm +++ b/maps/exodus/exodus-2_centcomm.dmm @@ -8786,9 +8786,6 @@ }, /turf/simulated/floor/plating, /area/shuttle/skipjack) -"aHl" = ( -/turf/simulated/floor/plating, -/area/shuttle/skipjack) "aHm" = ( /obj/machinery/light/small{ dir = 4 @@ -29329,7 +29326,7 @@ aGq aGj aGL aGT -aHl +aGj aHu aHC aaM