mirror of
https://github.com/Oarcinae/FactorioScenarioMultiplayerSpawn.git
synced 2024-12-04 09:43:00 +02:00
163 lines
10 KiB
Plaintext
163 lines
10 KiB
Plaintext
ACTIVE NOTES:
|
|
|
|
|
|
- What happens to multiple unique spawn hosts on "main force" when they go to a new planet?
|
|
- They get unique spawn areas, but they have to coordinate regarding the landing pad, OR they can install a mod to have multiple but it is still up to them to coordinate.
|
|
|
|
- Change permissions to be enabled/disabled when entering/leaving the holding pen (use custom surface changed event?)
|
|
|
|
- Get rid of storage.buddy_pairs ?? Is basically duplicate info inside the spawns right?
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
|
|
BACKLOG:
|
|
|
|
Minor:
|
|
- If dead when resetting spawn... possibly delay the opening of the welcome GUI or block spawning until character is spawned?
|
|
- Expose old enemy scaling as an option? And/or remove unnecessary checks/logs
|
|
- Refresh players in admin controls when dropdown is clicked
|
|
|
|
Performance:
|
|
- User on_nth_tick for any tick % (modulo) operations.
|
|
- SeparateSpawnsGenerateChunk should only search for closest spawn once and pass to sub functions!
|
|
- Rework world eater to use less find_entities_filtered
|
|
|
|
Major:
|
|
- Space Age Support (In Progress)
|
|
|
|
|
|
------------------------------------------------------SPACE AGE---------------------------------------------------------
|
|
|
|
- Map Settings changes?
|
|
- Pollution changes (regrowth)?
|
|
- Enemy changes?
|
|
- Landing pad locations per FORCE limited to 1?
|
|
- Spawner health tied to evolution?
|
|
|
|
- Source: https://forums.factorio.com/115737
|
|
- Specifics that I might need to investigate:
|
|
Added LuaPlayer::land_on_planet() method.
|
|
Added LuaPlayer::enter_space_platform() and leave_space_platform() method.
|
|
Added cargo-landing-pad prototype.
|
|
Added space-platform-starter-pack, space-location, planet and space-connection prototypes.
|
|
Added surface-property and surface prototypes.
|
|
Added new controller type (remote), which is to build space platforms, so it allows ghost building but not any physical manipulation.
|
|
Added LuaPlayer::physical_surface, physical_surface_index, physical_vehicle and physical_position read.
|
|
LuaGameScript::print, LuaPlayer::print, LuaSurface::print and LuaForce::print no longer accept Color as a second parameter.
|
|
Added LuaSurface::set_property() and get_property() methods.
|
|
Added LuaSurface::execute_lightning() method.
|
|
Added LuaSurface::create_global_electric_network() and destroy_global_electric_network() methods.
|
|
Added LuaSurface::has_global_electric_network read.
|
|
Added LuaSurface::platform read.
|
|
Added LuaSurface::pollutant_type read.
|
|
Added airborne-pollutant prototype and changed various pollution related properties to support multiple pollution types.
|
|
Added LuaForce::set_surface_hidden() and get_surface_hidden() methods.
|
|
Added LuaSurfacePrototype::surface_properties read.
|
|
Added on_player_controller_changed event.
|
|
Added LuaGameScript::technology_notifications_enabled (read/write).
|
|
Added LuaForce::copy_from() and copy_chart() methods.
|
|
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Other Ideas, Not Committed:
|
|
- Look into checking if a force has a chunk visible (for regrowth)
|
|
- Add option to spawn on existing chunks (look for chunks with any entities in them, or use regrowth logic)
|
|
- Add option for spawn pen to be on a specified surface (not sure this serves any real purpose)
|
|
- Change "search for ungenerated spawn point" to be a "roll" button that the player can re-roll? Maybe it shows on the map in an icon where they might go first?
|
|
- Make players join a "holding_pen" force instead of the main force? Might cause issues with chat and vision?
|
|
- Separate chest sharing and electricity ()
|
|
- Consider scrapping any overlapping mod settings from the config. ONLY keep the part that can't easily be done in the mod settings menu... NOT SURE about this.
|
|
- Change enable_shared_team_vision to allow players to change this per player (like BNO)
|
|
- Change enable_friendly_fire to be per team?
|
|
- Allow players to spawn "near" an existing player (by request)
|
|
- Change regrowth to be list of surfaces indexed by surface name?
|
|
- Figure out how to reset player inventory on player reset to avoid extra items? (save and load items?)
|
|
- Work on space ex support?
|
|
- Profile regrowth and try to improve performance ?
|
|
- Possibly adjust easy/medium evo factors on new player joined?
|
|
- Convert regrowth to a proper mod
|
|
- Create shared electricty with a LIMITED output transfer rate using a custom accumulator?
|
|
- Cleanup offline protection (Lots of commented out code)
|
|
- Custom tips and tricks??
|
|
|
|
--------------------------------------------------------DONE------------------------------------------------------------
|
|
|
|
- First setup the mod settings and lua global settings.
|
|
- Test out removing the creation of a custom surface and ensure map settings can be set as needed. Possibly create a separate surface, or just a separate area away from the origin, for starting players.
|
|
- Start copying in the core pieces required for the primary spawning mechanic.
|
|
- Document config and mod settings using Lua annotation as a custom class
|
|
- Document global ocore as a custom class (with subclasses/types as needed)
|
|
- Add multiple surfaces to options/settings [As a single boolean.]
|
|
- Convert scenario to a mod.
|
|
- Add multiple surfaces to Spawn GUI (Drop down selection?)
|
|
- Configurable welcome/server messages in mod settings.
|
|
- Check and update all functions using surfaces to clearly use either the LuaSurface obj OR a string name.
|
|
- Create server settings admin GUI tab
|
|
- Figure out how to define custom lua table/data structs to make syntax/linting work?
|
|
- Setup multiplayer testing using multiple instances and some batch files.
|
|
- Change Near/Far buttons to radio selection w/ text explanation and have a single Spawn button.
|
|
- Refactor the spawn menu GUI (don't destroy the menu unless we need to, refresh only the elements we need to, save data to a global using tags?)
|
|
- Remove separate buddy spawn menu?
|
|
- Remove the shared spawn separate GUI window?
|
|
- Redo DisplayBuddySpawnRequestMenu and DisplayBuddySpawnWaitMenu and move their events to the new event handlers
|
|
- Refresh the spawn controls GUI when player accepts/rejects
|
|
- Redo FindUngeneratedCoordinates to pick a random direction, and use the distance to get a starting point, instead of multiple tries.
|
|
- Fix all GUI styling (buttons outside of content)
|
|
- Force enable_world_eater to require enable_regrowth
|
|
- Add warning for modifying surface settings after gameplay has started
|
|
- Tooltips for GUI elements in spawn menu options!
|
|
- Check all settings to see which CAN'T be changed during runtime. Possibly move these to startup.
|
|
- FIGURE OUT CHUNK NOT IN MAP REGROWTH ISSUE!
|
|
- Add validation for default starting surface name
|
|
- Make server info headings consistent / Add heading for spawn controls (change button?)
|
|
- Confirm regrowth should add new chunks when found (not only on chunk generate?)
|
|
- Make disable main team setting work (hide radio button)
|
|
- Support run time toggling of enable_shared_team_vision
|
|
- Support run time toggling of enable_friendly_fire
|
|
- Watch for chunks being generated to be able to move the player to their spawn as soon as it is done with the last chunk.
|
|
- If this is their first spawn, give them items. Otherwise don't give new items and don't clear items either?
|
|
- Change enable_spawning_on_other_surfaces to a start up setting?
|
|
- Test out space expansion
|
|
- Compare GUI mod button icons to space ex (looks better??)
|
|
- Create surface blacklist setting.
|
|
- Enable/Disable and show information about shared spawn based on shared spawn dropdown interactions.
|
|
- Ensure updates to regrowth surfaces don't cause errors (update indexes)
|
|
- Confirm regrowth does or does not delete chunks with robots in them?
|
|
- Show the surface name in shared spawn join GUI
|
|
- Show the surface name in the share spawn controls tab
|
|
- Add rich text map location in spawn controls tab for current home location
|
|
- Move sharedspawns data under unique spawns
|
|
- "uniqueSpawns" should have a "primary" flag and be indexed by surface FIRST
|
|
- Make respawn locations first be indexed by player, then surface
|
|
- Offline protection re-implement!
|
|
- Resolve regrowth issue with radars and confirm that when we mark chunks for removal, they can be refreshed still. (trace logic!)
|
|
- Move "buddy" info to unique_spawns as well.
|
|
- Fix search vector to use more variable vector'ing, always normalize vector, and then ensure the other reliant functions work still.
|
|
- Add regrowth settings GUI tab? Not sure how the other settings fit in with a dedicated regrowth tab? Need to be able to enable/disable other surfaces during runtime?
|
|
- Test multiple enemy forces to provide a way to scale evolution locally (need to continually set the evo factor back)
|
|
- Change main_force_name to a startup setting! New players in spawn area should stay on default "player" force to avoid mod conflicts on player init?
|
|
- In spawn controls, add a note if spawn is full (and maybe disable the shared spawn checkbox?)
|
|
- Add rich text map location links for new spawns (print to chat)
|
|
- Add in square bases again
|
|
- TEST resizing spawn areas and moat sizes!
|
|
- Create a function to create secondary uniqueSpawns for the same player
|
|
- Expose primary AND secondary spawn info in spawn controls GUI tab
|
|
- Shared items (proper)
|
|
- Shared electricity (proper) (with configurable settings)
|
|
- Add a show current respawn location button (same as show spawn location)
|
|
- Expose some settings for adjusting easy and medium enemy evolution values
|
|
- Add FAQ for enemy modifications
|
|
- Add FAQ for item and energy sharing
|
|
- FIX GetNextPlayerIndex!
|
|
- Lots of localizations!
|
|
- List all TO-DOs in code here.
|
|
- Remove testing surfaces before release!
|
|
- Change default surface selection to be the default surface if multiple are enabled
|
|
- Test and make sure scenario settings overrides get written back to mod settings to avoid any out of sync settings.
|
|
- Test teleporting to other surfaces
|
|
- Test on_player_changed_surface
|
|
- Run the profiler
|
|
- Pull out general spawn config from surfaces config
|
|
- Redo resource placement to be simpler (and make a linear layout for square base)
|
|
- Default to selecting SELF in admin controls player dropdown?
|
|
- Add refresh chunks around spidertrons based on their vision
|
|
- Allow players to restart at anytime via GUI button (configurable setting by admin) |