Skip to content
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

Basic Shuttle Purchasing/Selling system #61

Closed
wants to merge 19 commits into from

Conversation

Cheackraze
Copy link
Contributor

About the PR

This is the first step towards implementing #6. On roundstart, the first station to init will also init a 'shipyard' map that is paused. This map handles loading or pausing vessels/grids before they are added/removed from play. The function to auto-dock a ship requires it to be loaded in order for it to get it's docks and aabb.

As of now, there are 2 commands that an admin can run in the console to run basic functions and for later use in a UI wrapper function:
purchaseshuttle <stationID> <mapPath> loads a grid into the shipyard map, appraises it and for now just prints into the server log the price of the grid according to cargo, then attempts to auto-dock it to the station. If it cannot auto-dock, it will ftl nearby instead. Priority sorting is hardcoded into emergencyshuttle system unfortunately, and we also don't have a concrete implementation of who or where these will be called in to. I can look into emergencyshuttle system and do a different sort after we know what entity is going to be considered the 'nearest' to the dock we want.

sellshuttle <stationID> <gridID> first checks to make sure that the given grid is attached to the given station (no telepathic ship selling for now), then checks to make sure nobody is on the grid, and if it's all clear, it appraises the grid and prints it to the server log, and then deletes the grid.

Media

2022-12-31.19-54-41.mp4

shipyard price

  • I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

@lunar-crater-ex
Copy link
Collaborator

All new systems/commands/components/etc should be in the _Citadel folder, including ShipYardSystem. It should not build off ShuttleSystem if possible and instead you should add public APIs to shuttlesystem/cargosystem upstream if you can.

@Cheackraze Cheackraze marked this pull request as ready for review January 1, 2023 01:41
Copy link
Collaborator

@lunar-crater-ex lunar-crater-ex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Big ol pile of formatting and style issues.

@Cheackraze Cheackraze marked this pull request as draft January 1, 2023 06:04
@Cheackraze
Copy link
Contributor Author

cleaned up the formatting and fixed all of the suggestions. I can do localizations I suppose but where do I even put them.

and what tool can I use to actually search through them because even the existing localization right now is a disaster that I cannot navigate well. If we should do our own separate folder for them, maybe we could sort them better. Unless they are that way for some particular reason.

@Cheackraze
Copy link
Contributor Author

oh I need to make this do not merge until I upstream a few things now

@Cheackraze Cheackraze marked this pull request as ready for review January 1, 2023 06:36
@Cheackraze
Copy link
Contributor Author

using tryload instead but then i incorporated all the checks in loadgrid here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants