buzz buzz (#5490)
* buzz buzz * Darn now i'm all out of periods thanks mirror fix toy issue * desc edits. * rng and alphabee * adds some missed parens
This commit is contained in:
@@ -13,6 +13,10 @@ namespace Content.Server.Chemistry.TileReactions
|
||||
[DataDefinition]
|
||||
public class CleanTileReaction : ITileReaction
|
||||
{
|
||||
|
||||
[DataField("cleanAmountMultiplier")]
|
||||
public float CleanAmountMultiplier { get; private set; } = 1.0f;
|
||||
|
||||
FixedPoint2 ITileReaction.TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
|
||||
{
|
||||
var entities = tile.GetEntitiesInTileFast().ToArray();
|
||||
@@ -21,7 +25,7 @@ namespace Content.Server.Chemistry.TileReactions
|
||||
{
|
||||
if (entity.TryGetComponent(out CleanableComponent? cleanable))
|
||||
{
|
||||
var next = amount + cleanable.CleanAmount;
|
||||
var next = (amount + cleanable.CleanAmount) * CleanAmountMultiplier;
|
||||
// Nothing left?
|
||||
if (reactVolume < next)
|
||||
break;
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Content.Shared.FixedPoint;
|
||||
using Content.Shared.Maps;
|
||||
using Content.Shared.Random.Helpers;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Serialization.Manager.Attributes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
|
||||
@@ -34,6 +36,9 @@ public class CreateEntityReaction : ITileReaction
|
||||
[DataField("maxOnTileWhitelist")]
|
||||
public EntityWhitelist? Whitelist;
|
||||
|
||||
[DataField("randomOffsetMax")]
|
||||
public float RandomOffsetMax = 0.0f;
|
||||
|
||||
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
|
||||
{
|
||||
if (reactVolume >= Usage)
|
||||
@@ -54,7 +59,13 @@ public class CreateEntityReaction : ITileReaction
|
||||
}
|
||||
}
|
||||
|
||||
entMan.SpawnEntity(Entity, tile.GridPosition().Offset(new Vector2(0.5f, 0.5f)));
|
||||
var random = IoCManager.Resolve<IRobustRandom>();
|
||||
var xoffs = random.NextFloat(-RandomOffsetMax, RandomOffsetMax);
|
||||
var yoffs = random.NextFloat(-RandomOffsetMax, RandomOffsetMax);
|
||||
|
||||
var pos = tile.GridPosition().Offset(new Vector2(0.5f + xoffs, 0.5f + yoffs));
|
||||
entMan.SpawnEntity(Entity, pos);
|
||||
|
||||
return Usage;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user