Implement a rocket launcher #76

Closed
opened 2021-09-27 19:39:54 +02:00 by unfa · 3 comments

We need an explosive weapon and that'd be both very fun and helpful to develop the weapon system.

We need an explosive weapon and that'd be both very fun and helpful to develop the weapon system.
gilgamesh added the
enhancement
label 2021-12-14 16:13:26 +01:00
unfa added this to the 0.1.2 milestone 2021-12-29 13:41:27 +01:00
Poster
Owner

The explosion effect is already done - Assets/Effects/ImpactExplosion.tscn.

What's left is:

  • making a simple animated weapon model - it's best to start off with Handgun mode las template (it also has the hand)
  • making a projectile model
  • making projecile scene with a smoke trail (could probably use the exact same particle system as a "Tracer" from the explosion VFX scene. At least for starters
  • implementing explosive damage with push force applied to surrounding objects*
  • implementing weapon switching**
  • explode() function should be added in Weapon.gd - explosion should have a spherical area around it to detect collision with objects. For every object in range a raycast shou;ld be done to determine of any solid obstacles are blocking the damage. For the ones not protected by walls - damage should be applied with damage and force scaled with distance from the explosion origin. Also - an object that was hit directly should probably recieve additional damage. Push force should be implemented in the deal_damage() function.

** All available weapon scenes should be preloaded into an array. Then player can swithc them using the number keys or mouse wheel. When swithcing. The current weapon scene is replaced with a different one. As node paths/tree structure should stay the same, things should still operate. Later switching animations, delay etc. can be implemented.

The explosion effect is already done - `Assets/Effects/ImpactExplosion.tscn`. What's left is: - making a simple animated weapon model - it's best to start off with Handgun mode las template (it also has the hand) - making a projectile model - making projecile scene with a smoke trail (could probably use the exact same particle system as a "Tracer" from the explosion VFX scene. At least for starters - implementing explosive damage with push force applied to surrounding objects* - implementing weapon switching** * `explode()` function should be added in `Weapon.gd` - explosion should have a spherical area around it to detect collision with objects. For every object in range a raycast shou;ld be done to determine of any solid obstacles are blocking the damage. For the ones not protected by walls - damage should be applied with damage and force scaled with distance from the explosion origin. Also - an object that was hit directly should probably recieve additional damage. Push force should be implemented in the `deal_damage()` function. ** All available weapon scenes should be preloaded into an array. Then player can swithc them using the number keys or mouse wheel. When swithcing. The current weapon scene is replaced with a different one. As node paths/tree structure should stay the same, things should still operate. Later switching animations, delay etc. can be implemented.
nebunez was assigned by unfa 2021-12-29 22:37:26 +01:00
unfa self-assigned this 2021-12-29 22:37:30 +01:00
Poster
Owner

I've created a branch for this called feature-rocketlauncher.

I've created a branch for this called `feature-rocketlauncher`.
Poster
Owner

Done!

Done!
unfa closed this issue 2022-01-03 15:31:36 +01:00
This repo is archived. You cannot comment on issues.
No Milestone
No project
No Assignees
1 Participants
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: unfa/liblast#76
There is no content yet.