Externalizations (by Buggler)

- Queen Palace & Interrogate meanwhile stuff
- Initial POW stuff in Alma
- Sectors for triggering Meduna outskirts meanwhile scene
- Add Iggy to location when game progress condition met
- Add Rat to location after creature meanwhile scene

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6479 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-10-11 06:55:31 +00:00
parent 3ab6da635f
commit f72e4424eb
11 changed files with 159 additions and 78 deletions
+7 -6
View File
@@ -1725,7 +1725,7 @@ void HourlyProgressUpdate(void)
}
#endif
// at 50% make Mike available to the strategic AI
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressMikeAvailable && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressMikeAvailable )
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressMikeAvailable && gStrategicStatus.ubHighestProgress < gGameExternalOptions.ubGameProgressMikeAvailable )
{
if( gubFact[FACT_MIKE_AVAILABLE_TO_ARMY] < 2 )
{
@@ -1734,22 +1734,23 @@ void HourlyProgressUpdate(void)
}
// at 70% add Iggy to the world
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressIggyAvaliable && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressIggyAvaliable )
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressIggyAvaliable && gStrategicStatus.ubHighestProgress < gGameExternalOptions.ubGameProgressIggyAvaliable )
{
if ( gubFact[ FACT_IGGY_AVAILABLE_TO_ARMY ] < 2 )
{
gMercProfiles[ IGGY ].sSectorX = 5;
gMercProfiles[ IGGY ].sSectorY = MAP_ROW_C;
gMercProfiles[ IGGY ].sSectorX = gModSettings.ubAddIggySectorX; //5
gMercProfiles[ IGGY ].sSectorY = gModSettings.ubAddIggySectorY; //MAP_ROW_C
gMercProfiles[ IGGY ].bSectorZ = gModSettings.ubAddIggySectorZ; //0
}
}
// Flugente: on certain progress levels, the queen decides to initiate major attacks
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage1 && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressOffensiveStage1 )
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage1 && gStrategicStatus.ubHighestProgress < gGameExternalOptions.ubGameProgressOffensiveStage1 )
{
ExecuteStrategicAIAction( NPC_ACTION_GLOBAL_OFFENSIVE_1, 0, 0 );
}
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage2 && gStrategicStatus.ubHighestProgress <= gGameExternalOptions.ubGameProgressOffensiveStage2 )
if ( ubCurrentProgress >= gGameExternalOptions.ubGameProgressOffensiveStage2 && gStrategicStatus.ubHighestProgress < gGameExternalOptions.ubGameProgressOffensiveStage2 )
{
ExecuteStrategicAIAction( NPC_ACTION_GLOBAL_OFFENSIVE_2, 0, 0 );
}
+7 -7
View File
@@ -3352,18 +3352,18 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
// Target a different merc....
if ( usActionCode == NPC_ACTION_PUNCH_PC_SLOT_0 )
{
sGridNo = gsInterrogationGridNo[ 0 ];
//pTarget = MercPtrs[ 0 ];
sGridNo = gModSettings.iMeanwhileInterrogatePOWGridNo[ 0 ];
}
else if ( usActionCode == NPC_ACTION_PUNCH_PC_SLOT_1 )
{
//pTarget = MercPtrs[ 1 ];
sGridNo = gsInterrogationGridNo[ 1 ];
sGridNo = gModSettings.iMeanwhileInterrogatePOWGridNo[ 1 ];
}
else //if ( usActionCode == NPC_ACTION_PUNCH_PC_SLOT_2 )
{
//pTarget = MercPtrs[ 2 ];
sGridNo = gsInterrogationGridNo[ 2 ];
sGridNo = gModSettings.iMeanwhileInterrogatePOWGridNo[ 2 ];
}
ubTargetID = WhoIsThere2( sGridNo, 0 );
@@ -3473,7 +3473,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
for ( cnt = 0; cnt < 3; cnt++ )
{
ubTargetID = WhoIsThere2( gsInterrogationGridNo[ cnt ], 0 );
ubTargetID = WhoIsThere2( gModSettings.iMeanwhileInterrogatePOWGridNo[ cnt ], 0 );
if ( ubTargetID == NOBODY )
{
continue;
@@ -4132,9 +4132,9 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
case NPC_ACTION_ADD_RAT:
// add Rat
gMercProfiles[ RAT ].sSectorX = 9;
gMercProfiles[ RAT ].sSectorY = MAP_ROW_G;
gMercProfiles[ RAT ].bSectorZ = 0;
gMercProfiles[ RAT ].sSectorX = gModSettings.ubAddRatSectorX; //9
gMercProfiles[ RAT ].sSectorY = gModSettings.ubAddRatSectorY; //7
gMercProfiles[ RAT ].bSectorZ = gModSettings.ubAddRatSectorZ; //0
break;
case NPC_ACTION_ENDGAME_STATE_1:
+6 -6
View File
@@ -6080,16 +6080,16 @@ void TestMeanWhile( INT32 iID )
INT32 cnt;
SOLDIERTYPE *pSoldier;
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX; //3
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY; //16
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
MeanwhileDef.ubMeanwhileID = (UINT8)iID;
if ( iID == INTERROGATION )
{
MeanwhileDef.sSectorX = 7;
MeanwhileDef.sSectorY = 14;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; //7
MeanwhileDef.sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY; //14
// Loop through our mercs and set gridnos once some found.....
// look for all mercs on the same team,
@@ -6103,8 +6103,8 @@ void TestMeanWhile( INT32 iID )
ChangeSoldiersAssignment( pSoldier, ASSIGNMENT_POW );
pSoldier->sSectorX = 7;
pSoldier->sSectorY = 14;
pSoldier->sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; //7
pSoldier->sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY; //14
}
}