Enemy roles improvement:

- lowered ENEMYROLES_TURNSTOUNCOVER
- increased ENEMY_MEDICS_SEARCHRADIUS
- new option: ENEMY_MEDICS_WOUND_MINAMOUNT controls how serious a wound must be before a medic considers it worthy of attention
- new option: ENEMY_MEDICS_HEAL_SELF: medics can heal themselves
- new option: ENEMY_OFFICERS_SURRENDERSTRENGTHBONUS adds a team surrender strength bonus for officers
- tanks cannot become medics, and can't be treated by them either
- Menubutton for Role symbol toggle is red if off and green if on
- wounded soldiers seek medics, max range is ENEMY_MEDICS_SEARCHRADIUS / 2
- direct sight line between medic and target is no longer required

- if hostile civilians allied to the army are in sector, their surrender strength is added to the enemy team

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7080 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-03-17 21:27:19 +00:00
parent b1ebd3ea6a
commit e1b581e466
10 changed files with 285 additions and 63 deletions
+20
View File
@@ -10265,6 +10265,26 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
}
}
// hostile civs
firstid = gTacticalStatus.Team[ CIV_TEAM ].bFirstID;
lastid = gTacticalStatus.Team[ CIV_TEAM ].bLastID;
for ( uiCnt = firstid, pSoldier = MercPtrs[ uiCnt ]; uiCnt <= lastid; ++uiCnt, ++pSoldier)
{
if( pSoldier->bActive && ( pSoldier->sSectorX == gWorldSectorX ) && ( pSoldier->sSectorY == gWorldSectorY ) && ( pSoldier->bSectorZ == gbWorldSectorZ) )
{
// if a civilian is not neutral and on the enemy side, add his strength to the team
if ( !pSoldier->aiData.bNeutral && pSoldier->bSide == 1 )
enemysidestrength += pSoldier->GetSurrenderStrength();
}
}
// enemy team gets a bonus if it has officers around
BOOL officertype = OFFICER_NONE;
if ( HighestEnemyOfficersInSector( officertype ) )
{
enemysidestrength = enemysidestrength * (1.0f + gGameExternalOptions.dEnemyOfficerSurrenderStrengthBonus * officertype);
}
// print out values
if ( gGameExternalOptions.fDisplaySurrenderSValues )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, New113Message[MSG113_SURRENDER_VALUES], playersidestrength, gGameExternalOptions.fSurrenderMultiplier * enemysidestrength );