(Re)Adds open bolt animations for gun sprites (#17219)
Co-authored-by: and_a <and_a@DESKTOP-RJENGIR> Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
@@ -66,7 +66,13 @@ public abstract partial class SharedGunSystem
|
||||
if (!TryComp<AppearanceComponent>(uid, out var appearance))
|
||||
return;
|
||||
|
||||
Appearance.SetData(uid, AmmoVisuals.MagLoaded, GetMagazineEntity(uid) != null, appearance);
|
||||
var magEnt = GetMagazineEntity(uid);
|
||||
Appearance.SetData(uid, AmmoVisuals.MagLoaded, magEnt != null, appearance);
|
||||
|
||||
if (magEnt != null)
|
||||
{
|
||||
UpdateMagazineAppearance(uid, component, magEnt.Value);
|
||||
}
|
||||
}
|
||||
|
||||
protected (int, int) GetMagazineCountCapacity(EntityUid uid, MagazineAmmoProviderComponent component)
|
||||
@@ -124,16 +130,16 @@ public abstract partial class SharedGunSystem
|
||||
|
||||
var ammoEv = new GetAmmoCountEvent();
|
||||
RaiseLocalEvent(magEntity.Value, ref ammoEv);
|
||||
FinaliseMagazineTakeAmmo(uid, component, args, ammoEv.Count, ammoEv.Capacity, appearance);
|
||||
FinaliseMagazineTakeAmmo(uid, component, ammoEv.Count, ammoEv.Capacity, args.User, appearance);
|
||||
}
|
||||
|
||||
private void FinaliseMagazineTakeAmmo(EntityUid uid, MagazineAmmoProviderComponent component, TakeAmmoEvent args, int count, int capacity, AppearanceComponent? appearance)
|
||||
private void FinaliseMagazineTakeAmmo(EntityUid uid, MagazineAmmoProviderComponent component, int count, int capacity, EntityUid? user, AppearanceComponent? appearance)
|
||||
{
|
||||
// If no ammo then check for autoeject
|
||||
if (component.AutoEject && args.Ammo.Count == 0)
|
||||
if (component.AutoEject && count == 0)
|
||||
{
|
||||
EjectMagazine(uid, component);
|
||||
Audio.PlayPredicted(component.SoundAutoEject, uid, args.User);
|
||||
Audio.PlayPredicted(component.SoundAutoEject, uid, user);
|
||||
}
|
||||
|
||||
UpdateMagazineAppearance(uid, appearance, true, count, capacity);
|
||||
@@ -146,12 +152,6 @@ public abstract partial class SharedGunSystem
|
||||
var count = 0;
|
||||
var capacity = 0;
|
||||
|
||||
if (component is ChamberMagazineAmmoProviderComponent chamber)
|
||||
{
|
||||
count = GetChamberEntity(uid) != null ? 1 : 0;
|
||||
capacity = 1;
|
||||
}
|
||||
|
||||
if (TryComp<AppearanceComponent>(magEnt, out var magAppearance))
|
||||
{
|
||||
Appearance.TryGetData<int>(magEnt, AmmoVisuals.AmmoCount, out var addCount, magAppearance);
|
||||
|
||||
Reference in New Issue
Block a user