Esempio n. 1
0
//for ubRemoveType pass in the enum from the .h, 	( MERC_QUIT, MERC_FIRED	)
BOOLEAN BeginStrategicRemoveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fAddRehireButton )
{
	InterruptTime( );
	PauseGame();
	LockPauseState( 8 );

	//if the soldier may have some special action when he/she leaves the party, handle it
	HandleUniqueEventWhenPlayerLeavesTeam( pSoldier );

	// IF the soldier is an EPC, don't ask about equipment
	if ( pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__EPC )
	{
	UnEscortEPC( pSoldier );
	}
	else
	{
		if (!is_networked)
			NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( pSoldier, fAddRehireButton );
		else
		{
			// WANNE - MP: Skip all the dialog boxes that appear. Just dismiss the merc
			StrategicRemoveMerc( pSoldier );
			pLeaveSoldier = NULL;
		}
	}

	return( TRUE );
}
Esempio n. 2
0
//for ubRemoveType pass in the enum from the .h, 	( MERC_QUIT, MERC_FIRED  )
BOOLEAN BeginStrategicRemoveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fAddRehireButton )
{
	InterruptTime( );
	PauseGame();
	LockPauseState( 8 );
	
	//if the soldier may have some special action when he/she leaves the party, handle it
	HandleUniqueEventWhenPlayerLeavesTeam( pSoldier );		

  // IF the soldier is an EPC, don't ask about equipment
  if ( pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__EPC )
  {
    UnEscortEPC( pSoldier );
  }
  else
  {
	  NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( pSoldier, fAddRehireButton );
  }

	return( TRUE );
}