removed TryGetSound + made some SoundSpecifier datafields required

This commit is contained in:
Galactic Chimp
2021-07-31 19:52:33 +02:00
parent 8ff703c338
commit 57016d14b4
114 changed files with 519 additions and 785 deletions

View File

@@ -78,12 +78,12 @@ namespace Content.Server.Weapon.Melee
if (target != null)
{
// Raise event before doing damage so we can cancel damage if the event is handled
var hitEvent = new MeleeHitEvent(new List<IEntity>() {target}, args.User);
var hitEvent = new MeleeHitEvent(new List<IEntity>() { target }, args.User);
RaiseLocalEvent(uid, hitEvent, false);
if (!hitEvent.Handled)
{
var targets = new[] {target};
var targets = new[] { target };
SendAnimation(comp.ClickArc, angle, args.User, owner, targets, comp.ClickAttackEffect, false);
if (target.TryGetComponent(out IDamageableComponent? damageableComponent))
@@ -91,14 +91,12 @@ namespace Content.Server.Weapon.Melee
damageableComponent.ChangeDamage(comp.DamageType, comp.Damage, false, owner);
}
if(comp.HitSound.TryGetSound(out var hitSound))
SoundSystem.Play(Filter.Pvs(owner), hitSound, target);
SoundSystem.Play(Filter.Pvs(owner), comp.HitSound.GetSound(), target);
}
}
else
{
if(comp.MissSound.TryGetSound(out var missSound))
SoundSystem.Play(Filter.Pvs(owner), missSound, args.User);
SoundSystem.Play(Filter.Pvs(owner), comp.MissSound.GetSound(), args.User);
return;
}
@@ -148,13 +146,11 @@ namespace Content.Server.Weapon.Melee
{
if (entities.Count != 0)
{
if(comp.HitSound.TryGetSound(out var hitSound))
SoundSystem.Play(Filter.Pvs(owner), hitSound, entities.First().Transform.Coordinates);
SoundSystem.Play(Filter.Pvs(owner), comp.HitSound.GetSound(), entities.First().Transform.Coordinates);
}
else
{
if(comp.MissSound.TryGetSound(out var missSound))
SoundSystem.Play(Filter.Pvs(owner), missSound, args.User.Transform.Coordinates);
SoundSystem.Play(Filter.Pvs(owner), comp.MissSound.GetSound(), args.User.Transform.Coordinates);
}
foreach (var entity in hitEntities)

View File

@@ -75,18 +75,12 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (value)
{
TryEjectChamber();
if (_soundBoltOpen.TryGetSound(out var soundBoltOpen))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltOpen, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltOpen.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
else
{
TryFeedChamber();
if (_soundBoltClosed.TryGetSound(out var soundBoltClosed))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltClosed, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltClosed.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
_boltOpen = value;
@@ -102,7 +96,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// Sounds
[DataField("soundCycle")]
private SoundSpecifier _soundCycle = new SoundPathSpecifier( "/Audio/Weapons/Guns/Cock/sf_rifle_cock.ogg");
private SoundSpecifier _soundCycle = new SoundPathSpecifier("/Audio/Weapons/Guns/Cock/sf_rifle_cock.ogg");
[DataField("soundBoltOpen")]
private SoundSpecifier _soundBoltOpen = new SoundPathSpecifier("/Audio/Weapons/Guns/Bolt/rifle_bolt_open.ogg");
[DataField("soundBoltClosed")]
@@ -225,10 +219,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
}
else
{
if (_soundCycle.TryGetSound(out var soundCycle))
{
SoundSystem.Play(Filter.Pvs(Owner), soundCycle, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundCycle.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
Dirty();
@@ -257,10 +248,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_chamberContainer.ContainedEntity == null)
{
_chamberContainer.Insert(ammo);
if (_soundInsert.TryGetSound(out var soundInsert))
{
SoundSystem.Play(Filter.Pvs(Owner), soundInsert, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
Dirty();
UpdateAppearance();
return true;
@@ -270,10 +258,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
_ammoContainer.Insert(ammo);
_spawnedAmmo.Push(ammo);
if (_soundInsert.TryGetSound(out var soundInsert))
{
SoundSystem.Play(Filter.Pvs(Owner), soundInsert, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
Dirty();
UpdateAppearance();
return true;
@@ -347,7 +332,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
base.Examine(message, inDetailsRange);
message.AddMarkup("\n" + Loc.GetString("bolt-action-barrel-component-on-examine", ("caliber",_caliber)));
message.AddMarkup("\n" + Loc.GetString("bolt-action-barrel-component-on-examine", ("caliber", _caliber)));
}
[Verb]

View File

@@ -46,7 +46,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// Even a point having a chamber? I guess it makes some of the below code cleaner
private ContainerSlot _chamberContainer = default!;
private Stack<IEntity> _spawnedAmmo = new (DefaultCapacity-1);
private Stack<IEntity> _spawnedAmmo = new(DefaultCapacity - 1);
private Container _ammoContainer = default!;
[ViewVariables]
@@ -190,10 +190,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (manual)
{
if (_soundCycle.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundCycle.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
Dirty();
@@ -219,10 +216,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
_spawnedAmmo.Push(eventArgs.Using);
Dirty();
UpdateAppearance();
if (_soundInsert.TryGetSound(out var soundInsert))
{
SoundSystem.Play(Filter.Pvs(Owner), soundInsert, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
return true;
}
@@ -246,7 +240,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
base.Examine(message, inDetailsRange);
message.AddMarkup("\n" + Loc.GetString("pump-barrel-component-on-examine",("caliber", _caliber)));
message.AddMarkup("\n" + Loc.GetString("pump-barrel-component-on-examine", ("caliber", _caliber)));
}
}
}

View File

@@ -165,10 +165,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
_currentSlot = i;
_ammoSlots[i] = entity;
_ammoContainer.Insert(entity);
if (_soundInsert.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
Dirty();
UpdateAppearance();
@@ -195,10 +192,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
var random = _random.Next(_ammoSlots.Length - 1);
_currentSlot = random;
if (_soundSpin.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundSpin.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
Dirty();
}
@@ -249,10 +243,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_ammoContainer.ContainedEntities.Count > 0)
{
if (_soundEject.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-1));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundEject.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-1));
}
// May as well point back at the end?

View File

@@ -83,9 +83,9 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
private AppearanceComponent? _appearanceComponent;
// Sounds
[DataField("soundPowerCellInsert")]
[DataField("soundPowerCellInsert", required: true)]
private SoundSpecifier _soundPowerCellInsert = default!;
[DataField("soundPowerCellEject")]
[DataField("soundPowerCellEject", required: true)]
private SoundSpecifier _soundPowerCellEject = default!;
public override ComponentState GetComponentState(ICommonSession player)
@@ -223,10 +223,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
return false;
}
if (_soundPowerCellInsert.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundPowerCellInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
_powerCellContainer.Insert(entity);
@@ -276,10 +273,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
cell.Owner.Transform.Coordinates = user.Transform.Coordinates;
}
if (_soundPowerCellEject.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Pvs(Owner), sound, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundPowerCellEject.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
return true;
}

View File

@@ -98,18 +98,12 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (value)
{
TryEjectChamber();
if (_soundBoltOpen.TryGetSound(out var soundBoltOpen))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltOpen, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltOpen.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
else
{
TryFeedChamber();
if (_soundBoltClosed.TryGetSound(out var soundBoltClosed))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltClosed, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltClosed.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
_boltOpen = value;
@@ -129,17 +123,17 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
private AppearanceComponent? _appearanceComponent;
// Sounds
[DataField("soundBoltOpen")]
[DataField("soundBoltOpen", required: true)]
private SoundSpecifier _soundBoltOpen = default!;
[DataField("soundBoltClosed")]
[DataField("soundBoltClosed", required: true)]
private SoundSpecifier _soundBoltClosed = default!;
[DataField("soundRack")]
[DataField("soundRack", required: true)]
private SoundSpecifier _soundRack = default!;
[DataField("soundMagInsert")]
[DataField("soundMagInsert", required: true)]
private SoundSpecifier _soundMagInsert = default!;
[DataField("soundMagEject")]
[DataField("soundMagEject", required: true)]
private SoundSpecifier _soundMagEject = default!;
[DataField("soundAutoEject")]
[DataField("soundAutoEject", required: true)]
private SoundSpecifier _soundAutoEject = new SoundPathSpecifier("/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg");
private List<MagazineType> GetMagazineTypes()
@@ -229,10 +223,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_chamberContainer.ContainedEntity == null && !BoltOpen)
{
if (_soundBoltOpen.TryGetSound(out var soundBoltOpen))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltOpen, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-5));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltOpen.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-5));
if (Owner.TryGetContainer(out var container))
{
@@ -244,10 +235,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (manual)
{
if (_soundRack.TryGetSound(out var soundRack))
{
SoundSystem.Play(Filter.Pvs(Owner), soundRack, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundRack.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
Dirty();
@@ -272,10 +260,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (BoltOpen)
{
if (_soundBoltClosed.TryGetSound(out var soundBoltClosed))
{
SoundSystem.Play(Filter.Pvs(Owner), soundBoltClosed, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-5));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundBoltClosed.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-5));
Owner.PopupMessage(eventArgs.User, Loc.GetString("server-magazine-barrel-component-use-entity-bolt-closed"));
BoltOpen = false;
return true;
@@ -326,10 +311,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_autoEjectMag && magazine != null && magazine.GetComponent<RangedMagazineComponent>().ShotsLeft == 0)
{
if (_soundAutoEject.TryGetSound(out var soundAutoEject))
{
SoundSystem.Play(Filter.Pvs(Owner), soundAutoEject, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundAutoEject.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
_magazineContainer.Remove(magazine);
SendNetworkMessage(new MagazineAutoEjectMessage());
@@ -353,10 +335,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
}
_magazineContainer.Remove(mag);
if (_soundMagEject.TryGetSound(out var soundMagEject))
{
SoundSystem.Play(Filter.Pvs(Owner), soundMagEject, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundMagEject.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
if (user.TryGetComponent(out HandsComponent? handsComponent))
{
@@ -392,10 +371,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_magazineContainer.ContainedEntity == null)
{
if (_soundMagInsert.TryGetSound(out var soundMagInsert))
{
SoundSystem.Play(Filter.Pvs(Owner), soundMagInsert, Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
}
SoundSystem.Play(Filter.Pvs(Owner), _soundMagInsert.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2));
Owner.PopupMessage(eventArgs.User, Loc.GetString("server-magazine-barrel-component-interact-using-success"));
_magazineContainer.Insert(eventArgs.Using);
Dirty();
@@ -442,11 +418,11 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
base.Examine(message, inDetailsRange);
message.AddMarkup("\n" + Loc.GetString("server-magazine-barrel-component-on-examine", ("caliber",Caliber)));
message.AddMarkup("\n" + Loc.GetString("server-magazine-barrel-component-on-examine", ("caliber", Caliber)));
foreach (var magazineType in GetMagazineTypes())
{
message.AddMarkup("\n" + Loc.GetString("server-magazine-barrel-component-on-examine-magazine-type",("magazineType", magazineType)));
message.AddMarkup("\n" + Loc.GetString("server-magazine-barrel-component-on-examine-magazine-type", ("magazineType", magazineType)));
}
}

View File

@@ -97,7 +97,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool CanMuzzleFlash { get; } = true;
// Sounds
[DataField("soundGunshot")]
[DataField("soundGunshot", required: true)]
public SoundSpecifier SoundGunshot { get; set; } = default!;
[DataField("soundEmpty")]
@@ -197,10 +197,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
if (ShotsLeft == 0)
{
if (SoundEmpty.TryGetSound(out var sound))
{
SoundSystem.Play(Filter.Broadcast(), sound, Owner.Transform.Coordinates);
}
SoundSystem.Play(Filter.Broadcast(), SoundEmpty.GetSound(), Owner.Transform.Coordinates);
return;
}
@@ -208,8 +205,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
var projectile = TakeProjectile(shooter.Transform.Coordinates);
if (projectile == null)
{
if(SoundEmpty.TryGetSound(out var soundEmpty))
SoundSystem.Play(Filter.Broadcast(), soundEmpty, Owner.Transform.Coordinates);
SoundSystem.Play(Filter.Broadcast(), SoundEmpty.GetSound(), Owner.Transform.Coordinates);
return;
}
@@ -249,10 +245,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
throw new InvalidOperationException();
}
if (SoundGunshot.TryGetSound(out var soundGunshot))
{
SoundSystem.Play(Filter.Broadcast(), soundGunshot, Owner.Transform.Coordinates);
}
SoundSystem.Play(Filter.Broadcast(), SoundGunshot.GetSound(), Owner.Transform.Coordinates);
_lastFire = _gameTiming.CurTime;
}
@@ -283,10 +276,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
entity.Transform.Coordinates = entity.Transform.Coordinates.Offset(offsetPos);
entity.Transform.LocalRotation = robustRandom.Pick(ejectDirections).ToAngle();
if (ammo.SoundCollectionEject.TryGetSound(out var ejectSounds) && playSound)
{
SoundSystem.Play(Filter.Broadcast(), ejectSounds, entity.Transform.Coordinates, AudioParams.Default.WithVolume(-1));
}
SoundSystem.Play(Filter.Broadcast(), ammo.SoundCollectionEject.GetSound(), entity.Transform.Coordinates, AudioParams.Default.WithVolume(-1));
}
/// <summary>

View File

@@ -147,7 +147,8 @@ namespace Content.Server.Weapon.Ranged
return;
}
if(!user.TryGetComponent(out CombatModeComponent? combat) || !combat.IsInCombatMode) {
if (!user.TryGetComponent(out CombatModeComponent? combat) || !combat.IsInCombatMode)
{
return;
}
@@ -167,13 +168,13 @@ namespace Content.Server.Weapon.Ranged
if (ClumsyCheck && ClumsyComponent.TryRollClumsy(user, ClumsyExplodeChance))
{
if(_clumsyWeaponHandlingSound.TryGetSound(out var clumsyWeaponHandlingSound))
SoundSystem.Play(Filter.Pvs(Owner), clumsyWeaponHandlingSound,
Owner.Transform.Coordinates, AudioParams.Default.WithMaxDistance(5));
SoundSystem.Play(
Filter.Pvs(Owner), _clumsyWeaponHandlingSound.GetSound(),
Owner.Transform.Coordinates, AudioParams.Default.WithMaxDistance(5));
if(_clumsyWeaponShotSound.TryGetSound(out var clumsyWeaponShotSound))
SoundSystem.Play(Filter.Pvs(Owner), clumsyWeaponShotSound,
Owner.Transform.Coordinates, AudioParams.Default.WithMaxDistance(5));
SoundSystem.Play(
Filter.Pvs(Owner), _clumsyWeaponShotSound.GetSound(),
Owner.Transform.Coordinates, AudioParams.Default.WithMaxDistance(5));
if (user.TryGetComponent(out IDamageableComponent? health))
{