-
Notifications
You must be signed in to change notification settings - Fork 4
Home
This mod seeks to break from the beacon-block based systems for broadcasting ship locations with a new UI look and more server-level options. The intent is to loosely mimic detectability by sensors inherent to each grid, modified by specialty blocks. Depending on settings, the signal output of a grid can be the influenced by the current thrust, current power, shield HP, and/or weapon heat.
The server monitors each grid, recalculating their signal output over time, and sends a minimal amount of data to each client in range of a grid for them to draw the symbology locally.
- Lots of stuff for server operators to customize
- Small symbols and offscreen indicators
- Options to deconflict with WC Radar so there isn't extra stuff drawn over objects
- Server options to include factors for weapon heat and shield HP in signal generation
- Server options for custom blocks to increase/decrease signal output or detection ability
- Player options for customization of display
- Players see the broadcast distance of their grid on-screen, no need for a toolbar slot for a beacon
- Optional support for beacons on player-controlled grids (mostly for MES/NPC detection purposes)
- Signals can be combined (server level option/settings) and will bump up the size per combined signal. This allows for masking some fleet maneuvers or deceptions via a group of smaller craft "appearing" to be something larger.
- Server inability to authoritatively set broadcast range is no longer a concern
- Potential interference by players/scripts eliminated
- Projections with beacons turned off may build in a state that caused some beacon scripts to not run will no longer have an impact
- Subgridded items are now accounted for properly
- Some beacon-based scripts ran per-block, multiplying the workload and number of signals shown
- Variance between what different players see based on the different time indexes the legacy script was running on
- Planets in LOS will block signals
Server load is spread over time as grid group updates occur on a randomized time, but no greater than every second. Signals and whatnot are calculated based on the sum of attributes of a mechanical grid group, so subgridded thrusters, power, special blocks, etc are accounted for properly.
Players are evaluated for updates when the last two digits of their identityID matches the current tick, meaning a 100 tick update cycle but with the total player population distributed over time. If a grid is in range of the player, it's added to a temporary list. Once all grids are evaluated, that temporary list is sent to the player.
Once unpacked from the network, those grids are either updated if existing or added to the players internal grid list. Every tick that internal grid list is iterated for drawing symbols. If no updates are received on a particular grid, the symbol will begin to fade and eventually be removed from the internal grid list.
Default Client Settings (for new folks)
VengantMjolnir for the original idea to break from the beacons and mimic WC Radar rendering, code research, and their iconography
Final977 for a few modifier ideas
Synirr for the Nexus integration and general support
Drew720 and <<danimal>> for bouncing ideas