From 80ea2097103a2354799d1d3db6bbfb750aaecfde Mon Sep 17 00:00:00 2001 From: QuoteFox <49098813+quotefox@users.noreply.github.com> Date: Sat, 30 Jan 2021 23:41:47 +0000 Subject: [PATCH] stripper pole. stripper pole. --- hyperstation/code/modules/cargo/packs/misc.dm | 7 ++ hyperstation/code/obj/pole.dm | 93 ++++++++++++++++++ hyperstation/icons/obj/pole.dmi | Bin 0 -> 422 bytes hyperstation/icons/obj/pole_small.dmi | Bin 0 -> 436 bytes tgstation.dme | 1 + 5 files changed, 101 insertions(+) create mode 100644 hyperstation/code/obj/pole.dm create mode 100644 hyperstation/icons/obj/pole.dmi create mode 100644 hyperstation/icons/obj/pole_small.dmi 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 0000000000000000000000000000000000000000..42c23dbef427e818895d067317147e07b1f2836b GIT binary patch literal 422 zcmV;X0a^ZuP)fFDZ*Bkpc$`yKaB_9`^iy#0_2eo` zEh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfIFQa}%!OlEji!AXBLzKPOd*i!&v& zs2IpK(m|%hl2H-WpUjS<@ zgM2uS)*&)Lbhbq$@&xdlB74?Ak($2&leRZNgzmU0;PYGu09LQo0dKZXlXqkg@O%^) z&=m-DLWqKZW5T(BA_B!2Ys?oV2lbD4g2F5_7;Mi QSO5S307*qoM6N<$f{OsCs{jB1 literal 0 HcmV?d00001 diff --git a/hyperstation/icons/obj/pole_small.dmi b/hyperstation/icons/obj/pole_small.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ddb8f9e04ca555e1a12b93109d1cf3d63a40f1bd GIT binary patch literal 436 zcmV;l0ZaagP)mPE+qD^K`Bdj%og1SWH-pDp#xpHO6V_(C3+rg-EVQl8dLv^m=#1h6^4=Wd z1zSiktvO<-do196AOUgk9^m2$T_8-tVdxorN@