RADIO_OPERATOR_REINFORCEMENT_SETTING in Skills_Settings.ini controls under what conditions radio operators can call militia reinforcements.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8043 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2016-01-28 22:55:56 +00:00
parent d2be96384f
commit a0051c3b8d
4 changed files with 39 additions and 15 deletions
+28 -6
View File
@@ -7576,16 +7576,38 @@ BOOLEAN MoveEnemyFromGridNoToRoofGridNo( UINT32 sSourceGridNo, UINT32 sDestGridN
// Flugente: militia movement: can we order militia reinforcements from( sSrcMapX, sSrcMapY ) to( sMapX, sMapY ) ?
BOOLEAN CanRequestMilitiaReinforcements( INT16 sMapX, INT16 sMapY, INT16 sSrcMapX, INT16 sSrcMapY )
{
if ( !gGameExternalOptions.gfAllowReinforcements )
return FALSE;
// we can request reinforcements only inside towns
if ( GetTownIdForSector( sMapX, sMapY ) != BLANK_SECTOR && GetTownIdForSector( sMapX, sMapY ) != GetTownIdForSector( sSrcMapX, sSrcMapY ) )
if ( !gGameExternalOptions.gfAllowReinforcements || !gSkillTraitValues.usVOReinforcementSetting )
return FALSE;
// not possible of nobody is there
if ( !NumNonPlayerTeamMembersInSector( sSrcMapX, sSrcMapY, MILITIA_TEAM ) )
return FALSE;
return TRUE;
UINT8 townid_A = GetTownIdForSector( sMapX, sMapY );
UINT8 townid_B = GetTownIdForSector( sSrcMapX, sSrcMapY );
switch ( gSkillTraitValues.usVOReinforcementSetting )
{
// reinforcements allowed inside town
case 1:
if ( townid_A != BLANK_SECTOR && townid_A == townid_B )
return TRUE;
break;
// reinforcements allowed to and from town
case 2:
if ( townid_A != BLANK_SECTOR || townid_B != BLANK_SECTOR )
return TRUE;
break;
// reinforcements allowed everywhere
case 3:
return TRUE;
break;
default:
break;
}
return FALSE;
}