More turncoat-related fixes and tweaks (by rftr):

- added "recruit turncoat" to the talk menu
- recruiting turncoats now costs AP (AP_TALK in APBPConstants)
- fixed groups not decrementing soldiers when activating turncoats
- fixed a hang when activating a sector with 100% turncoats in realtime

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8988 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-04-29 06:28:40 +00:00
parent 61e6f4e98a
commit 59fba04ff5
12 changed files with 81 additions and 38 deletions
+6 -3
View File
@@ -3338,25 +3338,28 @@ bool RemoveOneTurncoat( INT16 sSectorX, INT16 sSectorY, UINT8 aSoldierClass )
switch ( aSoldierClass )
{
case SOLDIER_CLASS_ADMINISTRATOR:
if ( pGroup->pEnemyGroup->ubNumAdmins_Turncoat )
if ( pGroup->pEnemyGroup->ubNumAdmins_Turncoat && pGroup->ubGroupSize && pGroup->pEnemyGroup->ubNumAdmins )
{
pGroup->pEnemyGroup->ubNumAdmins_Turncoat--;
pGroup->pEnemyGroup->ubNumAdmins--;
pGroup->ubGroupSize--;
return true;
}
break;
case SOLDIER_CLASS_ARMY:
if ( pGroup->pEnemyGroup->ubNumTroops_Turncoat )
if ( pGroup->pEnemyGroup->ubNumTroops_Turncoat && pGroup->ubGroupSize && pGroup->pEnemyGroup->ubNumTroops )
{
pGroup->pEnemyGroup->ubNumTroops_Turncoat--;
pGroup->pEnemyGroup->ubNumTroops--;
pGroup->ubGroupSize--;
return true;
}
break;
case SOLDIER_CLASS_ELITE:
if ( pGroup->pEnemyGroup->ubNumElites_Turncoat )
if ( pGroup->pEnemyGroup->ubNumElites_Turncoat && pGroup->ubGroupSize && pGroup->pEnemyGroup->ubNumElites )
{
pGroup->pEnemyGroup->ubNumElites_Turncoat--;
pGroup->pEnemyGroup->ubNumElites--;
pGroup->ubGroupSize--;
return true;
}