예제 #1
0
 public override void ServerPerformInteraction(AimApply interaction)
 {
     if (firemodeUsage[currentFiremode] > battery.Watts)
     {
         return;
     }
     base.ServerPerformInteraction(interaction);
     CurrentMagazine.ServerSetAmmoRemains(battery.Watts / firemodeUsage[currentFiremode]);
 }
예제 #2
0
    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;
    }
예제 #3
0
 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]);
 }
예제 #4
0
    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;
    }
예제 #5
0
 public override void OnSpawnServer(SpawnInfo info)
 {
     base.OnSpawnServer(info);
     CurrentMagazine.containedBullets[0] = Projectile;
     CurrentMagazine.ServerSetAmmoRemains(1);
 }