void HandleFallIntoPitFromAnimation( UINT8 ubID ) { SOLDIERTYPE *pSoldier = MercPtrs[ ubID ]; EXITGRID ExitGrid; INT16 sPitGridNo; // OK, get exit grid... sPitGridNo = (INT16)pSoldier->uiPendingActionData4; GetExitGrid( sPitGridNo, &ExitGrid ); // Given exit grid, make buddy move to next sector.... pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO; pSoldier->usStrategicInsertionData = ExitGrid.usGridNo; pSoldier->sSectorX = ExitGrid.ubGotoSectorX; pSoldier->sSectorY = ExitGrid.ubGotoSectorY; pSoldier->bSectorZ = ExitGrid.ubGotoSectorZ; // Remove from world...... RemoveSoldierFromTacticalSector( pSoldier, TRUE ); HandleSoldierLeavingSectorByThemSelf( pSoldier ); SetSoldierHeight( pSoldier, 0 ); }
void LocateNextExitGrid() { EXITGRID ExitGrid; UINT16 i; for( i = usCurrentExitGridNo + 1; i < WORLD_MAX; i++ ) { if( GetExitGrid( i, &ExitGrid ) ) { usCurrentExitGridNo = i; CenterScreenAtMapIndex( i ); return; } } for( i = 0; i < usCurrentExitGridNo; i++ ) { if( GetExitGrid( i, &ExitGrid ) ) { usCurrentExitGridNo = i; CenterScreenAtMapIndex( i ); return; } } }
// This function checks if our statue exists in the current sector at given gridno BOOLEAN DoesO3SectorStatueExistHere( INT16 sGridNo ) { INT32 cnt; EXITGRID ExitGrid; // First check current sector...... if ( gWorldSectorX == 3 && gWorldSectorY == MAP_ROW_O && gbWorldSectorZ == 0 ) { // Check for exitence of and exit grid here... // ( if it doesn't then the change has already taken place ) if ( !GetExitGrid( 13669, &ExitGrid ) ) { for ( cnt = 0; cnt < 4; cnt++ ) { if ( sStatueGridNos[ cnt ] == sGridNo ) { return( TRUE ); } } } } return( FALSE ); }