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@