public override void ServerPerformInteraction(AimApply interaction) { if (firemodeUsage[currentFiremode] > battery.Watts) { return; } base.ServerPerformInteraction(interaction); CurrentMagazine.ServerSetAmmoRemains(battery.Watts / firemodeUsage[currentFiremode]); }
private IEnumerator StartCooldown() { allowRecharge = false; yield return(WaitFor.Seconds(rechargeTime)); CurrentMagazine.ServerSetAmmoRemains(1); CurrentMagazine.LoadProjectile(CurrentMagazine.Projectile, CurrentMagazine.ProjectilesFired); SoundManager.PlayNetworkedAtPos("ReloadKinetic", gameObject.AssumedWorldPosServer(), sourceObj: serverHolder); allowRecharge = true; }
public override void ServerPerformInteraction(HandActivate interaction) { if (firemodeProjectiles.Count <= 1) { return; } if (currentFiremode == firemodeProjectiles.Count - 1) { UpdateFiremode(currentFiremode, 0); } else { UpdateFiremode(currentFiremode, currentFiremode + 1); } Chat.AddExamineMsgFromServer(interaction.Performer, $"You switch your {gameObject.ExpensiveName()} into {firemodeName[currentFiremode]} mode"); CurrentMagazine.ServerSetAmmoRemains(battery.Watts / firemodeUsage[currentFiremode]); }
private IEnumerator StartCooldown() { allowRecharge = false; yield return(WaitFor.Seconds(rechargeTime)); CurrentMagazine.ServerSetAmmoRemains(1); CurrentMagazine.LoadProjectile(Projectile, 1); if (isSuppressed) { Chat.AddExamineMsgFromServer(serverHolder, $"Your {gameObject.ExpensiveName()} silently recharges"); } else { SoundManager.PlayNetworkedAtPos("ReloadKinetic", gameObject.AssumedWorldPosServer(), sourceObj: serverHolder); } allowRecharge = true; }
public override void OnSpawnServer(SpawnInfo info) { base.OnSpawnServer(info); CurrentMagazine.containedBullets[0] = Projectile; CurrentMagazine.ServerSetAmmoRemains(1); }