remember if you want stack two instructions (like go & upload) on the second action, you've use shift+enter, not enter.
I say this, because you'r post about the boat commands; you with any transport unit can do that. Before use upload / download, first you have to move (or give the move instruction) the unit to destination point before, and mark the order with the stack modifier.
So, sound invalid command when you press unload not in the final square, is absolute correct.
and about your idea of use amunition, or cost for the attacks, o no, please no.
This is a RTS game, like SC or WC; don't add these types of mechanism; only contribute to move out the game from it's genre.
About the code, do you updated the github code with C versions updates? And whitch problem do you have in the past with contributions? they wasted your code before? or you have a lot of plans and a complete roadmap, so pull request can disturbe your plans?
Is interesting read that, because the game is open source, but... semy open, only for the people can read the code, modify that and learn from it, but can't contribute to you to make grow the game.
So, will be really interestin read some more about your posture about that; only from curious, and of course, see the point of view from one of the best (is my opinion) developers that this comunnity have.
I can ear so repeated, but you're the only dev that have more than 11 years developing a great game engine.
Thanks so far!