diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 6beb1828b6d..9bf59f64ed5 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -37,7 +37,7 @@ #define WIRE_LAYER 2.4 #define WIRE_BRIDGE_LAYER 2.44 #define WIRE_TERMINAL_LAYER 2.45 -#define GAS_SCRUBBER_LAYER 2.46 +#define GAS_SCRUBBER_LAYER 2.46 #define GAS_PIPE_VISIBLE_LAYER 2.47 //layer = initial(layer) + piping_layer / 1000 in atmospherics/update_icon() to determine order of pipe overlap #define GAS_FILTER_LAYER 2.48 #define GAS_PUMP_LAYER 2.49 @@ -62,6 +62,7 @@ #define ABOVE_OBJ_LAYER 3.2 #define ABOVE_WINDOW_LAYER 3.3 #define SIGN_LAYER 3.4 +#define CORGI_ASS_PIN_LAYER 3.41 #define NOT_HIGH_OBJ_LAYER 3.5 #define HIGH_OBJ_LAYER 3.6 diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 35bd91ff97b..892810bf0ee 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1277,3 +1277,12 @@ /obj/item/stack/sheet/metal/ten = 1, ) generate_items_inside(items_inside, src) + +/obj/item/storage/box/tail_pin + name = "pin the tail on the corgi supplies" + desc = "For ages 10 and up. ...Why is this even on a space station? Aren't you a little old for babby games?" //Intentional typo. + +/obj/item/storage/box/tail_pin/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/poster/tail_board(src) + new /obj/item/tail_pin(src) diff --git a/code/game/objects/items/tail_pin.dm b/code/game/objects/items/tail_pin.dm new file mode 100644 index 00000000000..5e00e4d1df1 --- /dev/null +++ b/code/game/objects/items/tail_pin.dm @@ -0,0 +1,43 @@ +/obj/item/tail_pin + icon_state = "tailpin" + name = "tail pin" + desc = "Offically branded 'pin the tail on the corgi' style party implement. Not intended to be used on people." + force = 0 + w_class = WEIGHT_CLASS_SMALL + throwforce = 0 + throw_speed = 1 + embedding = EMBED_HARMLESS + custom_materials = list(/datum/material/iron=1000) + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb_continuous = list("pokes", "jabs", "pins the tail on") + attack_verb_simple = list("poke", "jab") + sharpness = SHARP_POINTY + max_integrity = 200 + layer = CORGI_ASS_PIN_LAYER + +/obj/item/poster/tail_board + name = "party game poster" + poster_type = /obj/structure/sign/poster/party_game + icon_state = "rolled_poster" + +/obj/structure/sign/poster/party_game + name = "pin the tail on the corgi" + desc = "The rules are simple, pin the tail on the corgi, while blindfolded. Are you a bad enough dude to hit the target?" + icon_state = "pinningposter" + poster_item_name = "party game poster" + poster_item_desc = "Place it on a wall to start playing pin the tail on the corgi." + +/obj/structure/sign/poster/party_game/attackby(obj/item/I, mob/user, params) + . = ..() + if(!istype(I,/obj/item/tail_pin)) + return + if(!(user.a_intent != INTENT_HARM && !(I.item_flags & ABSTRACT))) //We're using the same trick that tables use for placing objects x and y onto the click location. + return + if(!user.transferItemToLoc(I, drop_location(), silent = FALSE)) + return + var/list/click_params = params2list(params) + if(!click_params || !click_params["icon-x"] || !click_params["icon-y"]) + return + I.pixel_x = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) + I.pixel_y = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) + return TRUE diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 5cb5ee50858..f929080ab13 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -25,7 +25,8 @@ /obj/item/instrument/musicalmoth=1) premium = list(/obj/item/melee/skateboard/pro = 3, /obj/item/clothing/shoes/wheelys/rollerskates= 3, - /obj/item/melee/skateboard/hoverboard = 1) + /obj/item/melee/skateboard/hoverboard = 1, + /obj/item/storage/box/tail_pin = 1) refill_canister = /obj/item/vending_refill/games default_price = 50 extra_price = 250 diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index d606c9461fa..df28aedd4dc 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 01ef0d25a7a..3387dfd218f 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 85ec85ce079..dbedc55a10b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1025,6 +1025,7 @@ #include "code\game\objects\items\singularityhammer.dm" #include "code\game\objects\items\spear.dm" #include "code\game\objects\items\stunbaton.dm" +#include "code\game\objects\items\tail_pin.dm" #include "code\game\objects\items\taster.dm" #include "code\game\objects\items\teleportation.dm" #include "code\game\objects\items\teleprod.dm"