Example #1
0
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 );

}	
Example #2
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;
        }
    }
}
Example #3
0
// 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 );
}