Files
tbd-station-14/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Cartridges.cs
metalgearsloth 2f07270744 Add examines for damage values (#11090)
* Add examines for damage values

Even immersive sims still give you values.

We should also do this for armour so people don't have to yml dive and so the general public actually know the balance of things.

* Slightly better

* Cleanup
2022-09-08 18:08:14 -05:00

35 lines
1.1 KiB
C#

using Content.Shared.Weapons.Ranged.Components;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Weapons.Ranged.Systems;
public abstract partial class SharedGunSystem
{
protected virtual void InitializeCartridge()
{
SubscribeLocalEvent<CartridgeAmmoComponent, ComponentGetState>(OnCartridgeGetState);
SubscribeLocalEvent<CartridgeAmmoComponent, ComponentHandleState>(OnCartridgeHandleState);
}
private void OnCartridgeHandleState(EntityUid uid, CartridgeAmmoComponent component, ref ComponentHandleState args)
{
if (args.Current is not CartridgeAmmoComponentState state) return;
component.Spent = state.Spent;
}
private void OnCartridgeGetState(EntityUid uid, CartridgeAmmoComponent component, ref ComponentGetState args)
{
args.State = new CartridgeAmmoComponentState()
{
Spent = component.Spent,
};
}
[Serializable, NetSerializable]
private sealed class CartridgeAmmoComponentState : ComponentState
{
public bool Spent;
}
}