Builder and Transport cannot co-exist in Spring.
Moderator: Moderators
Builder and Transport cannot co-exist in Spring.
I wanted to have a tech 1 construction aircraft that could also pick up units and build. However it seems transport capable is dominate and removes all building features such as reclaim. Than When you remove transport abilities its able to build, can these two not exist inside the same unit?
Re: Builder and Transport cannot co-exist in Spring.
unfortunately transport and builder behaviours are currently exclusive with each other.
Re: Builder and Transport cannot co-exist in Spring.
What would it take to make both together possible?
Re: Builder and Transport cannot co-exist in Spring.
there'd be a lot of design decisions involved, I can't even make a guesstimate.
Re: Builder and Transport cannot co-exist in Spring.
IMO you'd want to refactor the entire unit type thing to consist of composable components instead of a fixed inheritance hierarchy. (composition instead of inheritance)
I.e. instead of having a CTransport and CBuilder that derive from CUnit, thereby making it impossible for a unit to have both transport and builder behaviour, CUnit could have some kind of container in which you can drop stuff that adds some new features. One of the hard things is how to deal with conflicting behaviours etc.
Either way, lots of work, and I don't dare give a guestimate either
I.e. instead of having a CTransport and CBuilder that derive from CUnit, thereby making it impossible for a unit to have both transport and builder behaviour, CUnit could have some kind of container in which you can drop stuff that adds some new features. One of the hard things is how to deal with conflicting behaviours etc.
Either way, lots of work, and I don't dare give a guestimate either

Re: Builder and Transport cannot co-exist in Spring.
There's a few things that spring to mind (pardon the pun) on how to make a workaround if you really need it for your game design.
Re: Builder and Transport cannot co-exist in Spring.
It's kinda sad that I understood exactly what you meant when you finished the first sentence, and then I went on to read basically the same thing for the rest of the post.Tobi wrote:IMO you'd want to refactor the entire unit type thing to consist of composable components instead of a fixed inheritance hierarchy. (composition instead of inheritance)
I.e. instead of having a CTransport and CBuilder that derive from CUnit, thereby making it impossible for a unit to have both transport and builder behaviour, CUnit could have some kind of container in which you can drop stuff that adds some new features. One of the hard things is how to deal with conflicting behaviours etc.
Either way, lots of work, and I don't dare give a guestimate either

Thank you for the explanation.
Re: Builder and Transport cannot co-exist in Spring.
Lua. Transport behavior if they aren't being attached (i.e., hidden) is pretty easy to duplicate.
On the converse, doing building via Lua that didn't seem clunky and used an identical interface would be quite a challenge, but is also doable- command buttons that resulted in building operations is possible, the hard part's the gradual resource drain, keeping the builder within X distance while completing it, etc.
On the converse, doing building via Lua that didn't seem clunky and used an identical interface would be quite a challenge, but is also doable- command buttons that resulted in building operations is possible, the hard part's the gradual resource drain, keeping the builder within X distance while completing it, etc.
Re: Builder and Transport cannot co-exist in Spring.
This. I mean, it's really kind of sad the way things are currently setup...Tobi wrote:I.e. instead of having a CTransport and CBuilder that derive from CUnit, thereby making it impossible for a unit to have both transport and builder behaviour, CUnit could have some kind of container in which you can drop stuff that adds some new features. One of the hard things is how to deal with conflicting behaviours etc.
Re: Builder and Transport cannot co-exist in Spring.
So anyone brave enough to make like a lua script that locks a unit inside another units piece? Could be as simple as radius to pick up and teleport a unit, and fly that unit and teleport it back to the ground?