From e30b6fd0a48c86863f6fc793adc79da0b57b9ae7 Mon Sep 17 00:00:00 2001 From: QuoteFox <49098813+quotefox@users.noreply.github.com> Date: Thu, 22 Apr 2021 22:11:10 +0100 Subject: [PATCH] captain beats - admin spawn only. --- hyperstation/code/mobs/dancer.dm | 56 +++++++++++++++++++++ hyperstation/icons/mobs/dancer/captain.dmi | Bin 0 -> 1418 bytes tgstation.dme | 1 + 3 files changed, 57 insertions(+) create mode 100644 hyperstation/code/mobs/dancer.dm create mode 100644 hyperstation/icons/mobs/dancer/captain.dmi diff --git a/hyperstation/code/mobs/dancer.dm b/hyperstation/code/mobs/dancer.dm new file mode 100644 index 00000000..7085f37d --- /dev/null +++ b/hyperstation/code/mobs/dancer.dm @@ -0,0 +1,56 @@ +/mob/living/dancercaptain + name = "Captain Beats" + desc = "A captain cursed to dance for all eternity!" + icon = 'hyperstation/icons/mobs/dancer/captain.dmi' + icon_state = "idle" + var/danceaction = 1 + var/lastaction = 0 //when the last action was! + var/actiontime = 4 + var/list/dancefloor_turfs + var/list/dancefloor_turfs_types + var/dancefloor_exists = FALSE + +/mob/living/dancercaptain/Move(atom/newloc, direct) + + if(!danceaction) + if(!(world.time > lastaction)) + return // no move for you! + + animate(src, pixel_x, pixel_y = pixel_y + 10, time = 0.7, 0) + . = ..() + danceaction = 0 //you did your move + lastaction = world.time+actiontime //next action time + sleep(1) + animate(src, pixel_x, pixel_y = pixel_y - 10, time = 0.7, 0) + sleep(1) + + LAZYINITLIST(dancefloor_turfs) + LAZYINITLIST(dancefloor_turfs_types) + + if(dancefloor_exists) //remove the old one! + dancefloor_exists = FALSE + for(var/i in 1 to dancefloor_turfs.len) + var/turf/T = dancefloor_turfs[i] + T.ChangeTurf(dancefloor_turfs_types[i]) + var/list/funky_turfs = RANGE_TURFS(2, src) + + + dancefloor_exists = TRUE + var/i = 1 + dancefloor_turfs.len = funky_turfs.len + dancefloor_turfs_types.len = funky_turfs.len + for(var/t in funky_turfs) + if(!(istype(t, /turf/closed))) //dont change walls + var/turf/T = t + dancefloor_turfs[i] = T + dancefloor_turfs_types[i] = T.type + T.ChangeTurf((i % 2 == 0) ? /turf/open/floor/light/colour_cycle/dancefloor_a : /turf/open/floor/light/colour_cycle/dancefloor_b) + i++ + + +/mob/living/dancercaptain/Initialize() + . = ..() + + lastaction = round(world.time) //round to the nearest second! to keep in beat! + +/mob/living/dancercaptain/proc/mtimer() \ No newline at end of file diff --git a/hyperstation/icons/mobs/dancer/captain.dmi b/hyperstation/icons/mobs/dancer/captain.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9814eb93c12df50a517afc2cc7bd1c69c5546706 GIT binary patch literal 1418 zcmV;51$Fv~P)yEEy3Z5)J?V|HfWAoK7`VEgdEm4jK#xjX@}}QZklB zDv?4dBM}Nd8xMqDO~6_>dp00qIw@5#Aq)irStb`l8xG1}JIi1@z*;wZHz7V6566LM z&TvnVMJhTQ5Uo!ydOjtoPB4HzC_^I|<-@b!rH=Xk0K&7Ux|@vGi*U+cIy@#HqMVdZ zGAJ=AD3DGz=Gnu!p_C>iBfMHS)0ciL92GPyC_Onh`t*Qow8?G#CR# zQ*#n4K};PmL@|LgH@_@3H#M&W%u`ly^>YEc7yvLhGNj};=W+l51G7m)K~!jg?U-v* z(?Ar4SCpv43-yAAqv93uigLtV-KyEtl+sfA|No6=Hw_noBrlW9@PREeT;_S3_k?8A zd6c?b7iwMUm|wWMQ2cPM8(u9&*TeT4H@o2%7MJ41TT0!&bGH*-0&%>&+`D)G!NX2? zwel!l?!|HMaYuZzx=IvF;K|c&_?2gC@pJ0+Uc97E_*bvj-mJgfpm*X|eQQke>-V3; zaQ#(rE|Bu?prMZi5SB^P@O>eL|ZF?$R`3{6F_-q zwYFL=3aR6HlS&{9s}-JgKS`Jef1{$0F{yT0F0bs=>ks7>yW!CBKms1;G)g0)ot>RL zZ-+lfa9BnLB}2L3ZShKxPY}t7QI_R7jW~2`jhBQ39PP?k%w8Z3tesY#RG8Ni@Xx5hJm4Q#E%M5r&YA39t_;W; zw#bJ75B&~Y1pHPutk`@}-UsMp;Ov_d<>j1enz5UaA6dQ>%^c6p4xqfh=$PdpNb(^; zvAm?&u;POV%FFYE!i^aM;rHU#)_7&il36Os%OxN&!J~fA%*H3cw$V?;1i=d2b>tyGd_Y$jOrO*s1HmG z>zSfZ^NCSC6W;&G#C3&GJrfFPU&v1!bW1f3>Y0;;sz*lk%qfK`8^L-;2Ecp~tY z=(wIq>-CH~QHU!G!FuLsqrw+)up(y$j_aA?{i}6OXjB#|d`_h>3IRjS^-O3~`l7se z|Ehr3GiKCW&+N^GQFC7e>Y2Sl7$Lq0)H(A;&3zH7b5LJ|>KWJ z&_bx5K?|XJ1}^lUo>Ad>(qf@~t>pmDmU>1Wajq(GZeK(P2XM00)bofh;^EN)_^qs3 z=fJ)QJpk&9=K4ntQ0SSKeUV(%rT!`POpPz%L%x|WI?z82eG$m3LjUOIzNpki7sD6* Y12Tk1bIuAmz5oCK07*qoM6N<$f-eb={Qv*} literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 63f3f9ed..c946b47d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3042,6 +3042,7 @@ #include "hyperstation\code\gamemode\traitor_thief.dm" #include "hyperstation\code\gamemode\werewolf\werewolf.dm" #include "hyperstation\code\mobs\carrion.dm" +#include "hyperstation\code\mobs\dancer.dm" #include "hyperstation\code\mobs\hugbot.dm" #include "hyperstation\code\mobs\mimic.dm" #include "hyperstation\code\mobs\werewolf.dm"