From b6f31ad49f623c7eda7a1b4bedcebcfa554de487 Mon Sep 17 00:00:00 2001 From: nukkuminen <90336027+oldschoolotaku@users.noreply.github.com> Date: Wed, 29 Oct 2025 20:15:13 +0300 Subject: [PATCH] Happy spooky month! (#1822) * todo finish tomorrow * fixing random sprite error, minor rewrite * translation * fuck comments * pumpkin is real * adjust price for jack-o'lantern --- .../ru-RU/_CP14/_PROTO/entities/entities.ftl | 20 +++ .../Objects/Misc/halloween_pumpkin.yml | 148 ++++++++++++++++++ .../Recipes/Workbench/CookingTable/misc.yml | 10 ++ .../Recipes/Workbench/Workbench/misc.yml | 15 +- .../0-equipped-HELMET.png | Bin 0 -> 1682 bytes .../halloween_pumpkin_helmet.rsi/meta.json | 15 ++ .../Misc/halloween_pumpkin.rsi/base1.png | Bin 0 -> 405 bytes .../Misc/halloween_pumpkin.rsi/base2.png | Bin 0 -> 557 bytes .../Misc/halloween_pumpkin.rsi/base3.png | Bin 0 -> 509 bytes .../Misc/halloween_pumpkin.rsi/base4.png | Bin 0 -> 497 bytes .../halloween_pumpkin.rsi/light-base1.png | Bin 0 -> 134 bytes .../halloween_pumpkin.rsi/light-base2.png | Bin 0 -> 156 bytes .../halloween_pumpkin.rsi/light-base3.png | Bin 0 -> 156 bytes .../halloween_pumpkin.rsi/light-base4.png | Bin 0 -> 154 bytes .../Misc/halloween_pumpkin.rsi/meta.json | 35 +++++ 15 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Misc/halloween_pumpkin.yml create mode 100644 Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/0-equipped-HELMET.png create mode 100644 Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base1.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base2.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base3.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base4.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base1.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base2.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base3.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base4.png create mode 100644 Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/meta.json diff --git a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl index f46f8e637d..6526a0734e 100644 --- a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl +++ b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl @@ -6152,3 +6152,23 @@ ent-CP14WindowFrameWooden = деревянная оконная рама ent-CP14WindowWoodenBroken = разбитое деревянное окно .desc = { ent-CP14BaseWindowFrameBroken.desc } +ent-CP14HalloweenPumpkin = страшная тыква + .desc = Когда-то это была обычная тыква... А теперь это страшная тыква! + +ent-CP14HalloweenPumpkinEmmisiveBase = тыквенный фонарь + .desc = Ууууу! Страшная! + +ent-CP14JackOLanternVariant1 = { ent-CP14HalloweenPumpkinEmmisiveBase } + .desc = { ent-CP14HalloweenPumpkinEmmisiveBase.desc } + +ent-CP14JackOLanternVariant2 = { ent-CP14HalloweenPumpkinEmmisiveBase } + .desc = { ent-CP14HalloweenPumpkinEmmisiveBase.desc } + +ent-CP14JackOLanternVariant3 = { ent-CP14HalloweenPumpkinEmmisiveBase } + .desc = { ent-CP14HalloweenPumpkinEmmisiveBase.desc } + +ent-CP14JackOLanternVariant4 = { ent-CP14HalloweenPumpkinEmmisiveBase } + .desc = { ent-CP14HalloweenPumpkinEmmisiveBase.desc } + +ent-CP14JackOLantern = спавнер тыквенного фонаря + .desc = { ent-CP14HalloweenPumpkinEmmisiveBase.desc } diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Misc/halloween_pumpkin.yml b/Resources/Prototypes/_CP14/Entities/Objects/Misc/halloween_pumpkin.yml new file mode 100644 index 0000000000..da28cdc7c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Misc/halloween_pumpkin.yml @@ -0,0 +1,148 @@ +- type: entity + parent: CP14FoodPumpkin + id: CP14HalloweenPumpkin + name: scary pumpkin + description: It was a normal pumpkin one day... Now it's a scary pumpkin! + components: + - type: Sprite + sprite: _CP14/Objects/Misc/halloween_pumpkin.rsi + layers: + - state: base1 + map: [ "random" ] + - type: RandomSprite + available: + - random: + base1: "" + base2: "" + base3: "" + base4: "" + - type: Clothing + quickEquip: false + sprite: _CP14/Clothing/Head/halloween_pumpkin_helmet.rsi + equippedPrefix: 0 + slots: + - HEAD + +- type: entity + parent: FoodInjectableBase + id: CP14HalloweenPumpkinEmmisiveBase + name: jack-o lantern + description: Oooh! Scary! + abstract: true + components: + - type: Sprite + sprite: _CP14/Objects/Misc/halloween_pumpkin.rsi + - type: PointLight + radius: 2.1 + energy: 0.9 + color: "#FEE68E" + castShadows: true + - type: Item + size: Normal + - type: StaticPrice + price: 6 + - type: FlavorProfile + flavors: + - pumpkin + - type: SolutionContainerManager + solutions: + food: + maxVol: 30 + reagents: + - ReagentId: PumpkinFlesh + Quantity: 10 + - ReagentId: Vitamin + Quantity: 2 + - type: SliceableFood + count: 5 + sliceTime: 2 + slice: CP14FoodPumpkinSlice + - type: Tag + tags: + - CP14FarmFood + - CP14Vegetable + - CP14Pumpkin + + +- type: entity + parent: CP14HalloweenPumpkinEmmisiveBase + id: CP14JackOLanternVariant1 + suffix: Variant 1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: base1 + - state: light-base1 + shader: unshaded + - state: light-base1 + shader: shaded + +- type: entity + parent: CP14HalloweenPumpkinEmmisiveBase + id: CP14JackOLanternVariant2 + suffix: Variant 2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: base2 + - state: light-base2 + shader: unshaded + - state: light-base2 + shader: shaded + +- type: entity + parent: CP14HalloweenPumpkinEmmisiveBase + id: CP14JackOLanternVariant3 + suffix: Variant 3 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: base3 + - state: light-base3 + shader: unshaded + - state: light-base3 + shader: shaded + +- type: entity + parent: CP14HalloweenPumpkinEmmisiveBase + id: CP14JackOLanternVariant4 + suffix: Variant 4 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + layers: + - state: base4 + - state: light-base4 + shader: unshaded + - state: light-base4 + shader: shaded + +- type: entity + id: CP14JackOLantern + name: jack-o lantern spawner + description: Oooh! Scary! + parent: MarkerBase + categories: [ ForkFiltered ] + components: + - type: Sprite + layers: + - state: green + - sprite: _CP14/Objects/Misc/halloween_pumpkin.rsi + state: base2 + - sprite: _CP14/Objects/Misc/halloween_pumpkin.rsi + state: light-base2 + - type: EntityTableSpawner + table: !type:NestedSelector + tableId: CP14JackOLanternTable + +- type: entityTable + id: CP14JackOLanternTable + table: !type:GroupSelector + children: + - id: CP14JackOLanternVariant1 + - id: CP14JackOLanternVariant2 + - id: CP14JackOLanternVariant3 + - id: CP14JackOLanternVariant4 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml index 76b1524b70..04531a9867 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml @@ -39,3 +39,13 @@ protoId: CP14FoodDoughMedium count: 1 result: CP14FoodDoughMediumFlat + +- type: CP14Recipe + id: CP14HalloweenPumpkin + tag: CP14RecipeCooking + craftTime: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodPumpkin + count: 1 + result: CP14HalloweenPumpkin diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml index 4972b67b4d..c6474897e0 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Workbench/misc.yml @@ -250,4 +250,17 @@ - !type:StackResource stack: CP14Cloth count: 2 - result: CP14Rope \ No newline at end of file + result: CP14Rope + +- type: CP14Recipe + id: CP14JackOLantern + tag: CP14RecipeWorkbench + craftTime: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14HalloweenPumpkin + count: 1 + - !type:ProtoIdResource + protoId: CP14Candle + count: 1 + result: CP14JackOLanternVariant2 diff --git a/Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/0-equipped-HELMET.png b/Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/0-equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..b574464b0322ab3ec5119ec8af78c9960ca3fe13 GIT binary patch literal 1682 zcmV;D25tF?P)VLLewHIXO5f001bFm65$l13?spzgb1aLL-P+SZpN9Rkp z60*C@jz4(_OS>&>?0o_&OTj|%348;^Duv9hutmV&Y37?Vmvd+CfKjgOR`-k&^g<;Y z`&F~qYMYZUOfW{Kj+?}ldi_vy7==DV`hG{~^>tlm4WIw1X*ZS%7yz4|pSU2(K=(?; z3PcLbJKc;QG|SUQ4a5^L6Xg7+*~$4svuw87Aii{ckg+k9<>b7iS^3wxFSRJ{%k$t& znU-zaX2pvf-#qCj%I_uSLFh&@j$}vq9+2NJ(_CJtC$?hQ_Ri`*-#t?LA9DIU&gLr? zo(r##dm%4>Q5ajJ_eDm!2uJrYJ}A8H8@OA8+1tWfwxF~DkLeG<#!vl++sNqv00kOJ zL_t(|obB9CXq#mm2k>vqKzK3mmVs}VX;(-os|Ot&3N73+7n)q@$qK$hBU5kfK|FANN?hva$s=3VJwd1Bw` z_j76TCVlgJ{=H9Hc)tJ<5fKq}!1p&_vyQulC-HC9{Y)oLnw&7Khu8Y7D@$Pu0OCQ- znw^Vx;-i$Cor@zL)GPqFvJ|!+UhA`x6Gq1d!=v(K`5C_~^qUv@u=3p=HqJk4dCynA zk39fz_0yQjk8X>Y93R#`Z|UgK+t1>?cV5K%fBY_w^?p%Q+Gom6mY?xk>swU}^!NY( zOL_qJ?%u~@w~4_aAC^~(0DyrWA6~y%QrZX=k`soNDbxS}QCp@Fv3T9B*0-vN zMs#!;8qjQqSixO}hG;~WgP@AC0a#uw%HoIT_b{F)0{~uq`-XfRjp*{ya2I@x$|bhrUM~7aN(I*z3vW>T<=3YrfdK?C(+KM7t-5?Ulnz@ zu{M3O<#qe>@kANZyz?u#QZjrmT3CL>mqU5fHS5D)dw%}%EtMasoc-&ivkh*YJVZo9 zL_|bHL_|bHL_|bHL_|bHL_|bHL_|a?iI|%Il1{Zr`Aui>pl1E_@;RJ;C>^B<%z+WGPaQm0P@y4&a%5T(Dda`&>vz&1?A}>hXZJ0VY>$h^a}x3~zGI_-I6zch0-XVJR-lt3~W@Y(fi-U~1Bj<<+7boM=Q>656CR zuEw4jXQop!T}0#uRZ1qt6J;dw?n+AmfJDCDQseOap40U3Q5na}ZW=D%jv^L%PepQ!IB?I7;Z3Z`uC(1y+3fww~tpR}D z@*~%M4UO%XoDe1|U4rzLOaux~e_O;1Z3h=_=Yh=_=Yh=_=Yh=_=Yh=_=Y ci2ir}0e>EfoEz!us{jB107*qoM6N<$f@<_IYybcN literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/meta.json new file mode 100644 index 0000000000..3a13314b9d --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Head/halloween_pumpkin_helmet.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "equipped-HELMET created by Dinazewwr", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "0-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base1.png b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/base1.png new file mode 100644 index 0000000000000000000000000000000000000000..d512a4dacdfaad0d6b21bf00bdf9929dde73d9c3 GIT binary patch literal 405 zcmV;G0c!qPx$Pf0{UR9J=Wld($zVHn1Lbxj8cI-LlKaB$!f4Tj*LxwM*_OQ3sDLr8yuNdH4~ zQ@8}VSPp_v^MN4L3BnC=2N&NGat(Unc%Kb5e82sDp67jE9#AM03dJ9@^PAzft86r# zEdg-c5P*wUA*H#ujq#viMvfbjHg#+S{b4|>nZ@@6g`5$c+bNMB&kFeBU20O$_` zKF^Are=X39$B36FCgTv>(#YQ|5@}0aAl}?@pPx$=Sf6CR9J=WmA`8fQ5?WO@sz@YgF7-j2~vbB2X4Ux0vR;<12oOnvHk&FQz{#aul)4!~hk&F@1A!KFu@E>YEf#JlcW`i%;W^zS?GStAq|1Ha;QQ{!`+n|y z-w!A#C@8pQN>}}G(3J|nbqoOd!w7)j@vGA2%ijMJI9jWyG`6MC_roC3@q6=m3E(m! zH?k)04!+!F3Eoy>)JM zauJv%+1~|V;!oN8`A5fGm=msJ=u+e+5C#d`JEs6NnkLU8pSQOY8ch>`?VVGS{armF z?=71D>@$-_>Lr?s!0a$DZ=JEcb%v<70CYP`?K2Cc zJbZnk<8(e;e3r_l`@uYJUM6YpASn$NO$G4gfraZB*isM%3APk`ep1Gkg7GNEbqpr{ zl*8i~s#$+;4qi>DqqT~vmKXFj+a7eKs+Jd&R}(7TrgLXjB273O54uu$HIXTK=CfdZ v!_(`#)3$WI507Jd2g#KWw}OI#f@|Y1jPx$w@E}nR9J=Wlrd-%Q5eU68r#4t!Amk6+z=~~LMTGuB36f*L+E-09Gt{1u60PE zV;uz1r3a1<0hc&c#X+((jzT-Pga%H9ltW4)+5>Hm*P-OFiumquaCpDvJ^0@H|NngN z@qtF8(P;hw57*{p+Pi1cUhFhX3GnUCWuCnbxj*Uyu&^E^(o7t{vxRgWgS;ttI$=?{ zFv-nbAAnYS0Kn2#sH~ePfZw!a-W0Uj11hB)Yetz5JA2&w5ikxVYIVZRF6Wnbm9#Ue z=AJF&wYdVKR%f=b&(vhZ(R&{|I>2=d0A9TL%xqzwVGwfhd$js?@9@FjbkC^<7!z)G zX|)Hqj=|mA)~TB75Z6>Wt9r0f$}tSW*kIgl08y(WYIX9az;z5>ZH%ata!R_1JMc4C zZaoL!-AWgL8;?E#usE&!vg#d}DQD>QBLI5+C^j2248q^etB|?_FBgmS`Vlkb48tHK zZwemIM_j$0I|;WjN-OPx$t4TybR9J=Wls!u$Q51%sRhPg8*%<;mFoFm!LJA=eZ4}f2QP5%{SY#VMZXl2%s3-%9axLNvQ5L)t+{$^Hdu9%t^PZ1; zAtWRuI+R6R7WB=EE;N&$4$RvaWuq_SU z5d8RPvbbDetNWI-^9KM1)=J888-gacEsdt(A>5-ZUr#>+_W*3{UNW9C5gmP8b!FwJ z$=^yM0to=n4S{=<1z_;xr~lu!G%iXmJo)lzQ?|?&UlkEZK&-hDfcd2&wxuziGN1V` zN-pzDMPkj3w6)eN#jI0Jo==;yI=OBL07OThf9i(7wls2oua%1mJOYp2=>h93hOpiueYdyLlDvS4`@*pEn?tq7ruXG~m zl>IRzoia(M%-Q(^Q+t;X@GVd#lMphWHf1~-k(q>$@n}TGqY-)a{flpV%c@FEFQIoG ntMS@CaqPZ*KG>gI0)z4*}Q$iB}?&U3G literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base2.png b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base2.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca9fa3043a5f69129f34a9d28ef2bbd5cb63dc5 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY;~ z2@wXF~;SB@B!k^~dRu97Jfi^IBy85}Sb4q9e0N`jfH2?qr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base3.png b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base3.png new file mode 100644 index 0000000000000000000000000000000000000000..f879627217835fc9bbbfdab2186d91deb1b9f479 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY;~ z2@Gk@(k;Ss&^Cb?rtb4j&e@Se50ua<};?`?BBNxC> wEOS=Zfv-qn_Ooe+88)SsY^{LkZzopr0Hj7T&Hw-a literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base4.png b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/light-base4.png new file mode 100644 index 0000000000000000000000000000000000000000..fbf6935b8f0b2b13507611ea8a4bba0fa1eafe09 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}A)YRdArY;~ z2@Gk@(k;Ss&^CJ$p^gZ3Lza%z20SIa~aqF=qAAZuN w-|$nw^2EfOC7g^Yr#EbL2WkVEF@cHUv98sZ_o@?i0nKOdboFyt=akR{0DTfOy8r+H literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/meta.json new file mode 100644 index 0000000000..5a735669d5 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Misc/halloween_pumpkin.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Base1-4, light-base1-4 created by Dinazewwr, light-base1-4 modified by oldschool_otaku", + "states": [ + { + "name": "base1" + }, + { + "name": "base2" + }, + { + "name": "base3" + }, + { + "name": "base4" + }, + { + "name": "light-base1" + }, + { + "name": "light-base2" + }, + { + "name": "light-base3" + }, + { + "name": "light-base4" + } + ] +}