diff --git a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp index dcf4d6911e..68b9773c44 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp @@ -4466,20 +4466,24 @@ void AIUpdateInterface::evaluateMoraleBonus( void ) //if ( draw && !us->isKindOf( KINDOF_PORTABLE_STRUCTURE ) ) // draw->setTerrainDecal(TERRAIN_DECAL_NONE); + // TheSuperHackers @bugfix GeneralCamo 06/03/2025 Corrected nationalism being applied regardless of horde status - issue #173 // horde - if( horde ) - { + if ( horde ) { us->setWeaponBonusCondition( WEAPONBONUSCONDITION_HORDE ); - } // end if - else + // nationalism + if (nationalism) { + us->setWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); + } + else { + us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); + } + } + else { us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_HORDE ); - - // nationalism - if( nationalism ) - us->setWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); - else us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); + } + // end @bugfix } // end if #ifdef ALLOW_DEMORALIZE diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp index b1d318aa25..e574a8d25f 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp @@ -4735,27 +4735,31 @@ void AIUpdateInterface::evaluateMoraleBonus( void ) //if ( draw && !us->isKindOf( KINDOF_PORTABLE_STRUCTURE ) ) // draw->setTerrainDecal(TERRAIN_DECAL_NONE); + // TheSuperHackers @bugfix GeneralCamo 06/03/2025 Corrected nationalism being applied regardless of horde status - issue #173 // horde - if( horde ) - { - us->setWeaponBonusCondition( WEAPONBONUSCONDITION_HORDE ); - - } // end if - else - us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_HORDE ); - - // nationalism - if( nationalism ) - { - us->setWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); - // fanaticism - if ( fanaticism ) - us->setWeaponBonusCondition( WEAPONBONUSCONDITION_FANATICISM );// FOR THE NEW GC INFANTRY GENERAL - else - us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_FANATICISM ); - } - else - us->clearWeaponBonusCondition( WEAPONBONUSCONDITION_NATIONALISM ); + if (horde) { + us->setWeaponBonusCondition(WEAPONBONUSCONDITION_HORDE); + + // nationalism + if (nationalism) { + us->setWeaponBonusCondition(WEAPONBONUSCONDITION_NATIONALISM); + } else { + us->clearWeaponBonusCondition(WEAPONBONUSCONDITION_NATIONALISM); + } + + // fanaticism + if (fanaticism) { + us->setWeaponBonusCondition(WEAPONBONUSCONDITION_FANATICISM);// FOR THE NEW GC INFANTRY GENERAL + } else { + us->clearWeaponBonusCondition(WEAPONBONUSCONDITION_FANATICISM); + } + + } else { + us->clearWeaponBonusCondition(WEAPONBONUSCONDITION_HORDE); + us->clearWeaponBonusCondition(WEAPONBONUSCONDITION_NATIONALISM); + us->clearWeaponBonusCondition(WEAPONBONUSCONDITION_FANATICISM); + } + // end @bugfix