mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
## About The Pull Request 50 files. Sorry about that, I was faster today. Just merge without looking, it'll be fine. This is the end of `/machinery/` & `/stack/` `attackby()`s(that aren't actually meant for being attacked) when these are all merged. Like, 200 left? I think? Also, this one will make light replacer reloading slightly more difficult until whichever one converted the light replacer is merged. If, for some ungodly reason, this one gets merged first. Changes beyond conversion: if a `/porta_turret_construct` somehow became anchored out of sync with its construction steps, it's no longer softlocked you can no longer place an infinite amount of blackboxes into the blackbox recorder a TTV will no longer keep its ghost on your back when you cut its wires while wearing it RCLs will properly update their appearance when initially given their first coil The creator of `robot_suit/attackby()` has been cursed to spend a thousand years in the lake of fire ## Why It's Good For The Game Now that all of these are remade, you can find bugs in them and then get GBP for fixing them(not that my code would ever have bugs). ## Changelog 🆑 fix: It's no longer possible to softlock building a turret(if it ever was) fix: you can no longer stuff the blackbox recorder full with as many blackboxes as you've somehow collected fix: TTVs will no longer remain on your back as a ghost when you cut their wire straps fix: RCLs will now properly update their appearance when given their first coil of cleaners code: 50 files have been converted from attackby() to item_interaction() /🆑
50 lines
2.0 KiB
Plaintext
50 lines
2.0 KiB
Plaintext
/obj/item/tail_pin
|
|
icon = 'icons/obj/poster.dmi'
|
|
icon_state = "tailpin"
|
|
name = "tail pin"
|
|
desc = "Officially 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
|
|
custom_materials = list(/datum/material/iron= HALF_SHEET_MATERIAL_AMOUNT)
|
|
hitsound = 'sound/items/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
|
|
embed_type = /datum/embedding/corgi_pin
|
|
|
|
/datum/embedding/corgi_pin
|
|
pain_chance = 0
|
|
jostle_pain_mult = 0
|
|
ignore_throwspeed_threshold = TRUE
|
|
|
|
/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."
|
|
|
|
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/party_game, 32)
|
|
|
|
/obj/structure/sign/poster/party_game/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
|
|
if(!istype(tool, /obj/item/tail_pin))//We're using the same trick that tables use for placing objects x and y onto the click location.
|
|
return NONE
|
|
|
|
var/x_offset = 0
|
|
var/y_offset = 0
|
|
if(LAZYACCESS(modifiers, ICON_X) && LAZYACCESS(modifiers, ICON_Y))
|
|
x_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(ICON_SIZE_X/2), ICON_SIZE_X/2)
|
|
y_offset = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(ICON_SIZE_Y/2), ICON_SIZE_Y/2)
|
|
if(!user.transfer_item_to_turf(tool, drop_location(), x_offset, y_offset, silent = FALSE))
|
|
return ITEM_INTERACT_BLOCKING
|
|
return ITEM_INTERACT_SUCCESS
|