Skip to content

Commit 11588ac

Browse files
KJeff01pull[bot]
authored andcommitted
Fix Commanders disappearing from transporter group too early
If trying to use enumCargo() during an eventTransporterLanded the Commander was already removed from the transporter group.
1 parent b5b57a7 commit 11588ac

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/mission.cpp

+8-7
Original file line numberDiff line numberDiff line change
@@ -1731,13 +1731,6 @@ void unloadTransporter(DROID *psTransporter, UDWORD x, UDWORD y, bool goingHome)
17311731
}
17321732
droidSetPosition(psDroid, world_coord(droidX), world_coord(droidY));
17331733
updateDroidOrientation(psDroid);
1734-
// a commander needs to get it's group back
1735-
if (psDroid->droidType == DROID_COMMAND)
1736-
{
1737-
psGroup = grpCreate();
1738-
psGroup->add(psDroid);
1739-
clearCommandDroidFactory(psDroid);
1740-
}
17411734

17421735
//reset droid orders
17431736
orderDroid(psDroid, DORDER_STOP, ModeImmediate);
@@ -1764,6 +1757,14 @@ void unloadTransporter(DROID *psTransporter, UDWORD x, UDWORD y, bool goingHome)
17641757
&& psDroid != psTransporter; psDroid = psNext)
17651758
{
17661759
psNext = psDroid->psGrpNext;
1760+
// a commander needs to get it's group back
1761+
if (psDroid->droidType == DROID_COMMAND)
1762+
{
1763+
psGroup = grpCreate();
1764+
psGroup->add(psDroid);
1765+
clearCommandDroidFactory(psDroid);
1766+
continue;
1767+
}
17671768
psTransporter->psGroup->remove(psDroid);
17681769
}
17691770
}

0 commit comments

Comments
 (0)