-
Notifications
You must be signed in to change notification settings - Fork 9
Projectile Guidance Systems
Guidance, has Several Modes, and is deeply connected to several different factors, to operate.
Guidance = None, // Options; Smart , None, TravelTo, DetectFixed, DetectSmart ,DetectTravelTo // Smart, enables Tracking Definition area settings, allowing tracking of target(s), becomes Valid for Anti-Smart Fields, and targeting parameters detecting "Smart" projectiles. // None, disables Smart Definition Settings. Projectile, Beam, or similar, is considered "Dumb" by targeters. // TravelTo , Enables Smart Definition Settings, locks onto last known Coordinate of given Target, adjusting to strike that position // DetectFixed, is used by Mines, for their blast trigger. // DetectSmart, is smart-tracking enabled once the Mine is triggered. // DetectTravelTo, is used by Mines, to travel to detected coordinates, once the mine is triggered.
This Disables the Tracking of the Projectile.
Gravity-Enabled Projectiles, should not use Tracking.
Tracking Projectiles have an estimated 2x cost per projectile, compared to Non-Tracking.
This is the Standard Tracking Mode.
This adjusts, to follow & better hit, the locked-on grid, this Lock can be supplied by either the Hardpoint (Turret), Parent-Grid, or from Self-targeting.
OverideTarget = false, // when set to true ammo picks its own target, does not use hardpoint's.
This line, enables the Self-Targeting, it is located inside the Smarts-Area.
Fixed-Mount (Non-Turret) Weapons, rely on Parent-Grid Locks (The target selection, via scroll-wheel),
LockOnFocus = false, // System targets your Grid's locked-on target, Used by both Turrets & other weapons.
This line, is found in the Weapons-CS, and can be used to cause automatic-firing, if paired with self-targeting, or Parent-Grid Targeting, when Enabled.
This mode, is used for range-adjusted projectiles, that limits projectile range to the distance to the locked-on target when fired.
These ensure it detonates at that distance, dynamically, making them quite useful for Flak-Weapons.
Intended for Turrets, which feed the Target data, Unexpected results may occur on Non-Turret weaponry.
This is the Basic Mine-Detection System.
Once the mine is deployed, to the targeted area, it will become active, from that position.
Mines Reference the Mine Table for most of their features, such as Trigger range.
This is the Tracking Mine-Detection System.
Once the mine is deployed, to the targeted area, it will become active, from that position, from which if triggered, it will lock on, and attempt to move to intercept the triggering grid.
Mines Reference the Mine Table for most of their features, such as Trigger range.
This is the Basic Mine-Detection System, with it traveling to the targeted grid's last coordinates when triggered.
Once the mine is deployed, to the targeted area, it will become active.
Mines Reference the Mine Table for most of their features, such as Trigger range.
TargetLossDegree = 180f,
TargetLossTime = 0, // 0 is disabled, Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..)
This is used, to create a Blind-spot, allowing the Projectile to lose its lock-on.
TargetLossDegree is the Cone of "vision" for the projectile, and is frontal-mounted.
TargetLossTime, is the time in ticks (60 per second), that it takes, for an Target outside of the Cone, to be lost; Each time, a target is lost, the Projectile will lose 1 target, if the Projectile has a MaxTargets above 1, this TargetLoss May need to occur several times.
MaxTargets, is found in the Smarts Area
AccelPerSec = 100f,
MaxLateralThrust = 0.5f, // controls how sharp the trajectile may turn
Projectile Acceleration is important, to Tracking Projectiles; It is used, to adjust the projectiles' path.
MaxLateralThrust is a % of the Accel value, it only accepts up to 0.5 , or 50%, above this value, it glitches.
In the current example, at 0.5f, the Projectile can turn or adjust, at 50m\s speeds.
This is affected, by Aggressiveness, which controls response-time, as that controls when Adjustments are made.
AccelPerSec is found in the Trajectory Area, while MaxLateralThrust is found in Smarts Area.
If your AccelPerSec, is 0, Tracking will behave improperly.
Aggressiveness = 3f, // controls how responsive tracking is.
Aggressiveness, or Aggression , Controls the adjustment rate, and delay between adjustments, of the Tracking projectile.
It accepts values up to a max of 3.
- A value of 3, will be incredibly responsive, react near instantly to target movement, and adjust as quickly as Accel & MaxLaterialThrust Allows.
- A Value of 2, will respond quickly, to target movement, with a minor delay if any, to any adjustment.
- A value of 1, will be delayed in response to target movement, with a delay in adjustment.
- Values below 1 but greater than 0, will have increasing delay.
In the Previous example, the Projectile had a MaxLateralThrust of 0.5f, with Accel of 100, the Projectile can turn or adjust, at 50m\s speeds; These three are connected, to each other in effectiveness.
AccelPerSec is found in the Trajectory Area, while MaxLateralThrust is found in Smarts Area.
If your AccelPerSec, is 0, Tracking will behave improperly.
Inaccuracy (Found in Smarts Area), also affects Aggression, by manner of adding an element of imprecision to adjustments.
Inaccuracy = 10f, // 0 is perfect, hit accuracy will be a random num of meters between 0 and this value.
TrackingDelay = 200, // Measured in Shape diameter units traveled.
These Lines, Located in Smarts, are used to create inaccuracy & delays in the projectile without slowing down the projectile, or reducing response-times; This is achieved, by the "Inaccuracy" value creating an Randomly-Generated number between your given value & 0, in meters, while TrackingDelay, freezes tracking until it expires.
TrackingDelay is unusual, due to using "Shape" units instead of meters; This makes it incredibly variable between projectiles, Your Shape size if SphereShape grows in response to DesiredSpeed.
Shape = new ShapeDef //defines the collision shape of projectile, defaults line and visual Line Length if set to 0 { Shape = LineShape, Diameter = 1, },
This section is the typical Line, with a diameter of 1, due to this unusual system, you will typically need to test your wanted distances.
Inaccuracy, is in Meters, and is used in the creation of an Random-number between your value & 0, that is applied to the lock's expected position, to create inaccuracy, without affecting response times, acceleration or similar.
TrackingDelay is excellent in preventing unintended projectile movement during the trip from barrel', or to soft-enforce a Min-firing range (Best paired, with min-distance arming triggers).
MaxChaseTime = 2400, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
Chase Time, is the duration that tracking is active on the projectile, this is used to limit the tracking ability at range, commonly.
TrackingDelay, does not seem to cut into MaxChaseTime.
MaxChaseTime is in Ticks, so 60 per Second; Keep in mind, your MaxLifeTime Value, for your Projectile.
MaxChaseTime does not reset, on target loss, or re-targeting.
If you have suggestions or implementations, please raise them in the Discord! Thank you!
Please donate to DarkStar's Patreon!
WeaponCore Quick Links
Weapon Properties (Page in Progress)
Multi-Turret Creation (Page in Progress)
Weapon - Targeting & Hardpoint
Weapon - Critical Reactions/Warheads
Weapon - Minimal Configurations
Ammo - Electronic Warfare System (EWAR)
Ammo - Guidance System (Homing, Mines, Self-Guided)
Armor System (Page in Progress)