Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a3f6911
Refactor code structure for improved readability and maintainability
helper342 Apr 12, 2026
721fd35
Merge pull request #1 from helper342/scp933-fix
helper342 Apr 12, 2026
c1a542c
Refactor SCP-933 master system to improve interaction mechanics and l…
helper342 Apr 12, 2026
971d50b
Merge pull request #2 from helper342/cursor/scp-933-victims-d9b6c
helper342 Apr 12, 2026
f4ce127
933 is better
helper342 Apr 12, 2026
c85f607
933 is better
helper342 Apr 12, 2026
b53b211
Merge pull request #3 from helper342/cursor/scp-933-victims-d9b6c
helper342 Apr 12, 2026
3fa2034
Merge branch 'space-sunrise:master' into master
helper342 Apr 12, 2026
37b2e96
SCP-933: face-torn victims instead of controlled slaves
helper342 Apr 12, 2026
e7408d8
Merge branch 'space-sunrise:master' into cursor/scp-933-victims-d9b6c
helper342 Apr 12, 2026
df2813c
Update scp-posters RSI meta.json
helper342 Apr 12, 2026
8596770
Remove mistaken Scp9332 slave/NPC stub (wrong folder)
helper342 Apr 12, 2026
da5cd65
Merge origin/master into cursor/scp-933-victims-d9b6c
helper342 Apr 12, 2026
ee40894
Merge pull request #4 from helper342/cursor/scp-933-victims-d9b6c
helper342 Apr 12, 2026
db00a7b
Merge branch 'space-sunrise:master' into master
helper342 Apr 13, 2026
177055e
Refactor Scp933MasterSystem to implement full SCP-933 tape functional…
helper342 Apr 13, 2026
b14b685
Merge pull request #5 from helper342/933-tape-test
helper342 Apr 13, 2026
c07a913
Merge branch 'master' into 933-tape-test
helper342 Apr 13, 2026
94bfbbc
КомитН2
helper342 Apr 14, 2026
93ecfe0
КомитН2.1
helper342 Apr 14, 2026
4f9ccd4
Merge branch 'space-sunrise:master' into master
helper342 Apr 14, 2026
e9809f7
Merge branch '933-tape-test' of github.com:helper342/fire-station1984…
helper342 Apr 14, 2026
10574a0
Merge branch 'space-sunrise:master' into 933-tape-test
helper342 Apr 14, 2026
d7283bf
Merge branch 'master' into 933-tape-test
helper342 Apr 14, 2026
4a4248b
Update Content.Shared/_Scp/Scp933/Scp933MasterSystem.cs
helper342 Apr 14, 2026
69e73a9
commitv7
helper342 Apr 15, 2026
e176eb3
коммитик
helper342 Apr 15, 2026
939d39e
Merge branch '933-tape-test' of github.com:helper342/fire-station1984…
helper342 Apr 15, 2026
a6cb491
КоммитН8
helper342 Apr 15, 2026
041462c
Коммит8.1
helper342 Apr 15, 2026
442f10b
коммитфикс8
helper342 Apr 15, 2026
ba0fa81
коммитфикс8.1
helper342 Apr 15, 2026
3e74a63
Merge branch 'master' into 933-tape-test
helper342 Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions Content.Server/_Scp/Scp933/Scp933MasterSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using Content.Shared._Scp.Scp933;
using Content.Shared.Damage.Components;
using Content.Shared.Damage;
using Content.Shared.Damage.Systems;
using Content.Shared.FixedPoint;
using Content.Shared.Mobs;
using Content.Shared.Mobs.Components;
using Content.Shared.Mobs.Systems;
using Content.Shared.Weapons.Melee;

namespace Content.Server._Scp.Scp933;

public sealed class Scp933MasterSystem : SharedScp933MasterSystem
{
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly MobThresholdSystem _mobThresholds = default!;
public bool HasAnyScp933Host()
{
var query = EntityQueryEnumerator<Scp933MasterComponent>();
return query.MoveNext(out _, out _);
}
Comment on lines +15 to +21
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly MobThresholdSystem _mobThresholds = default!;
public bool HasAnyScp933Host()
{
var query = EntityQueryEnumerator<Scp933MasterComponent>();
return query.MoveNext(out _, out _);
}
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly MobThresholdSystem _mobThresholds = default!;
public bool HasAnyScp933Host()
{
var query = EntityQueryEnumerator<Scp933MasterComponent>();
return query.MoveNext(out _, out _);
}


public void ApplyHostBuffs(EntityUid uid)
{
if (!TryComp<Scp933MasterComponent>(uid, out var master))
return;

if (master.HealOnHostBecoming)
{
if (HasComp<DamageableComponent>(uid))
_damageable.SetAllDamage(uid, FixedPoint2.Zero);

foreach (var victim in master.FaceTornVictims)
{
if (HasComp<DamageableComponent>(victim))
_damageable.SetAllDamage(victim, FixedPoint2.Zero);
}
}

if (!TryComp<MobThresholdsComponent>(uid, out var thresholds))
return;

// Target can be dead before ritual completes; explicitly allow revive transition.
_mobThresholds.SetAllowRevives(uid, master.AllowRevivesOnHost, thresholds);
_mobThresholds.SetMobStateThreshold(uid, master.AliveThreshold, MobState.Alive, thresholds);
_mobThresholds.SetMobStateThreshold(uid, master.CriticalThreshold, MobState.Critical, thresholds);
_mobThresholds.SetMobStateThreshold(uid, master.DeadThreshold, MobState.Dead, thresholds);
_mobThresholds.VerifyThresholds(uid, thresholds);

if (TryComp<MeleeWeaponComponent>(uid, out var melee))
{
melee.Damage = new DamageSpecifier { DamageDict = { ["Blunt"] = master.HostBluntDamage } };
Dirty(uid, melee);
}
Comment on lines +50 to +54
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сразу храни в компоненте DamageSpecifier, тогда будет ещё меньше хардкода и код лучше

}

}
Loading
Loading