improvement #201

Closed
opened 2026-09-04 19:13:53 +00:00 by metaheavens · 1 comment
Owner

gas bomb should deal 2 times more damage
laser should deal 3 times more damage and should have the same auto aim/aim helper than the normal shot

gas bomb should deal 2 times more damage laser should deal 3 times more damage and should have the same auto aim/aim helper than the normal shot
Author
Owner

Implemented in commit 1cb8fc5 on main.

Gas bomb: double damage
VesselGasBomberComponent.BLAST_DAMAGE 3 -> 6. Every thrower (the fleet controller and a garrisoned bomber) already passed that constant to the effect, so both paths get it.

Laser: triple damage
LaserVesselDefinition.tres base damage 2.0 -> 6.0, with the component's pre-apply_stats() default kept in step. The Focusing Lens upgrade still adds on top.

Laser: the normal shot's aim helper
The beam now resolves its target through VesselWeaponComponent.assisted_point() - the same helper the fire stick uses for ordinary fire, with the same 28 degree cone and 180-unit cursor radius. A drag that ends near an enemy, or merely inside the cone, snaps onto it; the desktop crosshair path (fire_at) goes through the same resolution instead of being the one aim in the game the helper never touched. Resolving it while aiming rather than at the moment of firing means the aim guide draws the line the beam will actually take.

One thing had to change with it: the beam previously took its heading from the FLEET CENTROID and then fired from the hull. With an assist that picks a specific target, that offset walks the beam past the enemy it just chose, by the ship's formation offset. The beam is now aimed from the hull toward the resolved place - the same way ordinary fire has each hull converge on one point - and still runs on to its full range from there.

Verification

  • test_laser_vessel.gd: damage read off the live component; a drag past an enemy inside the assist cone snaps onto it; an enemy outside the cone leaves the aim alone.
  • test_gas_bomber.gd: damage read off the bomb actually in flight.
  • Focused groups: laser 4/4, gas 7/7, aim 3/3.
  • Full suite: 161/161 passed.

No web deployment was performed.

Implemented in commit `1cb8fc5` on `main`. **Gas bomb: double damage** `VesselGasBomberComponent.BLAST_DAMAGE` 3 -> 6. Every thrower (the fleet controller and a garrisoned bomber) already passed that constant to the effect, so both paths get it. **Laser: triple damage** `LaserVesselDefinition.tres` base `damage` 2.0 -> 6.0, with the component's pre-`apply_stats()` default kept in step. The Focusing Lens upgrade still adds on top. **Laser: the normal shot's aim helper** The beam now resolves its target through `VesselWeaponComponent.assisted_point()` - the same helper the fire stick uses for ordinary fire, with the same 28 degree cone and 180-unit cursor radius. A drag that ends near an enemy, or merely inside the cone, snaps onto it; the desktop crosshair path (`fire_at`) goes through the same resolution instead of being the one aim in the game the helper never touched. Resolving it while aiming rather than at the moment of firing means the aim guide draws the line the beam will actually take. One thing had to change with it: the beam previously took its heading from the FLEET CENTROID and then fired from the hull. With an assist that picks a specific target, that offset walks the beam past the enemy it just chose, by the ship's formation offset. The beam is now aimed from the hull toward the resolved place - the same way ordinary fire has each hull converge on one point - and still runs on to its full range from there. **Verification** - `test_laser_vessel.gd`: damage read off the live component; a drag past an enemy inside the assist cone snaps onto it; an enemy outside the cone leaves the aim alone. - `test_gas_bomber.gd`: damage read off the bomb actually in flight. - Focused groups: `laser` 4/4, `gas` 7/7, `aim` 3/3. - Full suite: **161/161 passed**. No web deployment was performed.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
metaheavens/spaceship#201
No description provided.