All Seeing Satellite


Once again launch satellites into space! Let them be your eyes in the sky. After launching sufficient satellites, unlock the ability to toggle on and off the fog of war, scan new territory, or enter "Satellite Mode".

Content
a month ago
2.0
1.68K
Factorio: Space Age Icon Space Age Mod
Manufacturing Cheats
Owner:
TheEckelmonster
Source:
https://github.com/pje279/all-seeing-...
Homepage:
N/A
License:
MIT
Created:
5 months ago
Latest Version:
0.6.3 (a month ago)
Factorio version:
2.0
Downloaded by:
1.68K users

Once again launch satellites into space! Let them be your eyes in the sky. After launching enough satellites, unlock the ability to toggle on and off the fog of war, scan new territory, or enter "Satellite Mode", if you can maintain satellites in orbit, that is.

What does this mod do?

Adds back Satellites as a craftable item. Unlocked with Rocket Silo research. Presently no changes to the vanilla recipe.

Rocket Silos loaded with a satellite, either manually, or automatically via an inserter (make sure to disable "Automatic requests from space platforms" on the rocket silo) will automatically (about once a second) try to launch into "orbit"; satellites launched to a platform/spaceship will not count towards the count of satellites in orbit around the given planet.

Once the satellite launch threshold has been met for a given planet (default of 3; configurable):

  • Pressing the FoW hotkey ('N' by default; configurable) will enable/disable the fog-of-war (FoW) from the map view based on the surface the player is currently viewing. Has no effect in space.

i.e. if you're viewing Nauvis, it will toggle the FoW for only Nauvis, and so on for each surface

  • Pressing the scanning hotkey ('M' by default; configurable) will place the satellite scanning tool in the cursor
  • Pressing "ctrl + space" (default; configurable) will toggle scanning (Recommend toggling off when not actively scanning for improved performance)
  • Pressing "ctrl + shift + space" (default; configurable) will cancel the current scan and all staged scans
  • Scanning has no effect in space

  • Pressing the "Satellite Mode" hotkey ("comma" by default; configurable) will toggle Satellite Mode for the given player

  • Satellite Mode is not allowed when the player/character is in space

Supports quality satellites!

Satellite duration is 20 minutes by default, but is configurable.

By default quality satellites gain ~30% increased duration per level. Formula is as follows:

satellite_base_quality_factor^(prototypes.quality[quality].level)

Where satellite_base_quality_factor is 1.3 by default (configurable)

Higher quality satellites also have reduced cooldown when scanning.

Planet size/magnitude affects minimum satellite launch threshold

Default is 3 (Nauvis), configurable

formula is:

return_val = launch_threshold_setting * planet_magnitude * planet_magnitude

if (planet_magnitude) < 1 then
  return_val = math.floor(return_val)
else
  return_val = math.ceil(return_val)
end

Works out to as follows for the vanilla planets:

  • Fulgora: magnitude of 0.9 -> 2 satellites
  • Nauvis: magnitude of 1 -> 3 satellites
  • Aquilo: magnitude of 1 -> 3 satellites
  • Gleba: magnitude of 1.1 -> 4 satellites
  • Vulcanus: magnitude of 1.5 -> 7 satellites

Should in theory support additional planets/surfaces.

Please report any issues.


Future plans

  • Improve the scanning algorithm
  • Potential researches for better/longer lasting satellites
    • i.e. thinking standard -> nuclear powered -> fusion powered
    • Each would have a longer life span, faster scanning capabilities, etc.
  • Potentially a chance for satellites to crash into asteroids when in orbit outside of Nauvis (or starting planet equivalent)
    • Would be configurable
    • Really stretching my limits, but debris from said destroyed satellites raining down on the planet a la a crashed rocket in Space Exploration
  • Configurable settings, i.e. things like:
    • Satellite crafting requirements
    • Research requirements
    • Etc..
  • Open to suggestions!

Configurable logging levels

Logging levels are:

  • None
  • Error
  • Warn
  • Debug
  • Info

By default, the logging level is 'None'


Console commands

  • /all_seeing.init
    • Initialize the supporting data structures from scratch, erasing any existing data
  • /all_seeing.reinit
    • Reinitialize the supporting data structures, making a moderate attempt to maintain existing data
  • /all_seeing.print_storage
    • Prints the contents of the supporting data structures
  • /all_seeing.satellites_launched
    • Prints the number of satellites currently launched into orbit for each planet