* Rebalance HoS's Energy Shotgun * SLIGHTLY Up the max charge so the gun properly recharges all of its charges, which matters a lot more with the self charge cooldown system. * Prevent recharge cooldown if 0 power is used. * Makes the clientside HUD actually update to reflect the changes in firecost and thus max/current charges. * Properly fix that recharging to just under full issue instead of applying a budget fix to only the eshotgun. * Clean up the client ammo UI fix. * Update the self recharger component to comply with maintainer request. Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Remove code that was made redundant by a hotfix from another PR. * Make the recharge pause on EMP, document things where needed, clean up code as per maintainer request, add a note to make the code better when power is moved to shared. * Fix another internal issue * Code cleanup + fix the rapid recharge verb to remove pause. * cleanup --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace Content.Server.Power.Components
|
|
{
|
|
/// <summary>
|
|
/// Self-recharging battery.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class BatterySelfRechargerComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// Does the entity auto recharge?
|
|
/// </summary>
|
|
[DataField] public bool AutoRecharge;
|
|
|
|
/// <summary>
|
|
/// At what rate does the entity automatically recharge?
|
|
/// </summary>
|
|
[DataField] public float AutoRechargeRate;
|
|
|
|
/// <summary>
|
|
/// Should this entity stop automatically recharging if a charge is used?
|
|
/// </summary>
|
|
[DataField] public bool AutoRechargePause = false;
|
|
|
|
/// <summary>
|
|
/// How long should the entity stop automatically recharging if a charge is used?
|
|
/// </summary>
|
|
[DataField] public float AutoRechargePauseTime = 0f;
|
|
|
|
/// <summary>
|
|
/// Do not auto recharge if this timestamp has yet to happen, set for the auto recharge pause system.
|
|
/// </summary>
|
|
[DataField] public TimeSpan NextAutoRecharge = TimeSpan.FromSeconds(0f);
|
|
}
|
|
}
|