I think we need more projectile-spawning events that rely on degrees and coordinates, using math in their processes.
The first type goes as follows:
OnActivate | >> | Self | >> | spawnProjectileByArc | >> | θ | r | v | h |
- θ defines the rotation in degrees along the vertical axis.
- r defines the distance from point A to point B on a horizontal axis defined by θ.
- v defines the velocity constant. Not necessarily 0 - 200, but anywhere between 0 and 1.
- Using 0 means that it shoots the projectile in the highest arc possible within the projectile's decay time.
- Using 1 means that it shoots the projectile in the lowest arc to reach the destination in the least time.
- h defines the height offset. Can be positive or negative.
Other variations could include a checkbox to set 0 to obey the projectile decay times, and 1 to ignore it.
The next type is a coordinate-based aiming system. It will automatically use the most efficient arc possible, and if possible, use raycasts beforehand to detect brick obstacles to choose the most efficient arc.
OnActivate | >> | Self | >> | spawnProjectileByCoordinate | >> | x | y | z | d | a |
- x defines the coordinate in x.
- y defines the coordinate in y.
- z defines the coordinate in z.
- d defines a boolean that chooses to obey or disobey the decay times.
- a defines a boolean that chooses to set the projectile to automatically explode when it reaches the coordinate, like an airburst.
Also, maybe throw in a binoculars tool that works like the laser pointer that says coordinates, rotation, distance, and height offset, though it has no visible laser. It should be toggleable to the player's face and view like ironsights through the binoculars.