-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update scenario Unwanted Visitors #2027
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Shorten description Switch to scenario settings from scenario variations - enemy power - difficulty/murphy's law - control of mission selection Use external generate call sign scenario utility Use external place station scenario utility Added function for handling station placement aspects unique to this scenario: - list initialization - station destruction callbacks - related asteroid fields Use external cpu ship diversification scenario utility Refactor: - Move some set up code to set globals function - Add version information to output terminal console - Simplify function calling from update function - Unified ship template list: template name, ship strength, creation function, short range radar - Simplified default ship spawn placement - Simplified player ship name list - Unified player ship stats list: template name, strength, cargo space, radar ranges, etc. - Simplified player ship set up routine - Unified station size list: station template name, strength - Simplified custom UI elements: - buttons for determining virus status - buttons for showing cargo inventory - buttons for gathering coolant - info banners for gathering coolant - timer/status banner for scanning artifact - virus timer banner - Simplified transport creation and direction - Simplified the creation of nebula that impact player coolant and the related impact routine - Simplified ordnance restock interactions - Simplified mission organization and selection - Simplified character information gathering and providing routine - Simplified optional mission managing - Simplified stellar cartography office clerk description determination - Simplified enemy taunt process - Switched from delta based countdown timers to timers that use getScenarioTime() - Switched from player ship loops that just went through the first 8 to using getActivePlayerShips() to get all of them - Switched from loops with underscore as an index variable to i as an index variable - Simplified intel mission Add translation function to strings where the scenario interacts with the player Explain the celestial body structure to the GM when the orbit change section of GM buttons is activated Add GM buttons to enable/disable server voices Added visual asteroids to asteroid fields and made the asteroid size variation larger Added bearing information to warning message to player from station about to be attacked Fixed occasional error in final statistics screen Added optional missions completed information to final statistics screen Added code to put each station that Relay contacts into the science database with location, services and goods information Added more harassing warp capable Exuari when players are trying to dock with satellite stations based on required reputation to get parts
Tsht
pushed a commit
to Tsht/EmptyEpsilon
that referenced
this pull request
Nov 22, 2023
Shorten description Switch to scenario settings from scenario variations - enemy power - difficulty/murphy's law - control of mission selection Use external generate call sign scenario utility Use external place station scenario utility Added function for handling station placement aspects unique to this scenario: - list initialization - station destruction callbacks - related asteroid fields Use external cpu ship diversification scenario utility Refactor: - Move some set up code to set globals function - Add version information to output terminal console - Simplify function calling from update function - Unified ship template list: template name, ship strength, creation function, short range radar - Simplified default ship spawn placement - Simplified player ship name list - Unified player ship stats list: template name, strength, cargo space, radar ranges, etc. - Simplified player ship set up routine - Unified station size list: station template name, strength - Simplified custom UI elements: - buttons for determining virus status - buttons for showing cargo inventory - buttons for gathering coolant - info banners for gathering coolant - timer/status banner for scanning artifact - virus timer banner - Simplified transport creation and direction - Simplified the creation of nebula that impact player coolant and the related impact routine - Simplified ordnance restock interactions - Simplified mission organization and selection - Simplified character information gathering and providing routine - Simplified optional mission managing - Simplified stellar cartography office clerk description determination - Simplified enemy taunt process - Switched from delta based countdown timers to timers that use getScenarioTime() - Switched from player ship loops that just went through the first 8 to using getActivePlayerShips() to get all of them - Switched from loops with underscore as an index variable to i as an index variable - Simplified intel mission Add translation function to strings where the scenario interacts with the player Explain the celestial body structure to the GM when the orbit change section of GM buttons is activated Add GM buttons to enable/disable server voices Added visual asteroids to asteroid fields and made the asteroid size variation larger Added bearing information to warning message to player from station about to be attacked Fixed occasional error in final statistics screen Added optional missions completed information to final statistics screen Added code to put each station that Relay contacts into the science database with location, services and goods information Added more harassing warp capable Exuari when players are trying to dock with satellite stations based on required reputation to get parts
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background:
Unwanted Visitors is a multiple mission scenario. It's divided up into three larger pieces. All players need to complete the first relatively short mission. After that, there are three larger parts to the overall scenario. The first part consists of four missions. The players can do between zero and four of these based on the selections made by Relay. The second part consists of three missions. The players can perform zero to three of these missions based on the selections made by Relay. Until reaching the third larger part, Relay is given the option to stand down and end the scenario between missions. The last large part requires the players to choose between one of three final missions:
Players that return to Unwanted Visitors later can choose the "Selectable" configuration option to go to the mission they did not get to earlier or repeat one that they failed. There are also a number of optional missions that result in player ship improvement.
Dynamic Celestial Structure:
Many planets, moons, asteroids and stations orbit around in this scenario. Their placement and their names vary each time the scenario is run (hence the reason for the "replayable" mission category). There is a "river" of nebula cutting through the middle of the system hampering navigation. Not everything is in motion, but there's lots of things flying around. Because certain objects (like stations and asteroids) do not have orbit functions built in to them by the Empty Epsilon engine, they are subject to jerky visuals. I understand that this will change with the ECS version of EE. I mention this because some players have complained about the jerky visuals. There's not much I can do about it at this point.
Update Motivation:
My two main goals in returning to this scenario were to add translation functions around strings used by the scenario to interact with the player and to simplify and shorten the code. I reduced the number of lines of code by approximately 3000 and it's now ready for translation. Along the way, I made a bunch of other changes, too. Details follow.
Switched to scenario settings from scenario variations:
Switched to using external scenario utilities:
General code refactoring:
Other Changes:
Shortened scenario description.
Explained the celestial body structure to the GM when the orbit change section of GM buttons is activated.
Added GM buttons to enable/disable server voices.
Added visual asteroids to asteroid fields and made the asteroid size variation larger.
Added bearing information to warning message to player from station about to be attacked.
Added optional missions completed information to final statistics screen.
Added code to put each station that Relay contacts into the science database with location, services and goods information.
Added more harassing warp capable Exuari when players are trying to dock with satellite stations based on required reputation to get parts.
Future Plans:
I set this scenario up to allow for the addition of more missions in the first two larger sections. Depending on feedback, I might add some more mini-missions to the scenario.