mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Set up ASSIGNMENT_REBELCOMMAND
Hook up Start Mission button
This commit is contained in:
@@ -814,6 +814,11 @@ BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInComba
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
@@ -2501,7 +2506,7 @@ BOOLEAN CanCharacterSleep( SOLDIERTYPE *pSoldier, BOOLEAN fExplainWhyNot )
|
||||
}
|
||||
|
||||
// POW?
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
@@ -2719,7 +2724,7 @@ INT8 CanCharacterSquad( SOLDIERTYPE *pSoldier, INT8 bSquadValue )
|
||||
return ( CHARACTER_CANT_JOIN_SQUAD );
|
||||
}
|
||||
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_POW || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT && pSoldier->ubHoursRemainingOnMiniEvent > 0))
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_POW || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT && pSoldier->ubHoursRemainingOnMiniEvent > 0) || (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
|
||||
{
|
||||
// not allowed to be put on a squad
|
||||
return( CHARACTER_CANT_JOIN_SQUAD );
|
||||
@@ -5840,7 +5845,7 @@ void FatigueCharacter( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
// POW?
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -16323,7 +16328,7 @@ void HandleRestFatigueAndSleepStatus( void )
|
||||
continue;
|
||||
}
|
||||
|
||||
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
|
||||
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -16472,7 +16477,7 @@ void HandleRestFatigueAndSleepStatus( void )
|
||||
continue;
|
||||
}
|
||||
|
||||
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
|
||||
if( ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -19453,7 +19458,8 @@ BOOLEAN CanCharacterRepairAnotherSoldiersStuff( SOLDIERTYPE *pSoldier, SOLDIERTY
|
||||
( AM_A_ROBOT( pSoldier ) ) ||
|
||||
( pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__EPC ) ||
|
||||
( pOtherSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
|
||||
( pOtherSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
|
||||
( pOtherSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pOtherSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
@@ -712,6 +712,7 @@ void HourlyStealUpdate()
|
||||
&& pSoldier->bAssignment != IN_TRANSIT
|
||||
&& pSoldier->bAssignment != ASSIGNMENT_POW
|
||||
&& pSoldier->bAssignment != ASSIGNMENT_MINIEVENT
|
||||
&& pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
|
||||
&& !( ( ( gWorldSectorX == pSoldier->sSectorX ) && ( gWorldSectorY == pSoldier->sSectorY ) && ( gbWorldSectorZ == pSoldier->bSectorZ ) ) && ( gTacticalStatus.fEnemyInSector || guiCurrentScreen == GAME_SCREEN ) ) )
|
||||
{
|
||||
UINT8 ubSectorId = SECTOR( pSoldier->sSectorX, pSoldier->sSectorY );
|
||||
@@ -741,6 +742,7 @@ void HourlyStealUpdate()
|
||||
&& pOtherSoldier->bAssignment != IN_TRANSIT
|
||||
&& pOtherSoldier->bAssignment != ASSIGNMENT_POW
|
||||
&& pOtherSoldier->bAssignment != ASSIGNMENT_MINIEVENT
|
||||
&& pOtherSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
|
||||
&& !SPY_LOCATION( pOtherSoldier->bAssignment )
|
||||
&& pOtherSoldier->bActive
|
||||
&& !pOtherSoldier->flags.fMercAsleep
|
||||
|
||||
@@ -1795,6 +1795,7 @@ BOOLEAN AnyUsableRealMercenariesOnTeam( void )
|
||||
( pSoldier->bAssignment != ASSIGNMENT_POW ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_DEAD ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
|
||||
( pSoldier->ubWhatKindOfMercAmI != MERC_TYPE__EPC ) )
|
||||
{
|
||||
return( TRUE );
|
||||
|
||||
@@ -1366,6 +1366,7 @@ INT32 ShowAssignedTeam(INT16 sMapX, INT16 sMapY, INT32 iCount)
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_POW ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
|
||||
( pSoldier->stats.bLife > 0 ) &&
|
||||
( !PlayerIDGroupInMotion( pSoldier->ubGroupID ) ) )
|
||||
{
|
||||
@@ -6976,6 +6977,7 @@ BOOLEAN CanMercsScoutThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
|
||||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
|
||||
( pSoldier->flags.fMercAsleep == TRUE ) ||
|
||||
( pSoldier->stats.bLife < OKLIFE ) )
|
||||
{
|
||||
|
||||
@@ -1938,7 +1938,7 @@ void UpdateCharRegionHelpText( void )
|
||||
pSoldier = MercPtrs[ gCharactersList[ bSelectedInfoChar ].usSolID ];
|
||||
|
||||
// health/energy/morale
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
if ( pSoldier->stats.bLife != 0 )
|
||||
{
|
||||
@@ -3713,7 +3713,7 @@ void SetUpMovingListsForSector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ )
|
||||
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
|
||||
|
||||
if( ( pSoldier->bActive ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
|
||||
( pSoldier->sSectorX == sSectorX ) && ( pSoldier->sSectorY == sSectorY ) && ( pSoldier->bSectorZ == sSectorZ ) )
|
||||
{
|
||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
|
||||
@@ -6063,8 +6063,8 @@ BOOLEAN CanCharacterMoveInStrategic( SOLDIERTYPE *pSoldier, INT8 *pbErrorNumber
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
// mini event?
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
// mini event/rebel command?
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
*pbErrorNumber = 29;
|
||||
return( FALSE );
|
||||
|
||||
@@ -2376,6 +2376,7 @@ BOOLEAN PlayerMercInvolvedInThisCombat( SOLDIERTYPE *pSoldier )
|
||||
pSoldier->bAssignment != ASSIGNMENT_POW &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_DEAD &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND &&
|
||||
!(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) &&
|
||||
// Robot is involved if it has a valid controller with it, uninvolved otherwise
|
||||
( !AM_A_ROBOT( pSoldier ) || ( pSoldier->ubRobotRemoteHolderID != NOBODY ) ) &&
|
||||
|
||||
@@ -299,7 +299,7 @@ UINT16 NumPlayerTeamMembersInSector( INT16 sSectorX, INT16 sSectorY, INT8 sSecto
|
||||
// we test several conditions before we allow adding an opinion
|
||||
// other merc must be active, have a profile, be someone else and not be in transit or dead
|
||||
if ( pTeamSoldier->bActive && !pTeamSoldier->flags.fBetweenSectors && pTeamSoldier->stats.bLife > 0 && !(pTeamSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) &&
|
||||
!(pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT) &&
|
||||
!(pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pTeamSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) &&
|
||||
(pTeamSoldier->sSectorX == sSectorX && pTeamSoldier->sSectorY == sSectorY && pTeamSoldier->bSectorZ == sSectorZ) )
|
||||
{
|
||||
++teammemberspresent;
|
||||
@@ -2795,6 +2795,11 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
|
||||
return;
|
||||
}
|
||||
|
||||
if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
|
||||
{
|
||||
return;
|
||||
|
||||
+70
-35
@@ -87,6 +87,7 @@ Points of interest:
|
||||
#include "Queen Command.h"
|
||||
#include "random.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "Squads.h"
|
||||
#include "strategic.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Strategic Mines.h"
|
||||
@@ -95,6 +96,7 @@ Points of interest:
|
||||
#include "Text.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Utilities.h"
|
||||
#include "Vehicles.h"
|
||||
#include "WCheck.h"
|
||||
#include "WordWrap.h"
|
||||
#endif
|
||||
@@ -171,6 +173,9 @@ void GetMissionInfo(RebelCommandAgentMissions mission, const MERCPROFILESTRUCT*
|
||||
intModifierSkill = 0;
|
||||
extraBits = 0;
|
||||
|
||||
if (mission == RCAM_NONE)
|
||||
return;
|
||||
|
||||
const std::vector<INT8>* skills = gGameOptions.fNewTraitSystem ? &missionInfo[mission].newSkills : &missionInfo[mission].oldSkills;
|
||||
|
||||
for (int i = 0; i < sizeof(merc->bSkillTraits) / sizeof(merc->bSkillTraits[0]); ++i)
|
||||
@@ -2128,6 +2133,8 @@ BOOLEAN SetupMissionAgentBox(UINT16 x, UINT16 y, INT8 index)
|
||||
if (agentIndex[index] < 0) agentIndex[index] = static_cast<INT8>(mercs.size());
|
||||
else if (agentIndex[index] > static_cast<INT8>(mercs.size())) agentIndex[index] = 0;
|
||||
|
||||
// rftr todo: handle RCAM_NONE (ie, mission prep in progress!)
|
||||
|
||||
// draw mission title
|
||||
switch (rebelCommandSaveInfo.availableMissions[index])
|
||||
{
|
||||
@@ -2407,19 +2414,27 @@ BOOLEAN SetupMissionAgentBox(UINT16 x, UINT16 y, INT8 index)
|
||||
}
|
||||
|
||||
// draw "start mission" button
|
||||
const UINT8 townId = GetTownIdForSector(mercs[agentIndex[index]]->sSectorX, mercs[agentIndex[index]]->sSectorY);
|
||||
const UINT8 townLoyalty = GetRegionLoyalty(townId);
|
||||
if ((agentIndex[index] < static_cast<INT8>(mercs.size())) && (townId < FIRST_TOWN || townId >= NUM_TOWNS || townLoyalty < gRebelCommandSettings.iMinLoyaltyForMission))
|
||||
BOOLEAN canStartMission = TRUE;
|
||||
if (agentIndex[index] < static_cast<INT8>(mercs.size()))
|
||||
{
|
||||
swprintf(sText, L"Agent not in loyal town");
|
||||
DrawTextToScreen(sText, x, y+295, 231, FONT10ARIAL, FONT_RED, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
|
||||
const UINT8 townId = GetTownIdForSector(mercs[agentIndex[index]]->sSectorX, mercs[agentIndex[index]]->sSectorY);
|
||||
const UINT8 townLoyalty = GetRegionLoyalty(townId);
|
||||
|
||||
if (townId < FIRST_TOWN || townId >= NUM_TOWNS || townLoyalty < gRebelCommandSettings.iMinLoyaltyForMission)
|
||||
{
|
||||
canStartMission = FALSE;
|
||||
swprintf(sText, L"Agent not in loyal town");
|
||||
DrawTextToScreen(sText, x, y+295, 231, FONT10ARIAL, FONT_RED, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
|
||||
}
|
||||
}
|
||||
else if ((gTacticalStatus.uiFlags & INCOMBAT) || gTacticalStatus.fEnemyInSector)
|
||||
{
|
||||
canStartMission = FALSE;
|
||||
swprintf(sText, L"Battle in progress");
|
||||
DrawTextToScreen(sText, x, y+295, 231, FONT10ARIAL, FONT_RED, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
|
||||
}
|
||||
else // ok to start mission
|
||||
|
||||
if (canStartMission)
|
||||
{
|
||||
swprintf(sText, L"Start Mission (%d supplies)", GetMissionCost());
|
||||
btnId = CreateTextButton(sText, FONT10ARIAL, FONT_MCOLOR_LTYELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, x, y+290, 231, 20, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, [](GUI_BUTTON* btn, INT32 reason)
|
||||
@@ -2646,37 +2661,42 @@ void StartMission(INT8 index)
|
||||
MissionFirstEvent evt;
|
||||
DeserialiseMissionFirstEvent(MissionHelpers::missionParam, evt);
|
||||
|
||||
for (UINT8 i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; ++i)
|
||||
if (!evt.sentGenericRebelAgent)
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = MercPtrs[i];
|
||||
|
||||
if (pSoldier->ubProfile != evt.mercProfileId)
|
||||
continue;
|
||||
|
||||
//TakeSoldierOutOfVehicle(pSoldier);
|
||||
//RemoveCharacterFromSquads(pSoldier);
|
||||
//pSoldier->ubHoursRemainingOnMiniEvent = hoursOnMiniEvent;
|
||||
//pSoldier->bSectorZ += MINI_EVENT_Z_OFFSET;
|
||||
//pSoldier->bBleeding = 0;
|
||||
//SetTimeOfAssignmentChangeForMerc(pSoldier);
|
||||
//ChangeSoldiersAssignment(pSoldier, ASSIGNMENT_REBELCOMMAND);
|
||||
|
||||
for (INT8 i = 0; i < NUM_ARC_AGENT_SLOTS; ++i)
|
||||
//for (UINT8 i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; ++i)
|
||||
{
|
||||
if (evt.missionId == rebelCommandSaveInfo.availableMissions[i])
|
||||
{
|
||||
rebelCommandSaveInfo.availableMissions[i] = RCAM_NONE;
|
||||
break;
|
||||
}
|
||||
SOLDIERTYPE* pSoldier = MercPtrs[evt.mercProfileId];
|
||||
|
||||
//if (pSoldier->ubProfile != evt.mercProfileId)
|
||||
// continue;
|
||||
|
||||
TakeSoldierOutOfVehicle(pSoldier);
|
||||
RemoveCharacterFromSquads(pSoldier);
|
||||
pSoldier->bSectorZ += REBEL_COMMAND_Z_OFFSET;
|
||||
pSoldier->bBleeding = 0;
|
||||
SetTimeOfAssignmentChangeForMerc(pSoldier);
|
||||
ChangeSoldiersAssignment(pSoldier, ASSIGNMENT_REBELCOMMAND);
|
||||
|
||||
//break;
|
||||
}
|
||||
|
||||
// actually start the mission
|
||||
AddStrategicEvent(EVENT_REBELCOMMAND, GetWorldTotalMin() + 60 * 24, MissionHelpers::missionParam);
|
||||
missionMap[static_cast<RebelCommandAgentMissions>(evt.missionId)] = MissionHelpers::missionParam;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for (INT8 i = 0; i < NUM_ARC_AGENT_SLOTS; ++i)
|
||||
{
|
||||
if (evt.missionId == rebelCommandSaveInfo.availableMissions[i])
|
||||
{
|
||||
rebelCommandSaveInfo.availableMissions[i] = RCAM_NONE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// actually start the mission
|
||||
//AddStrategicEvent(EVENT_REBELCOMMAND, GetWorldTotalMin() + 60 * 24, MissionHelpers::missionParam);
|
||||
AddStrategicEvent(EVENT_REBELCOMMAND, GetWorldTotalMin() + 60, MissionHelpers::missionParam); // rftr todo: DELETE ME
|
||||
missionMap[static_cast<RebelCommandAgentMissions>(evt.missionId)] = MissionHelpers::missionParam;
|
||||
}
|
||||
|
||||
RenderWebsite();
|
||||
});
|
||||
}
|
||||
// end website
|
||||
@@ -4291,8 +4311,6 @@ void HandleStrategicEvent(const UINT32 eventParam)
|
||||
{
|
||||
const RebelCommandAgentMissions mission = static_cast<RebelCommandAgentMissions>(evt1.missionId);
|
||||
const MERCPROFILESTRUCT merc = gMercProfiles[evt1.mercProfileId];
|
||||
|
||||
// rftr todo: mission successful! give some experience pts
|
||||
|
||||
// what mission did we do? apply bonuses here, and don't forget to check them later when checking to see if a mission bonus should be applied
|
||||
UINT32 durationBonus = 0;
|
||||
@@ -4332,7 +4350,24 @@ void HandleStrategicEvent(const UINT32 eventParam)
|
||||
AddStrategicEvent(EVENT_REBELCOMMAND, GetWorldTotalMin() + 60 * evt1.missionDurationInHours,
|
||||
SerialiseMissionSecondEvent(evt1.sentGenericRebelAgent, evt1.mercProfileId, mission, extraBits));
|
||||
|
||||
// rftr todo: tell the player that the mission has started. popupbox or screenmsg?
|
||||
if (!evt1.sentGenericRebelAgent)
|
||||
{
|
||||
//for (UINT8 i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; ++i)
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = MercPtrs[evt1.mercProfileId];
|
||||
|
||||
//if (pSoldier->ubProfile != evt1.mercProfileId)
|
||||
// continue;
|
||||
|
||||
// rftr todo: tell the player that the mission has started. popupbox or screenmsg?
|
||||
// rftr todo: mission successful! give some experience pts
|
||||
pSoldier->bSectorZ -= REBEL_COMMAND_Z_OFFSET;
|
||||
pSoldier->ubInsertionDirection = DIRECTION_IRRELEVANT;
|
||||
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_CENTER;
|
||||
AssignmentDone(pSoldier, TRUE, FALSE);
|
||||
AddCharacterToAnySquad(pSoldier);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
missionMap[mission] = eventParam;
|
||||
|
||||
@@ -5475,7 +5475,7 @@ BOOLEAN TestForBloodcatAmbush( GROUP *pGroup )
|
||||
{
|
||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||
{
|
||||
if ( MercPtrs[ i ]->sSectorX == pGroup->ubSectorX && MercPtrs[ i ]->sSectorY == pGroup->ubSectorY && MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW && MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT && MercPtrs[ i ]->stats.bLife >= OKLIFE )
|
||||
if ( MercPtrs[ i ]->sSectorX == pGroup->ubSectorX && MercPtrs[ i ]->sSectorY == pGroup->ubSectorY && MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW && MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT && MercPtrs[i]->bAssignment != ASSIGNMENT_REBELCOMMAND && MercPtrs[ i ]->stats.bLife >= OKLIFE )
|
||||
{
|
||||
if( HAS_SKILL_TRAIT( MercPtrs[ i ], SCOUTING_NT ) && MercPtrs[ i ]->ubProfile != NO_PROFILE )
|
||||
{
|
||||
@@ -5880,6 +5880,7 @@ BOOLEAN GroupHasInTransitDeadOrPOWMercs( GROUP *pGroup )
|
||||
if( ( pPlayer->pSoldier->bAssignment == IN_TRANSIT ) ||
|
||||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_POW ) ||
|
||||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
|
||||
SPY_LOCATION( pPlayer->pSoldier->bAssignment ) ||
|
||||
( pPlayer->pSoldier->bAssignment == ASSIGNMENT_DEAD ) )
|
||||
{
|
||||
|
||||
+16
-7
@@ -2411,7 +2411,8 @@ void DrawCharBars( void )
|
||||
if( ( pSoldier->stats.bLife == 0 ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -2829,7 +2830,7 @@ void DrawCharHealth( INT16 sCharNum )
|
||||
|
||||
pSoldier = &Menptr[gCharactersList[sCharNum].usSolID];
|
||||
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
// find starting X coordinate by centering all 3 substrings together, then print them separately (different colors)!
|
||||
swprintf( sString, L"%d/%d", pSoldier->stats.bLife, pSoldier->stats.bLifeMax );
|
||||
@@ -11328,7 +11329,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
fPlotForMilitia = FALSE;
|
||||
|
||||
// if not dead or POW, select his sector
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ))//&& !SPY_LOCATION( pSoldier->bAssignment ) )
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) )//&& !SPY_LOCATION( pSoldier->bAssignment ) )
|
||||
{
|
||||
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
}
|
||||
@@ -11384,7 +11385,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
fPlotForMilitia = FALSE;
|
||||
|
||||
// if not dead or POW, select his sector
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
}
|
||||
@@ -11567,7 +11568,7 @@ void TeamListAssignmentRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
fShownAssignmentMenu = FALSE;
|
||||
|
||||
// if not dead or POW, select his sector
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
|
||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
}
|
||||
@@ -15115,6 +15116,7 @@ BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber )
|
||||
if( ( pSoldier->bAssignment == IN_TRANSIT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
|
||||
// Kaiden: Vehicle Inventory change - Commented the following line
|
||||
// ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) ||
|
||||
// And added this instead:
|
||||
@@ -15303,7 +15305,7 @@ BOOLEAN CanChangeSleepStatusForSoldier( SOLDIERTYPE *pSoldier )
|
||||
|
||||
// if a vehicle, robot, in transit, or a POW
|
||||
if( ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) || AM_A_ROBOT( pSoldier ) ||
|
||||
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
|
||||
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
|
||||
{
|
||||
// can't change the sleep status of such mercs
|
||||
return ( FALSE );
|
||||
@@ -15856,7 +15858,7 @@ INT16 CalcLocationValueForChar( INT32 iCounter )
|
||||
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
|
||||
|
||||
// don't reveal location of POWs!
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
sLocValue = SECTOR( pSoldier->sSectorX, pSoldier->sSectorY );
|
||||
// underground: add 1000 per sublevel
|
||||
@@ -15950,6 +15952,7 @@ BOOLEAN AnyMovableCharsInOrBetweenThisSector( INT16 sSectorX, INT16 sSectorY, IN
|
||||
SPY_LOCATION( pSoldier->bAssignment ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
|
||||
( pSoldier->stats.bLife == 0 ) )
|
||||
{
|
||||
continue;
|
||||
@@ -16554,6 +16557,11 @@ void GetMapscreenMercLocationString( SOLDIERTYPE *pSoldier, CHAR16 sString[] )
|
||||
// mini event - unknown location, use the same string as POWs
|
||||
swprintf( sString, L"%s", pPOWStrings[ 1 ] );
|
||||
}
|
||||
else if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
// on a rebel command mission
|
||||
swprintf( sString, L"%s%s*", pMapVertIndex[pSoldier->sSectorY], pMapHortIndex[pSoldier->sSectorX] );
|
||||
}
|
||||
else if ( SPY_LOCATION( pSoldier->bAssignment ) )
|
||||
{
|
||||
swprintf( pTempString, L"%s%s%s",
|
||||
@@ -16594,6 +16602,7 @@ void GetMapscreenMercDestinationString( SOLDIERTYPE *pSoldier, CHAR16 sString[]
|
||||
if( ( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
|
||||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
|
||||
SPY_LOCATION( pSoldier->bAssignment ) ||
|
||||
( pSoldier->stats.bLife == 0 ) )
|
||||
{
|
||||
|
||||
@@ -5229,7 +5229,7 @@ BOOLEAN CanGoToTacticalInSector( INT16 sX, INT16 sY, UINT8 ubZ )
|
||||
{
|
||||
// ARM: now allows loading of sector with all mercs below OKLIFE as long as they're alive
|
||||
if( ( pSoldier->bActive && pSoldier->stats.bLife ) && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
|
||||
( pSoldier->bAssignment != ASSIGNMENT_DEAD ) && !SoldierAboardAirborneHeli( pSoldier )
|
||||
)
|
||||
|
||||
@@ -6402,7 +6402,7 @@ void HandleSlayDailyEvent( void )
|
||||
}
|
||||
|
||||
// valid soldier?
|
||||
if ( (pSoldier->bActive == FALSE) || (pSoldier->stats.bLife == 0) || (pSoldier->bAssignment == IN_TRANSIT) || (pSoldier->bAssignment == ASSIGNMENT_POW) || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) )
|
||||
if ( (pSoldier->bActive == FALSE) || (pSoldier->stats.bLife == 0) || (pSoldier->bAssignment == IN_TRANSIT) || (pSoldier->bAssignment == ASSIGNMENT_POW) || (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) || (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
|
||||
{
|
||||
// no
|
||||
return;
|
||||
|
||||
@@ -1515,6 +1515,9 @@ BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteN
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
return( CharacterDialogue( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, TRUE ) );
|
||||
}
|
||||
|
||||
@@ -1574,6 +1577,9 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
return( CharacterDialogueWithSpecialEventEx( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, FALSE, uiFlag, uiData1, uiData2, uiData3 ) );
|
||||
@@ -1625,6 +1631,9 @@ BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
// OK, let's check if this is the exact one we just played, if so, skip.
|
||||
if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
|
||||
usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
|
||||
@@ -1717,6 +1726,9 @@ BOOLEAN SnitchTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNu
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
// OK, let's check if this is the exact one we just played, if so, skip.
|
||||
//if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
|
||||
// usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
|
||||
@@ -1774,6 +1786,9 @@ BOOLEAN AdditionalTacticalCharacterDialogue_CallsLua( SOLDIERTYPE *pSoldier, UIN
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
if ( AM_AN_EPC( pSoldier ) && !( gMercProfiles[pSoldier->ubProfile].ubMiscFlags & PROFILE_MISC_FLAG_FORCENPCQUOTE ) )
|
||||
return( FALSE );
|
||||
|
||||
@@ -1802,7 +1817,7 @@ void AdditionalTacticalCharacterDialogue_AllInSector(INT16 aSectorX, INT16 aSect
|
||||
if ( pSoldier->stats.bLife >= OKLIFE && pSoldier->bActive &&
|
||||
pSoldier->ubProfile != ausIgnoreProfile &&
|
||||
pSoldier->sSectorX == aSectorX && pSoldier->sSectorY == aSectorY && pSoldier->bSectorZ == aSectorZ &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND &&
|
||||
(aAroundGridno == NOWHERE || PythSpacesAway( pSoldier->sGridNo, aAroundGridno ) <= aRadius ) &&
|
||||
!pSoldier->flags.fBetweenSectors )
|
||||
{
|
||||
@@ -2105,6 +2120,9 @@ BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
// sleeping guys don't talk.. go to standby to talk
|
||||
if( pSoldier->flags.fMercAsleep == TRUE )
|
||||
{
|
||||
|
||||
@@ -960,6 +960,9 @@ BOOLEAN DynamicOpinionTacticalCharacterDialogue( DynamicOpinionSpeechEvent& aEve
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
return( FALSE );
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
return( FALSE );
|
||||
|
||||
CHAR16 gzQuoteStr[500];
|
||||
|
||||
// remove old box, in case that still exists
|
||||
@@ -2020,7 +2023,7 @@ UINT8 GetFittingInterjectorProfile( UINT8 usEvent, UINT8 usProfileVictim, UINT8
|
||||
for ( pTeamSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, pTeamSoldier++ )
|
||||
{
|
||||
// only people that are here
|
||||
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pTeamSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
|
||||
continue;
|
||||
|
||||
// if fSameSector is TRUE then the teammate must be in the same sector
|
||||
|
||||
+1
-1
@@ -606,7 +606,7 @@ void HourlyFoodAutoDigestion( SOLDIERTYPE *pSoldier )
|
||||
AddFoodpoints(pSoldier->bFoodLevel, powfoodadd);
|
||||
}
|
||||
// while on a minievent, assume that we can feed ourselves.. somehow
|
||||
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT)
|
||||
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
const INT16 water = gGameExternalOptions.usFoodDigestionHourlyBaseDrink * gGameExternalOptions.sFoodDigestionAssignment;
|
||||
const INT16 foodadd = water * gGameExternalOptions.usFoodDigestionHourlyBaseFood / max(1, gGameExternalOptions.usFoodDigestionHourlyBaseDrink);
|
||||
|
||||
@@ -6311,7 +6311,7 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
// If anything other than on a squad or guard, make them guard....
|
||||
if ( this->bTeam == gbPlayerNum )
|
||||
{
|
||||
if ( this->bAssignment >= ON_DUTY && this->bAssignment != ASSIGNMENT_POW && this->bAssignment != ASSIGNMENT_MINIEVENT )
|
||||
if ( this->bAssignment >= ON_DUTY && this->bAssignment != ASSIGNMENT_POW && this->bAssignment != ASSIGNMENT_MINIEVENT && this->bAssignment != ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
if ( this->flags.fMercAsleep )
|
||||
{
|
||||
|
||||
@@ -1389,6 +1389,11 @@ BOOLEAN IsSquadInSector( SOLDIERTYPE *pSoldier, UINT8 ubSquad )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
if( SquadIsEmpty( ubSquad ) == TRUE )
|
||||
{
|
||||
return( TRUE );
|
||||
|
||||
@@ -238,7 +238,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
|
||||
pSoldier->stats.bLife >= OKLIFE &&
|
||||
( pSoldier->bAssignment != MercPtrs[ gusSelectedSoldier ]->bAssignment ||
|
||||
( pSoldier->bAssignment == VEHICLE && pSoldier->iVehicleId != MercPtrs[ gusSelectedSoldier ]->iVehicleId ) ) &&
|
||||
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT
|
||||
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
|
||||
&& !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||
{ //KM: We need to determine if there are more than one squad (meaning other concious mercs in a different squad or assignment)
|
||||
// These conditions were done to the best of my knowledge, so if there are other situations that require modification,
|
||||
|
||||
@@ -6001,7 +6001,7 @@ void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrTy
|
||||
continue; // skip
|
||||
}
|
||||
|
||||
if ( bTeam == gbPlayerNum && (pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) )
|
||||
if ( bTeam == gbPlayerNum && (pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
|
||||
{
|
||||
// POWs should not be processed for noise
|
||||
continue;
|
||||
|
||||
@@ -340,6 +340,7 @@ void InitTacticalPlacementGUI()
|
||||
!( MercPtrs[ i ]->flags.uiStatusFlags & ( SOLDIER_VEHICLE ) ) && // ATE Ignore vehicles
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW &&
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT &&
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_REBELCOMMAND &&
|
||||
!( MercPtrs[i]->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION ) &&
|
||||
MercPtrs[ i ]->bAssignment != IN_TRANSIT )
|
||||
{
|
||||
@@ -357,6 +358,7 @@ void InitTacticalPlacementGUI()
|
||||
CurrentBattleSectorIs( MercPtrs[i]->sSectorX, MercPtrs[i]->sSectorY, MercPtrs[i]->bSectorZ ) &&
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_POW &&
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_MINIEVENT &&
|
||||
MercPtrs[ i ]->bAssignment != ASSIGNMENT_REBELCOMMAND &&
|
||||
!( MercPtrs[i]->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION ) &&
|
||||
MercPtrs[ i ]->bAssignment != IN_TRANSIT &&
|
||||
!( MercPtrs[ i ]->flags.uiStatusFlags & ( SOLDIER_VEHICLE ) ) ) // ATE Ignore vehicles
|
||||
|
||||
@@ -2480,7 +2480,8 @@ STR16 pAssignmentStrings[] =
|
||||
L"Burial",
|
||||
L"Admin",
|
||||
L"Explore",
|
||||
L"Event"// rftr: merc is on a mini event
|
||||
L"Event", // rftr: merc is on a mini event
|
||||
L"Mission", // rftr: rebel command
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user