From 388b3333a6de4ec2c98d929ba640300140d0469c Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 00:09:50 +0700 Subject: [PATCH 1/9] =?UTF-8?q?=D0=BD=D0=B5=D1=80=D1=84=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BB=D1=83=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/_Scp/Scp457/Scp457System.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/_Scp/Scp457/Scp457System.cs b/Content.Server/_Scp/Scp457/Scp457System.cs index ca5ae2114d..2d31a51d71 100644 --- a/Content.Server/_Scp/Scp457/Scp457System.cs +++ b/Content.Server/_Scp/Scp457/Scp457System.cs @@ -44,7 +44,7 @@ public sealed class Scp457System : EntitySystem private EntityQuery _reactiveQuery; private EntityQuery _compositionQuery; - private TimeSpan DecayInterval = TimeSpan.FromSeconds(12); + private TimeSpan DecayInterval = TimeSpan.FromSeconds(20); public override void Initialize() { From 00ebced1342e128fcc3dd52a3f6f2ad87cde7cbb Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 01:21:55 +0700 Subject: [PATCH 2/9] r --- Content.Server/_Scp/Scp457/Scp457Component.cs | 2 +- Content.Server/_Scp/Scp457/Scp457System.cs | 7 ++++++- .../_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Content.Server/_Scp/Scp457/Scp457Component.cs b/Content.Server/_Scp/Scp457/Scp457Component.cs index 913e9929a6..5f36a64473 100644 --- a/Content.Server/_Scp/Scp457/Scp457Component.cs +++ b/Content.Server/_Scp/Scp457/Scp457Component.cs @@ -21,7 +21,7 @@ public sealed partial class Scp457Component : Component public float ObjectSizeDecay = 0.01f; [DataField] - public float SmallFormSize = 0.65f; + public float SmallFormSize = 0.5f; [DataField] public float StructuralBreakSize = 1.5f; diff --git a/Content.Server/_Scp/Scp457/Scp457System.cs b/Content.Server/_Scp/Scp457/Scp457System.cs index 2d31a51d71..e1ade29451 100644 --- a/Content.Server/_Scp/Scp457/Scp457System.cs +++ b/Content.Server/_Scp/Scp457/Scp457System.cs @@ -25,6 +25,7 @@ using Robust.Shared.Physics.Systems; using Robust.Shared.Prototypes; using Robust.Shared.Timing; +using Content.Shared._Scp.SafeTime; namespace Content.Server._Scp.Scp457; @@ -132,7 +133,11 @@ private void OnVentCrawlAttempt(Entity ent, ref VentCrawlAttemp { if (ent.Comp.ObjectSize > ent.Comp.SmallFormSize) args.Cancel(); - } + + if (TryComp(ent.Owner, out var safeTime) && + _timing.CurTime < safeTime.TimeEnd) + args.Cancel(); +} private void OnStartCollide(Entity ent, ref StartCollideEvent args) { diff --git a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml index 3db55a747e..b73c30e7ca 100644 --- a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml +++ b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml @@ -5,6 +5,7 @@ - BaseScp - SimpleSpaceMobBase components: + - type: SafeTime - type: AmbientSound range: 6 volume: -3 From 437f681b66552422186b77b8ca2aa3e074a31882 Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 01:23:20 +0700 Subject: [PATCH 3/9] Update Scp457Component.cs --- Content.Server/_Scp/Scp457/Scp457Component.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/_Scp/Scp457/Scp457Component.cs b/Content.Server/_Scp/Scp457/Scp457Component.cs index 5f36a64473..6985d04b54 100644 --- a/Content.Server/_Scp/Scp457/Scp457Component.cs +++ b/Content.Server/_Scp/Scp457/Scp457Component.cs @@ -27,7 +27,7 @@ public sealed partial class Scp457Component : Component public float StructuralBreakSize = 1.5f; [DataField] - public float StructuralDamage = 100f; + public float StructuralDamage = 50f; [DataField] public float DamageModifier = 1f; From 9fa757ded0af2e33d25cd0a91a871cfff1391f95 Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 01:38:20 +0700 Subject: [PATCH 4/9] =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/_Scp/Scp457/Scp457System.cs | 7 +++++-- .../_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Content.Server/_Scp/Scp457/Scp457System.cs b/Content.Server/_Scp/Scp457/Scp457System.cs index e1ade29451..9546c12734 100644 --- a/Content.Server/_Scp/Scp457/Scp457System.cs +++ b/Content.Server/_Scp/Scp457/Scp457System.cs @@ -45,7 +45,7 @@ public sealed class Scp457System : EntitySystem private EntityQuery _reactiveQuery; private EntityQuery _compositionQuery; - private TimeSpan DecayInterval = TimeSpan.FromSeconds(20); + private TimeSpan DecayInterval = TimeSpan.FromSeconds(18); public override void Initialize() { @@ -273,7 +273,10 @@ private void UpdateAppearanceAndPhysics(Entity ent) if (!fixtures.Fixtures.TryGetValue(component.BodyFixtureId, out var fixture)) return; - var collisionMask = component.ObjectSize <= component.SmallFormSize + var isSafeTime = TryComp(ent.Owner, out var safeTime) && + _timing.CurTime < safeTime.TimeEnd; + + var collisionMask = (component.ObjectSize <= component.SmallFormSize && !isSafeTime) ? (int)CollisionGroup.SmallMobMask : (int)CollisionGroup.MobMask; if (fixture.CollisionMask == collisionMask) diff --git a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml index b73c30e7ca..84af302e22 100644 --- a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml +++ b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml @@ -6,6 +6,7 @@ - SimpleSpaceMobBase components: - type: SafeTime + time: 100 - type: AmbientSound range: 6 volume: -3 From b54728ee056ae7ab76699183373b67277b99e24e Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 01:49:12 +0700 Subject: [PATCH 5/9] Update scp457.yml --- .../Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml index 84af302e22..b73c30e7ca 100644 --- a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml +++ b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml @@ -6,7 +6,6 @@ - SimpleSpaceMobBase components: - type: SafeTime - time: 100 - type: AmbientSound range: 6 volume: -3 From 57a8d826f83a940be616e171675f8fdfb52ef32a Mon Sep 17 00:00:00 2001 From: WardexOfficial <132839034+WardexOfficial@users.noreply.github.com> Date: Wed, 5 Aug 2026 02:39:47 +0300 Subject: [PATCH 6/9] Add TODOs for SafeTime method refactoring Added TODO comments to refactor method for SafeTime system. --- Content.Server/_Scp/Scp457/Scp457System.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Content.Server/_Scp/Scp457/Scp457System.cs b/Content.Server/_Scp/Scp457/Scp457System.cs index 9546c12734..410479eaf4 100644 --- a/Content.Server/_Scp/Scp457/Scp457System.cs +++ b/Content.Server/_Scp/Scp457/Scp457System.cs @@ -134,6 +134,7 @@ private void OnVentCrawlAttempt(Entity ent, ref VentCrawlAttemp if (ent.Comp.ObjectSize > ent.Comp.SmallFormSize) args.Cancel(); + // TODO: Переделать и починить сам метод под IsInSafeTime в системе SafeTime if (TryComp(ent.Owner, out var safeTime) && _timing.CurTime < safeTime.TimeEnd) args.Cancel(); @@ -273,6 +274,7 @@ private void UpdateAppearanceAndPhysics(Entity ent) if (!fixtures.Fixtures.TryGetValue(component.BodyFixtureId, out var fixture)) return; + // TODO: Переделать и починить сам метод под IsInSafeTime в системе SafeTime var isSafeTime = TryComp(ent.Owner, out var safeTime) && _timing.CurTime < safeTime.TimeEnd; From 781ad81be889a8079c2f725eaa1255c3e1496ab4 Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 12:23:12 +0700 Subject: [PATCH 7/9] =?UTF-8?q?=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServerInfo/_Scp/Guidebook/Scp457/Abilities.xml | 13 +++++++++++++ .../ServerInfo/_Scp/Guidebook/Scp457/States.xml | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Resources/ServerInfo/_Scp/Guidebook/Scp457/Abilities.xml b/Resources/ServerInfo/_Scp/Guidebook/Scp457/Abilities.xml index 3d3475032d..78823b66e9 100644 --- a/Resources/ServerInfo/_Scp/Guidebook/Scp457/Abilities.xml +++ b/Resources/ServerInfo/_Scp/Guidebook/Scp457/Abilities.xml @@ -27,9 +27,22 @@ Эта механика помогает сбежать в начале раунда, но делает SCP-457 слабее! + ## Неуязвимость + + Горящий человек полностью неуязвим ко всем видам урона, кроме обмораживающего. + + Единственное, что может нанести вам вред - вода. Остерегайтесь её! + ## Механика поглощения Поглощая топливо, вы увеличиваете свой размер, поднимаете боевой урон и получаете возможность разрушать баррикады и стены прямо на ходу. [textlink="Подробнее про состояния" link="Scp457States"] + + ## Механика безопасного времени + + В течение первых 15 минут с начала раунда вы не сможете входить в вентиляцию в маленьком состоянии. + + Эта механика ограничивает SCP объекты в начале раунда, давая персоналу время на стартовую подготовку к смене. + diff --git a/Resources/ServerInfo/_Scp/Guidebook/Scp457/States.xml b/Resources/ServerInfo/_Scp/Guidebook/Scp457/States.xml index 30fccda25e..35a9569848 100644 --- a/Resources/ServerInfo/_Scp/Guidebook/Scp457/States.xml +++ b/Resources/ServerInfo/_Scp/Guidebook/Scp457/States.xml @@ -15,9 +15,13 @@ ## Маленькое - В данном состоянии горящий человек имеет маленький урон и здоровье, но может залезть в вентиляцию. + В данном состоянии горящий человек имеет маленький урон и здоровье, но может залезть в вентиляцию и проходить сквозь гермозатворы со шлюзами. Горящий человек переходит в это состояние после 12 минут от начала раунда. + Учтите, что в течение первых 15 минут с начала раунда вы не сможете входить в вентиляцию в маленьком состоянии! + + [textlink="Подробнее про механику безопасного времени" link="Scp457Abilities"] + ## Большое Перейдя в данное состояние, объект будет очень большим и сильным, а также сможет ломать структуры при столкновении с ними. From 0ee64e237a143b915e0453d501357dd7279808c0 Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 20:34:11 +0700 Subject: [PATCH 8/9] Update Scp457System.cs --- Content.Server/_Scp/Scp457/Scp457System.cs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Content.Server/_Scp/Scp457/Scp457System.cs b/Content.Server/_Scp/Scp457/Scp457System.cs index 410479eaf4..ca5ae2114d 100644 --- a/Content.Server/_Scp/Scp457/Scp457System.cs +++ b/Content.Server/_Scp/Scp457/Scp457System.cs @@ -25,7 +25,6 @@ using Robust.Shared.Physics.Systems; using Robust.Shared.Prototypes; using Robust.Shared.Timing; -using Content.Shared._Scp.SafeTime; namespace Content.Server._Scp.Scp457; @@ -45,7 +44,7 @@ public sealed class Scp457System : EntitySystem private EntityQuery _reactiveQuery; private EntityQuery _compositionQuery; - private TimeSpan DecayInterval = TimeSpan.FromSeconds(18); + private TimeSpan DecayInterval = TimeSpan.FromSeconds(12); public override void Initialize() { @@ -133,12 +132,7 @@ private void OnVentCrawlAttempt(Entity ent, ref VentCrawlAttemp { if (ent.Comp.ObjectSize > ent.Comp.SmallFormSize) args.Cancel(); - - // TODO: Переделать и починить сам метод под IsInSafeTime в системе SafeTime - if (TryComp(ent.Owner, out var safeTime) && - _timing.CurTime < safeTime.TimeEnd) - args.Cancel(); -} + } private void OnStartCollide(Entity ent, ref StartCollideEvent args) { @@ -274,11 +268,7 @@ private void UpdateAppearanceAndPhysics(Entity ent) if (!fixtures.Fixtures.TryGetValue(component.BodyFixtureId, out var fixture)) return; - // TODO: Переделать и починить сам метод под IsInSafeTime в системе SafeTime - var isSafeTime = TryComp(ent.Owner, out var safeTime) && - _timing.CurTime < safeTime.TimeEnd; - - var collisionMask = (component.ObjectSize <= component.SmallFormSize && !isSafeTime) + var collisionMask = component.ObjectSize <= component.SmallFormSize ? (int)CollisionGroup.SmallMobMask : (int)CollisionGroup.MobMask; if (fixture.CollisionMask == collisionMask) From b1e34c93328e6bd0dcc13d074edb843dbed90ec3 Mon Sep 17 00:00:00 2001 From: 666XxttimurkaxX666 <666qwe3@gmail.com> Date: Wed, 5 Aug 2026 20:35:22 +0700 Subject: [PATCH 9/9] Update scp457.yml --- .../Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml index b73c30e7ca..3db55a747e 100644 --- a/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml +++ b/Resources/Prototypes/_Scp/Entities/Mobs/Player/Scp/Main/scp457.yml @@ -5,7 +5,6 @@ - BaseScp - SimpleSpaceMobBase components: - - type: SafeTime - type: AmbientSound range: 6 volume: -3