Comments (4)
Third approach: create a new root node bay
. We'd keep category "bay type"
to define which ships can be carried. We'd then have these named bay
nodes that specify which ships from the "bay type" category they include. When defining a bay hardpoint on a ship, the type of bay that it is would use the named bay types instead of the category of ship that the bay holds. To make things easy, we could just have "Fighter" and "Drone" bay types where "Fighter" bay types can carry both fighters and drones so that we don't need to change any ship definitions to account for this new behavior.
# The categories of ship that can be carried in bays.
category "bay type"
"Drone"
"Fighter"
# Fighter bays carry both fighters and drones.
bay "Fighter"
"Fighter"
"Drone"
# Drone bays carry only drones.
bay "Drone"
"Drone"
# This "Fighter" bay refers to the "Fighter" bay node instead of the "Fighter" category.
ship ...
bay "Fighter" x y
For the sake of compatibility with plugins that may have added new "bay type" category entries, we'd need to also fall back onto looking for a category instead of a bay node if no bay node is found.
# Imagine a plugin added a new bomber bay type.
category "bay type"
"Drone"
"Fighter"
"Bomber"
# Since vanilla doesn't have a "Bomber" bay node, this would fail if we didn't
# fall back onto looking at the "bay type" category if no bay node with this name
# exists.
ship ...
bay "Bomber" x y
This maintains the customization options of the first approach while maintaining backwards compatibility with save files and plugins like the alternative approach.
from endless-sky.
Definitely a nice addition!
from endless-sky.
Maybe, change the name of the bays to something like Landing Bays or Docking Bays. I think it makes more sense if the bays are to become universal. Will it make it easier to use with the UI?
EDIT: forget this comment, the 3rd approach sounds great.
from endless-sky.
Third approach: create a new root node
bay
. [...]
I really like this idea. We should make sure that these bay
nodes can be expanded, so plugins can add new ship types to existing bays without having to redefine the entire node (which would not work if multiple plugins wanted to add new entries to the same bay).
from endless-sky.
Related Issues (20)
- Idea: Standardise the leave/done/depart text and hotkeys HOT 10
- Allow Mission Escorts to Attack Tribute Fleets
- [Bug] Reduced image quality in Water4 caused by #9459 HOT 3
- In the new Quarg conversation, there is a broken dialog chain HOT 1
- Replacing Fighters on the Fly
- Mission pointers on map should be per mission not per planet?
- In Remnant Cognizance 29, the mission can fail to update if you leave your fleet in a different system. HOT 3
- Adjust minimap UI to make it easier to differentiate between objects HOT 3
- bad time format string in saved game tooltip HOT 4
- [Mechanic] Weapon Warmups / Charge Times HOT 4
- Selecting minables by value may prefer less valuable targets over very valuable ones needing high prospecting
- Request: Automatically unpark a ship if it is moved to position 1 in the fleet list HOT 2
- [Balance] Afterburners as Engine Multipliers HOT 7
- Request: Add an outfit that adds gun and turret ports HOT 12
- Don't display the "you have missions that require landing on [planet]" notice for bounty hunter missions HOT 8
- Bounty hunter missions are not removed from your mission list as soon as the mission is completed (only after landing) HOT 7
- When auto-selecting which ship to board, the order of these ships should be (Marauder) Quicksilver > Bounder > Arrow HOT 3
- I don't feel part of pull request #9399 is a bug HOT 5
- Request: add the ability to click-and-drag to reposition multiple selected ships at once in outfitter and shipyard HOT 2
- Add an empty state to the Messages panel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from endless-sky.