Dock to unload passengers logic

Bug #895822 reported by Renegade
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ares
In Progress
Wishlist
Renegade

Bug Description

This logic will allow passenger-carrying units to dock to structures with Grinding=yes, UnitAbsorb=yes, InfantryAbsorb=yes, Passengers=, CanBeOccupied=yes or Cloning=yes set, with one of the following effects:
- Grinding=yes: The passengers of the docking unit will be ground for cash.
- UnitAbsorb=yes, InfantryAbsorb=yes: The passengers of the docking unit will be transferred into the building to trigger its absorption function.
- Passengers=, CanBeOccupied=yes: The passengers of the docking unit will be transferred into the building's passenger/occupant queue to occupy it.
- Cloning=yes: The passengers of the docking unit will be cloned for the owning country, the passengers will be killed in the process.

##### ADDITIONAL INFORMATION #####
In conjunction with other features, particularly the Chrono Prison logic (#bug:680), this will allow for a variety of usage cases:
- Prison: Just give a building a passenger queue (as opposed to an occupant queue), and a Chrono Prison can drop its load there.
- Resource gathering: Players can not only gain cash from Chrono Prisoners, but an entire new "herding" resource system can be crafted - set up a spawning anim or a slave master churning out cows or other livestock, gobble it up with harvester, and unload it for cash.
- Transport gateways: With a tiny additional change to allow pickup of passengers and occupants as well, passengers can be picked up by a unit straight from the building, and dropped off at a different one. This allows not only for airports, but also for APCs driving troopers from bunker to bunker.
- Foreign units: Players can use their Chrono Prison to acquire specific units and drop them into the Cloning Vats to get friendly versions of them. This allows a skilled player to create an army of units he can't even build, as long as he works for it.

Revision history for this message
MRMIdAS (mrmidas) wrote :

Inclined in favour:

could work well for trains, etc, also, outlined usage cases above are excellent, using a transport to allow infantry to garrison a building in a sniper filled city, for example, would be very cool.

Revision history for this message
reaperrr (reaperrr) wrote :

Agreed. Assuming it's possible to reverse the effect (infantry can go directly from the occupied building back into a docked transport), this logic could also be used to savely bring them back afterwards.

Revision history for this message
WoRmINaToR (worminator) wrote :

How will this behave, however if you are dealing with a regular grinding building where both the transport and the infantry inside are grindable? Will it grind both at the same time? Will it grind the passengers first, and then give you the option to send the transport in alone for grinding?

This is definitely a cool idea but it does raise a good amount of logic questions.

Revision history for this message
arielby (ariel-bys) wrote :

My Spec:

I decided to include it in a warhead because warheads are the game's standard way of specifying "unit actions".

[Warhead]>Passengers.Transfer= (integer, default=0)
When positive, when the warhead detonates, a number of passengers equal to this entry's value is transferred into the target from the attacker.

If the warhead's target is empty terrain, the passengers simply appear there.

Otherwise, the Enter Cursor functionality is executed between the passengers and the target as if they had the same house. If the move that would be executed is different then the Enter Cursor, the passenger would be considered ineligible, with the exception of Crazy Ivan-like units (NOTE: Don't know the flags), for whose the building is considered bombed for choosing which cursor to use.

If a passenger is ineligible for transfer, it is skipped and the next passenger tried. If no passenger is transferable, the weapon can't be fired as if it had Versus..ForceFire=false.

NOTE: Using Passengers.Transfer alongside CellSpread>0 is undefined behaviour.
NOTE: Would be nice if using it in Parachuted=yes Weapon would create a Parachuted infantry.
NOTE: Usage with occupied buildings should be defined.

2 More Options (should probably placed in another #680-related request):

[TechnoType]>Units.CanEnter= (boolean, default=true)
If false, units can't enter this techno directly even if they cloud normally for this unit's functionality (not including things like Engineer Repair/Capture, but including Grinder, Passengers, etc.).

[TechnoType]>Deploy.Function= (enum, [auto|deploy|none|unload|transform], default=auto)
This option controls the functionality used by the Deploy button:
    * auto - The default, "As the game does normally".
    * deploy - The G?GI/Desolator deploy logic.
    * none - No deploy logic (unit can't deploy).
    * unload - Unload Passengers.
    * transform - (Un)?DeploysInto.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.