Nice, Corgi Pinning Action for the whole family. (#53913)

Adds pin the tail on the corgi, a basic party game last seen at the summer ball, that I had lying around on one of my branches since then. The corgi is a poster that functions like most other posters, but has an interaction with the fake "Corgi tail" object, which can be pinned onto the poster to visually place the tail onto the poster.

Are you a bad enough dude to pin the tail on the corgi blindfolded?

Fun, cheap entertainment. Might make for a cheap thrill, or help set the scene of a birthday party. Works as a very player driven basic activity.

Also, the tail pins are harmless embeds. I'll leave that here for you to think about.
This commit is contained in:
ArcaneMusic
2020-09-30 02:18:54 -04:00
committed by GitHub
parent 7ad9394efe
commit d65714e9f1
7 changed files with 57 additions and 2 deletions
+9
View File
@@ -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)
+43
View File
@@ -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