From 61fde978e116d3fbd9ecb410684180089ba24527 Mon Sep 17 00:00:00 2001 From: Michiyamenotehifunana <31995558+Michiyamenotehifunana@users.noreply.github.com> Date: Wed, 21 Mar 2018 08:11:34 +0800 Subject: [PATCH] Tennis Balls! (and donator stuff) (#5962) * Donator rainbow stuff and balls! * Updates code and adds izzy's donator thing * Adds right click memes! --- .../code/game/objects/items/balls.dm | 92 ++++++++++++++++++ .../objects/items/melee/eutactic_blades.dm | 48 ++++++++- .../code/modules/client/loadout/__donator.dm | 20 +++- .../code/modules/client/loadout/backpack.dm | 37 ++++++- .../icons/mob/inhands/balls_left.dmi | Bin 0 -> 1293 bytes .../icons/mob/inhands/balls_right.dmi | Bin 0 -> 1282 bytes modular_citadel/icons/mob/mouthball.dmi | Bin 0 -> 1329 bytes modular_citadel/icons/obj/balls.dmi | Bin 0 -> 1389 bytes tgstation.dme | 2 +- 9 files changed, 192 insertions(+), 7 deletions(-) create mode 100644 modular_citadel/code/game/objects/items/balls.dm create mode 100644 modular_citadel/icons/mob/inhands/balls_left.dmi create mode 100644 modular_citadel/icons/mob/inhands/balls_right.dmi create mode 100644 modular_citadel/icons/mob/mouthball.dmi create mode 100644 modular_citadel/icons/obj/balls.dmi diff --git a/modular_citadel/code/game/objects/items/balls.dm b/modular_citadel/code/game/objects/items/balls.dm new file mode 100644 index 0000000000..4095a4bb20 --- /dev/null +++ b/modular_citadel/code/game/objects/items/balls.dm @@ -0,0 +1,92 @@ +/* BALLS - GLORIOUS BALLS +// +// Includes:- +// 1) Tennis balls, lines 10 - 92 +// +// +// +*/ + +/obj/item/toy/tennis + name = "tennis ball" + desc = "A classical tennis ball. It appears to have faint bite marks scattered all over its surface." + icon = 'modular_citadel/icons/obj/balls.dmi' + icon_state = "tennis_classic" + lefthand_file = 'modular_citadel/icons/mob/inhands/balls_left.dmi' + righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi' + item_state = "tennis_classic" + alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi' + slot_flags = SLOT_HEAD | SLOT_NECK | SLOT_EARS //Fluff item, put it wherever you want! + throw_range = 14 + w_class = WEIGHT_CLASS_SMALL + +/obj/item/toy/tennis/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes + altafterattack(A, user, TRUE, params) + return TRUE + +/obj/item/toy/tennis/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes + if(istype(user)) + user.visible_message("[user] waggles [src] at [target].", "You waggle [src] at [target].") + return TRUE + +/obj/item/toy/tennis/rainbow + name = "pseudo-euclidean interdimensional tennis sphere" + desc = "A tennis ball from another plane of existance. Really groovy." + icon_state = "tennis_rainbow" + item_state = "tennis_rainbow" + actions_types = list(/datum/action/item_action/squeeze) //Giving the masses easy access to unilimted honks would be annoying + +/obj/item/toy/tennis/rainbow/Initialize() + . = ..() + AddComponent(/datum/component/squeak) + +/obj/item/toy/tennis/rainbow/izzy //izzyinbox's donator item + name = "Katlin's Ball" + desc = "A tennis ball that's seen a good bit of love, being covered in a few black and white hairs and slobber." + icon_state = "tennis_izzy" + item_state = "tennis_izzy" + +/obj/item/toy/tennis/red //da red wuns go fasta + name = "red tennis ball" + desc = "A red tennis ball. It goes three times faster!" + icon_state = "tennis_red" + item_state = "tennis_red" + throw_speed = 9 + +/obj/item/toy/tennis/yellow //because yellow is hot I guess + name = "yellow tennis ball" + desc = "A yellow tennis ball. It seems to have a flame-retardant coating." + icon_state = "tennis_yellow" + item_state = "tennis_yellow" + resistance_flags = FIRE_PROOF + +/obj/item/toy/tennis/green //pestilence + name = "green tennis ball" + desc = "A green tennis ball. It seems to have an impermeable coating." + icon_state = "tennis_green" + item_state = "tennis_green" + permeability_coefficient = 0.9 + +/obj/item/toy/tennis/cyan //electric + name = "cyan tennis ball" + desc = "A cyan tennis ball. It seems to have odd electrical properties." + icon_state = "tennis_cyan" + item_state = "tennis_cyan" + siemens_coefficient = 0.9 + +/obj/item/toy/tennis/blue //reliability + name = "blue tennis ball" + desc = "A blue tennis ball. It seems ever so slightly more robust than normal." + icon_state = "tennis_blue" + item_state = "tennis_blue" + max_integrity = 300 + +/obj/item/toy/tennis/purple //because purple dyes have high pH and would neutralize acids I guess + name = "purple tennis ball" + desc = "A purple tennis ball. It seems to have an acid-resistant coating." + icon_state = "tennis_purple" + item_state = "tennis_purple" + resistance_flags = ACID_PROOF + +/datum/action/item_action/squeeze + name = "Squeak!" \ No newline at end of file diff --git a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm index 29de14a120..0d03d21c0f 100644 --- a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm +++ b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm @@ -26,6 +26,15 @@ light_color = "#37FFF7" actions_types = list() +/obj/item/melee/transforming/energy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes + altafterattack(A, user, TRUE, params) + return TRUE + +/obj/item/melee/transforming/energy/sword/cx/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes + if(istype(user)) + user.visible_message("[user] points the tip of [src] at [target].", "You point the tip of [src] at [target].") + return TRUE + /obj/item/melee/transforming/energy/sword/cx/transform_weapon(mob/living/user, supress_message_text) active = !active //I'd use a ..() here but it'd inherit from the regular esword's proc instead, so SPAGHETTI CODE if(active) //also I'd need to rip out the iconstate changing bits @@ -120,6 +129,15 @@ var/light_brightness = 3 actions_types = list() +/obj/item/toy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes + altafterattack(A, user, TRUE, params) + return TRUE + +/obj/item/toy/sword/cx/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes + if(istype(user)) + user.visible_message("[user] points the tip of [src] at [target].", "You point the tip of [src] at [target].") + return TRUE + /obj/item/toy/sword/cx/attack_self(mob/user) active = !( active ) @@ -233,6 +251,16 @@ var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD flags_2 = SLOWS_WHILE_IN_HAND_2 +/obj/item/twohanded/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes + altafterattack(A, user, TRUE, params) + return TRUE + +/obj/item/twohanded/hypereutactic/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes + if(istype(user)) + user.visible_message("[user] points the tip of [src] at [target].", "You point the tip of [src] at [target].") + return TRUE + + /obj/item/twohanded/hypereutactic/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds. if(M.has_dna()) if(M.dna.check_mutation(HULK)) @@ -402,4 +430,22 @@ /obj/item/melee/transforming/energy/sword/cx/traitor/transform_messages(mob/living/user, supress_message_text) playsound(user, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, 1) if(!supress_message_text) - to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") \ No newline at end of file + to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") + +//RAINBOW MEMES + +/obj/item/twohanded/hypereutactic/toy/rainbow + name = "\improper Hyper-Euclidean Reciprocating Trigonometric Zweihander" + desc = "A custom-built toy with fancy rainbow lights built-in." + flags_2 = NONE + var/list/rainbow_colors = list("#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF","#FF00FF", "#3399ff", "#ff9900", "#fb008b", "#9800ff", "#00ffa3", "#ccff00") + +/obj/item/twohanded/hypereutactic/toy/rainbow/process() + . = ..() + var/set_color = pick(rainbow_colors) + light_color = set_color + update_light() + update_icon() + +/obj/item/twohanded/hypereutactic/toy/rainbow/AltClick(mob/living/user) + return \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 9836b3b2ed..640e728c2d 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -217,6 +217,12 @@ path = /obj/item/clothing/suit/toggle/labcoat/labredblack ckeywhitelist = list("blakeryan") +/datum/gear/torisword + name = "Rainbow Zweihander" + category = slot_in_backpack + path = /obj/item/twohanded/hypereutactic/toy/rainbow + ckeywhitelist = list("annoymous35") + /datum/gear/darksabre name = "Dark Sabre" category = slot_in_backpack @@ -229,8 +235,14 @@ datum/gear/darksabresheath path = /obj/item/storage/belt/sabre/darksabre ckeywhitelist = list("inferno707") +/datum/gear/toriball + name = "Rainbow Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/rainbow + ckeywhitelist = list("annoymous35") - - - - +/datum/gear/izzyball + name = "Katlin's Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/rainbow/izzy + ckeywhitelist = list("izzyinbox") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm index 2779d6f124..3c8d74cdac 100644 --- a/modular_citadel/code/modules/client/loadout/backpack.dm +++ b/modular_citadel/code/modules/client/loadout/backpack.dm @@ -18,7 +18,42 @@ category = slot_in_backpack path = /obj/item/toy/plush/slimeplushie +/datum/gear/tennis + name = "Classic Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis + +/datum/gear/tennisred + name = "Red Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/red + +/datum/gear/tennisyellow + name = "Yellow Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/yellow + +/datum/gear/tennisgreen + name = "Green Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/green + +/datum/gear/tenniscyan + name = "Cyan Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/cyan + +/datum/gear/tennisblue + name = "Blue Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/blue + +/datum/gear/tennispurple + name = "Purple Tennis Ball" + category = slot_in_backpack + path = /obj/item/toy/tennis/purple + /datum/gear/dildo name = "Customizable dildo" category = slot_in_backpack - path = /obj/item/dildo/custom + path = /obj/item/dildo/custom \ No newline at end of file diff --git a/modular_citadel/icons/mob/inhands/balls_left.dmi b/modular_citadel/icons/mob/inhands/balls_left.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2e751d0f44912e0dc195d12e788f993b01927b4b GIT binary patch literal 1293 zcmZWndoH&gPz-K`sACPd6^1vAZwg#kSAjpBEQt%c4@UtNtg=wIv*TM)2*Mgu3LbNao_~C$v zKvM?N91u`1Znup{C>jrOEiQLNN`txvNR=K0hJywG6$3y+j-A=36`K|uKmzySUK$#- zWRb(th;av~srwme`{^kFnViC>9tQVpOqWjya`mM=lVr~u4uiTzHP{-dwhJ zy@8(|iG0R#{bgNlM7(o4HSNhfjub$P+-dD+?IT@zUU?Zqw&PhDHC+66U3W&~L~Px& z$eK5j{5^=l8Nyoe1C?mNSoXKN)83BYTwZyq$iFGpzn-%Lxr^0%R~-M? z3YMYEK<)Ft+9sK! zq4s|u)(VNL!u0s_W|nenvy1kK-kDRKG^sC$dw2HiVVR72ushx{CoaY^I=|L=sgYUq z@pg+Ik*N26P*YA+)i0PwH8fi5CRtBU#T)Vpcdx>+J?x%KBXih>LE=YxvjF)A`Wt(e z=*ee4rDtSh472ctzg=6wsjj}w^*Z{GJvKelGGQOt*_m20J-X?RLE)m5liWMGl<0T# z&&*jPGaYei5Hg4OSwNOw>GyQMS8}&MbRAweEW7(s*rM=J9T&+xCJJx`^?PW=4~{ zWy<@VGDClNqnu0bQKxrPCh7P7)A`U*D1McV=`>$_ro0vu>P?(2A3)e{xCEg%{nJvP zoF?J;cr78}o3bXSVrBN>sJEs&2#crS+D@w8Ql|>eHNzGM$&?|qq}O)4(R7FGlBKC% zU(&|?{gs5#Yt_A;0DKCO5ELAR1pQbl zV$V^XIN#^CazuUHXM%E4uD%#QK`9tf$84DMrb^wcI_9U}9@O{H@w`9t{j7F(zMcU@ J-VZTH{s)t0Tsi;% literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/mob/inhands/balls_right.dmi b/modular_citadel/icons/mob/inhands/balls_right.dmi new file mode 100644 index 0000000000000000000000000000000000000000..45ee6864f0bf2c4db7ac159e78ee06dc525eb33c GIT binary patch literal 1282 zcmZ`$X;70_6uoI`fMg)xiY!G!N3Ehp0;0rLuu#ONKuN%WwuoUdMFa(eTHqtLVpSHE z4jL9IbwG9r0W8c&C87!~1wzg~m2wWfrfu4>Ii5?JB&@+H9gqasF zTI3*H333k*WJ9z7kYJG40u2Ga9)zhNzX9Gt_*M=eNP%D!js$%@1|uk(1M(US4w7es zAQ%t{=u<&>1LU02y}PgE=S&1qLcaRE=NT2rV-|VPUnaPZ zK8{2m9cNkW1kZ?g&S`F30yp*~KyqPLp9iUZ!)l{xVH#0hYZ2phcl)q0dE#M-D(-2O z$!JDPhGw?;9OaYuzts7q^>pJo^*v^en`R$O+csF#Q0Vo+wNxw580*k#W~P<7tgDsC zXj%s5HJ6a-5dPN$6c7FnuGBd~AEr_JG{1WU&&*+FWZxZYmwOA2@Sw zGQ4i^NckIC#$kkXjc(W9sgXQ0A9<;hZrx0$I*+Ye!-gz7OZUQ&I|&; z`}%l#u#yWWhGLRd?ljLB4xsGnTq`(s`FmrEy6dJ^FOsUyUUBjp#Ydlr4^@P3q{&a! zw9OY57GYZiU{%RfMU?*Rh_T}0V!B4mpyyR6$bS13k3ysJ1r3Zq+wX3N{W*4r_B%Ud zqj-MD^U`>@{<>Z2%&Fj2x>n{YyLtbRfn7kL_KNJNMAu2Wd&IKn3m5-U z(x2$inr{^11Do+{jOr1QG5pVsCq8A?k3ZCM(L^q1|APUy_a zRKB-cRWd#$k4r6Bs11#}bVIZ}c}&H0`L^rgW%qqbQgyqg?({MjGw^cpj=GR;GG_4S zCPJM~)U%F#zVYAriZR&Gk6ngSlHOX<6O^R5R=|#Q@_zyH`u_uhU(Kx8RgfhVNg6o( z#nPU2k27+HbE`z?lDT}x!;2}r38lIdHO}qoa|&*nU3ll|^rKXxa%?}ZTCnNT6O)WmC(rL=q4?*{Kp)5;eZ8lU_tqA&RgH|}?IsuNB8ArL=9YS5ayh|+F>$Ckkp zO)PPXwfi?yS*K#~$I1I_oYK)c8~wX#`{X$78oeu9V_ot@L6qsj%I9-B8WH;d&7otB s$Oj=B+4IJImKEAw_8i%JE3#K-8gv0S*P$J6zy|8$k literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/mob/mouthball.dmi b/modular_citadel/icons/mob/mouthball.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b5c08dd64873b8bee34cbe5eeb6ebe9b912e5b31 GIT binary patch literal 1329 zcmYjPdsNa_9KQ?|lYHi6GdU7^mNn)h%at^R20@OQf+I9fdO|HV=L0e&=!do0(lSkF zT6W5ro$`SL)TWlQOnW)W)C`%gRp_xWk3=Ruegi#gegC-M&%K}Tz2DFGe!r(ef@#)P z&Q<^b>s@pT699w}B7h~*=n`u}z=D20Kl1jt3;gbL8)07!)(+(^d(SZ1OjBV7yRX93$p z=K*OrfVu!&0#qU(=T>gVM**mBYjoPu3+e41iG#0C8Efbu5!uJ~NmF zNSbGH#!b5*jKinI^0;a7Dg5~49|6cHJM)B$zJqf_P0Np2sU-GE)SI4TmbTi*<*!oI z)vGkw&DryBn~vjmy6;=seN1@|$(1Q>2t86nI_woy2#7gWv9&WrjNQ8KR+ma!Ij`0kEuhK+k-8&te4XDjBS#YxR|5kPKp ztS%7ff4j*~KNLKO%6}l`oasAXC_aQrb1X+%(BejHq62Yi!bH*V#`PM7%_z=8ogbjb z+~D&0BzhxRH2D?t-o%9X`Db+!Z{i4|;Po+-u@@_b`@DTD>_*D0Ct1k_{yS-?yZ8MbcON0Sw~Ux( zdBy0RF`Gh%Apc8MQ-OtvrBn}Jo@1(~pJSREb$&7Tj!DtxmMurL$dU)OoHLtmU~X6D z9@RY#5bv1kNVpn*d&29R!WK)ccZ=^pIv7BxoM!CGkvS+H7nQQ6D2aaAklW|u?~ij= zUkT7VE&t2uLrAR6rIG~q?4ll?=23$-lQdQxZZv|H080_aSK z>H>|i4fO_L*3a8%6XFheW<4@v^?f$fO8O`V9Mh^W71)LO|7ncQyu?c(L}<|Uou>5z zGpgpcf)z6B>2k;iN_ccoXI}iMa&pP&*)#Y$?QB#n``tgU5=pVzxlgLU)(r=U8*ZKI zr+=4uzG1d5L5bl!p#5aSfl4q$F-A9LOA@sz1lSaMa)H5B-GfL*VC_!56C%bR4Q2YQ zq`{FZPrjS;-&5R=VOm}>;Ij;5t?sa-rg8nW&SwREF+G=W3Sp}q-s^u^MtdFJFN&AZ zl-W{E;^jJC>`TVz8=2|I@A6C=ME4N?W#;G9pd8pX&^sL28xS?_M;u9AckNSBY}*Dp zLHtm_EsFp@=-SsI4jQlDGW)}9tuk;7wqQYSMTWg&eSxbhmr}Rty(mmLh@khPvfzmA lde@yyIG!-)N?QYGE}-_^H536(&<0Z_yQskw$&Tpb{{pGIQ;Yxr literal 0 HcmV?d00001 diff --git a/modular_citadel/icons/obj/balls.dmi b/modular_citadel/icons/obj/balls.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9b9f4575b39522783edbb745b2e2bd22f1583f1c GIT binary patch literal 1389 zcmXYxdo+}J7{`Azg9@`DWJQcRi7l)!S&lJfSScptGGdg=qG;9(DVKLHEJac6Fd4bD z*@PWU(+!y!O6RyN6JlPwF?(vFEwO2H3GcqN=lq`MInQ&x&-Xc>e}3nv{yunZQ*8hM z-uHX2K(w+~V?7SdA61tY&@w|k7)+7N+Cb}a4$>=p0K=A;%vuX_?;Q;Cd2#^$`*4aP; z;NO7w!WTyYfV0poWh3fX29yW@C;|ZSF}3bzyM3)_NySqkdrQh4pi;{1Hn;M7hx^B3 zWdW3?M?u%fZVWrme<-CWJBAhL9|SyKE922del|FaKT7kWq1AK&;*2 zpr@s3K673nvZ8hVP6^!3GdDZxH(EJGKInIuHgJ;|#-N@j^gzwUX6t+>ZQN!n?&w$t zD74%t#VpxaNy3xS`%-1?_9TpOxGzuK!7UbR)+!A7hEJo7uGD!aXT|tkZ#CX1m?e%- z^8?ofrpMH!II*=m`J3AB|BTBW%~7=J4%4b_%Us;&BT70J1R{@#34FzlxzkbY^A{xV zXuG;{<6Scm?&hhX^0_7T3j+XfbYCxWa7M+HFp+6M*87RLS!49vw|4mj8Hak?j}@6& zMNzod+g~Bbmho_VhrvCXSKgH#Ssuz6ePFvhq#K^zQn=GVgREy9h7)C(Km34KbrU(; z#%Mj9d%Ioe{k$}fai!LlENM6po{YNT=52XXKvC8#MV45{>!&Av-m2UYum7ozVPRMh zk$b%H@}jGM^^GESHxnBdr!nMWO+D=GX=K7VZWhYFRn_2ed&K^EG`r!GB1(2NA0t}a zmbrWYr}faZn8MyvaKs235XQM&PgdD{Lk&q=?;fLRTaV#P6an3xqL2o|h__pCw$GEC z?~D+&f<+^5W1CLt)(s>$6*O2FrBzhBVj>SHD%f_`3I3j;22R#`Q^Lps`a9+V2hJPl z!w7|uJEuQ1!+G6Xg*+?9lV@Ks)U9&r<2c<%9G|Rx8d#W%@`wGL1jRJ~2NWB_nY$qGxWI*>i7b8bzL=c*~heqsdzY4UgN{ zY-g_ACqxd@9khnbb+y*$h-P1PMU9(KAt%#IZBm&`FO5YcGqEjYDD8^?l=h~KJ=+TB zrR0;wg^`ojW>CHro2tx3oobxfk1Xub1sjH1y7GmOYnj`J?EkD&Gm9uz_DwF4?#lGs zk&RRKx&E^K0V7ubH~p)c_BGA?nkH{;f_ijlXMHH)%9UhOY)n3;!%!mwccqpf|9bmj zTWmV7%J)003y)4dfE~f-j0gCs=sePcpiN;;^O>i+NE1S&3gaC;7XAKppt@}qkuVwe zOaAEY8;|%^dTNDKGuyAKkSaBwmTr8NimhBgV(W|8i`^TFnn;GF`ZI@Q)`M?|CUu2{ zXLy|f$h~#UQS3`dW`+i;^5d*CKz{+p>X1dXL0I5S#7P fv&1mXa7QpdWcRi_a=crPejC7-;_oHe7tQ?-4vU0N literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index e57765a3dc..a0c0b60e8c 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2586,7 +2586,6 @@ #include "interface\interface.dm" #include "interface\menu.dm" #include "interface\stylesheet.dm" -#include "modular_citadel\cit_medkits.dm" #include "modular_citadel\cit_screenshake.dm" #include "modular_citadel\cit_turfs.dm" #include "modular_citadel\citadel_ghostrole_spawners.dm" @@ -2636,6 +2635,7 @@ #include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\impact.dm" #include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm" #include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm" +#include "modular_citadel\code\game\objects\items\balls.dm" #include "modular_citadel\code\game\objects\items\handcuffs.dm" #include "modular_citadel\code\game\objects\items\holy_weapons.dm" #include "modular_citadel\code\game\objects\items\stunsword.dm"