Files
Bubberstation/code/game/objects/items/tail_pin.dm
SkyratBot 5359878eac [MIRROR] Nice, Corgi Pinning Action for the whole family. (#1077)
* 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.

* Nice, Corgi Pinning Action for the whole family.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-09-30 14:17:11 +02:00

44 lines
1.7 KiB
Plaintext

/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