REQUEST - Capacity to code other beam weapon types
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 869
- Forks
- 222
- Avg merge
- 18h 33m
- Merged PRs (30d)
- 1
Description
Beam weapons are hardcoded to have only one effect (energy damage). It'd be nice to have other effects available, such as EMP-like beams that deal damage only to shields, or sustained beams that fire continuously at a target while in range instead of discrete shots on an interval.
Also, non-damage utility beams could allow ships to fill support roles. Tractor beams could tow a disabled ship or slow a target, interdiction beams could temporarily disable a target's warp/jump drives, repair and coolant beams could aid in damage control, or refueling beams could transfer energy between ships. (See also #205 for allowing beams to target friendlies.)
The beam weapon code isn't designed to allow for new damage types or effects. The effect is hardcoded to DT_Energy and beam effects are always instantaneous. To simulate a sustained effect, beams have to be set to very fast fire rates (an effect that doesn't look good on screen or work smoothly on clients).
I'm not sure of the best way to implement this. I added a beam_type parameter and used it to implement a tractor beam using similar physics as the black hole, but the result is too rough for use.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the beam weapon code and reviewing the linked beam_type and tractor-beam commits. Define the supported beam effects, including their targeting and duration behavior, then verify that each requested effect works smoothly for clients and does not depend on excessively fast firing intervals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100