Skip to content

Commit

Permalink
fixes stuck chamber
Browse files Browse the repository at this point in the history
- fixes chamber stuck
- BridgeOwner error => warning
  • Loading branch information
devbence committed Apr 12, 2024
1 parent 8dde3c3 commit cdfde71
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,8 @@ public override void InitiateShot(IWeapon weapon, BulletClass ammo, Vector3 shot
{
base.InitiateShot(weapon, ammo, shotPosition, shotDirection, fireportPosition, chamberIndex, overheat);

if (((Weapon)weapon).HasChambers && ((Weapon)weapon).Chambers[0].ContainedItem != null && ((Weapon)weapon).Chambers[0].ContainedItem == ammo && ammo.IsUsed)
((Weapon)weapon).Chambers[0].RemoveItem().OrElse(elseValue: false);
//if (((Weapon)weapon).HasChambers && ((Weapon)weapon).Chambers[0].ContainedItem != null && ((Weapon)weapon).Chambers[0].ContainedItem == ammo && ammo.IsUsed)
// ((Weapon)weapon).Chambers[0].RemoveItem().OrElse(elseValue: false);

EShotType shotType = EShotType.Unknown;
switch (weapon.MalfState.State)
Expand Down
3 changes: 2 additions & 1 deletion Source/Coop/NetworkPacket/Player/ApplyDamagePacket.cs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ public override void Process()
var bridgeOwner = Singleton<GameWorld>.Instance.GetAlivePlayerBridgeByProfileID(ProfileId);
if (bridgeOwner == null)
{
StayInTarkovHelperConstants.Logger.LogError($"{GetType()}:{nameof(Process)}:Unable to find BridgeOwner for {ProfileId}");
// this happens on high latency, when hit try to register to someone who is already dead, reduced severity from error to warning // bullet
StayInTarkovHelperConstants.Logger.LogWarning($"{GetType()}:{nameof(Process)}:Unable to find BridgeOwner for {ProfileId}");
return;
}

Expand Down
10 changes: 5 additions & 5 deletions Source/Coop/NetworkPacket/Player/Weapons/InitiateShotPacket.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ protected override void Process(CoopPlayerClient client)
StayInTarkovHelperConstants.Logger.LogError($"Unable to find Ammo for {firearmControllerClient.Weapon.Name}");
return;
}
ammoToFire.IsUsed = true;
//ammoToFire.IsUsed = true;
switch (ShotType)
{
case EShotType.DryFire:
Expand Down Expand Up @@ -140,7 +140,7 @@ protected override void Process(CoopPlayerClient client)
case EShotType.RegularShot:
firearmControllerClient.InitiateShot(firearmControllerClient.Weapon, ammoToFire, ShotPosition, ShotDirection, FireportPosition, ChamberIndex, Overheat);
firearmControllerClient.PlaySounds(firearmControllerClient.WeaponSoundPlayer, ammoToFire, ShotPosition, ShotDirection, false);
firearmControllerClient.FirearmsAnimator.SetFire(fire: true);
//firearmControllerClient.FirearmsAnimator.SetFire(fire: true);

if (firearmControllerClient.Weapon.IsBoltCatch && firearmControllerClient.Weapon.ChamberAmmoCount == 0 && firearmControllerClient.Weapon.GetCurrentMagazineCount() == 0 && !firearmControllerClient.Weapon.ManualBoltCatch)
{
Expand Down Expand Up @@ -169,10 +169,10 @@ protected override void Process(CoopPlayerClient client)
firearmControllerClient.LightAndSoundShot(ShotPosition, ShotDirection, ammoToFire.AmmoTemplate);
}

if (firearmControllerClient.Weapon.HasChambers && firearmControllerClient.Weapon.Chambers[0].ContainedItem != null)
firearmControllerClient.Weapon.Chambers[0].RemoveItem().OrElse(elseValue: false);
//if (firearmControllerClient.Weapon.HasChambers && firearmControllerClient.Weapon.Chambers[0].ContainedItem != null)
// firearmControllerClient.Weapon.Chambers[0].RemoveItem().OrElse(elseValue: false);

ammoToFire.IsUsed = true;
//ammoToFire.IsUsed = true;

break;
default:
Expand Down

0 comments on commit cdfde71

Please sign in to comment.