moved a bit of IonStorm code elsewhere

This commit is contained in:
The Canned One
2024-10-01 10:42:52 +02:00
parent 834b6ebaaa
commit 1abc60b995
3 changed files with 7 additions and 7 deletions

View File

@@ -9,7 +9,6 @@ using Content.Shared.Random;
using Content.Shared.Random.Helpers;
using Content.Shared.Silicons.Laws;
using Content.Shared.Silicons.Laws.Components;
using Content.Shared.Station.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
@@ -60,12 +59,8 @@ public sealed class IonStormSystem : EntitySystem
[ValidatePrototypeId<DatasetPrototype>]
private const string Foods = "IonStormFoods";
public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool adminlog = true)
public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true)
{
// only affect law holders on the station unless ignoreStation is true.
if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation && !ignoreStation)
return;
if (!_robustRandom.Prob(target.Chance))
return;

View File

@@ -31,7 +31,7 @@ public sealed class StartIonStormedSystem : EntitySystem
for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++)
{
_ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, false);
_ionStorm.IonStormTarget(uid, lawBound, xform, target, null, false);
}
var laws = _siliconLaw.GetLaws(uid, lawBound);

View File

@@ -4,6 +4,7 @@ using Content.Server.StationEvents.Components;
using Content.Shared.GameTicking.Components;
using Content.Shared.Silicons.Laws;
using Content.Shared.Silicons.Laws.Components;
using Content.Shared.Station.Components;
namespace Content.Server.StationEvents.Events;
@@ -21,6 +22,10 @@ public sealed class IonStormRule : StationEventSystem<IonStormRuleComponent>
var query = EntityQueryEnumerator<SiliconLawBoundComponent, TransformComponent, IonStormTargetComponent>();
while (query.MoveNext(out var ent, out var lawBound, out var xform, out var target))
{
// only affect law holders on the station
if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation)
continue;
_ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation);
}
}