From 2eadd25047d33d2ebdc9805227b5d8ead2542c2d Mon Sep 17 00:00:00 2001 From: Sonoida Date: Tue, 14 Mar 2023 10:14:50 +0100 Subject: [PATCH] glunk nothing specific, just fixes and new sprites --- .../modules/research/designs/nutri_designs.dm | 4 +- GainStation13/code/obj/weapons/fatoray.dm | 76 +++++++++++++----- GainStation13/icons/obj/fatoray.dmi | Bin 901 -> 1335 bytes 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/GainStation13/code/modules/research/designs/nutri_designs.dm b/GainStation13/code/modules/research/designs/nutri_designs.dm index 90e9bc64..20b49d71 100644 --- a/GainStation13/code/modules/research/designs/nutri_designs.dm +++ b/GainStation13/code/modules/research/designs/nutri_designs.dm @@ -12,13 +12,13 @@ category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE -/datum/design/fatoray_oneshot +/datum/design/fatoray_cannon_weak name = "Cannonshot Fatoray" id = "fatoray_cannon" build_type = PROTOLATHE materials = list(MAT_METAL = 5000, MAT_GLASS = 2000, MAT_CALORITE = 10000) construction_time = 200 - build_path = /obj/item/gun/energy/fatoray/cannon + build_path = /obj/item/gun/energy/fatoray/cannon_weak category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE diff --git a/GainStation13/code/obj/weapons/fatoray.dm b/GainStation13/code/obj/weapons/fatoray.dm index a5040c32..b66466e6 100644 --- a/GainStation13/code/obj/weapons/fatoray.dm +++ b/GainStation13/code/obj/weapons/fatoray.dm @@ -27,28 +27,46 @@ ///How much fat is added to the target mob? var/fat_added = 50 //Around 12.5 pounds per hit. -/obj/item/projectile/energy/fattening/on_hit(atom/target, blocked) - . = ..() - - var/mob/living/carbon/gainer = target - if(!iscarbon(gainer)) - return FALSE - - if(!gainer.adjust_fatness(fat_added, FATTENING_TYPE_WEAPON)) - return FALSE - return TRUE +////// Fatoray - cannon variant, strong but can be charged + +/obj/item/gun/energy/fatoray/cannon + name = "Fatoray Cannon" + desc = "An energy gun that fattens up anyone it hits. This version functions as a glass cannon of some sorts." + icon = 'GainStation13/icons/obj/fatoray.dmi' /// REPLACE THESE LATER WITH UNIQUE SPRITES - Sono + icon_state = "fatoray_cannon" + recoil = 3 + slowdown = 1 + // charge_sections = 3 + weapon_weight = WEAPON_HEAVY + ammo_type = list(/obj/item/ammo_casing/energy/fattening/cannon) + + +/obj/item/ammo_casing/energy/fattening/cannon + name = "one-shot fattening weapon lens" + select_name = "fatten" + e_cost = 100 + projectile_type = /obj/item/projectile/energy/fattening/cannon + +/obj/item/projectile/energy/fattening/cannon + name = "fat energy" + icon = 'GainStation13/icons/obj/fatoray.dmi' + icon_state = "cannon_ray" + ///How much fat is added to the target mob? + fat_added = 1000 + + //////////////////////////////////////////////////////////////////// ////////FATORAYS THAT CAN BE MADE BY LATHES OR RESEARCHED/////////// //////////////////////////////////////////////////////////////////// -///Weaker version of fatoray, can be produced by lathes +///Weaker version of fatoray /obj/item/gun/energy/fatoray/weak name = "Basic Fatoray" desc = "An energy gun that fattens up anyone it hits. This version is considerably weaker than its original counterpart, the technology behind it seemingly still not perfected." icon = 'GainStation13/icons/obj/fatoray.dmi' /// REPLACE THESE LATER WITH UNIQUE SPRITES - Sono - icon_state = "fatoray" + icon_state = "fatoray_weak" ammo_type = list(/obj/item/ammo_casing/energy/fattening/weak) /obj/item/ammo_casing/energy/fattening/weak @@ -67,26 +85,25 @@ /////////////////////////////////////////////////// ///Single shot glass cannon fatoray -/obj/item/gun/energy/fatoray/cannon - name = "One-Shot Fatoray" +/obj/item/gun/energy/fatoray/cannon_weak + name = "Basic Fatoray Cannon" desc = "An energy gun that fattens up anyone it hits. This version functions as a glass cannon of some sorts." - icon = 'GainStation13/icons/obj/fatoray.dmi' /// REPLACE THESE LATER WITH UNIQUE SPRITES - Sono - icon_state = "fatoray_cannon" + icon = 'GainStation13/icons/obj/fatoray.dmi' + icon_state = "fatoray_cannon_weak" can_charge = 0 recoil = 3 slowdown = 1 - charge_sections = 3 + // charge_sections = 3 weapon_weight = WEAPON_HEAVY - ammo_type = list(/obj/item/ammo_casing/energy/fattening/oneshot) + ammo_type = list(/obj/item/ammo_casing/energy/fattening/cannon_weak) - -/obj/item/ammo_casing/energy/fattening/oneshot +/obj/item/ammo_casing/energy/fattening/cannon_weak name = "one-shot fattening weapon lens" select_name = "fatten" e_cost = 300 - projectile_type = /obj/item/projectile/energy/fattening/oneshot + projectile_type = /obj/item/projectile/energy/fattening/cannon_weak -/obj/item/projectile/energy/fattening/oneshot +/obj/item/projectile/energy/fattening/cannon_weak name = "fat energy" icon = 'GainStation13/icons/obj/fatoray.dmi' icon_state = "cannon_ray" @@ -94,3 +111,18 @@ fat_added = 500 /////////////////////////////////////// +//////PROJECTILE MECHANICS///////////// +/////////////////////////////////////// + + +/obj/item/projectile/energy/fattening/on_hit(atom/target, blocked) + . = ..() + + var/mob/living/carbon/gainer = target + if(!iscarbon(gainer)) + return FALSE + + if(!gainer.adjust_fatness(fat_added, FATTENING_TYPE_WEAPON)) + return FALSE + + return TRUE diff --git a/GainStation13/icons/obj/fatoray.dmi b/GainStation13/icons/obj/fatoray.dmi index 8447bd57403b112536696ddb371c8b1b1520846f..fb45d0ba724043ebd87ae9603ec86c5e0b39cd4b 100644 GIT binary patch literal 1335 zcmV-71<3k|P)004jp0{{R3yS_FlbAn0KQJ;f?vhhJK0Z-V zQPkAZ`1trsOG_{?Fs7@l;e$gL7Z(Ku2a!Y&S1SxS8wYPS4}LrlmrNO=V>rOT!2f^% zw_E_*ZUCq8H532<00DGTPE!Ct=GbNc006&wR9JLGWpiV4X>fFDZ*Bkpc$}ru%?^Sv z3;^Ks_7n?TiE+Teix&ei9OM;D1BEThFk_MM_73GHKXKmLW?$DP_1P&sXE{qQ8GWMe zWUJVb#k)Nvy)2EeNfc5dP}ahHlFooZ8+sL(R>R;?QcB&~3a6yf(BK$bRN@_mu^jL( zbnOvtZn6NSS~YJMpRfEkW3YLc?Y#~`JipgJej0bB!}^YHvJjwajNDl0#`q@t`M9S3 zi;h#DrFrtc_7{@EAB6h)(S#@HwwA&P#j*8vNd&KTcp0v1C0 zHjZPb>9nv`1d4>|Y@-Mi$*=Deagrp$HtGkSt5XMG@0gxB4AFOao)^i})041Gk>@Rk zX}aG(KkqBr7BD@_4u_YQLq*$Sr@kv*U-P0_K`(nqXxY;`$Vpp= z;nnyrQeQ8@f?wCyH*{kVR-UkpGFYtFZ?(a+EVY5XHCQ%kRO>f`O+AxR8#q{lvQfiY zzZtapu263Be5)wxrfKkaJf_BiDU+VVC|a+2>YVe;STJSMbI91HmoAh;ZSjtxxgEiR z@=)3}7BzP(rh^6LLE1H@_ABqD3)sVLi$xLL-E@yf_{q&f+PWoUI_K&x%x;BJ1>!w* zA)sSX+#y=GGjosAbt=pBxVi_^%{@-nNy?1(*GdIUWEqdLj??@Pu|B#Pzx!38Q#T!-PF)u|rv+aV5FN%3z9w|(SjV^1syhFx&Z-FC*f*=TjAbtcr^SOC|JPa}=Zkvt(Z6+Xil90-A+sONL zYECj~QYp8BQil`c0_FdPF$gP<+XnKn&4zmn{(e_SptnEo>Imq=udm`9NabYREXW{t zQ!xjL{F(MJAh^rg7NuOw8Z^NjH>p?+Uq<}^6Wnoas)jG5en1u6an3i+F}EuRW^*yd z?J>702Pe2=HFLYF!GgWH!GgWH!GgW{!GgW{S=5Fg2!bF8g7~R?oX=;c8LVUZA{ITO zspR=`xj4;W9WpVe3Fv+TlHv0C`RO!+bx0MRCZPKXNQT8%aPe#KL*X=obx0MRCZKm1 z?3M_EAP9mW2!bGpo_vkeC+7O~6?UNX>w~=bxn2>2*LnS|umW9?3QrC)h3FEPoW&bl zeIrx+{U9IR4zNw~ARk?z6+$W;C&{$`T{_MnWRS|?q!zI$4C)EQxD(fK%qG$Pz~GcY zLHEqfZyPSs0L$nBQ?G)YQ_ZtE}#lQ~3D!kwg$zD-3Tn4}LrlmrNO=V>mb) z2mgQow_E_*ZUFPK9kBoa00DGTPE!Ct=GbNc006FfR9JLGWpiV4X>fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+ zEwLoOD6vwBi!&v&s2C_>$i2RY6~rr805Nckgo50m;*kjsBQvEbYrb`{o!zc zIXG*J9T?1WJlct+g{W>EK6cMDKn9wk4MXWM{}B^mbN2TLW}W2zNgoZ+%EKJ+A6(nQ zih-|hY%BGh^9Af|z&*{uL%$oC^-;2W#63cp0RS*l9zRS!$4%2_>41u}OI&(8FFhC& zW-_?nAxkI0EG;-!wg;#L^|+_P0Yaue3gC#~oIuI=J>wbozG@An#W?D>zMC=8Anv-I_5j5{V}xhuOvlL6h%?){G3jwAS~eS2gFwgr}Oz7ga!0Y z9E5~k$@y}*1YrT)3IrjcSMs(Q`16fz<@ww8K-2&dgk=FF2nk(L6h%=KMN$55u0mbN zaJ{B0pgwHtU|_{l+Z8t-5~Zt2?_1>kVYh z06RivhOkI