The idea of an entity that can transport another entity is not new. For example, in a war game you could imagine an ‘APC’ style unit picking up and transporting an ‘Infantry’ type unit quicker than the ‘Infantry’ could move on their own. Obviously this opens up a large number of tactical options and adds a certain dynamic feel to a game, the idea that all of your teams entities are working together more seamlessly.
Therefore, we have not implemented transport to the game! In its current form, either the transporting or transported entity moves on top of the respective entity and can either ‘Load’ or ‘Pick Up’. Once a transported entity has another entity stored, it get a new option of ‘Unload’, which unsurprisingly drops the stored entity off in the transporting entities position. Of course, the transporting entity has presumably moved first and it could be many turns before unloading.
The current transport config options are as follows:
{
"CanBeCarried": true, # Default false
"CarryingAllowedSelector": SelectorConfig,
"AbilityConfig": SpecificAbilityConfig,
"EntitiesDroppedTurnEnded": false, # Default false
"CarryMovementOverride": 2
"EntityTagCarryMovementOverride": { "Infantry": 3 },
"EntityTypeCarryMovementOverride": { "Mech": 2 },
"DropOnDestroyed": true # Default false,
"CanTransportEnemies": false # Default false
"EntityCarryCount": 1, # Default 1
}
CanBeCarried, CarryingAllowedSelector – Tells the entities what they can transport and if they are allowed to be transported.
AbilityConfig – The standard config which details how many times the ability can be used per turn.
EntitiesDroppedTurnEnded – When the entity is dropped off, will it have its turn ended or the same state as if it was loaded this turn. i.e if its a new turn then the entity would be fresh with all its actions. If it had already used some actions and then got transported in the same turn, will it be able to use its remaining actions or have its turn ended.
CarryMovementOverride, EntityTagCarryMovementOverride, EntityTypeCarryMovementOverride – Defines if the transporting entity’s movement is effected by what its carrying. I like the idea that if its carrying something big then it would move slower. Also opens up the possibilities of moving quicker if things synergize or using the transport system for loading in boosts of other sort.
DropOnDestroyed – If the transporting entity is destroyed, defines if the transporting entities are also destroyed.
CanTransportEnemies – Experimental currently. Defines if the transport can pick up enemies. Maybe with a pop out mechanism so that the enemy entities can break free say at the end of the turn.
EntityCarryCount – Defines how many entities can be transported at once.
The configuration is currently fairly experimental and not set in stone. There are lots of possibilities for this kind of action and many subtleties. For example, there is currently no reason that recursive transport cant be done or different effects based on the synergy with the transporting and transported entities! I am certain that there will be updates to follow as this ability gets tested and morphs.