From a3c09948fab013e8d09dad1cef1ec49dd9ff034e Mon Sep 17 00:00:00 2001 From: Kabra_men <46802162+Kabramen@users.noreply.github.com> Date: Thu, 7 Nov 2019 18:06:34 -0200 Subject: [PATCH] Cross --- .../items/stacks/sheets/sheet_types.dm | 1 + code/game/objects/structures/kitchen_spike.dm | 89 +++++++++++++++++- icons/obj/cross.dmi | Bin 0 -> 680 bytes sound/effects/crossed.ogg | Bin 0 -> 21559 bytes 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 icons/obj/cross.dmi create mode 100644 sound/effects/crossed.ogg diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index c0853068..e1f82e4a 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -208,6 +208,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\ new/datum/stack_recipe("tiki mask", /obj/item/clothing/mask/gas/tiki_mask, 2), \ new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10),\ + new/datum/stack_recipe("cross", /obj/structure/kitchenspike/cross, 10, time = 10),\ new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),\ diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 21622519..a717f7f1 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -153,4 +153,91 @@ new /obj/item/stack/rods(loc, 4) qdel(src) -#undef VIABLE_MOB_CHECK +/obj/structure/kitchenspike/cross + name = "cross" + icon = 'icons/obj/cross.dmi' + icon_state = "cross" + desc = "Degenerates like you belong on one of these." + anchored = TRUE + bound_height = 64 + +/obj/structure/kitchenspike/cross/crowbar_act(mob/living/user, obj/item/I) + if(has_buckled_mobs()) + to_chat(user, "You can't do that while something's on the cross!") + return FALSE + if(I.use_tool(src, user, 20, volume=100)) + deconstruct() + return TRUE + +/obj/structure/kitchenspike/cross/deconstruct() + new /obj/item/stack/sheet/mineral/wood(src.loc, 10) + qdel(src) + +/obj/structure/kitchenspike/cross/attack_hand(mob/user) + if(VIABLE_MOB_CHECK(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs()) + var/mob/living/L = user.pulling + if(do_mob(user, src, 120)) + if(has_buckled_mobs()) //to prevent spam/queing up attacks + return + if(L.buckled) + return + if(user.pulling != L) + return + playsound(src.loc, "sound/effects/crossed.ogg", 20, 1) // thanks hippie + L.visible_message("[user] ties [L] to the cross!", "[user] ties you to the cross!") + L.forceMove(drop_location()) + L.setDir(2) + buckle_mob(L, force=1) + L.pixel_y = 26 + L.overlays += image('icons/obj/cross.dmi', "lashing") + to_chat(user, "You can't use that on the cross!") + else if (has_buckled_mobs()) + for(var/mob/living/L in buckled_mobs) + user_unbuckle_mob(L, user) + else + ..() + +/obj/structure/kitchenspike/cross/user_unbuckle_mob(mob/living/buckled_mob, mob/living/carbon/human/user) + if(buckled_mob && buckled_mob.buckled == src) + var/mob/living/M = buckled_mob + if(M != user) + M.visible_message(\ + "[user] tries to pull [M] free of the [src]!",\ + "[user.name] is trying to pull you off the [src], opening up fresh wounds!",\ + "You hear rope being unraveled.") + if(!do_after(user, 300, target = src)) + if(M && M.buckled) + M.visible_message(\ + "[user] fails to free [M]!",\ + "[user] fails to pull you off of the [src].") + return + + else + M.visible_message(\ + "[M] struggles to break free from the [src]!",\ + "You struggle to break free from the [src], exacerbating your wounds! (Stay still for two minutes.)",\ + "You hear violent scraping and struggling.") + M.adjustBruteLoss(20) + if(!do_after(M, 1200, target = src)) + if(M && M.buckled) + to_chat(M, "You fail to free yourself!") + return + if(!M.buckled) + return + untie_mob(M) + +/obj/structure/kitchenspike/cross/proc/untie_mob(mob/living/M) + M.pixel_y = M.get_standard_pixel_y_offset() + M.adjustBruteLoss(15) + src.visible_message(text("[M] falls free of [src]!")) + unbuckle_mob(M,force=1) + M.emote("collapse") + M.overlays -= image('icons/obj/cross.dmi', "lashing") + +/obj/structure/kitchenspike/cross/Destroy() + if(has_buckled_mobs()) + for(var/mob/living/L in buckled_mobs) + untie_mob(L) + return ..() + +#undef VIABLE_MOB_CHECK \ No newline at end of file diff --git a/icons/obj/cross.dmi b/icons/obj/cross.dmi new file mode 100644 index 0000000000000000000000000000000000000000..de14717779b2b2fd951254b91d1663185ad39c1b GIT binary patch literal 680 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