2
0
Fork 0
mirror of https://github.com/GTA-ASM/SanAndreasUnity synced 2025-02-19 22:38:28 +00:00

better weapon api

This commit is contained in:
in0finite 2021-09-07 01:50:28 +02:00
parent 31489a6006
commit 7ceb81166b
4 changed files with 16 additions and 14 deletions

View file

@ -133,7 +133,7 @@ namespace SanAndreasUnity.Behaviours
if (weapon != null)
{
ped.WeaponHolder.SwitchWeapon(weapon.SlotIndex);
WeaponHolder.AddRandomAmmoAmountToWeapon(weapon);
weapon.AddRandomAmmoAmount();
}
}
}

View file

@ -574,6 +574,18 @@ namespace SanAndreasUnity.Behaviours
public float ReloadTime { get; set; } = 0;
public void AddRandomAmmoAmount()
{
if (!NetStatus.IsServer)
return;
Weapon weapon = this;
weapon.AmmoInClip = weapon.AmmoClipSize;
weapon.AmmoOutsideOfClip += weapon.AmmoClipSize * Random.Range( 0, 11 );
weapon.AmmoOutsideOfClip += Random.Range (50, 200);
}
// TODO: this function should be removed, and new one should be created: OnAnimsUpdated
public virtual void UpdateAnimWhileHolding ()

View file

@ -448,21 +448,11 @@ namespace SanAndreasUnity.Behaviours {
// add some ammo
Weapon weapon = this.GetWeaponAtSlot( grp.Key );
AddRandomAmmoAmountToWeapon (weapon);
weapon.AddRandomAmmoAmount();
}
}
public static void AddRandomAmmoAmountToWeapon (Weapon weapon)
{
if (!NetStatus.IsServer)
return;
weapon.AmmoInClip = weapon.AmmoClipSize;
weapon.AmmoOutsideOfClip += weapon.AmmoClipSize * Random.Range( 0, 11 );
weapon.AmmoOutsideOfClip += Random.Range (50, 200);
}
void OnDrawGizmosSelected ()
{

View file

@ -201,7 +201,7 @@ namespace SanAndreasUnity.Commands
var weapon = player.OwnedPed.WeaponHolder.AddWeapon(modelId);
player.OwnedPed.WeaponHolder.SwitchWeapon(weapon.SlotIndex);
WeaponHolder.AddRandomAmmoAmountToWeapon(weapon);
weapon.AddRandomAmmoAmount();
return CommandManager.ProcessCommandResult.Success;
}
@ -240,7 +240,7 @@ namespace SanAndreasUnity.Commands
return pedNotAliveResult;
foreach (var weapon in player.OwnedPed.WeaponHolder.AllWeapons)
WeaponHolder.AddRandomAmmoAmountToWeapon(weapon);
weapon.AddRandomAmmoAmount();
return CommandManager.ProcessCommandResult.Success;
}