From 832335d904e4ccf8c50c05629b7aec1668346909 Mon Sep 17 00:00:00 2001 From: Flugente Date: Thu, 2 Aug 2012 20:39:01 +0000 Subject: [PATCH] Improvement (by Tais): Weapons in the hands or gunsling position can also give a camo bonus. Can also be negative in regard to 'shiny' equipment git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5440 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Items.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 5b7597f9..d17a016e 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -11819,6 +11819,14 @@ INT16 GetWornCamo( SOLDIERTYPE * pSoldier ) ttl -= Item[pSoldier->inv[VESTPOS].usItem].camobonus; } } + + //tais: guns can be camouflaged, this will make gun camo have effect when in main/second hand or on gunsling, did a check for guns and nothing else, hope that's enough. + if (pSoldier->inv[HANDPOS].exists() == true && Item[pSoldier->inv[HANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetCamoBonus(&pSoldier->inv[HANDPOS]); + if (pSoldier->inv[SECONDHANDPOS].exists() == true && Item[pSoldier->inv[SECONDHANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetCamoBonus(&pSoldier->inv[SECONDHANDPOS]); + if (pSoldier->inv[GUNSLINGPOCKPOS].exists() == true && Item[pSoldier->inv[GUNSLINGPOCKPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetCamoBonus(&pSoldier->inv[GUNSLINGPOCKPOS]); } return __min( ttl, 100 ); @@ -11842,6 +11850,14 @@ INT16 GetWornUrbanCamo( SOLDIERTYPE * pSoldier ) if ( pSoldier->inv[bLoop].exists() == true ) ttl += GetUrbanCamoBonus(&pSoldier->inv[bLoop]); } + + //tais: guns can be camouflaged, this will make gun camo have effect when in main/second hand or on gunsling, did a check for guns and nothing else, hope that's enough. + if (pSoldier->inv[HANDPOS].exists() == true && Item[pSoldier->inv[HANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetUrbanCamoBonus(&pSoldier->inv[HANDPOS]); + if (pSoldier->inv[SECONDHANDPOS].exists() == true && Item[pSoldier->inv[SECONDHANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetUrbanCamoBonus(&pSoldier->inv[SECONDHANDPOS]); + if (pSoldier->inv[GUNSLINGPOCKPOS].exists() == true && Item[pSoldier->inv[GUNSLINGPOCKPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetUrbanCamoBonus(&pSoldier->inv[GUNSLINGPOCKPOS]); } return __min( ttl, 100 ); @@ -11865,6 +11881,14 @@ INT16 GetWornDesertCamo( SOLDIERTYPE * pSoldier ) if ( pSoldier->inv[bLoop].exists() == true ) ttl += GetDesertCamoBonus(&pSoldier->inv[bLoop]); } + + //tais: guns can be camouflaged, this will make gun camo have effect when in main/second hand or on gunsling, did a check for guns and nothing else, hope that's enough. + if (pSoldier->inv[HANDPOS].exists() == true && Item[pSoldier->inv[HANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetDesertCamoBonus(&pSoldier->inv[HANDPOS]); + if (pSoldier->inv[SECONDHANDPOS].exists() == true && Item[pSoldier->inv[SECONDHANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetDesertCamoBonus(&pSoldier->inv[SECONDHANDPOS]); + if (pSoldier->inv[GUNSLINGPOCKPOS].exists() == true && Item[pSoldier->inv[GUNSLINGPOCKPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetDesertCamoBonus(&pSoldier->inv[GUNSLINGPOCKPOS]); } return __min( ttl, 100 ); } @@ -11887,6 +11911,14 @@ INT16 GetWornSnowCamo( SOLDIERTYPE * pSoldier ) if ( pSoldier->inv[bLoop].exists() == true ) ttl += GetSnowCamoBonus(&pSoldier->inv[bLoop]); } + + //tais: guns can be camouflaged, this will make gun camo have effect when in main/second hand or on gunsling, did a check for guns and nothing else, hope that's enough. + if (pSoldier->inv[HANDPOS].exists() == true && Item[pSoldier->inv[HANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetSnowCamoBonus(&pSoldier->inv[HANDPOS]); + if (pSoldier->inv[SECONDHANDPOS].exists() == true && Item[pSoldier->inv[SECONDHANDPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetSnowCamoBonus(&pSoldier->inv[SECONDHANDPOS]); + if (pSoldier->inv[GUNSLINGPOCKPOS].exists() == true && Item[pSoldier->inv[GUNSLINGPOCKPOS].usItem].usItemClass & IC_WEAPON) + ttl += GetSnowCamoBonus(&pSoldier->inv[GUNSLINGPOCKPOS]); } return __min( ttl, 100 ); }