mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
New feature: militia resources requires the player to convert items to resources to be able to train and promote militia
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8271 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1440,6 +1440,15 @@ BOOLEAN CanCharacterTrainMilitia( SOLDIERTYPE *pSoldier )
|
||||
if ( !GetVolunteerPool() )
|
||||
return FALSE;
|
||||
|
||||
if ( gGameExternalOptions.fMilitiaResources && !gGameExternalOptions.fMilitiaUseSectorInventory )
|
||||
{
|
||||
FLOAT val_gun, val_armour, val_misc;
|
||||
GetResources( val_gun, val_armour, val_misc );
|
||||
|
||||
if ( val_gun <= 1.0f )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Make sure the basic sector/merc variables are still applicable. This is simply a fail-safe.
|
||||
if( !BasicCanCharacterTrainMilitia( pSoldier ) )
|
||||
{
|
||||
@@ -6988,6 +6997,14 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
|
||||
if ( turnedmilitia[PRISONER_ADMIN] + turnedmilitia[PRISONER_REGULAR] + turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER] )
|
||||
{
|
||||
// we need to remove resources for these guys
|
||||
if ( gGameExternalOptions.fMilitiaResources && !gGameExternalOptions.fMilitiaUseSectorInventory )
|
||||
{
|
||||
AddResources( -turnedmilitia[PRISONER_ADMIN] - turnedmilitia[PRISONER_REGULAR] - (turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER]),
|
||||
-turnedmilitia[PRISONER_REGULAR] - (turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER]),
|
||||
-(turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER]) );
|
||||
}
|
||||
|
||||
// add these guys to the local garrison as green militias
|
||||
StrategicAddMilitiaToSector( sMapX, sMapY, GREEN_MILITIA, turnedmilitia[PRISONER_ADMIN] );
|
||||
StrategicAddMilitiaToSector( sMapX, sMapY, REGULAR_MILITIA, turnedmilitia[PRISONER_REGULAR] );
|
||||
@@ -18689,11 +18706,24 @@ BOOLEAN CanCharacterTrainMilitiaWithErrorReport( SOLDIERTYPE *pSoldier )
|
||||
|
||||
if ( !GetVolunteerPool() )
|
||||
{
|
||||
swprintf( sString, L"There are no volunteers for militia left!" );
|
||||
swprintf( sString, szSMilitiaResourceText[4] );
|
||||
DoScreenIndependantMessageBox( sString, MSG_BOX_FLAG_OK, NULL );
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
if ( gGameExternalOptions.fMilitiaResources && !gGameExternalOptions.fMilitiaUseSectorInventory )
|
||||
{
|
||||
FLOAT val_gun, val_armour, val_misc;
|
||||
GetResources( val_gun, val_armour, val_misc );
|
||||
|
||||
if ( val_gun <= 1.0f )
|
||||
{
|
||||
swprintf( sString, szSMilitiaResourceText[5] );
|
||||
DoScreenIndependantMessageBox( sString, MSG_BOX_FLAG_OK, NULL );
|
||||
return (FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if ( 100 <= GetMobileMilitiaQuota( TRUE ) )
|
||||
return ( FALSE );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user