Skip to content

[Feature Request] Squadrons-style energy overcharge mechanics #18

Description

@niStee

Summary

Would it be possible to add hooks that make XWA's existing
energy overcharge mechanics more explicit and rewarding —
adding clear states and payoff bonuses similar to how
SW: Squadrons handles the same concept?

Motivation

XWA already has the core energy triangle — shields can be
overcharged, lasers fully charged, engines pushed for extra
speed. But this happens passively in the background with no
explicit signal or bonus moment when a system actually hits
full charge.

SW: Squadrons made the same concept feel much more active by
adding explicit overcharge states with immediate payoff:

  • Shields full → buffer visibly charges beyond 100%
  • Lasers full → next shots get a temporary damage bonus
  • Engines full → boost explicitly charges up

The ask is less "add new mechanics" and more "make the
existing XWA mechanics legible and rewarding in the
Squadrons way."

What I don't know

I'm not a C++ developer, but I looked at xwa_hook_slam
(slam.cpp, hooks.h, hook_function.h) with the help of an AI
assistant to understand the hook architecture.

From that I can see that craft state is accessible via
XwaObjects → pMobileObject → pCraft, and that weapon rack
energy (WeaponRacks[i].m04) and state flags (IsSlamEnabled)
are readable and writable from hooks.

What I couldn't assess at all:

  • Where shield HP values live in the struct
  • Where projectile damage is calculated (for laser overcharge)
  • Whether boost magnitude is accessible or hardcoded

Proposed behavior (opt-in, off by default)

[EnergyOvercharge]
ShieldOverchargeBonus=0     ; activate bonus behavior when shields are full
LaserOverchargeBonus=0      ; damage bonus when lasers are fully charged
BoostOverchargeBonus=0      ; explicit boost charge when engines are full

What I can offer

I can't implement this myself, but happy to test builds
and give feedback on feel vs. Squadrons.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions