Rework the HoS's Energy Shotgun (Varying energy consumption depending on fire-mode + re-adds a toned down self recharge.) (#32104)
* 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>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
using System;
|
||||
|
||||
namespace Content.Server.Power.Components
|
||||
{
|
||||
/// <summary>
|
||||
@@ -6,8 +8,29 @@ namespace Content.Server.Power.Components
|
||||
[RegisterComponent]
|
||||
public sealed partial class BatterySelfRechargerComponent : Component
|
||||
{
|
||||
[ViewVariables(VVAccess.ReadWrite)] [DataField("autoRecharge")] public bool AutoRecharge { get; set; }
|
||||
/// <summary>
|
||||
/// Does the entity auto recharge?
|
||||
/// </summary>
|
||||
[DataField] public bool AutoRecharge;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)] [DataField("autoRechargeRate")] public float AutoRechargeRate { get; set; }
|
||||
/// <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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user