ACTIVE ITEMS: - 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? ------------------------------------------------------------------------------------------------------------------------ BACKLOG: - Lots of localizations! - Add rich text map location links for new spawns (print to chat) - Test multiple enemy forces to provide a way to scale evolution locally - Custom tips and tricks?? - List all TODOs in code here. - Add refresh chunks around spidertrons based on their vision - Convert regrowth to a proper mod - Refresh players in admin controls when dropdown is clicked - Think through player flow for Space Age for creating new unique spawns on other surfaces and respawning: - Create a function to create secondary uniqueSpawns for the same player - Move "buddy" info to unique_spawns as well. - Default to selecting SELF in admin controls player dropdown? - In spawn controls, add a note if spawn is full (and maybe disable the shared spawn checkbox?) - TEST resizing spawn areas and moat sizes! - If dead when resetting spawn... possibly delay the opening of the welcome GUI or block spawning until character is spawned? ------------------------------------------------------------------------------------------------------------------------ Other Ideas, Not Committed: - 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 - 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) - Allow players to restart at anytime via GUI button (configurable setting by admin) - Change regrowth to be list of surfaces indexed by surface name? - 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? - Add a show current respawn location button/feature - 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 ? ------------------------------------------------------SPACE AGE--------------------------------------------------------- - Map Settings changes? - Pollution changes (regrowth)? - Enemy changes? - Rocket silo locations per player? (Only allowed to build 1)? - Surface names for space ships? - Spawner health tied to evolution? - Respawn position is surface specific? Each surface needs a separate respawn point? Default respawn behavior? --------------------------------------------------------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!)