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

TODO: Cargo Ordering Console and Shuttle System B: 290 #1730

Closed
DooblyNoobly opened this issue Apr 12, 2019 · 6 comments

Comments

@DooblyNoobly
Copy link
Member

commented Apr 12, 2019

Criteria

This job is to develop the Cargo Ordering Console GUI, the Cargo Ordering Computer Machine Prefab and to control the functionality of the Cargo Shuttle. When a player clicks on the Cargo Ordering Console the Ordering Console GUI should appear as a pop up NetTab (see how it is handled via GUI_Paper).

You will need to first create an Ordering Console Machine and map it in the Cargo Department on OutpostStation (you might want to request a PR merge of the mapping adding as soon as you map it to avoid conflicts later on when you PR the rest of the features).

Then from there create the scripts to handle interaction with the console to display the NetTab GUI (check APC's for an example). The GUI should have these features:

  • Show Shuttle Status (Docked at Centcom, Docked at Cargobay, OnRoute to Centcom, OnRoute to CargoBay)
  • Show amount of available credits that Cargo can use to purchase more supplies
  • A visual cart list of pending orders
  • A Request list of available supplies that can be ordered and their cost in credits
  • A button next to each available supply to purchase the supply (if there is available credits)
  • A button to send the shuttle away or to send the shuttle back to CargoBay

Once you have completed the GUI and hooked up the buttons to fire the actions on the server (like sending the shuttle away) you will then need to control the shuttle itself. The cargo shuttle is on its own matrix and should have a MatrixMove component attached to it (if not then add one).

You will need to complete these features for the Cargo Shuttle Functionality:

  • When cargo presses the button, send the shuttle away to Centcom (At the moment just send it a long ways out into space to an
    arbitrary spot). Look at how the Emergency Shuttle uses waypoints to create this feature
  • Once it arrives count the amount of Crates on the shuttle and award credits to the Cargo Ordering System
  • PoolManager.Destroy any crates onboard. Also don't forget to unregister the crates from the matrix using RegisterTile.Unregister method before destroying them
  • Fill the shuttle with the ordered supplies by spawning crates and then placing the items on top of the crates and call the close method on the crate (this will put the items into the crates storage). If you are stuck on how to spawn new items please speak to chairbender on discord
  • When cargo presses the button to return the shuttle then fly the shuttle back and update its status on the cargo console. Again, see the emergency shuttle on how to achieve this.

Attached reference of the current cargo ordering console on TGStation:

image

Contributor will receive a bounty of 290usd on a successful merge of a solution that satisfies the criteria above.

@DooblyNoobly DooblyNoobly added this to To do in Shuttles Project -> 0.4.0 via automation Apr 12, 2019

@DooblyNoobly DooblyNoobly added this to To do in Computer Consoles Project -> 0.4.0 via automation Apr 12, 2019

@DooblyNoobly DooblyNoobly added this to To do in Bounties via automation Apr 12, 2019

@fomalsd fomalsd added this to To do in Cargo Job Role Project -> 0.4.0 via automation Apr 24, 2019

@Aranclanos

This comment has been minimized.

Copy link
Member

commented Apr 26, 2019

Gonna start with this one

@fomalsd

This comment has been minimized.

Copy link
Contributor

commented Apr 26, 2019

@vlandemart aren't you on this already? you showed us some sketches in discord a few days ago, is there any progress?

@vlandemart

This comment has been minimized.

Copy link
Contributor

commented Apr 26, 2019

I was going to, but only sketched a few variants of the UI and looked into NetTab code. I was planning on starting it after LDjam, but if you want to start this right now - it's ok, I'll look into something else.

@Aranclanos

This comment has been minimized.

Copy link
Member

commented Apr 29, 2019

vland is doing it

@Aranclanos Aranclanos moved this from To do to In progress in Bounties May 16, 2019

@DooblyNoobly

This comment has been minimized.

Copy link
Member Author

commented May 25, 2019

Would be good to get this one finished before the end of this month. I'm increasing bounty by 30usd as it is a top priority

@DooblyNoobly DooblyNoobly changed the title TODO: Cargo Ordering Console and Shuttle System B: 260 TODO: Cargo Ordering Console and Shuttle System B: 290 May 25, 2019

@DooblyNoobly

This comment has been minimized.

Copy link
Member Author

commented May 25, 2019

Also multi page support for nettabs has been merged

@vlandemart vlandemart referenced this issue May 27, 2019

Merged

#1730 cargo console #1897

7 of 7 tasks complete

Bounties automation moved this from In progress to Done May 29, 2019

Shuttles Project -> 0.4.0 automation moved this from To do to Done May 29, 2019

Cargo Job Role Project -> 0.4.0 automation moved this from To do to Done May 29, 2019

Computer Consoles Project -> 0.4.0 automation moved this from To do to Done May 29, 2019

fomalsd added a commit that referenced this issue May 29, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.