Limit maximum capacity of fillable cluster grenades (#34281)
* Limit maximum capacity of fillable cluster grenades * Swap GrenadeCount method for component property
This commit is contained in:
parent
a849d2c989
commit
4603b47778
2 changed files with 12 additions and 2 deletions
|
|
@ -27,7 +27,7 @@ public sealed partial class ScatteringGrenadeComponent : Component
|
|||
/// <summary>
|
||||
/// If we have a pre-fill how many more can we spawn.
|
||||
/// </summary>
|
||||
[AutoNetworkedField]
|
||||
[ViewVariables(VVAccess.ReadOnly), AutoNetworkedField]
|
||||
public int UnspawnedCount;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -36,6 +36,12 @@ public sealed partial class ScatteringGrenadeComponent : Component
|
|||
[DataField]
|
||||
public int Capacity = 3;
|
||||
|
||||
/// <summary>
|
||||
/// Number of grenades currently contained in the cluster (both spawned and unspawned)
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public int Count => UnspawnedCount + Container.ContainedEntities.Count;
|
||||
|
||||
/// <summary>
|
||||
/// Decides if contained entities trigger after getting launched
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@ public abstract class SharedScatteringGrenadeSystem : EntitySystem
|
|||
if (entity.Comp.Whitelist == null)
|
||||
return;
|
||||
|
||||
// Make sure there's room for another grenade to be added
|
||||
if (entity.Comp.Count >= entity.Comp.Capacity)
|
||||
return;
|
||||
|
||||
if (args.Handled || !_whitelistSystem.IsValid(entity.Comp.Whitelist, args.Used))
|
||||
return;
|
||||
|
||||
|
|
@ -65,6 +69,6 @@ public abstract class SharedScatteringGrenadeSystem : EntitySystem
|
|||
if (!TryComp<AppearanceComponent>(entity, out var appearanceComponent))
|
||||
return;
|
||||
|
||||
_appearance.SetData(entity, ClusterGrenadeVisuals.GrenadesCounter, entity.Comp.UnspawnedCount + entity.Comp.Container.ContainedEntities.Count, appearanceComponent);
|
||||
_appearance.SetData(entity, ClusterGrenadeVisuals.GrenadesCounter, entity.Comp.Count, appearanceComponent);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue