Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch adds a
pelletsPerShot
parameter to weapons, where all pellets are fired at the same simulation step and each pellet doesdamagePerSecond
*firePeriod
damage to each target it hits. This is to emulate "shotgun-style" weapons which still have a large cooldown but fire multiple pellets in every shot. This change should work for both hit scanned and propagated projectiles.Due to the nature of the changes in this branch (iterating in the
Weapon::fire()
routine) we should be careful it doesn't have performance impacts for large target/projectile counts and document where it does. The current implementation does run a nested loop that is # of pellets * # of targets total iterations.