From 6b842af7d32461a613c03da83917b61fe547b9e4 Mon Sep 17 00:00:00 2001 From: kekw Date: Sat, 18 Jan 2025 23:33:40 +0300 Subject: [PATCH 01/39] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=8D=D0=BA=D1=88=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=BB=D1=83=D1=82=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20+=D1=80=D0=B5=D0=B1=D0=B0=D0=BB=D0=B0=D0=BD=D1=81=20+=D0=BB?= =?UTF-8?q?=D1=83=D1=82=D0=B0=D0=B5=D0=BC=20=D0=BA=D1=83=D1=87=D0=B8=20?= =?UTF-8?q?=D0=BC=D1=83=D1=81=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Shared/RatKing/RatKingActions.cs | 6 +++++ Content.Shared/RatKing/RatKingComponent.cs | 6 +++++ Content.Shared/RatKing/SharedRatKingSystem.cs | 24 +++++++++++++++++++ .../entities/mobs/npcs/regalrat.ftl | 2 ++ .../Entities/Mobs/NPCs/regalrat.yml | 13 +++++++--- .../SS220/Entities/Mobs/NPCs/regalrat.yml | 19 +++++++++++++++ .../Entities/Structures/Specific/trash.yml | 2 ++ 7 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl create mode 100644 Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml diff --git a/Content.Shared/RatKing/RatKingActions.cs b/Content.Shared/RatKing/RatKingActions.cs index e2031e972b75..26d98b1808c0 100644 --- a/Content.Shared/RatKing/RatKingActions.cs +++ b/Content.Shared/RatKing/RatKingActions.cs @@ -20,3 +20,9 @@ public sealed partial class RatKingOrderActionEvent : InstantActionEvent [DataField("type")] public RatKingOrderType Type; } + +//SS220 RatKing starts +public sealed partial class RatKingRummageActionEvent : EntityTargetActionEvent +{ +} +//SS220 Curse is over \ No newline at end of file diff --git a/Content.Shared/RatKing/RatKingComponent.cs b/Content.Shared/RatKing/RatKingComponent.cs index 712d4ae3a130..627f58613c55 100644 --- a/Content.Shared/RatKing/RatKingComponent.cs +++ b/Content.Shared/RatKing/RatKingComponent.cs @@ -99,6 +99,12 @@ public sealed partial class RatKingComponent : Component { RatKingOrderType.CheeseEm, "RatKingCommandCheeseEm" }, { RatKingOrderType.Loose, "RatKingCommandLoose" } }; + + [ViewVariables] + public EntityUid? ActionRummageEntity; + + [DataField("actionRummage", customTypeSerializer: typeof(PrototypeIdSerializer))] + public string ActionRummage = "ActionRatKingRummage"; } [Serializable, NetSerializable] diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 7eb92b59415a..3b4d524a4db7 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -37,6 +37,9 @@ public override void Initialize() SubscribeLocalEvent>(OnGetVerb); SubscribeLocalEvent(OnDoAfterComplete); + //SS220 stuff here + SubscribeLocalEvent(OnRummageAction); + //SS220 curse is OVER } private void OnStartup(EntityUid uid, RatKingComponent component, ComponentStartup args) @@ -50,6 +53,7 @@ private void OnStartup(EntityUid uid, RatKingComponent component, ComponentStart _action.AddAction(uid, ref component.ActionOrderFollowEntity, component.ActionOrderFollow, component: comp); _action.AddAction(uid, ref component.ActionOrderCheeseEmEntity, component.ActionOrderCheeseEm, component: comp); _action.AddAction(uid, ref component.ActionOrderLooseEntity, component.ActionOrderLoose, component: comp); + _action.AddAction(uid, ref component.ActionRummageEntity, component.ActionRummage, component: comp); //SS220 CURSED CHANGE UpdateActions(uid, component); } @@ -71,6 +75,7 @@ private void OnShutdown(EntityUid uid, RatKingComponent component, ComponentShut _action.RemoveAction(uid, component.ActionOrderFollowEntity, comp); _action.RemoveAction(uid, component.ActionOrderCheeseEmEntity, comp); _action.RemoveAction(uid, component.ActionOrderLooseEntity, comp); + _action.RemoveAction(uid, component.ActionRummageEntity, comp); //SS220 action } private void OnOrderAction(EntityUid uid, RatKingComponent component, RatKingOrderActionEvent args) @@ -143,6 +148,25 @@ private void OnGetVerb(EntityUid uid, RatKingRummageableComponent component, Get }); } + //SS220 RatKing Changes start here + private void OnRummageAction(Entity entity, ref RatKingRummageActionEvent args) + { + if (args.Handled || !TryComp(args.Target, out var rumComp) || rumComp.Looted) + return; + + var doAfter = new DoAfterArgs(EntityManager, entity, rumComp.RummageDuration, + new RatKingRummageDoAfterEvent(), args.Target, args.Target) + { + BlockDuplicate = true, + BreakOnDamage = true, + BreakOnMove = true, + DistanceThreshold = 2f + }; + _doAfter.TryStartDoAfter(doAfter); + args.Handled = true; + } + //SS220 Curse is OVER + private void OnDoAfterComplete(EntityUid uid, RatKingRummageableComponent component, RatKingRummageDoAfterEvent args) { if (args.Cancelled || component.Looted) diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl new file mode 100644 index 000000000000..a473fd2d7359 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl @@ -0,0 +1,2 @@ +ent-ActionRatKingRummage = Перерыть мусор + .desc = Покопайтесь в мусоре. Вдруг найдёте сыр! \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index d3bf3aa069ba..6aab68a7a57b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -295,9 +295,16 @@ - type: weightedRandomEntity id: RatKingLoot weights: - RandomSpawner100: 66 #garbage - FoodCheese: 28 #food - IngotGold1: 5 #loot + # SS220 weight changes begin + RandomSpawner100: 30 + FoodCheeseSlice: 50 + FoodCheese: 15 + FoodCakeCheese: 5 + # Official weights + #RandomSpawner100: 66 #garbage + #FoodCheese: 28 #food + #IngotGold1: 5 #loot + # SS220 weight changes end - type: entity id: ActionRatKingRaiseArmy diff --git a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml new file mode 100644 index 000000000000..f49221293440 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml @@ -0,0 +1,19 @@ +#Different action to loot trashpiles with own weights +- type: weightedRandomEntity + id: RatKingLootTrashPiles + weights: + RandomSpawner100: 75 + FoodCheeseSlice: 20 + FoodCheese: 5 + +- type: entity + id: ActionRatKingRummage + name: Rummage + description: Rummage trash to find some cheesy-cheese. + components: + - type: EntityTargetAction + useDelay: 3 + icon: + sprite: Interface/Actions/actions_rat_king.rsi + state: ratKingDomain + event: !type:RatKingRummageActionEvent diff --git a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml index beda8534371a..fe5bd7351235 100644 --- a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml +++ b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml @@ -5,6 +5,8 @@ description: Среди этой кучи мешков, полных мусора, теряются последние искры надежды на чистоту и порядок. suffix: Мусор, Хлам components: + - type: RatKingRummageable + rummageLoot: RatKingLootTrashPiles - type: InteractionOutline - type: Sprite noRot: true From 415d759ed7950cdfae63ed431a896489a07228a1 Mon Sep 17 00:00:00 2001 From: kekw Date: Sun, 19 Jan 2025 03:21:00 +0300 Subject: [PATCH 02/39] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D0=BB=D0=B5=D0=B9=D1=81=D1=85=D0=BE=D0=BB?= =?UTF-8?q?=D0=B4=D0=B5=D1=80=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D1=83=D1=80?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=8D=D0=BA=D1=88=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SS220/Entities/Mobs/NPCs/regalrat.yml | 4 ++-- .../Actions/actions_rat_king.rsi/meta.json | 3 +++ .../Actions/actions_rat_king.rsi/rummage.png | Bin 0 -> 717 bytes 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/rummage.png diff --git a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml index f49221293440..e42d46fd0ada 100644 --- a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml @@ -14,6 +14,6 @@ - type: EntityTargetAction useDelay: 3 icon: - sprite: Interface/Actions/actions_rat_king.rsi - state: ratKingDomain + sprite: SS220/Interface/Actions/actions_rat_king.rsi + state: rummage event: !type:RatKingRummageActionEvent diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json index 21cbab539b89..ab786997def5 100644 --- a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json +++ b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json @@ -7,6 +7,9 @@ "y": 32 }, "states": [ + { + "name": "rummage" + }, { "name": "attack" }, diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/rummage.png b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/rummage.png new file mode 100644 index 0000000000000000000000000000000000000000..c94a6e91ff0828e145ddc4fbf52d8ed775c6a44c GIT binary patch literal 717 zcmV;;0y6!HP)Px%heO=-Q=VmSz?s z&UUHY`UkkzBDvroLY!h)P#6G`=@ib-I*3NEwTpV4D;Ti|7jx_>c2b)QnUBXS zNTyS$pIQi$AZxz9WpE3I14mm>%-3l+a5%59m>?@gV!h6lv}pXvwky`ZxRmCuZyDT% zTmZVl@$xn*g}Un)bZb>0L`x!_%ADw^oP%Re>1!hvL8VYfrBL^T@&pJfBNm|`qEs6R z44^v#6~wIp=*-z;5vA)w;3HrS9ee7U4VA=?v=Trzy?#uN$~jL6UjRA-6~vd*1z1EM-`(fTi7AowVbxb1PXN+|cs@aQ`Tlqr zlhMqTOH5y^J_G<99#8%pK!k|r6ZkT}d7Kg;)|5ar?OinOUAkWNP~wJA_gwE^T+&H? zb@)`8)3osmln2*op&9T~kmQlv;lSaBTO4$*1LRH8iQ&L;b;S>a>>HHoTb1-apd${V z{k;RU+BNBWOJd@9ydu4py;jA=8m)GXiz@+Gkj9CHX!M$1x7szB*$gd0V&WPx&r2=< zGn=92x265P1OEVx6KkOzurjk5ml@fRZvX&X8_6|$EGmh|LSni#Apj^Ai}SC&&&s5~ zp~pMVQ7V-}v;#p}9#pJX7`XYNco#oT{|o&Dyqi_FRD64s00000NkvXXu0mjf!W=}> literal 0 HcmV?d00001 From 4fff63e45498c010173a616cf6f500537e57dccb Mon Sep 17 00:00:00 2001 From: kekw Date: Sun, 19 Jan 2025 23:21:01 +0300 Subject: [PATCH 03/39] Kemran Sprites +Weight changes --- .../StationEvents/Events/VentCrittersRule.cs | 2 +- .../Prototypes/Entities/Mobs/NPCs/regalrat.yml | 8 ++++---- .../Actions/actions_rat_king.rsi/meta.json | 14 ++++++++++---- .../actions_rat_king.rsi/ratKingArmy.png | Bin 0 -> 1560 bytes .../actions_rat_king.rsi/ratKingDomain.png | Bin 0 -> 1237 bytes .../Actions/actions_rat_king.rsi/rummage.png | Bin 717 -> 1339 bytes 6 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingArmy.png create mode 100644 Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingDomain.png diff --git a/Content.Server/StationEvents/Events/VentCrittersRule.cs b/Content.Server/StationEvents/Events/VentCrittersRule.cs index d2c87c161c31..5d57c05fa9f9 100644 --- a/Content.Server/StationEvents/Events/VentCrittersRule.cs +++ b/Content.Server/StationEvents/Events/VentCrittersRule.cs @@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, VentCrittersRuleComponent compone return; } - var locations = EntityQueryEnumerator(); + var locations = EntityQueryEnumerator(); //There it IS!!! var validLocations = new List(); while (locations.MoveNext(out _, out _, out var transform)) { diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 6aab68a7a57b..416198626af5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -296,8 +296,8 @@ id: RatKingLoot weights: # SS220 weight changes begin - RandomSpawner100: 30 - FoodCheeseSlice: 50 + RandomSpawner100: 40 + FoodCheeseSlice: 40 FoodCheese: 15 FoodCakeCheese: 5 # Official weights @@ -314,7 +314,7 @@ - type: InstantAction useDelay: 4 icon: - sprite: Interface/Actions/actions_rat_king.rsi + sprite: SS220/Interface/Actions/actions_rat_king.rsi #SS220 resprited state: ratKingArmy event: !type:RatKingRaiseArmyActionEvent @@ -326,7 +326,7 @@ - type: InstantAction useDelay: 6 icon: - sprite: Interface/Actions/actions_rat_king.rsi + sprite: SS220/Interface/Actions/actions_rat_king.rsi #SS220 resprited state: ratKingDomain event: !type:RatKingDomainActionEvent diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json index ab786997def5..227ca62f53fc 100644 --- a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json +++ b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json @@ -1,15 +1,12 @@ { "version": 1, "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", - "copyright": "Sprited by temnolesje (Discord) for SS220", + "copyright": "Sprited by temnolesje (Discord) for SS220. ratKingArmy, ratKingDomain and ratKingRummage sprited by Estkemran (Github) for SS220", "size": { "x": 32, "y": 32 }, "states": [ - { - "name": "rummage" - }, { "name": "attack" }, @@ -33,6 +30,15 @@ }, { "name": "stayOff" + }, + { + "name": "ratKingArmy" + }, + { + "name": "ratKingDomain" + }, + { + "name": "rummage" } ] } diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingArmy.png b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingArmy.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4d678837b7e9fb4978b20bbaee5cd1a4accd2b GIT binary patch literal 1560 zcmV+z2Iu*SP)Px)(n&-?R9J<@mtSa8R~*MbZ38j*1Aij-K8}VdSeiqp|G}^+*X(iEz%M&W)HXL z^xh`w+x$Jwg8FoVdkx<&UxofL7lw?Dlk#($u{f z=4Ka|elRcB-gJ<`QkXy%L66#*Xj!SZSWDTzFk~b{-DCV;q?aPb37hi z`EUk+=?C*A!Jq44Ix7`Ma$OdEz@lqD8^Y+i@l?Ln>QOa@{&-P-;A(25uA!!+HP7`h z>6n71X5^aCUkk23USw2_t%WNlux*=*`}e0xk}zA|-I3?gm<>(Mko5%Qn$TYhe*gXy z+qSu0P9Po+W8bv?g(L)c^zs1dm_m0)9(Q{^-5q%zUiEWn%tr0)h&*pCxP8-l;_+~4 z0#o;9UP%HVdU=5Ejyxl|F0S=o1mIf#MMiR6q%K6rdIGNm7g!bobF&LCB(d(!9%)(X zLPP?)+w0NP4DR-N0DRkxeXlpjx;uM#dSz!x@VVIqNkCS?YN^fOYHB1N599R)d3vRr z!LeqNOEr8#gv6|q$Ma=uN<`>9Y5;3$hE&4XiwrEHefJK(47t#A>)D>ziStOn0zUm< z9_M=|0-;c-?DLOz6wHa%Svid3jXdkx>)C&z6@ZU+7YqP3!}q^BIe#vNZ#zsR;PJeR z$iM=cn&For7txy@0MfBVU>Hr!;PM18m#M`AX7KKgJlFa&fWo&YYiOyS?scw|-XzJsWL&d$LCA6otSn+A_GS#G6gB2iSk& zFg<&2(^5TYvCvrCz_IH_zMSqeLLm0FW#qG2N_rrG1xK5oueG0WS7GtyD+y?7hUiU?RMwV_o?mVcQf?0#uC7|uZ>hG?v(YAj z(lLcC2NlZgL7wYj3wZRV$1*oc63BW2(n>)h9a8{<$e*800!To!h3+aCJhOp^SN(EO z0SslI$#X=fd}#|vi|a@uPTQJAL zA5Tu8O#f{BN5qEtfiDfunLQvfz4t(hQZoHup1IitMt)CPYFS*v>l$h-x{@45Pbu{u zAqj|EuBcgI@!AGes#45E#7_)hsrQjwmjpL=#Ml0F`oDsflK%itT$}JZX(4<70000< KMNUMnLSTZM_VHr? literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingDomain.png b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingDomain.png new file mode 100644 index 0000000000000000000000000000000000000000..2e845633f2145f25d6821c780a30b45ba5843208 GIT binary patch literal 1237 zcmV;`1SPx(k4Z#9R9J<@mr+PtR~W~Ct+rA&HEvdKY_JBjMI)pt1a)iopjH_oW4;t0wiX-a z=s;h#hdz%D^rb>&16w*|jE>>Mf=JVtht<^vXLZ?XA2ck^X%eeLr7fZ*-5##zH%ZEyN9v?>KYq(IQ4*qU=V=( z!Xp6KD>SSp^Qm%_r7X~tbBEFoeY}kHvl8&(-))m~kLQ<&{=KclhZkdPZ@d8Dl+#IF zV*_KpyBrn)$>fdAr%lOs_Rg`hcaGV~RY^WOxhls2svKolPv$FsMhGr|Y%_Z<_qL{t ziN%i{y$8Uis~gY2O{V6c@{?|kaZib>a;U$ra+Gmn(98D53z=k!fc(NElDsMB4gh0M zzfy>e==l61wE-Xg-NcxP6GGZ^uL9uTZR2upD>nwc*ef&{e;5;p`r7JSDEa+kQ*uDs zZ-jq5h<`jtcyWaG+^cdOkx*mvX(e7dV6+9`Wuza^z<2b|J77K_$BRn}vDvKv%yJei zz`}D~P&f)%Z?G2G;IFkE?oV6zwLY;=aHS?;x(EEbZ4?aLq<`K)aY>;vXR})=Db+0u z4qsE|T<$(1%Q0o_-HX5Rg=3XXSGO6JD!^#ZrmI`YTx4w|ANBMoi*vBR?99moC_^78RWsjIa5s>cK733njSm=o& z0?^4fA0@sQR5LnxoptYRW&Pw+G2mV^Oa!EZ*kCD`j_TzA zwDPDjo(cZ(AeCoq2Mfqq_=VBQ>#EftvyFv<>Ucbhx!}LlINye>ICHaG8HJb%$kd7y zRD>HP9%`E~it#Kqw8{8DBCrsqIX{fpj$ zEcPUs5rSBpfRW`G%lH3OV$!|~1o_C|1RwP_OZA-{-|8FDt2=O_+@jcQ%+`4HCchO0 zRu|VfQE@y~z|2I5l}Br6TCO6(6b74SVMK%C% zU#bU?*(W1y8;Vl6_e^e71-lB6Fncsba7E)hFy$P*$i%pn>aG!7>4QoBO8j=e+CF^ZlN4?|pp_UNCe3Ysy!Q+JDMQpDVGi{R%B@=XH|- zY-OeR+ON><_dgf%qT*s~Wu>&VooA9TcKiJpjCu@4y~wF2kToh}a{Exe~jqxd)W{K#SZ}u4nB)0Ir4r$aEIN5>xEn+lw>{(W+ik zz<5D|eCCveSZy+JtsX* z4s{VDv^@fhz}S(T2onkj-Hu?&H4x~!6^bQ%(gY+DE6=~y{Fyos=(Lh}z9V)IJ>2PTcuWC1yOxB?#W^*AxJ--g^SPcWCaY z1Q*n925eraw8IH6wLUx4fumC=V=@lufGD$mN*k9P6de%%(d`#*$jU>O!@M#tjTBFW zW`A9b9Gf?G0odZf3FKN(7AA^S2>^I~^-gA5RuHlr2B2A2$rn>MVESNoj7(H5;2Rr$ z`CUERt7_!jk(EYx&nTVOA}V4fxk|vwcRr>k*hRQ6NVB~Xfc2v%=*#|vfBqcSF3UDH z^k3OWbnqzKt7>qbidE}8Wsqah*+j@a(0~4G3jp4)hFN{67&s0ITXg-PV94geIDEC9fqZ)I`KM{M%iaD1pEZ~8Y>b$=9a z(AP_qt{~w~+=IHZ%+-zyuX_gx*UtMhqm00slv0;ZWQg!_W>#$w=m zyN{fOaB#;o9Pf?bKnKKpmM+Mbz8x*cDOs}%fQ#RL%Gusec2oF3!WI98UenIt SZ}_SJ0000sPcB$R^2e{WFx!@o|oMK&K*VqgWJpw012N64@@AbWR@4Y*(Y11!+ zoIii>_x-%z`+29p9V-L?xo4SqGM)OT#^+}p)K9HY7yy##6o1aoI*3NEwTpV4D;Ti| z7jx_>c2b)QnUBXSNTyS$pIQi$AZxz9WpE3I14mm>%-3l+a5%59m>?@gV!h6lv}pXv zwky`ZxRmCuZyDT%TmZVl@$xn*g}Un)bZb>0L`x!_%ADw^oP%Re>1!hvL8VYfrBL^T z@&pJfBNm|`qJLBy2@Ie+0u{uq0qD%xV-cn6Lf|7{4IO*xnhll2kF*j%HobmKj>aEVo&^$T zA>#RjtA=IwA#FL?7SX=gf&Ik@aEK zR~=6P(uH_FL3jE7co~z?%#}+_U#va^0304q{v1Gri02ddGQWA85+K%;Ks4=LH0@ow zUiDDohEVrh?_XTfNq%+sRGQPY@e7m(*J+^{@KccFk=)_H;f7lrbgl#BP11?sz;SiO z4}|O+lz-}5mGnNKBMzedy#ut`HR*dxV&ZtbBE6QqR>j2{t#*xzD*;%L#)*Y!^qO9` z+BKNj3@t)p;uYoQ&mGP4<%8QG9;003MY$u)Z{Dv8HJ zV!AaU04NrV^RK Date: Sun, 19 Jan 2025 23:43:03 +0300 Subject: [PATCH 04/39] RatKing Crown resprite --- .../Entities/Clothing/Head/misc.yml | 4 ++-- .../Misc/fancycrown.rsi/equipped-HELMET.png | Bin 0 -> 331 bytes .../Head/Misc/fancycrown.rsi/icon.png | Bin 0 -> 982 bytes .../Head/Misc/fancycrown.rsi/meta.json | 18 ++++++++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/icon.png create mode 100644 Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/meta.json diff --git a/Resources/Prototypes/Entities/Clothing/Head/misc.yml b/Resources/Prototypes/Entities/Clothing/Head/misc.yml index 6c4d7c64301a..356d0e13fb7d 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/misc.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/misc.yml @@ -160,9 +160,9 @@ description: It smells like dead rat. Lets you speak like one! components: - type: Sprite - sprite: Clothing/Head/Misc/fancycrown.rsi + sprite: SS220/Clothing/Head/Misc/fancycrown.rsi #SS220 resprited - type: Clothing - sprite: Clothing/Head/Misc/fancycrown.rsi + sprite: SS220/Clothing/Head/Misc/fancycrown.rsi #SS220 resprited - type: MobPrice price: 3000 - type: AddAccentClothing diff --git a/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/equipped-HELMET.png b/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..2c26185019546b940587a3c21dd9040f7305fc1c GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zSv_4GLn`LH zy|pmwu!GF;kMY-MuAF+~jc8Voaj<3Jij_0y8(`t5cSIy0OND|Ldn;-?l${736#M<=wKB~H^f!y#MPyC)8dOtS1R$E-1NViws5;#!i$>AtR|t$&+ZK0GPx&kV!;AR9J=WmQ83IR}_UmNd_Y=+Qwcq%$Nj1HZ};M3E0NP1OlQMLU98%WM`qJ zOA#&AqR>@L2rdRwnx&AstTAaQ0b>RX?O>xCJVFF4FGNd&W@r~7R0}C8kzW?m_oR_5 zDTxW~!e=$}e&(Ee?tSkLoZ}p4z(2Jk@t=}EKVBA*N5Hysqr;OoJ5kR?!)KC9exfnl|2yd}s}Hll=5e9spxr$F>}dc^!bc zcw0p0o?!?Kn%qnwe)~B}sovt_g(L1ioJ1Q9@czXkKK)Er1-M^?;vbV_*K638!;jlj zxJ^O)a+wW#FvqErmAoz{W)oBkCKIy>06zTSS4D9D;Uw|PW#-}@`Cordap&&eiafVF z4M4SE0$^JXOWDCf6rLY13z^^B+LX9=HL8lOGw+)zMA~S-rwwmR7UjLGQE^+FQt$mz z;!{=0>%z7i-aCk5H@vY@y+te%;>z{MzPw9kWTbN3wj5;IVv&&ghIFXgiJl@njl5KE z^^kAeJS2JJfQ_4nOw1-!F&gu_e_t4q;~~EO>Rq*_6C>RNb_0yCdLT_x0^rLG4+_`JAwK}He?FQ<(8$Aw`>MiU>TgdmvTTIL*kVUCT$31aUh!iag z_jCIPj4(bohYGMQhurS8T5LDGJ3pvp2x=M6>Tr8~ED|C)9#TZrg2|;@CP6L3iM!?_ z&+Sg1+BbXxma+t7lv0E|N+<3bzkG5Cpa?r7G{Ug8I>wU+3Du|owx7LF-#P6l_N2hJ z9JNV8x{!O?PLG5XVK=-;WvagW)}d5yv2bAow<-E|%^m?uSpqAIW!$EqRBy4hI!3i% za^kM3HL|)p#dPQRVlAp1SXnIhy@>kug6w)tiI9+~NsfoeJ#G1jW04SUQ~08Hn}Y0m ztsg~y0ZUl|w&k$1H-p<0q`r8EYQZG^=$dEezfo^Ld!a;?>MeHmW&p1*xJ|*%-ptTz zxaS^_*e`-nFfo5OeMPl!VMIlzjRw?nC!~;S!DPQU(15}1*tQ&1fU>x*Tz{;{C9yUd zU}dqa?tq|{dF9`=fgLJsAm-xU^?K=6`#4HSR{+%;f?9?r4-(jx!+w#W?YM6WKy4P_ z00|Xcn-oPV#k~$W3~`_vn<<2BM%~d%%U`+gpX2|6mo>j%xy_q~+W-In07*qoM6N<$ Ef`kOgk^lez literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/meta.json b/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/meta.json new file mode 100644 index 000000000000..137e2c460af5 --- /dev/null +++ b/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by EstKemran (Github) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} From 4e451057bf56090e94024fa241db94b343ae4897 Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 20 Jan 2025 00:16:57 +0300 Subject: [PATCH 05/39] Equipped crown tweaks --- .../Misc/fancycrown.rsi/equipped-HELMET.png | Bin 331 -> 558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/equipped-HELMET.png b/Resources/Textures/SS220/Clothing/Head/Misc/fancycrown.rsi/equipped-HELMET.png index 2c26185019546b940587a3c21dd9040f7305fc1c..d75483a1a712bc591bf26ef4c69efb3924171e21 100644 GIT binary patch delta 520 zcmV+j0{8vP0nSos!O|Ew{{7f-y$J| zj<|5|@|_I~MXsGy>J2uZzvKJYj{qcrN9d=#`NW3l_e`B1lYdqB?BAX*o4;xD@@&$~ z;*Lf4@Rl#18*~qENdk|!V-XJ=BG=ALf51fK+F3ksh&vXcpVDvV*T2a(T7V?*=-tn0 zUDfEfEvj44Z(HnN)EH0agnnw8ZzS|n#?v|5ClAB}hw2u@1BdOCho$q479jLf-k*Ns z^32TxA7MP5lYayrM+bKdN5=U^h9fvSxC8hlA6Poyc+V7juu^Z31Rj-ogUd6Q;Rw3n z>d$~ymF(3^SUd+pKV4hCh=_=Yh=_=Yh=_=Y$P=~nY!IMQZvd2CfoCt=mCxpie!`-) z^%KsI$v*5j*|pVirmPxvwv&HDeq0cX*3=mj`DHz{za{v z&-dFFt*aWn`+Q8kN=e|A`Twe)V6*^`&*6(7S?mY&Zg!2sO@)3+?`HRp`D^P36!Urb zIinB#lt^;gptZkJ1VQFEEq zBy{=No#C72uJmAb^$(iJ=C#c@_uSrDt2RHIeMjm4MWa2|9;=UTkNLa!@zcml5y!pt z!>32-TD|3aRx^3wXH`#6mHEd%UB7&5d*qAt%eS6S{;6`wcmDtSlk5yI@NUXa`?+-t me;Ix;eqnwA5tji=mOmF~oU3$bs?4hIAik%opUXO@geCxB=8U@l From a62f631ab2126e6660ba9ec97222d79f93d5dad5 Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 20 Jan 2025 21:09:31 +0300 Subject: [PATCH 06/39] Destructable foodboxes + pulling with tail --- .../Catalog/Fills/Boxes/general.yml | 19 +++++ .../Entities/Mobs/NPCs/regalrat.yml | 4 + .../Objects/Consumable/Food/snacks.yml | 79 +++++++++++++++++++ 3 files changed, 102 insertions(+) diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index 05107292ae13..7e333045f6ea 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -17,6 +17,25 @@ - type: Tag tags: - BoxCardboard + #SS220 D-D-D-Damageable boxes!!! + - type: Damageable + damageContainer: StructuralInorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:DoActsBehavior + acts: [ "Destruction" ] + #SS220 changes end - type: entity name: mousetrap box diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 416198626af5..aadba06f291d 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -9,6 +9,10 @@ baseWalkSpeed : 3.00 baseSprintSpeed : 5.00 - type: InputMover + #SS220 RatKing tail Pull + - type: Puller + needsHands: false + #SS220 changes end here - type: MobMover - type: HTN rootTask: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index 73d3ecb05e7e..3b78b0ab653c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -107,11 +107,38 @@ tags: - FoodSnack - type: SpawnItemsOnUse + handlessUsable: true items: - id: FoodPacketChocolateTrash - id: FoodSnackChocolateBar sound: path: /Audio/Effects/unwrap.ogg + #SS220 D-D-D-Destruction + - type: Damageable + damageContainer: StructuralInorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + FoodPacketChocolateTrash: + min: 1 + max: 1 + FoodSnackChocolateBar: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + #SS220 curse is over - type: entity name: chocolate bar @@ -411,6 +438,32 @@ - id: FoodSnackNutribrickOpen sound: path: /Audio/Effects/unwrap.ogg + #SS220 D-D-D-Destruction + - type: Damageable + damageContainer: StructuralInorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + FoodPacketMRETrash: + min: 1 + max: 1 + FoodSnackNutribrickOpen: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + #SS220 curse is over - type: entity id: FoodSnackNutribrickOpen @@ -455,6 +508,32 @@ - id: FoodSnackMREBrownieOpen sound: path: /Audio/Effects/unwrap.ogg + #SS220 D-D-D-Destruction + - type: Damageable + damageContainer: StructuralInorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 5 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + FoodPacketMRETrash: + min: 1 + max: 1 + FoodSnackMREBrownieOpen: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + #SS220 curse is over - type: entity From 77d58de12245212cd53274ef787e25c4000c049a Mon Sep 17 00:00:00 2001 From: kekw Date: Tue, 21 Jan 2025 21:06:31 +0300 Subject: [PATCH 07/39] RegalRat personal gamerule --- .../Components/RegalRatRuleComponent.cs | 19 ++++++ .../RegalRatSpawnLocationComponent.cs | 11 ++++ .../StationEvents/Events/RegalRatRule.cs | 61 +++++++++++++++++++ .../Events/RegalRatSpawnLocation.cs | 9 +++ .../Objects/Consumable/Food/snacks.yml | 1 - Resources/Prototypes/GameRules/events.yml | 10 +-- .../Entities/Structures/Specific/trash.yml | 1 + 7 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs create mode 100644 Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs create mode 100644 Content.Server/SS220/StationEvents/Events/RegalRatRule.cs create mode 100644 Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs new file mode 100644 index 000000000000..666e0ca2eda3 --- /dev/null +++ b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs @@ -0,0 +1,19 @@ +using Content.Server.SS220.StationEvents.Events; +using Content.Server.SS220.StationEvents.Components; +using Content.Server.StationEvents.Events; +using Content.Shared.Storage; + +namespace Content.Server.SS220.StationEvents.Components; + +[RegisterComponent, Access(typeof(RegalRatRule))] +public sealed partial class RegalRatRuleComponent : Component +{ + [DataField("entries")] + public List Entries = new(); + + /// + /// At least one special entry is guaranteed to spawn + /// + [DataField("specialEntries")] + public List SpecialEntries = new(); +} diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs new file mode 100644 index 000000000000..5a975f81f1d0 --- /dev/null +++ b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs @@ -0,0 +1,11 @@ +using Content.Server.SS220.StationEvents.Events; +using Content.Server.SS220.StationEvents.Components; +using Content.Server.StationEvents.Events; + +namespace Content.Server.SS220.StationEvents.Components; + +[RegisterComponent, Access(typeof(RegalRatSpawnLocation))] +public sealed partial class RegalRatSpawnLocationComponent : Component +{ + +} diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs new file mode 100644 index 000000000000..f62bdb50742f --- /dev/null +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -0,0 +1,61 @@ +using Content.Server.Station.Components; +using Content.Server.SS220.StationEvents.Events; +using Content.Server.StationEvents.Events; +using Content.Shared.GameTicking.Components; +using Content.Shared.Station.Components; +using Content.Shared.Storage; +using Robust.Shared.Map; +using Robust.Shared.Random; + +namespace Content.Server.SS220.StationEvents.Events; + +public sealed class RegalRatRule : StationEventSystem +{ + /* + * DO NOT COPY PASTE THIS TO MAKE YOUR MOB EVENT. + * USE THE PROTOTYPE. + */ + + protected override void Started(EntityUid uid, RegalRatRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) + { + base.Started(uid, component, gameRule, args); + + if (!TryGetRandomStation(out var station)) + { + return; + } + + var locations = EntityQueryEnumerator(); + var validLocations = new List(); + while (locations.MoveNext(out _, out _, out var transform)) + { + if (CompOrNull(transform.GridUid)?.Station == station && + HasComp(transform.GridUid)) + { + validLocations.Add(transform.Coordinates); + foreach (var spawn in EntitySpawnCollection.GetSpawns(component.Entries, RobustRandom)) + { + Spawn(spawn, transform.Coordinates); + } + } + } + + if (component.SpecialEntries.Count == 0 || validLocations.Count == 0) + { + return; + } + + // guaranteed spawn + var specialEntry = RobustRandom.Pick(component.SpecialEntries); + var specialSpawn = RobustRandom.Pick(validLocations); + Spawn(specialEntry.PrototypeId, specialSpawn); + + foreach (var location in validLocations) + { + foreach (var spawn in EntitySpawnCollection.GetSpawns(component.SpecialEntries, RobustRandom)) + { + Spawn(spawn, location); + } + } + } +} diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs b/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs new file mode 100644 index 000000000000..735ee4983e61 --- /dev/null +++ b/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs @@ -0,0 +1,9 @@ +using Content.Server.SS220.StationEvents.Events; +using Content.Server.SS220.StationEvents.Components; +using Content.Server.StationEvents.Events; + +namespace Content.Server.SS220.StationEvents.Events; +public sealed partial class RegalRatSpawnLocation : StationEventSystem +{ + +} \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index 3b78b0ab653c..f172aa39073d 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -107,7 +107,6 @@ tags: - FoodSnack - type: SpawnItemsOnUse - handlessUsable: true items: - id: FoodPacketChocolateTrash - id: FoodSnackChocolateBar diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 70b8518f36c2..ed3156698064 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -278,14 +278,16 @@ parent: BaseStationEventShortDelay components: - type: StationEvent - startAnnouncement: station-event-vent-creatures-start-announcement - startAudio: - path: /Audio/Announcements/attention.ogg + #SS220 audio muted and no announcment, because Central command do not check piles of trash + #startAnnouncement: station-event-vent-creatures-start-announcement + #startAudio: + # path: /Audio/Announcements/attention.ogg + #SS220 changes end here earliestStart: 15 weight: 6 duration: 50 minimumPlayers: 30 # Hopefully this is enough for the Rat King's potential Army (it was not, raised from 15 -> 30) - - type: VentCrittersRule + - type: RegalRatRule #SS220 RegalRat GameRule entries: - id: MobMouse prob: 0.02 diff --git a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml index fe5bd7351235..2e4294693cb0 100644 --- a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml +++ b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml @@ -6,6 +6,7 @@ suffix: Мусор, Хлам components: - type: RatKingRummageable + - type: RegalRatSpawnLocation rummageLoot: RatKingLootTrashPiles - type: InteractionOutline - type: Sprite From ea8f1555b30e3c362068bee5356eda7a7f116000 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:36:52 +0300 Subject: [PATCH 08/39] Update events.yml --- Resources/Prototypes/GameRules/events.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index caf16cce2a7c..070cf5d857ad 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -367,7 +367,6 @@ prob: 0.008 - type: entity - id: PowerGridCheck parent: BaseStationEventShortDelay components: From f973a13e1281881eac63489da72524af0c3d28ab Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:12:22 +0300 Subject: [PATCH 09/39] Fixed some stupid stuff --- Content.Server/SS220/StationEvents/Events/RegalRatRule.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index f62bdb50742f..a8d5a1252f62 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -1,5 +1,6 @@ using Content.Server.Station.Components; using Content.Server.SS220.StationEvents.Events; +using Content.Server.SS220.StationEvents.Components; using Content.Server.StationEvents.Events; using Content.Shared.GameTicking.Components; using Content.Shared.Station.Components; From 545c53c3c4741b001188a708470dc84847e54dad Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:17:57 +0300 Subject: [PATCH 10/39] Cleaning --- Content.Server/StationEvents/Events/VentCrittersRule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/StationEvents/Events/VentCrittersRule.cs b/Content.Server/StationEvents/Events/VentCrittersRule.cs index 5d57c05fa9f9..d2c87c161c31 100644 --- a/Content.Server/StationEvents/Events/VentCrittersRule.cs +++ b/Content.Server/StationEvents/Events/VentCrittersRule.cs @@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, VentCrittersRuleComponent compone return; } - var locations = EntityQueryEnumerator(); //There it IS!!! + var locations = EntityQueryEnumerator(); var validLocations = new List(); while (locations.MoveNext(out _, out _, out var transform)) { From 4ebdea32814acfa667d3391af052c687b864797d Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:19:23 +0300 Subject: [PATCH 11/39] Cleaning --- Content.Server/SS220/StationEvents/Events/RegalRatRule.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index a8d5a1252f62..ad22417985f3 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -12,11 +12,6 @@ namespace Content.Server.SS220.StationEvents.Events; public sealed class RegalRatRule : StationEventSystem { - /* - * DO NOT COPY PASTE THIS TO MAKE YOUR MOB EVENT. - * USE THE PROTOTYPE. - */ - protected override void Started(EntityUid uid, RegalRatRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); From 101435ceec9d76cf5349e2382a298fee3d1a4418 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:58:12 +0300 Subject: [PATCH 12/39] TrashbinFix --- .../Prototypes/SS220/Entities/Structures/Specific/trash.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml index 2e4294693cb0..56b0d6df2c1f 100644 --- a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml +++ b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml @@ -6,8 +6,8 @@ suffix: Мусор, Хлам components: - type: RatKingRummageable - - type: RegalRatSpawnLocation rummageLoot: RatKingLootTrashPiles + - type: RegalRatSpawnLocation - type: InteractionOutline - type: Sprite noRot: true From 1255c6b3995e6db58fba453c80aef45587a2d3d3 Mon Sep 17 00:00:00 2001 From: kekw Date: Fri, 24 Jan 2025 17:54:54 +0300 Subject: [PATCH 13/39] aaaee --- Content.Server/SS220/StationEvents/Events/RegalRatRule.cs | 5 ----- .../Prototypes/SS220/Entities/Structures/Specific/trash.yml | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index f62bdb50742f..4b96e389925c 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -11,11 +11,6 @@ namespace Content.Server.SS220.StationEvents.Events; public sealed class RegalRatRule : StationEventSystem { - /* - * DO NOT COPY PASTE THIS TO MAKE YOUR MOB EVENT. - * USE THE PROTOTYPE. - */ - protected override void Started(EntityUid uid, RegalRatRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); diff --git a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml index 2e4294693cb0..56b0d6df2c1f 100644 --- a/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml +++ b/Resources/Prototypes/SS220/Entities/Structures/Specific/trash.yml @@ -6,8 +6,8 @@ suffix: Мусор, Хлам components: - type: RatKingRummageable - - type: RegalRatSpawnLocation rummageLoot: RatKingLootTrashPiles + - type: RegalRatSpawnLocation - type: InteractionOutline - type: Sprite noRot: true From 55beadbc418f3dbb4069d05ba0c136ec2b947aca Mon Sep 17 00:00:00 2001 From: kekw Date: Fri, 24 Jan 2025 19:08:06 +0300 Subject: [PATCH 14/39] RatKingGameRuleFix --- .../Components/RegalRatRuleComponent.cs | 3 -- .../RegalRatSpawnLocationComponent.cs | 1 - .../StationEvents/Events/RegalRatRule.cs | 29 ++++++++++++++----- .../Events/RegalRatSpawnLocation.cs | 1 - Content.Shared/RatKing/SharedRatKingSystem.cs | 1 + Resources/Prototypes/GameRules/events.yml | 8 ++--- 6 files changed, 26 insertions(+), 17 deletions(-) diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs index 666e0ca2eda3..f50c39525fa8 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs @@ -11,9 +11,6 @@ public sealed partial class RegalRatRuleComponent : Component [DataField("entries")] public List Entries = new(); - /// - /// At least one special entry is guaranteed to spawn - /// [DataField("specialEntries")] public List SpecialEntries = new(); } diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs index 5a975f81f1d0..2a2f783943e2 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs @@ -7,5 +7,4 @@ namespace Content.Server.SS220.StationEvents.Components; [RegisterComponent, Access(typeof(RegalRatSpawnLocation))] public sealed partial class RegalRatSpawnLocationComponent : Component { - } diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index ad22417985f3..939d69a08c52 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -1,6 +1,7 @@ using Content.Server.Station.Components; using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; +using Content.Server.StationEvents.Components; using Content.Server.StationEvents.Events; using Content.Shared.GameTicking.Components; using Content.Shared.Station.Components; @@ -12,6 +13,7 @@ namespace Content.Server.SS220.StationEvents.Events; public sealed class RegalRatRule : StationEventSystem { + protected override void Started(EntityUid uid, RegalRatRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); @@ -21,14 +23,18 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, return; } - var locations = EntityQueryEnumerator(); - var validLocations = new List(); - while (locations.MoveNext(out _, out _, out var transform)) + var kingRatLocations = EntityQueryEnumerator(); + var mouseLocations = EntityQueryEnumerator(); + + var kingRatValidLocations = new List(); + var mouseVaidLocations = new List(); + + while (mouseLocations.MoveNext(out _, out _, out var transform)) { if (CompOrNull(transform.GridUid)?.Station == station && HasComp(transform.GridUid)) { - validLocations.Add(transform.Coordinates); + mouseVaidLocations.Add(transform.Coordinates); foreach (var spawn in EntitySpawnCollection.GetSpawns(component.Entries, RobustRandom)) { Spawn(spawn, transform.Coordinates); @@ -36,17 +42,26 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, } } - if (component.SpecialEntries.Count == 0 || validLocations.Count == 0) + while (kingRatLocations.MoveNext(out _, out _, out var transform)) + { + if (CompOrNull(transform.GridUid)?.Station == station && + HasComp(transform.GridUid)) + { + kingRatValidLocations.Add(transform.Coordinates); + } + } + + if (component.SpecialEntries.Count == 0 || kingRatValidLocations.Count == 0) { return; } // guaranteed spawn var specialEntry = RobustRandom.Pick(component.SpecialEntries); - var specialSpawn = RobustRandom.Pick(validLocations); + var specialSpawn = RobustRandom.Pick(kingRatValidLocations); Spawn(specialEntry.PrototypeId, specialSpawn); - foreach (var location in validLocations) + foreach (var location in kingRatValidLocations) { foreach (var spawn in EntitySpawnCollection.GetSpawns(component.SpecialEntries, RobustRandom)) { diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs b/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs index 735ee4983e61..7e7789b9239a 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs @@ -5,5 +5,4 @@ namespace Content.Server.SS220.StationEvents.Events; public sealed partial class RegalRatSpawnLocation : StationEventSystem { - } \ No newline at end of file diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 3b4d524a4db7..5bfdabd1e17a 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -151,6 +151,7 @@ private void OnGetVerb(EntityUid uid, RatKingRummageableComponent component, Get //SS220 RatKing Changes start here private void OnRummageAction(Entity entity, ref RatKingRummageActionEvent args) { + if (args.Handled || !TryComp(args.Target, out var rumComp) || rumComp.Looted) return; diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 070cf5d857ad..2df06b4008f1 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -326,11 +326,9 @@ parent: BaseStationEventShortDelay components: - type: StationEvent - #SS220 audio muted and no announcment, because Central command do not check piles of trash - #startAnnouncement: station-event-vent-creatures-start-announcement - #startAudio: - # path: /Audio/Announcements/attention.ogg - #SS220 changes end here + startAnnouncement: station-event-vent-creatures-start-announcement + startAudio: + path: /Audio/Announcements/attention.ogg earliestStart: 15 weight: 6 duration: 50 From da9d5216ecc800d789aff59b094a998fe521011b Mon Sep 17 00:00:00 2001 From: kekw Date: Sat, 25 Jan 2025 18:44:55 +0300 Subject: [PATCH 15/39] KeenHearing + looting trashbins and crates + spawn on trashbins and crates --- .../SS220/StationEvents/Events/RegalRatRule.cs | 8 ++++---- Content.Shared/RatKing/SharedRatKingSystem.cs | 4 ++-- Resources/Prototypes/Catalog/Fills/Crates/service.yml | 5 +++++ Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 6 +++++- .../Entities/Structures/Storage/Crates/crates.yml | 5 +++++ .../Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml | 9 ++++++++- .../SS220/Entities/Structures/Storage/trashcan.yml | 3 +++ 7 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index 939d69a08c52..7fa150ef445b 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -23,10 +23,7 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, return; } - var kingRatLocations = EntityQueryEnumerator(); var mouseLocations = EntityQueryEnumerator(); - - var kingRatValidLocations = new List(); var mouseVaidLocations = new List(); while (mouseLocations.MoveNext(out _, out _, out var transform)) @@ -42,6 +39,9 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, } } + var kingRatValidLocations = new List(); + var kingRatLocations = EntityQueryEnumerator(); + while (kingRatLocations.MoveNext(out _, out _, out var transform)) { if (CompOrNull(transform.GridUid)?.Station == station && @@ -53,7 +53,7 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, if (component.SpecialEntries.Count == 0 || kingRatValidLocations.Count == 0) { - return; + return; } // guaranteed spawn diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 5bfdabd1e17a..9b5132c48d93 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -151,7 +151,6 @@ private void OnGetVerb(EntityUid uid, RatKingRummageableComponent component, Get //SS220 RatKing Changes start here private void OnRummageAction(Entity entity, ref RatKingRummageActionEvent args) { - if (args.Handled || !TryComp(args.Target, out var rumComp) || rumComp.Looted) return; @@ -200,9 +199,10 @@ public virtual void DoCommandCallout(EntityUid uid, RatKingComponent component) } } - +//SS220 [Serializable, NetSerializable] public sealed partial class RatKingRummageDoAfterEvent : SimpleDoAfterEvent { } +//SS220 changes ending diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 697d8853be42..8b38d149d396 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -280,6 +280,11 @@ parent: CrateTrashCart components: - type: StorageFill + #SS220 RatKingUpdate + - type: RatKingRummageable + rummageLoot: RatKingLootTrashCans + - type: RegalRatSpawnLocation + #SS220 Ratking update End contents: # Creatures - id: MobCockroach diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 6ab9d66437e8..f73d8653a1c4 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -9,9 +9,13 @@ baseWalkSpeed : 3.00 baseSprintSpeed : 5.00 - type: InputMover - #SS220 RatKing tail Pull + #SS220 RatKing additions - type: Puller needsHands: false + - type: KeenHearing + visionRadius: 14 + highSensitiveVisionRadius: 0 + state: half #SS220 changes end here - type: MobMover - type: HTN diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index 6af31ce836fe..2384a790bed2 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -711,6 +711,11 @@ offset: "0.0,0.03125" map: ["enum.PaperLabelVisuals.Layer"] - type: Cart #SS220-Cart-system + #SS220 RatKing update + - type: RatKingRummageable + rummageLoot: RatKingLootTrashCans + - type: RegalRatSpawnLocation + #SS220 changes end here - type: entity parent: CrateBaseSecure diff --git a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml index e42d46fd0ada..dfd9e3097fd7 100644 --- a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml @@ -6,13 +6,20 @@ FoodCheeseSlice: 20 FoodCheese: 5 +- type: weightedRandomEntity + id: RatKingLootTrashCans + weights: + RandomSpawner100: 50 + MobCockroach: 25 + FoodTacoRat: 20 + FoodCheese: 5 + - type: entity id: ActionRatKingRummage name: Rummage description: Rummage trash to find some cheesy-cheese. components: - type: EntityTargetAction - useDelay: 3 icon: sprite: SS220/Interface/Actions/actions_rat_king.rsi state: rummage diff --git a/Resources/Prototypes/SS220/Entities/Structures/Storage/trashcan.yml b/Resources/Prototypes/SS220/Entities/Structures/Storage/trashcan.yml index 22e2052498be..c2fddee1a655 100644 --- a/Resources/Prototypes/SS220/Entities/Structures/Storage/trashcan.yml +++ b/Resources/Prototypes/SS220/Entities/Structures/Storage/trashcan.yml @@ -22,6 +22,9 @@ - type: Construction graph: TrashCan node: TrashCan + - type: RatKingRummageable + rummageLoot: RatKingLootTrashCans + - type: RegalRatSpawnLocation - type: entity parent: TrashCan From bef8d26bff9ea9ec1673e65a1cb7fa548ba03f1a Mon Sep 17 00:00:00 2001 From: kekw Date: Sat, 25 Jan 2025 20:47:20 +0300 Subject: [PATCH 16/39] rummage pop-ups + cursorChange on action --- Content.Shared/RatKing/SharedRatKingSystem.cs | 18 +++++++++++++++--- .../prototypes/entities/mobs/npcs/regalrat.ftl | 8 +++++++- .../SS220/Entities/Mobs/NPCs/regalrat.yml | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 9b5132c48d93..5db7a2a8fdab 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -1,4 +1,4 @@ -using Content.Shared.Actions; +using Content.Shared.Actions; using Content.Shared.DoAfter; using Content.Shared.Item; using Content.Shared.Mobs; @@ -12,6 +12,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Serialization; +using Content.Shared.Popups; namespace Content.Shared.RatKing; @@ -24,6 +25,7 @@ public abstract class SharedRatKingSystem : EntitySystem [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly TagSystem _tagSystem = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; //SS220 popUps /// public override void Initialize() @@ -151,9 +153,18 @@ private void OnGetVerb(EntityUid uid, RatKingRummageableComponent component, Get //SS220 RatKing Changes start here private void OnRummageAction(Entity entity, ref RatKingRummageActionEvent args) { - if (args.Handled || !TryComp(args.Target, out var rumComp) || rumComp.Looted) + if (args.Handled || !TryComp(args.Target, out var rumComp)) + { + _popup.PopupPredicted(Loc.GetString("ratking-rummage-failure"), args.Target, entity, PopupType.Small); return; - + } + + if (rumComp.Looted) + { + _popup.PopupPredicted(Loc.GetString("ratking-rummage-looted-failure"), args.Target, entity, PopupType.Small); + return; + } + var doAfter = new DoAfterArgs(EntityManager, entity, rumComp.RummageDuration, new RatKingRummageDoAfterEvent(), args.Target, args.Target) { @@ -162,6 +173,7 @@ private void OnRummageAction(Entity entity, ref RatKingRummage BreakOnMove = true, DistanceThreshold = 2f }; + _popup.PopupPredicted(Loc.GetString("ratking-rummage-success"), args.Target, entity, PopupType.Small); _doAfter.TryStartDoAfter(doAfter); args.Handled = true; } diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl index a473fd2d7359..1c74968fdfb2 100644 --- a/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl +++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/mobs/npcs/regalrat.ftl @@ -1,2 +1,8 @@ ent-ActionRatKingRummage = Перерыть мусор - .desc = Покопайтесь в мусоре. Вдруг найдёте сыр! \ No newline at end of file + .desc = Покопайтесь в мусоре. Вдруг найдёте сыр! + +ratking-rummage-failure = Здесь нет мусора! + +ratking-rummage-looted-failure = Вы уже пробовали искать здесь! + +ratking-rummage-success = Вы копаетесь в мусоре! \ No newline at end of file diff --git a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml index dfd9e3097fd7..49bd385405c8 100644 --- a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml @@ -20,6 +20,7 @@ description: Rummage trash to find some cheesy-cheese. components: - type: EntityTargetAction + itemIconStyle: BigAction icon: sprite: SS220/Interface/Actions/actions_rat_king.rsi state: rummage From 9cfb879a47b8227f17264d8b54d035252c378d8e Mon Sep 17 00:00:00 2001 From: kekw Date: Sat, 25 Jan 2025 21:02:04 +0300 Subject: [PATCH 17/39] event duplication fix --- Resources/Prototypes/GameRules/events.yml | 66 ----------------------- Resources/Prototypes/GameRules/pests.yml | 2 +- 2 files changed, 1 insertion(+), 67 deletions(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 2df06b4008f1..5191e38b79b0 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -298,72 +298,6 @@ duration: 240 - type: KudzuGrowthRule -- type: entity - id: MouseMigration - parent: BaseStationEventShortDelay - components: - - type: StationEvent - startAnnouncement: station-event-vent-creatures-start-announcement - startAudio: - path: /Audio/Announcements/attention.ogg - earliestStart: 15 - weight: 6 - duration: 50 - - type: VentCrittersRule - entries: - - id: MobMouse - prob: 0.02 - - id: MobMouse1 - prob: 0.02 - - id: MobMouse2 - prob: 0.02 - - id: MobMouseCancer - prob: 0.001 -# Events always spawn a critter regardless of Probability https://github.com/space-wizards/space-station-14/issues/28480 I added the Rat King to their own event with a player cap. - -- type: entity - id: KingRatMigration - parent: BaseStationEventShortDelay - components: - - type: StationEvent - startAnnouncement: station-event-vent-creatures-start-announcement - startAudio: - path: /Audio/Announcements/attention.ogg - earliestStart: 15 - weight: 6 - duration: 50 - minimumPlayers: 30 # Hopefully this is enough for the Rat King's potential Army (it was not, raised from 15 -> 30) - - type: RegalRatRule #SS220 RegalRat GameRule - entries: - - id: MobMouse - prob: 0.02 - - id: MobMouse1 - prob: 0.02 - - id: MobMouse2 - prob: 0.02 - - id: MobMouseCancer - prob: 0.001 - specialEntries: - - id: SpawnPointGhostRatKing - prob: 0.001 - -- type: entity - id: CockroachMigration - parent: BaseStationEventShortDelay - components: - - type: StationEvent - startAnnouncement: station-event-vent-creatures-start-announcement - startAudio: - path: /Audio/Announcements/attention.ogg - weight: 6 - duration: 50 - - type: VentCrittersRule - entries: - - id: MobCockroach - prob: 0.03 - - id: MobMothroach - prob: 0.008 - - type: entity id: PowerGridCheck parent: BaseStationEventShortDelay diff --git a/Resources/Prototypes/GameRules/pests.yml b/Resources/Prototypes/GameRules/pests.yml index c0a746a138b1..af6f14f7ac42 100644 --- a/Resources/Prototypes/GameRules/pests.yml +++ b/Resources/Prototypes/GameRules/pests.yml @@ -52,7 +52,7 @@ weight: 6 duration: 50 minimumPlayers: 30 # Hopefully this is enough for the Rat King's potential Army (it was not, raised from 15 -> 30) - - type: VentCrittersRule + - type: RegalRatRule #SS220 RegalRat GameRule entries: - id: MobMouse prob: 0.02 From a6364caf0e2b14df513926904188dc2a2ac38e4d Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 01:03:44 +0300 Subject: [PATCH 18/39] Update Content.Shared/RatKing/RatKingComponent.cs Co-authored-by: Stalen <33173619+stalengd@users.noreply.github.com> --- Content.Shared/RatKing/RatKingComponent.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Content.Shared/RatKing/RatKingComponent.cs b/Content.Shared/RatKing/RatKingComponent.cs index 627f58613c55..4f472866d8fb 100644 --- a/Content.Shared/RatKing/RatKingComponent.cs +++ b/Content.Shared/RatKing/RatKingComponent.cs @@ -100,11 +100,13 @@ public sealed partial class RatKingComponent : Component { RatKingOrderType.Loose, "RatKingCommandLoose" } }; + // SS220 RatKing Tweaks and Changes begin [ViewVariables] public EntityUid? ActionRummageEntity; - [DataField("actionRummage", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string ActionRummage = "ActionRatKingRummage"; + [DataField("actionRummage")] + public EntProtoId ActionRummage = "ActionRatKingRummage"; + // SS220 RatKing Tweaks and Changes end } [Serializable, NetSerializable] From 155df69ac6d6c452f2118e436ad80b107284e214 Mon Sep 17 00:00:00 2001 From: kekw Date: Sun, 26 Jan 2025 01:37:57 +0300 Subject: [PATCH 19/39] SS220 curse deletion + action moving --- Content.Client/RatKing/RatKingSystem.cs | 3 ++- Content.Server/RatKing/RatKingSystem.cs | 1 + Content.Shared/RatKing/RatKingActions.cs | 8 +------- Content.Shared/RatKing/SharedRatKingSystem.cs | 17 +++++++---------- Content.Shared/SS220/RatKing/RatKingActions.cs | 6 ++++++ .../Prototypes/Catalog/Fills/Boxes/general.yml | 4 ++-- .../Entities/Objects/Consumable/Food/snacks.yml | 12 ++++++------ 7 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 Content.Shared/SS220/RatKing/RatKingActions.cs diff --git a/Content.Client/RatKing/RatKingSystem.cs b/Content.Client/RatKing/RatKingSystem.cs index 25cc9fdf5575..9779f6657359 100644 --- a/Content.Client/RatKing/RatKingSystem.cs +++ b/Content.Client/RatKing/RatKingSystem.cs @@ -1,4 +1,5 @@ -using Content.Shared.RatKing; +using Content.Shared.RatKing; +using Content.Shared.SS220.RatKing; namespace Content.Client.RatKing; diff --git a/Content.Server/RatKing/RatKingSystem.cs b/Content.Server/RatKing/RatKingSystem.cs index 01c213d5403e..7ca28c10c150 100644 --- a/Content.Server/RatKing/RatKingSystem.cs +++ b/Content.Server/RatKing/RatKingSystem.cs @@ -11,6 +11,7 @@ using Content.Shared.Nutrition.EntitySystems; using Content.Shared.Pointing; using Content.Shared.RatKing; +using Content.Shared.SS220.RatKing; using Robust.Shared.Map; using Robust.Shared.Random; diff --git a/Content.Shared/RatKing/RatKingActions.cs b/Content.Shared/RatKing/RatKingActions.cs index 26d98b1808c0..a195c9823d43 100644 --- a/Content.Shared/RatKing/RatKingActions.cs +++ b/Content.Shared/RatKing/RatKingActions.cs @@ -1,4 +1,4 @@ -using Content.Shared.Actions; +using Content.Shared.Actions; namespace Content.Shared.RatKing; @@ -20,9 +20,3 @@ public sealed partial class RatKingOrderActionEvent : InstantActionEvent [DataField("type")] public RatKingOrderType Type; } - -//SS220 RatKing starts -public sealed partial class RatKingRummageActionEvent : EntityTargetActionEvent -{ -} -//SS220 Curse is over \ No newline at end of file diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 5db7a2a8fdab..e1803f06dc4a 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -13,6 +13,7 @@ using Robust.Shared.Random; using Robust.Shared.Serialization; using Content.Shared.Popups; +using Content.Shared.SS220.RatKing; namespace Content.Shared.RatKing; @@ -25,7 +26,7 @@ public abstract class SharedRatKingSystem : EntitySystem [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly TagSystem _tagSystem = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; //SS220 popUps + [Dependency] private readonly SharedPopupSystem _popup = default!; //SS220 RatKing tweaks and changes /// public override void Initialize() @@ -39,9 +40,7 @@ public override void Initialize() SubscribeLocalEvent>(OnGetVerb); SubscribeLocalEvent(OnDoAfterComplete); - //SS220 stuff here - SubscribeLocalEvent(OnRummageAction); - //SS220 curse is OVER + SubscribeLocalEvent(OnRummageAction); //SS220 RatKing Tweaks and Changes } private void OnStartup(EntityUid uid, RatKingComponent component, ComponentStartup args) @@ -55,7 +54,7 @@ private void OnStartup(EntityUid uid, RatKingComponent component, ComponentStart _action.AddAction(uid, ref component.ActionOrderFollowEntity, component.ActionOrderFollow, component: comp); _action.AddAction(uid, ref component.ActionOrderCheeseEmEntity, component.ActionOrderCheeseEm, component: comp); _action.AddAction(uid, ref component.ActionOrderLooseEntity, component.ActionOrderLoose, component: comp); - _action.AddAction(uid, ref component.ActionRummageEntity, component.ActionRummage, component: comp); //SS220 CURSED CHANGE + _action.AddAction(uid, ref component.ActionRummageEntity, component.ActionRummage, component: comp); //SS220 RatKing Tweaks and Changes UpdateActions(uid, component); } @@ -77,7 +76,7 @@ private void OnShutdown(EntityUid uid, RatKingComponent component, ComponentShut _action.RemoveAction(uid, component.ActionOrderFollowEntity, comp); _action.RemoveAction(uid, component.ActionOrderCheeseEmEntity, comp); _action.RemoveAction(uid, component.ActionOrderLooseEntity, comp); - _action.RemoveAction(uid, component.ActionRummageEntity, comp); //SS220 action + _action.RemoveAction(uid, component.ActionRummageEntity, comp); //SS220 RatKing Tweaks and Changes } private void OnOrderAction(EntityUid uid, RatKingComponent component, RatKingOrderActionEvent args) @@ -150,7 +149,7 @@ private void OnGetVerb(EntityUid uid, RatKingRummageableComponent component, Get }); } - //SS220 RatKing Changes start here + //SS220 RatKing Tweaks and Changes start private void OnRummageAction(Entity entity, ref RatKingRummageActionEvent args) { if (args.Handled || !TryComp(args.Target, out var rumComp)) @@ -177,7 +176,7 @@ private void OnRummageAction(Entity entity, ref RatKingRummage _doAfter.TryStartDoAfter(doAfter); args.Handled = true; } - //SS220 Curse is OVER + //SS220 RatKing Tweaks and Changes end private void OnDoAfterComplete(EntityUid uid, RatKingRummageableComponent component, RatKingRummageDoAfterEvent args) { @@ -211,10 +210,8 @@ public virtual void DoCommandCallout(EntityUid uid, RatKingComponent component) } } -//SS220 [Serializable, NetSerializable] public sealed partial class RatKingRummageDoAfterEvent : SimpleDoAfterEvent { } -//SS220 changes ending diff --git a/Content.Shared/SS220/RatKing/RatKingActions.cs b/Content.Shared/SS220/RatKing/RatKingActions.cs new file mode 100644 index 000000000000..55e777b41db3 --- /dev/null +++ b/Content.Shared/SS220/RatKing/RatKingActions.cs @@ -0,0 +1,6 @@ +using Content.Shared.Actions; + +namespace Content.Shared.SS220.RatKing; +public sealed partial class RatKingRummageActionEvent : EntityTargetActionEvent +{ +} diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index 560fe506b1e7..7b12f02e150d 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -17,7 +17,7 @@ - type: Tag tags: - BoxCardboard - #SS220 D-D-D-Damageable boxes!!! + #SS220 RatKing damageable foodboxes tweaks and Changes start - type: Damageable damageContainer: StructuralInorganic - type: Destructible @@ -35,7 +35,7 @@ - !type:EmptyAllContainersBehaviour - !type:DoActsBehavior acts: [ "Destruction" ] - #SS220 changes end + #SS220 RatKing damageable foodboxes tweaks and Changes end - type: entity name: mousetrap box diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index 6c951bd17e5a..aac90f80ce43 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -116,7 +116,7 @@ - id: FoodSnackChocolateBar sound: path: /Audio/Effects/unwrap.ogg - #SS220 D-D-D-Destruction + #SS220 destructable foodboxes RatKing Tweaks and Changes start - type: Damageable damageContainer: StructuralInorganic - type: Destructible @@ -141,7 +141,7 @@ max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - #SS220 curse is over + #SS220 destructable foodboxes RatKing Tweaks and Changes end - type: entity name: chocolate bar @@ -455,7 +455,7 @@ - id: FoodSnackNutribrickOpen sound: path: /Audio/Effects/unwrap.ogg - #SS220 D-D-D-Destruction + #SS220 destructable foodboxes RatKing Tweaks and Changes start - type: Damageable damageContainer: StructuralInorganic - type: Destructible @@ -480,7 +480,7 @@ max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - #SS220 curse is over + #SS220 destructable foodboxes RatKing Tweaks and Changes end - type: entity id: FoodSnackNutribrickOpen @@ -525,7 +525,7 @@ - id: FoodSnackMREBrownieOpen sound: path: /Audio/Effects/unwrap.ogg - #SS220 D-D-D-Destruction + #SS220 destructable foodboxes RatKing Tweaks and Changes start - type: Damageable damageContainer: StructuralInorganic - type: Destructible @@ -550,7 +550,7 @@ max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - #SS220 curse is over + #SS220 destructable foodboxes RatKing Tweaks and Changes end - type: entity From a0eeaba2b1868dd15694efa6b398b9978808b660 Mon Sep 17 00:00:00 2001 From: kekw Date: Sun, 26 Jan 2025 01:57:13 +0300 Subject: [PATCH 20/39] cleaning --- .../Components/RegalRatSpawnLocationComponent.cs | 5 +++-- .../SS220/StationEvents/Events/RegalRatSpawnLocation.cs | 8 -------- Content.Shared/RatKing/SharedRatKingSystem.cs | 1 + 3 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs index 2a2f783943e2..4e9240569b43 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs @@ -1,10 +1,11 @@ -using Content.Server.SS220.StationEvents.Events; +using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; using Content.Server.StationEvents.Events; namespace Content.Server.SS220.StationEvents.Components; -[RegisterComponent, Access(typeof(RegalRatSpawnLocation))] +[RegisterComponent] public sealed partial class RegalRatSpawnLocationComponent : Component { + } diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs b/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs deleted file mode 100644 index 7e7789b9239a..000000000000 --- a/Content.Server/SS220/StationEvents/Events/RegalRatSpawnLocation.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Content.Server.SS220.StationEvents.Events; -using Content.Server.SS220.StationEvents.Components; -using Content.Server.StationEvents.Events; - -namespace Content.Server.SS220.StationEvents.Events; -public sealed partial class RegalRatSpawnLocation : StationEventSystem -{ -} \ No newline at end of file diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index e1803f06dc4a..3aa1a5db4f3a 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -210,6 +210,7 @@ public virtual void DoCommandCallout(EntityUid uid, RatKingComponent component) } } + [Serializable, NetSerializable] public sealed partial class RatKingRummageDoAfterEvent : SimpleDoAfterEvent { From 14556d6b7215f8039d2bb8e52463393eba991010 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:14:44 +0300 Subject: [PATCH 21/39] Update SharedRatKingSystem.cs --- Content.Shared/RatKing/SharedRatKingSystem.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 3aa1a5db4f3a..90f5dfb8771a 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -12,8 +12,10 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Serialization; +//SS220 RatKing Tweaks and Changes start using Content.Shared.Popups; using Content.Shared.SS220.RatKing; +//SS220 RatKing Tweaks and Changes end namespace Content.Shared.RatKing; From 19cb78aa599671b74f314f55e77cd67c9e9f478b Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:16:04 +0300 Subject: [PATCH 22/39] Update RatKingSystem.cs --- Content.Server/RatKing/RatKingSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/RatKing/RatKingSystem.cs b/Content.Server/RatKing/RatKingSystem.cs index 7ca28c10c150..ee40f4c0af24 100644 --- a/Content.Server/RatKing/RatKingSystem.cs +++ b/Content.Server/RatKing/RatKingSystem.cs @@ -11,7 +11,7 @@ using Content.Shared.Nutrition.EntitySystems; using Content.Shared.Pointing; using Content.Shared.RatKing; -using Content.Shared.SS220.RatKing; +using Content.Shared.SS220.RatKing; //SS220 RatKing tweaks and Changes using Robust.Shared.Map; using Robust.Shared.Random; From 8ac14598a67712b307ace0cd99d554e9257231b5 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 02:16:44 +0300 Subject: [PATCH 23/39] Update RatKingSystem.cs --- Content.Client/RatKing/RatKingSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Client/RatKing/RatKingSystem.cs b/Content.Client/RatKing/RatKingSystem.cs index 9779f6657359..7d55b9309e4d 100644 --- a/Content.Client/RatKing/RatKingSystem.cs +++ b/Content.Client/RatKing/RatKingSystem.cs @@ -1,5 +1,5 @@ using Content.Shared.RatKing; -using Content.Shared.SS220.RatKing; +using Content.Shared.SS220.RatKing; //RatKing Tweaks and Changes namespace Content.Client.RatKing; From 041662132d16b0478f37c47982143351387bdb85 Mon Sep 17 00:00:00 2001 From: kekw Date: Sun, 26 Jan 2025 16:24:05 +0300 Subject: [PATCH 24/39] crateYAMLFix --- Resources/Prototypes/Catalog/Fills/Crates/service.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 8b38d149d396..612275923785 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -279,12 +279,12 @@ suffix: Filled parent: CrateTrashCart components: - - type: StorageFill #SS220 RatKingUpdate - type: RatKingRummageable rummageLoot: RatKingLootTrashCans - type: RegalRatSpawnLocation #SS220 Ratking update End + - type: StorageFill contents: # Creatures - id: MobCockroach From 26a4551950fb77b8475edaa02bacc5327a5ec268 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:43:34 +0300 Subject: [PATCH 25/39] Update service.yml --- Resources/Prototypes/Catalog/Fills/Crates/service.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 612275923785..c18d57cfb4a7 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -279,11 +279,11 @@ suffix: Filled parent: CrateTrashCart components: - #SS220 RatKingUpdate + #SS220 RatKing tweaks and changes start here - type: RatKingRummageable rummageLoot: RatKingLootTrashCans - type: RegalRatSpawnLocation - #SS220 Ratking update End + #SS220 Ratking tweaks and changes end here - type: StorageFill contents: # Creatures From 453f865b396cc1e54966aa3dfcb3decc740f5ad3 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:44:42 +0300 Subject: [PATCH 26/39] Update regalrat.yml --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index f73d8653a1c4..51ef79409b91 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -9,14 +9,14 @@ baseWalkSpeed : 3.00 baseSprintSpeed : 5.00 - type: InputMover - #SS220 RatKing additions + #SS220 RatKing tweaks and changes update start - type: Puller needsHands: false - type: KeenHearing visionRadius: 14 highSensitiveVisionRadius: 0 state: half - #SS220 changes end here + #SS220 RatKing tweaks and changes update end - type: MobMover - type: HTN rootTask: From 009ab4558961de335d697b927c0bdc630fcf9331 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:46:09 +0300 Subject: [PATCH 27/39] Update regalrat.yml --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 51ef79409b91..ec1f3435d209 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -313,7 +313,7 @@ - type: weightedRandomEntity id: RatKingLoot weights: - # SS220 weight changes begin + # SS220 RatKing tweaks and changes rummage weight changes start RandomSpawner100: 40 FoodCheeseSlice: 40 FoodCheese: 15 @@ -322,7 +322,7 @@ #RandomSpawner100: 66 #garbage #FoodCheese: 28 #food #IngotGold1: 5 #loot - # SS220 weight changes end + # SS220 RatKing tweaks and changes rummage weight changes end - type: entity id: ActionRatKingRaiseArmy From 0dc2b0a11452ef46d443371d0b6935a3a29b4db7 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:48:23 +0300 Subject: [PATCH 28/39] Update crates.yml --- .../Prototypes/Entities/Structures/Storage/Crates/crates.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index 2384a790bed2..975661fd2d3b 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -711,11 +711,11 @@ offset: "0.0,0.03125" map: ["enum.PaperLabelVisuals.Layer"] - type: Cart #SS220-Cart-system - #SS220 RatKing update + #SS220 RatKing tweaks and changes start - type: RatKingRummageable rummageLoot: RatKingLootTrashCans - type: RegalRatSpawnLocation - #SS220 changes end here + #SS220 RatKing tweaks and changes here - type: entity parent: CrateBaseSecure From 84ed9bc61f245795a5588b3528ba88f21e53820f Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:50:16 +0300 Subject: [PATCH 29/39] Update pests.yml --- Resources/Prototypes/GameRules/pests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/GameRules/pests.yml b/Resources/Prototypes/GameRules/pests.yml index af6f14f7ac42..bd82fa926b4d 100644 --- a/Resources/Prototypes/GameRules/pests.yml +++ b/Resources/Prototypes/GameRules/pests.yml @@ -52,7 +52,7 @@ weight: 6 duration: 50 minimumPlayers: 30 # Hopefully this is enough for the Rat King's potential Army (it was not, raised from 15 -> 30) - - type: RegalRatRule #SS220 RegalRat GameRule + - type: RegalRatRule #SS220 RatKing tweaks and changes GameRule update entries: - id: MobMouse prob: 0.02 @@ -123,4 +123,4 @@ - id: MobSnailMoth prob: 0.002 - id: MobSnailInstantDeath - prob: 0.00001 # ~ 1:2000 snails \ No newline at end of file + prob: 0.00001 # ~ 1:2000 snails From fe11545d149d835bdd6766bf42e9826a03928dd3 Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 27 Jan 2025 07:36:48 +0300 Subject: [PATCH 30/39] Renaming fitting meta --- .../SS220/Entities/Mobs/NPCs/regalrat.yml | 2 +- .../Actions/actions_rat_king.rsi/meta.json | 2 +- .../{rummage.png => ratKingRummage.png} | Bin 3 files changed, 2 insertions(+), 2 deletions(-) rename Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/{rummage.png => ratKingRummage.png} (100%) diff --git a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml index 49bd385405c8..31101b36872b 100644 --- a/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/SS220/Entities/Mobs/NPCs/regalrat.yml @@ -23,5 +23,5 @@ itemIconStyle: BigAction icon: sprite: SS220/Interface/Actions/actions_rat_king.rsi - state: rummage + state: ratKingRummage event: !type:RatKingRummageActionEvent diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json index 227ca62f53fc..b21bd85c6711 100644 --- a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json +++ b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/meta.json @@ -38,7 +38,7 @@ "name": "ratKingDomain" }, { - "name": "rummage" + "name": "ratKingRummage" } ] } diff --git a/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/rummage.png b/Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingRummage.png similarity index 100% rename from Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/rummage.png rename to Resources/Textures/SS220/Interface/Actions/actions_rat_king.rsi/ratKingRummage.png From 75d8c45228b89314c103c700290dbac1f6118afc Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 27 Jan 2025 07:55:00 +0300 Subject: [PATCH 31/39] Insulated RRat --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index ec1f3435d209..5a1850e96fd2 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -16,6 +16,7 @@ visionRadius: 14 highSensitiveVisionRadius: 0 state: half + - type: Insulated #SS220 RatKing tweaks and changes update end - type: MobMover - type: HTN @@ -183,6 +184,7 @@ categories: [ HideSpawnMenu ] #Must be configured to a King or the AI breaks. components: - type: CombatMode + - type: Insulated - type: MovementSpeedModifier baseWalkSpeed : 3.5 baseSprintSpeed : 3.5 From 398e2bd6a8bf7153d9243686ab3a464ec1e66bc2 Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 27 Jan 2025 08:17:29 +0300 Subject: [PATCH 32/39] Commetary addition --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 5a1850e96fd2..cac970448171 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -184,7 +184,6 @@ categories: [ HideSpawnMenu ] #Must be configured to a King or the AI breaks. components: - type: CombatMode - - type: Insulated - type: MovementSpeedModifier baseWalkSpeed : 3.5 baseSprintSpeed : 3.5 @@ -218,6 +217,7 @@ shader: unshaded - type: Bloodstream bloodMaxVolume: 40 #SS220 RatBlood fix + - type: Insulated #SS220 RatKing Tweaks and changes - type: SpriteMovement movementLayers: From 8b1cff664f8c2a60e8ca3746f559c1cab2ca1818 Mon Sep 17 00:00:00 2001 From: Kiiwwwie <93165306+Kiiwwwie@users.noreply.github.com> Date: Mon, 27 Jan 2025 08:31:50 +0300 Subject: [PATCH 33/39] UpPrice Insulated Co-authored-by: Denis Price <107646133+UrPrice@users.noreply.github.com> --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index cac970448171..99a182c7859e 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -16,7 +16,9 @@ visionRadius: 14 highSensitiveVisionRadius: 0 state: half - - type: Insulated +- type: RandomInsulation + list: + - 0.5 #SS220 RatKing tweaks and changes update end - type: MobMover - type: HTN From 38e9dc17179de566a404179c2da3c5a64e8367ca Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 27 Jan 2025 08:39:04 +0300 Subject: [PATCH 34/39] YAMLFix --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 99a182c7859e..25b53cb72f63 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -16,7 +16,7 @@ visionRadius: 14 highSensitiveVisionRadius: 0 state: half -- type: RandomInsulation + - type: RandomInsulated list: - 0.5 #SS220 RatKing tweaks and changes update end From a6e32889b4b6f4c5456ea0865728c98f53d436af Mon Sep 17 00:00:00 2001 From: kekw Date: Mon, 27 Jan 2025 08:57:12 +0300 Subject: [PATCH 35/39] YAMLFix --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 25b53cb72f63..cc5231cb1885 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -16,7 +16,7 @@ visionRadius: 14 highSensitiveVisionRadius: 0 state: half - - type: RandomInsulated + - type: RandomInsulation list: - 0.5 #SS220 RatKing tweaks and changes update end From f49728943b670ef7478ba29f146150ebf77b50aa Mon Sep 17 00:00:00 2001 From: stalengd Date: Mon, 27 Jan 2025 19:57:44 +0300 Subject: [PATCH 36/39] Cleanup --- Content.Client/RatKing/RatKingSystem.cs | 2 +- Content.Shared/RatKing/RatKingActions.cs | 2 +- Content.Shared/RatKing/SharedRatKingSystem.cs | 2 +- Resources/Prototypes/GameRules/pests.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Content.Client/RatKing/RatKingSystem.cs b/Content.Client/RatKing/RatKingSystem.cs index 7d55b9309e4d..8318aeb90151 100644 --- a/Content.Client/RatKing/RatKingSystem.cs +++ b/Content.Client/RatKing/RatKingSystem.cs @@ -1,4 +1,4 @@ -using Content.Shared.RatKing; +using Content.Shared.RatKing; using Content.Shared.SS220.RatKing; //RatKing Tweaks and Changes namespace Content.Client.RatKing; diff --git a/Content.Shared/RatKing/RatKingActions.cs b/Content.Shared/RatKing/RatKingActions.cs index a195c9823d43..e2031e972b75 100644 --- a/Content.Shared/RatKing/RatKingActions.cs +++ b/Content.Shared/RatKing/RatKingActions.cs @@ -1,4 +1,4 @@ -using Content.Shared.Actions; +using Content.Shared.Actions; namespace Content.Shared.RatKing; diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs index 90f5dfb8771a..26ca749cd0e0 100644 --- a/Content.Shared/RatKing/SharedRatKingSystem.cs +++ b/Content.Shared/RatKing/SharedRatKingSystem.cs @@ -1,4 +1,4 @@ -using Content.Shared.Actions; +using Content.Shared.Actions; using Content.Shared.DoAfter; using Content.Shared.Item; using Content.Shared.Mobs; diff --git a/Resources/Prototypes/GameRules/pests.yml b/Resources/Prototypes/GameRules/pests.yml index bd82fa926b4d..de29dd9248fb 100644 --- a/Resources/Prototypes/GameRules/pests.yml +++ b/Resources/Prototypes/GameRules/pests.yml @@ -123,4 +123,4 @@ - id: MobSnailMoth prob: 0.002 - id: MobSnailInstantDeath - prob: 0.00001 # ~ 1:2000 snails + prob: 0.00001 # ~ 1:2000 snails \ No newline at end of file From 5b21fa3a8971be19d7311a22412ea125f5660c51 Mon Sep 17 00:00:00 2001 From: stalengd Date: Mon, 27 Jan 2025 20:01:25 +0300 Subject: [PATCH 37/39] Copyright notice --- .../SS220/StationEvents/Components/RegalRatRuleComponent.cs | 3 ++- .../StationEvents/Components/RegalRatSpawnLocationComponent.cs | 1 + Content.Server/SS220/StationEvents/Events/RegalRatRule.cs | 1 + Content.Shared/SS220/RatKing/RatKingActions.cs | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs index f50c39525fa8..ca935fcaefb9 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs @@ -1,4 +1,5 @@ -using Content.Server.SS220.StationEvents.Events; +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; using Content.Server.StationEvents.Events; using Content.Shared.Storage; diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs index 4e9240569b43..fc37e04b5972 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs @@ -1,3 +1,4 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; using Content.Server.StationEvents.Events; diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index 7fa150ef445b..f672cbe4208b 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -1,3 +1,4 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Server.Station.Components; using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; diff --git a/Content.Shared/SS220/RatKing/RatKingActions.cs b/Content.Shared/SS220/RatKing/RatKingActions.cs index 55e777b41db3..2f4376d7527e 100644 --- a/Content.Shared/SS220/RatKing/RatKingActions.cs +++ b/Content.Shared/SS220/RatKing/RatKingActions.cs @@ -1,3 +1,4 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Shared.Actions; namespace Content.Shared.SS220.RatKing; From d41a7739e5a8fa6acaedce1f873fbf6bb46dcac1 Mon Sep 17 00:00:00 2001 From: stalengd Date: Mon, 27 Jan 2025 20:15:59 +0300 Subject: [PATCH 38/39] Usings cleanup --- Content.Client/RatKing/RatKingSystem.cs | 1 - Content.Server/RatKing/RatKingSystem.cs | 1 - .../SS220/StationEvents/Components/RegalRatRuleComponent.cs | 4 +--- .../Components/RegalRatSpawnLocationComponent.cs | 4 ---- Content.Server/SS220/StationEvents/Events/RegalRatRule.cs | 6 ++---- 5 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Content.Client/RatKing/RatKingSystem.cs b/Content.Client/RatKing/RatKingSystem.cs index 8318aeb90151..25cc9fdf5575 100644 --- a/Content.Client/RatKing/RatKingSystem.cs +++ b/Content.Client/RatKing/RatKingSystem.cs @@ -1,5 +1,4 @@ using Content.Shared.RatKing; -using Content.Shared.SS220.RatKing; //RatKing Tweaks and Changes namespace Content.Client.RatKing; diff --git a/Content.Server/RatKing/RatKingSystem.cs b/Content.Server/RatKing/RatKingSystem.cs index ee40f4c0af24..01c213d5403e 100644 --- a/Content.Server/RatKing/RatKingSystem.cs +++ b/Content.Server/RatKing/RatKingSystem.cs @@ -11,7 +11,6 @@ using Content.Shared.Nutrition.EntitySystems; using Content.Shared.Pointing; using Content.Shared.RatKing; -using Content.Shared.SS220.RatKing; //SS220 RatKing tweaks and Changes using Robust.Shared.Map; using Robust.Shared.Random; diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs index ca935fcaefb9..bc88de200417 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatRuleComponent.cs @@ -1,7 +1,5 @@ -// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Server.SS220.StationEvents.Events; -using Content.Server.SS220.StationEvents.Components; -using Content.Server.StationEvents.Events; using Content.Shared.Storage; namespace Content.Server.SS220.StationEvents.Components; diff --git a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs index fc37e04b5972..bd99d562c4ca 100644 --- a/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs +++ b/Content.Server/SS220/StationEvents/Components/RegalRatSpawnLocationComponent.cs @@ -1,8 +1,4 @@ // © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt -using Content.Server.SS220.StationEvents.Events; -using Content.Server.SS220.StationEvents.Components; -using Content.Server.StationEvents.Events; - namespace Content.Server.SS220.StationEvents.Components; [RegisterComponent] diff --git a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs index f672cbe4208b..91670736adef 100644 --- a/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs +++ b/Content.Server/SS220/StationEvents/Events/RegalRatRule.cs @@ -1,6 +1,5 @@ // © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Server.Station.Components; -using Content.Server.SS220.StationEvents.Events; using Content.Server.SS220.StationEvents.Components; using Content.Server.StationEvents.Components; using Content.Server.StationEvents.Events; @@ -14,7 +13,6 @@ namespace Content.Server.SS220.StationEvents.Events; public sealed class RegalRatRule : StationEventSystem { - protected override void Started(EntityUid uid, RegalRatRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); @@ -51,10 +49,10 @@ protected override void Started(EntityUid uid, RegalRatRuleComponent component, kingRatValidLocations.Add(transform.Coordinates); } } - + if (component.SpecialEntries.Count == 0 || kingRatValidLocations.Count == 0) { - return; + return; } // guaranteed spawn From cc9d24de25f01c194b1ea5ec55001a4e933f1402 Mon Sep 17 00:00:00 2001 From: kekw Date: Fri, 31 Jan 2025 19:42:53 +0300 Subject: [PATCH 39/39] =?UTF-8?q?=D0=A1=D1=82=D1=80=D1=83=D0=BA=D1=82?= =?UTF-8?q?=D1=83=D1=80=D0=BD=D1=8B=D0=B9=20=D1=83=D1=80=D0=BE=D0=BD=20?= =?UTF-8?q?=D0=9A=D1=80=D1=8B=D1=81=D0=B8=D0=BD=D0=BE=D0=BC=D1=83=20=D0=9A?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D0=BB=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index cc5231cb1885..e37b957b0a4b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -68,6 +68,7 @@ types: Slash: 12 Piercing: 8 + Structural: 25 - type: Body prototype: Rat requiredLegs: 1 # TODO: More than 1 leg