Skip to content

Drop pods

Delivers infantry through the GDI Drop Pods superweapon or an infantry-only TeamType.

Features & systemsCombat & weaponsSuperweapons & special systems

The superweapon chooses an inclusive count between DropPodInfantryMinimum and DropPodInfantryMaximum. Each requested passenger is an elite E1 or E2, selected with equal probability.

The placement loop shares one budget of 3 * count attempts across the whole squad. Every attempt consumes the budget, successful or not, so one hard-to-place passenger can use up attempts that other passengers would otherwise receive. The delivered count is lower when the budget runs out before enough legal nearby infantry cells are found.

The other path is a reinforcement team. A TeamType is the INI definition a team is built from, and it names a TaskForce — the roster of object types and counts the team is filled with; TeamTypes and AI triggers in brief introduces both and the sections that declare them. Droppod=yes on the TeamType is what makes the reinforcement arrive by pod instead of on foot.

AI.INI, AIFS.INI, or map file
[TaskForces]
0=MyInfantryTaskForce
[MyInfantryTaskForce] ; example TaskForce
Name=Drop infantry
0=2,E1
1=1,E2
[TeamTypes]
0=MyDropTeam
[MyDropTeam] ; example TeamType
Name=Drop team
TaskForce=MyInfantryTaskForce
Droppod=yes

Every TaskForce member must resolve to an InfantryType. If any member resolves to a vehicle or aircraft type, reinforcement creation uses the configured waypoint or map-edge path instead; it does not drop the infantry subset.

Both entry paths attach a temporary drop-pod locomotor. The passenger’s current locomotor is retained through piggybacking and restored at touchdown.

The horizontal start offset is DropPodHeight / tan(DropPodAngle). The engine checks candidates in this order:

  1. NE at +X;
  2. NW at -X;
  3. SE at +Y; then
  4. SW at -Y as an unconditional fallback.

The first three elevated start coordinates must lie inside the playable area. The SW coordinate is selected when all three checks fail, even when it is also outside that area.

The direction settled here decides four things at once, and the later sections cover three of them in detail. It fixes which way the pod comes in, and so the sign of the horizontal step taken on every frame of the descent. It picks one of the two frames in the hard-coded POD.SHP artwork, which is the pod’s appearance for the whole fall. It picks the entry in DropPod that supplies the landing animation at touchdown. And it fixes the coordinate the AtmosphereEntry animation is created at, which is the elevated start coordinate the pod is placed on.

The table sets the four directions against those choices. What to read off it is that the pod frames repeat — NE and SE share one, NW and SW share the other, so the artwork distinguishes only the axis the pod is falling along — while the landing slots do not repeat, so a four-entry DropPod list gives all four approaches distinct touchdown animations.

DirectionStart offsetHard-coded POD.SHP frameDropPod landing slot with four entriesAtmosphereEntry effect
NE+X00Elevated NE start coordinate
NW-X11Elevated NW start coordinate
SE+Y02Elevated SE start coordinate
SW-Y13Elevated SW start coordinate
rules.ini
[General]
DropPodHeight=1500
DropPodSpeed=40
DropPodAngle=0.785398

DropPodAngle is in radians and is clamped to 22.5 through 67.5 degrees. Per-frame speed is the greater of DropPodSpeed and height above ground / 10 + 2. The horizontal component is cos(DropPodAngle) * speed; descent is sin(DropPodAngle) * speed.

The hard-coded POD.SHP frame in the table is used while the passenger is airborne. When the first elevated placement succeeds, the engine also creates the configured AtmosphereEntry animation at that coordinate. A failed first placement is repeated without creating this effect.

The DropPodWeapon branch controls both airborne effects:

  • Every six frames, it creates the hard-coded SMOKEY animation at the pod’s trail position.
  • Every three frames, it reads whatever vehicle, infantryman, aircraft or structure stands in the destination cell. An empty cell and an object not allied to the passenger’s house both pass the fire test, so a destination nobody is standing on receives covering fire all the same.
  • The impact coordinate is scattered within radius 85 of the destination. The passenger is the source of raw 2 * Damage applied with the weapon’s warhead. The weapon report plays, and the matching clear-land combat animation is created at the impact coordinate.

This path applies area damage directly. It does not create the weapon’s projectile or consult its range or rate of fire. A null DropPodWeapon skips the entire branch, including SMOKEY.

At ground contact, the passenger enters limbo, the previous locomotor replaces the piggyback locomotor, and the engine attempts to place the passenger at the current ground-contact coordinate. Successful placement creates the landing animation selected by the approach direction, enters idle behavior, and scatters the passenger.

11 of 11

KeyDescriptionValueWhen omitted
AtmosphereEntryglobal rulesThe animation drawn high above the map where a drop pod enters the scenario.classnone
C4Warheadglobal rulesThe WarheadType behind damage the engine deals without a weapon to draw one from.classnone
DropPodglobal rulesThe marks a drop pod leaves on the ground where it touches down.typelist(empty)
DroppodTeamTypeMakes an infantry-only TeamType arrive by drop pod.booleanNot documented
DropPodAngleglobal rulesDrop-pod descent angle in radians, clamped to 22.5-67.5 degrees when rules load.floating pointNot documented
DropPodHeightglobal rulesInitial drop-pod altitude above the landing cell, measured in leptons.integerNot documented
DropPodInfantryMinimumglobal rulesLower bound for the number of infantry requested by the Drop Pods superweapon.integerNot documented
DropPodInfantryMaximumglobal rulesUpper bound for the number of infantry requested by the Drop Pods superweapon.integerNot documented
DropPodPuffNo effectglobal rulesParsed animation reference that drop-pod logic never uses.classnone
DropPodSpeedglobal rulesMinimum per-frame movement speed for a descending drop pod.integerNot documented
DropPodWeaponglobal rulesSelects the WeaponType used by airborne drop-pod effects.classnone