diff --git a/hyperstation/code/modules/cargo/packs/misc.dm b/hyperstation/code/modules/cargo/packs/misc.dm index e69de29b..d1b88903 100644 --- a/hyperstation/code/modules/cargo/packs/misc.dm +++ b/hyperstation/code/modules/cargo/packs/misc.dm @@ -0,0 +1,7 @@ +/datum/supply_pack/service/stripperpole + name = "Stripper Pole Crate" + desc = "No private bar is complete without a stripper pole, show off the goods! Comes with a ready-to-assemble stripper pole, and a complementary wrench to get things set up!" + cost = 3550 + contains = list(/obj/item/polepack/, + /obj/item/wrench/) + crate_name = "stripper pole crate" diff --git a/hyperstation/code/obj/pole.dm b/hyperstation/code/obj/pole.dm new file mode 100644 index 00000000..4455a882 --- /dev/null +++ b/hyperstation/code/obj/pole.dm @@ -0,0 +1,93 @@ +//hyperstation 13 stripper pole! about time? + +/obj/structure/pole + name = "stripper pole" + desc = "A pole fastened to the ceiling and floor, used to show of ones goods to company." + icon = 'hyperstation/icons/obj/pole.dmi' + icon_state = "pole" + density = TRUE + anchored = TRUE + var/icon_state_inuse + layer = 4 //make it the same layer as players. + pseudo_z_axis = 9 //stepping onto the pole makes you raise upwards! + density = 0 //easy to step up on + +/obj/structure/pole/attack_hand(mob/living/user) + . = ..() + if(.) + return + if(obj_flags & IN_USE) + to_chat(user, "It's already in use - wait a bit.") + return + else + obj_flags |= IN_USE + user.setDir(SOUTH) + user.Stun(100) + user.forceMove(src.loc) + user.visible_message("[user] dances on [src]!") + animatepole(user) + user.layer = layer //set them to the poles layer + obj_flags &= ~IN_USE + user.pixel_y = 0 + user.pixel_z = pseudo_z_axis //incase we are off it when we jump on! + icon_state = initial(icon_state) + +/obj/structure/pole/proc/animatepole(mob/living/user) + return + +/obj/structure/pole/animatepole(mob/living/user) + + if (user.loc != src.loc) + return + animate(user,pixel_x = -6, pixel_y = 0, time = 10) + sleep(20) + user.dir = 4 + animate(user,pixel_x = -6,pixel_y = 24, time = 10) + sleep(12) + src.layer = 4.01 //move the pole infront for now. better to move the pole, because the character moved behind people sitting above otherwise + animate(user,pixel_x = 6,pixel_y = 12, time = 5) + user.dir = 8 + sleep(6) + animate(user,pixel_x = -6,pixel_y = 4, time = 5) + user.dir = 4 + src.layer = 4 // move it back. + sleep(6) + user.dir = 1 + animate(user,pixel_x = 0, pixel_y = 0, time = 3) + sleep(6) + user.do_jitter_animation() + sleep(6) + user.dir = 2 + + +/obj/item/polepack + name = "stripper pole flatpack" + desc = "A wrench is required to construct." + icon = 'hyperstation/icons/obj/pole_small.dmi' + throwforce = 0 + icon_state = "pole_base" + var/unwrapped = 0 + w_class = WEIGHT_CLASS_HUGE + +/obj/item/polepack/attackby(obj/item/P, mob/user, params) //erecting a pole here. + add_fingerprint(user) + if(istype(P, /obj/item/wrench)) + if (!(item_flags & IN_INVENTORY)) + to_chat(user, "You start to fasten the frame to the floor and celing...") + if(P.use_tool(src, user, 8 SECONDS, volume=50)) + to_chat(user, "You construct the stripper pole!") + var/obj/structure/pole/C = new + C.loc = loc + del(src) + return + +/obj/structure/pole/attackby(obj/item/P, mob/user, params) //un-erecting a pole. :( + add_fingerprint(user) + if(istype(P, /obj/item/wrench)) + to_chat(user, "You start to unfastening the frame...") + if(P.use_tool(src, user, 8 SECONDS, volume=50)) + to_chat(user, "You take down the stripper pole!") + var/obj/item/polepack/C = new + C.loc = loc + del(src) + return \ No newline at end of file diff --git a/hyperstation/icons/obj/pole.dmi b/hyperstation/icons/obj/pole.dmi new file mode 100644 index 00000000..42c23dbe Binary files /dev/null and b/hyperstation/icons/obj/pole.dmi differ diff --git a/hyperstation/icons/obj/pole_small.dmi b/hyperstation/icons/obj/pole_small.dmi new file mode 100644 index 00000000..ddb8f9e0 Binary files /dev/null and b/hyperstation/icons/obj/pole_small.dmi differ diff --git a/tgstation.dme b/tgstation.dme index e90831f0..ead7fbf6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3072,6 +3072,7 @@ #include "hyperstation\code\obj\lunaritems.dm" #include "hyperstation\code\obj\milking machine.dm" #include "hyperstation\code\obj\plushes.dm" +#include "hyperstation\code\obj\pole.dm" #include "hyperstation\code\obj\pregnancytester.dm" #include "hyperstation\code\obj\rewards.dm" #include "hyperstation\code\obj\rope.dm"