- re enabled strategic event NPC_ACTION_SEND_SOLDIERS_TO_DRASSEN and increased amount of troops

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@255 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2006-06-17 20:34:23 +00:00
parent d0a4c8f7fd
commit 840f73eb1c
6 changed files with 107 additions and 25 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" };
#else #else
//RELEASE BUILD VERSION //RELEASE BUILD VERSION
INT16 zVersionLabel[256] = { L"Release v1.13.253" }; INT16 zVersionLabel[256] = { L"Release v1.13.254" };
#endif #endif
+2 -2
View File
@@ -43,7 +43,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib"
OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.249_2006_06_15.exe" OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.254_2006_06_15.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
@@ -546,7 +546,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.249_2006_06_15.exe" OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.254_2006_06_15.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
+2 -1
View File
@@ -692,7 +692,8 @@ void ProcessImplicationsOfMeanwhile( void )
break; break;
case DRASSEN_LIBERATED: case DRASSEN_LIBERATED:
ExecuteStrategicAIAction( STRATEGIC_AI_ACTION_WAKE_QUEEN, 0, 0 ); ExecuteStrategicAIAction( STRATEGIC_AI_ACTION_WAKE_QUEEN, 0, 0 );
HandleNPCDoAction( QUEEN, NPC_ACTION_SEND_SOLDIERS_TO_DRASSEN, 0 ); //HandleNPCDoAction( QUEEN, NPC_ACTION_SEND_SOLDIERS_TO_DRASSEN, 0 );
ExecuteStrategicAIAction( NPC_ACTION_SEND_SOLDIERS_TO_DRASSEN, 13, 4 );
break; break;
case CREATURES: case CREATURES:
// add Rat // add Rat
+93 -20
View File
@@ -3907,7 +3907,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Strategic7");
void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSectorY ) void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSectorY )
{ {
GROUP *pGroup, *pPendingGroup = NULL; GROUP *pGroup, *pGroup0, *pGroup1, *pGroup2, *pGroup3, *pPendingGroup = NULL;
SECTORINFO *pSector; SECTORINFO *pSector;
UINT8 ubSectorID; UINT8 ubSectorID;
UINT8 ubNumSoldiers; UINT8 ubNumSoldiers;
@@ -3944,38 +3944,111 @@ void ExecuteStrategicAIAction( UINT16 usActionCode, INT16 sSectorX, INT16 sSecto
//Send 6, 9, or 12 troops (based on difficulty) one of the Drassen sectors. If nobody is there when they arrive, //Send 6, 9, or 12 troops (based on difficulty) one of the Drassen sectors. If nobody is there when they arrive,
//those troops will get reassigned. //those troops will get reassigned.
if( Chance( 50 ) ) //if( Chance( 50 ) )
{ //{
ubSectorID = SEC_D13; // ubSectorID = SEC_D13;
} //}
else if( Chance( 60 ) ) //else if( Chance( 60 ) )
{ //{
ubSectorID = SEC_B13; // ubSectorID = SEC_B13;
} //}
else //else
{ //{
ubSectorID = SEC_C13; // ubSectorID = SEC_C13;
} //}
//ubNumSoldiers = (UINT8)(3 + gGameOptions.ubDifficultyLevel * 3);
//pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubNumSoldiers, 0 );
//if( !gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID )
//{
// pGroup->pEnemyGroup->ubIntention = STAGE;
// gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID = pGroup->ubGroupID;
//}
//else
//{ //this should never happen (but if it did, then this is the best way to deal with it).
// pGroup->pEnemyGroup->ubIntention = PURSUIT;
//}
//Madd: unlimited reinforcements in Insane
//if ( gGameOptions.ubDifficultyLevel < DIF_LEVEL_INSANE )
// giReinforcementPool -= ubNumSoldiers;
//giReinforcementPool = max( giReinforcementPool, 0 );
//MoveSAIGroupToSector( &pGroup, ubSectorID, EVASIVE, pGroup->pEnemyGroup->ubIntention );
ubSectorID = SEC_D13;
ubNumSoldiers = (UINT8)( gubMinEnemyGroupSize + gGameOptions.ubDifficultyLevel * 3); ubNumSoldiers = (UINT8)( gubMinEnemyGroupSize + gGameOptions.ubDifficultyLevel * 3);
pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubNumSoldiers, 0 ); //pGroup = CreateNewEnemyGroupDepartingFromSector( SEC_P3, 0, ubNumSoldiers, 0 );
pGroup0 = CreateNewEnemyGroupDepartingFromSector( SEC_H13, 0, ubNumSoldiers, 0 );
pGroup1 = CreateNewEnemyGroupDepartingFromSector( SEC_H13, 0, ubNumSoldiers, 0 );
pGroup2 = CreateNewEnemyGroupDepartingFromSector( SEC_H13, 0, ubNumSoldiers, 0 );
pGroup3 = CreateNewEnemyGroupDepartingFromSector( SEC_H13, 0, ubNumSoldiers, 0 );
//pGroup = CreateNewEnemyGroupDepartingFromSector( ubSector-16, 0, 11, 5 );
//pGroup->ubNextX = (UINT8)gsSelSectorX;
//pGroup->ubNextY = (UINT8)gsSelSectorY;
//pGroup->uiTraverseTime = 10;
//pGroup->pEnemyGroup->ubIntention = ASSAULT;
//SetGroupArrivalTime( pGroup, uiWorldMin + 10 );
//pGroup->ubMoveType = ONE_WAY;
//pGroup->fDebugGroup = TRUE;
//AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup->uiArrivalTime, pGroup->ubGroupID );
//pGroup0->uiTraverseTime = 1000;
//pGroup1->uiTraverseTime = 10;
//pGroup2->uiTraverseTime = 10;
//pGroup3->uiTraverseTime = 10;
//SetGroupArrivalTime( pGroup0, GetWorldTotalMin() + 1000 );
//SetGroupArrivalTime( pGroup1, GetWorldTotalMin() + 10 );
//SetGroupArrivalTime( pGroup2, GetWorldTotalMin() + 10 );
//SetGroupArrivalTime( pGroup3, GetWorldTotalMin() + 10 );
//AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup0->uiArrivalTime, pGroup0->ubGroupID );
//AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup1->uiArrivalTime, pGroup1->ubGroupID );
//AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup2->uiArrivalTime, pGroup2->ubGroupID );
//AddStrategicEvent( EVENT_GROUP_ARRIVAL, pGroup3->uiArrivalTime, pGroup3->ubGroupID );
if( !gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID ) if( !gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID )
{ {
pGroup->pEnemyGroup->ubIntention = STAGE; //pGroup->pEnemyGroup->ubIntention = STAGE;
gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID = pGroup->ubGroupID; //gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID = pGroup->ubGroupID;
pGroup0->pEnemyGroup->ubIntention = STAGE;
pGroup1->pEnemyGroup->ubIntention = STAGE;
pGroup2->pEnemyGroup->ubIntention = STAGE;
pGroup3->pEnemyGroup->ubIntention = REINFORCEMENTS;
gGarrisonGroup[ SectorInfo[ ubSectorID ].ubGarrisonID ].ubPendingGroupID = pGroup3->ubGroupID;
} }
else else
{ //this should never happen (but if it did, then this is the best way to deal with it). { //this should never happen (but if it did, then this is the best way to deal with it).
pGroup->pEnemyGroup->ubIntention = PURSUIT; //pGroup->pEnemyGroup->ubIntention = PURSUIT;
pGroup0->pEnemyGroup->ubIntention = PURSUIT;
pGroup1->pEnemyGroup->ubIntention = PURSUIT;
pGroup2->pEnemyGroup->ubIntention = PURSUIT;
pGroup3->pEnemyGroup->ubIntention = PURSUIT;
} }
//Madd: unlimited reinforcements in Insane //Madd: unlimited reinforcements in Insane
if ( gGameOptions.ubDifficultyLevel < DIF_LEVEL_INSANE ) //if ( gGameOptions.ubDifficultyLevel < DIF_LEVEL_INSANE )
giReinforcementPool -= ubNumSoldiers; // giReinforcementPool -= ubNumSoldiers;
giReinforcementPool = max( giReinforcementPool, 0 ); giReinforcementPool = max( giReinforcementPool, 0 );
MoveSAIGroupToSector( &pGroup, ubSectorID, EVASIVE, pGroup->pEnemyGroup->ubIntention ); //MoveSAIGroupToSector( &pGroup, ubSectorID, EVASIVE, pGroup->pEnemyGroup->ubIntention );
MoveSAIGroupToSector( &pGroup0, SEC_D14, EVASIVE, pGroup0->pEnemyGroup->ubIntention );
MoveSAIGroupToSector( &pGroup1, SEC_E13, EVASIVE, pGroup1->pEnemyGroup->ubIntention );
MoveSAIGroupToSector( &pGroup2, SEC_D12, EVASIVE, pGroup2->pEnemyGroup->ubIntention );
MoveSAIGroupToSector( &pGroup3, SEC_D14, EVASIVE, pGroup3->pEnemyGroup->ubIntention );
break; break;
+1 -1
View File
@@ -1254,7 +1254,7 @@ BOOLEAN InAirRaid( )
BOOLEAN HandleAirRaidEndTurn( UINT8 ubTeam ) BOOLEAN HandleAirRaidEndTurn( UINT8 ubTeam )
{ {
return( TRUE ); return( TRUE ); // lal bugfix air raid hangs (remove to enable air raid)
if ( !gfInAirRaid ) if ( !gfInAirRaid )
{ {
+8
View File
@@ -2578,6 +2578,14 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_GL_HIGH_ANGLE ] ); ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_GL_HIGH_ANGLE ] );
} }
break; break;
case 'Q':
{
ExecuteStrategicAIAction( NPC_ACTION_SEND_SOLDIERS_TO_DRASSEN, 13, 4 );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Queen attack" );
}
break;
case 'G': case 'G':
if ( gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] ) if ( gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] )
{ {