From 3c534069a4b9453b4553b3bea549218f1394b794 Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 24 Aug 2025 15:58:35 +0300 Subject: [PATCH] Random tweaks (#1701) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * weather overlay offset * sack head clothing * remove raid * less mushrooms, less muhrooms hat * Update CP14VampireRuleSystem.cs * Update base_clothing.yml * fix * Revert "Update base_clothing.yml" This reverts commit e51d13fe77b9c6c2d5f6b14a81ccc89b0849241d. * Update backpacks.yml * ашч * double game preset * Delete parts.yml * Update sack.yml * Update sack.yml * g * remove raids * fuck you --- .../Overlays/StencilOverlay.Weather.cs | 16 +- .../Systems/AdminVerbSystem.Antags.cs | 43 ++++- .../Rules/CP14VampireRuleSystem.cs | 2 +- .../CP14ShowVampireFactionComponent.cs | 1 - .../Locale/ru-RU/_CP14/vampire/vampire.ftl | 2 +- .../Entities/Clothing/Back/backpacks.yml | 2 +- .../Entities/Clothing/Back/container_base.yml | 2 + .../_CP14/Entities/Mobs/NPC/myconide.yml | 2 +- .../Entities/Mobs/Player/TownRaids/undead.yml | 83 --------- .../_CP14/Entities/Objects/Misc/parts.yml | 24 --- .../Objects/Specific/Farming/sack.yml | 89 ++++----- .../Prototypes/_CP14/GameRules/events.yml | 35 ---- .../{subgamemodes.yml => vampire.yml} | 170 +++++++++++------- .../Demiplane/Modifiers/Danger/mobs.yml | 8 +- .../Construction/Graphs/Vampire/heart.yml | 89 +++++++++ .../Construction/Graphs/Vampire/workbench.yml | 93 +--------- .../_CP14/Recipes/Workbench/sewing_table.yml | 2 +- .../Prototypes/_CP14/Roles/Antags/misc.yml | 7 - .../_CP14/Roles/MindRoles/mind_roles.yml | 9 - Resources/Prototypes/_CP14/game_presets.yml | 16 +- Resources/Prototypes/_CP14/secret_weights.yml | 5 +- .../Storage/sack.rsi/equipped-HELMET.png | Bin 0 -> 1146 bytes .../_CP14/Objects/Storage/sack.rsi/icon.png | Bin 475 -> 506 bytes .../_CP14/Objects/Storage/sack.rsi/meta.json | 14 +- .../_CP14/Objects/Storage/sack.rsi/seed.png | Bin 2020 -> 750 bytes 25 files changed, 320 insertions(+), 394 deletions(-) delete mode 100644 Resources/Prototypes/_CP14/Entities/Mobs/Player/TownRaids/undead.yml delete mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Misc/parts.yml rename Resources/Prototypes/_CP14/GameRules/{subgamemodes.yml => vampire.yml} (68%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Vampire/heart.yml create mode 100644 Resources/Textures/_CP14/Objects/Storage/sack.rsi/equipped-HELMET.png diff --git a/Content.Client/Overlays/StencilOverlay.Weather.cs b/Content.Client/Overlays/StencilOverlay.Weather.cs index c5ccb50cf5..87e118d47e 100644 --- a/Content.Client/Overlays/StencilOverlay.Weather.cs +++ b/Content.Client/Overlays/StencilOverlay.Weather.cs @@ -18,6 +18,7 @@ public sealed partial class StencilOverlay var worldAABB = args.WorldAABB; var worldBounds = args.WorldBounds; var position = args.Viewport.Eye?.Position.Position ?? Vector2.Zero; + var eye = args.Viewport.Eye; //CP14 // Cut out the irrelevant bits via stencil // This is why we don't just use parallax; we might want specific tiles to get drawn over @@ -45,10 +46,17 @@ public sealed partial class StencilOverlay continue; } - var gridTile = new Box2(tile.GridIndices * grid.Comp.TileSize, - (tile.GridIndices + Vector2i.One) * grid.Comp.TileSize); - - worldHandle.DrawRect(gridTile, Color.White); + //CP14 offset - required for isometric walls + if (eye is not null) + { + Angle rotation = eye.Rotation * -1f; + var offset = rotation.ToWorldVec() * -0.5f; + var gridTile = new Box2( + tile.GridIndices * grid.Comp.TileSize + offset, + (tile.GridIndices + Vector2i.One) * grid.Comp.TileSize + offset); + worldHandle.DrawRect(gridTile, Color.White); + } + //CP14 offset end } } diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs index 27bd3d2e3f..83b04c10f2 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs @@ -31,7 +31,9 @@ public sealed partial class AdminVerbSystem private static readonly EntProtoId DefaultThiefRule = "Thief"; private static readonly ProtoId PirateGearId = "PirateGear"; //CP14 - private static readonly EntProtoId CP14VampireRule = "CP14GameRuleVampireClanBattle"; + private static readonly EntProtoId CP14VampireUnnameable = "CP14GameRuleVampireClanUnnameable"; + private static readonly EntProtoId CP14VampireDevourers = "CP14GameRuleVampireClanDevourers"; + private static readonly EntProtoId CP14VampireNightChildrens = "CP14GameRuleVampireClanNightChildrens"; //CP14 end private static readonly EntProtoId ParadoxCloneRuleId = "ParadoxCloneSpawn"; @@ -52,20 +54,47 @@ public sealed partial class AdminVerbSystem var targetPlayer = targetActor.PlayerSession; - Verb vampire = new() + Verb vampire3 = new() { - Text = Loc.GetString("cp14-admin-verb-text-make-vampire"), + Text = Loc.GetString("cp14-admin-verb-text-make-vampire") + ": " + Loc.GetString("cp14-vampire-fraction-name-night-childrens"), Category = VerbCategory.Antag, - Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/_CP14/Actions/Spells/vampire.rsi"), - "bite"), + Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/_CP14/Interface/Misc/vampire_icons.rsi"), "NightChildrens"), Act = () => { - _antag.ForceMakeAntag(targetPlayer, CP14VampireRule); + _antag.ForceMakeAntag(targetPlayer, CP14VampireNightChildrens); }, Impact = LogImpact.High, Message = Loc.GetString("cp14-admin-verb-make-vampire"), }; - args.Verbs.Add(vampire); + args.Verbs.Add(vampire3); + + Verb vampire2 = new() + { + Text = Loc.GetString("cp14-admin-verb-text-make-vampire") + ": " + Loc.GetString("cp14-vampire-fraction-name-devourers"), + Category = VerbCategory.Antag, + Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/_CP14/Interface/Misc/vampire_icons.rsi"), "Devourers"), + Act = () => + { + _antag.ForceMakeAntag(targetPlayer, CP14VampireDevourers); + }, + Impact = LogImpact.High, + Message = Loc.GetString("cp14-admin-verb-make-vampire"), + }; + args.Verbs.Add(vampire2); + + Verb vampire1 = new() + { + Text = Loc.GetString("cp14-admin-verb-text-make-vampire") + ": " + Loc.GetString("cp14-vampire-fraction-name-unnameable"), + Category = VerbCategory.Antag, + Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/_CP14/Interface/Misc/vampire_icons.rsi"), "Unnameable"), + Act = () => + { + _antag.ForceMakeAntag(targetPlayer, CP14VampireUnnameable); + }, + Impact = LogImpact.High, + Message = Loc.GetString("cp14-admin-verb-make-vampire"), + }; + args.Verbs.Add(vampire1); /* CP14 disable default antags var traitorName = Loc.GetString("admin-verb-text-make-traitor"); diff --git a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs index 15629bc6e3..bff43c399f 100644 --- a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs +++ b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs @@ -82,6 +82,6 @@ public sealed class CP14VampireRuleSystem : GameRuleSystemVARZXb`Ee%$xljE2y%B)&@i;L zw9sT=(3qHpXdswU3d}PN6KW zE>4S??MGQ}qo7OtHP)G}n*HJhs^TJ38D82uC>l+FdUV9&Tv!7 z^Jc;~Hi6w5DkmgQ*fFJiUg~@!+~JK1$8XM#Se7p=6aKO;v6DTM_K0CNbK>cS8>%Zs z6{;oYeCF2bHo9!=CBmbtt1BuK{AqHKXp?rgcTjP+sLkg|pS!s}bqje11vg|VzGG%~ z>~IR`$Yd~$%9!*bzllMFU*Otvhk_qQU2`2f6dj5(10|=NJdxrvqu(I8kA=DUe-Inn zGv3aNwB#-z%S#ycigmc|2VlLn`LHy>mWG z%29^>!}^5@M-rr@$^>V1SLC+b>5?n{%vi%UU(J6a`-!#3TkdczyMEN0<>t`|8ePvW zolUe(lTlx~bpOnrr@tE~q_obx|L5-4Pplmvut$66uEPCy&z{W|HxEB|Yx1Mrc^{=$ z^Uay-9zDPI|1?I9Vx@bl^Dat%yL~t2{ek7@<*(P<_snBpcwEx-v46g!uM<%3>-cX0 z{r!wLUbA&|PFPp%|0!+Pb}L4PtuJowx_aLks37~|=VPXOy{3Y+^|5`qE zj^DM_IwoI#NIWjt^zVMy|C^O6`wHf~Wtc4W=gGT!;gjoCckaGFi$#8pPs6L0f7KK9 zt~bx;2|sAVte3aW>tq4zf*CEYyS7|=e~Mk){AzgBqAbaG2_Vni0 zLHu)VtSnq~tMtUYe?`@Q{&FPpc9ONiY=84GAJcUUDyy2ZVh-wPD@(3xlBs!GR1kaW zS+L4s(X`0Q#dUk*Z`NqtTK9u5;OMH)TPj}o1soS-+uncaY-e_@Ez^d`{}yvCtlM1X zGj^ABy6$4xP+O;WNp)6l?U$&z3UT(nd&AW8&A!z~@Big9=|$lJw(U1>Y_FRKbiSP9 zf!8WGRx)y7+>IsT@<9QUdnNBJ$tst;^+aa_=M9-Z0nM{=zC@kf zqW|)O+C|v}HNU_5XRhdb#tCf>xp;NQqs2Sx7iDc}HQnjqBRIREd-m!{x_xf_H8(}m z&Q`^oeelijP5XwONoBbo8j~jEn(jVfEySJkYOB>wE^8y_*;8UGcv-u4$lgv^tub59 zYG+7QS4Pq_E)%2kfu(!JMDx8B{SPU{E|Lnr(4`&C==(bT#`-r3oN>&v(;_W@$S$ZC zH;9+IvTni|zE5H|L}X>y?0Px$v`IukRA_J%3*#@gEAU2*XLfl`{g=KjA+?h+6}2qA64k6>-pJR+tS`fwb#JiRTbMx)2KJUgqgOcu&p$Y{u9&IXa8sa1%P&t&>b2u zxQzl)@jz63e0`|mO)~x*h<~dPqolov`aK8Yx@W!}BnUb!Ba7I`%be%9VbE!@wmBai w>s7R3s(3K`HahICVybu{gb+dqA;kao4o5Sd=erd-HUIzs07*qoM6N<$f~-;Py8r+H literal 475 zcmV<10VMv3P)Px$l}SWFR9J=WmBC5^K^Vt>Nnl}^p|~vQC9I2?V221h*2O(}>e>r<_T*F4D|F}q z^a<)9kr3uhx+usl3Mz_uvP-kAmd&gZUG@jdvNPYz|35R|Hwzvf9{eARuJgH>D=SDmjovMaYYc-UP zOUXbXYs@kiQTw}C%1g%>xfGYzhtfFZ9q5={0LJEoYNbxGlwWGZ$fYUAw*w+Ufk#M$P=*}t*@YcwFE z9T1L%00_rI_KKaN%f#+q9@a0za4bZx-3Or8?sJ+;kvNXe#YA^@e|)ae=h8Bi=D_Q7 z6J3kYYxn2O1hj2*Ekeia641Wl$L0ipq2-rN4Y(*nz!nE=ac6!AaW}ZW2b^zVVjZMO zvg{skvbgf0<;NNgl#)>CXH>`SLt3j>&JUl!+1Rq9Rp69eN RL$&|_002ovPDHLkV1i>x*=qm* diff --git a/Resources/Textures/_CP14/Objects/Storage/sack.rsi/meta.json b/Resources/Textures/_CP14/Objects/Storage/sack.rsi/meta.json index c807edc953..c940c15e6b 100644 --- a/Resources/Textures/_CP14/Objects/Storage/sack.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Storage/sack.rsi/meta.json @@ -1,17 +1,21 @@ { "version": 1, - "license": "All right reserved", - "copyright": "Created by Artista. Seed sack By Ell_Good", + "license": "CC-BY-SA-4.0", + "copyright": "Created by artista.rar_furrista, helmet by TheShuEd", "size": { - "x": 32, - "y": 32 + "x": 48, + "y": 48 }, "states": [ { - "name": "icon" + "name": "icon" }, { "name": "seed" + }, + { + "name": "equipped-HELMET", + "directions": 4 } ] } diff --git a/Resources/Textures/_CP14/Objects/Storage/sack.rsi/seed.png b/Resources/Textures/_CP14/Objects/Storage/sack.rsi/seed.png index ebbb5485b19a0234744a73424d47fc081a0523bf..9efbb9eeb31522c224cf1d4e4b0711024fb02f33 100644 GIT binary patch literal 750 zcmVVLLewHIXO5f001bFV_;x1aCC8UWfEXu$jvJ$3UYT+h=`0*U_Z~m#=y(~28qeV z1&#p$J|K2peqJgA2KaW3fe}Ps)&-e`DUTO$B^MNx0O>zKY?P8(oXo($XaHnqmzNX( z#Tn-S*&<2VVD<(OyC@{c8OS~YWb>s%*jGU8BnbNnh+PEq1d#m&q&^+YX5s*w17XX6 z*d?hIAbS~{^9w4AGSf3k6bvmbEfpM7@{>{(f-8$lQge$HJoA$Ciwg3K5=&B3fNCM` z0|P;bLQsfl05w`@lIU-O02B`p*5^QQ_%e!}L5Lwha%oW+l*!0sOqh=_V~zv^ga1+n z29`evF_T^fh6Oqd4E$3OVrqsA3fJsC_RA_cIRfY_6>%>b6m7)PGeCEnA7xqZ`~^M7Y0xMJLL_DL4Rt zN~10Uw@6wI@*XJpp4!+dAPy5)b`GY@zzTCHS8HN#dq>%edD4931^^%q6PVH%t_K`m z)ySKf^c5=ko*ETC5T9lv&;1-AHPDH&U)JA`(}2uC;1-o-_a>gV>>jAUKmc(Q_n&ft zPLxH|ZGT4d!x->RnGOK4fxhVci1_g_N+^3k02nKDBqjp4NSKoUO6Z3T=!OmGh7IV3 g4KNJDFpN$<00NKl#_W%F@07*qoM6N<$f*xNmF8}}l literal 2020 zcmbVN3sBQ`7!RO`D2T!)3Lc^C1W((fEw5&FJX)kM3+15#&XY7vOQcO=5}+WCIw#1) z2TmrNC^EL4$mGsD-^jqJ%=Z*@=%$0Y+fxTRbla)Z{ac`?o0~UtN&8Ro`~SZ0`+bj8 z>QWNDJg0g>5agAlQKy4{*nWAqgI~U+ zeS7jzonJ+JK*I5c`5xE%*w8ec`O=Z9q=j$6SR1@0ZDfK1y~A$!!fFgI9Z=Z|`bymySBKy?%+$1Y1+emk~ax zu}z!r2k1PxM^N&qyQMyhZC7|@P?e%%Jh#|o?zBbuww#UL7qbU4PwynNyZWccy|jMJ zyX(%$4+d3KCi`BxkT&_mfLpFK$Q(88;QYNGx7{s!sGQg{NYeF*9l{V^hf9S|X3 zDH=*>mR1L=7>YLIuwJ2b<)!OuuecR#EP?sRD#-LasUm46UP>CW`}VDfskg>Lec^c zuu>N8$p*WipI;BvZN(mtk3?LmZsQjE%^sF+ZM%f-=hLMAqn z2EELvH-^iiqeu3u8KS_R*^&K*|G7Vvqd;rn=I7?IH=MmBFb&0nWEBs0LC>DQ_roy5N%N&2}u7V-9s>*F$zUEN5+|eTF)#e1UQe_`*0`@ z`Uhe0yoYfM$%w%abQFxO)qEwUzF@5bzElFs$Vw6ym~a&zq8&i z*ekR$;bic!)V^HS_e|~C85zbH+e+TO;&s=h0y_~a*uBL&e)O2MoqW{jlW7;q%P;>F zsL!v#4yRR~YU{qXtZZBFHRbP1(vvq$sY$=|g3VP2wY%h&AL`3BWfU^B3se=L`F8x> z?|0Alvz59Ho(uGk>Nv0>;S;FSOTA+8fx0CL$+s^&+*f*F*{92|s-~Kv+ivO$s44pM ziH+UUugwXb5ZJ${?`L)2y$2I3&wq0<5Q=T={vy67Wb5jiE5dGlcPht=syni$Irp%u zyyg9`&D6ph0bSenYVKFNK=4{QN>_c=cv+cWeO6QQ27rHXOY>mnoLOz&8=y%I?fGRl zABDyKSkkqpqJG_$-+V3xK|b2rdYMWjtd4sWk-wJjkk6}k->@df_j)(KX}dLcnQxu@ vJD-nTw0@LshhLfL!7gS85 >g*X&M9UACaVl6m?5{?i+sru+_?p