Make RA transport chronoshiftable #20654
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.


Supersedes #11869
In vanilla red alert transport wasn't chronoshiftable, so subsequently it wasn't chronoshiftable in openra as well. We don't know why, it might be a hacky westwood solution or transport was just forgotten or both. All other ships / vehicles are chronoshiftable, and Transport is even iron curtainable. So I don't really see why this exception needs to continue existing.
Then if we are to make transport chronoshiftable we need to decide what to do with the cargo. There are 4 options:
The first option contradicts red alert lore. APC cargo in vanilla RA is cleared out. However in future games (RA2, RA3), cargo is safe. If we were to pick this option we'd also have to make apc keep cargo. It also poses balance issues as you could effectively chrono 13 * (1 + 5 * (1 + 5)) = 403 instead of 13 units.
For the second option: the sequels had one-way chrono, so they didn't have to deal with chronoing back cargo. We could implement this by adding a teleport-back init to all actors stored inside cargo. In a similar way mcv keeps its chrono effect after transforming into a construction yard. Additional question, what should we do with unchronoshiftable cargo?
The third option is lore-friendly. I haven't found anything in red alert that states that chrono only kills infantry. It just so happens that apc can only store infantry, how vehicle cargo is handled isn't clarified.
The last option is lore-friendly and a combination of the other 3 options. It could be implemented by only keeping chronoable cargo and killing the rest. We'd also have to hierarchically scan for cargo (apc's inside transport need their cargo cleared).
For this PR I picked the 3rd solution as its by far the easiest, cleanest and causes the least issues.