From e43d1b3fb3b49e34bf9c11eeb358b4ece3910c17 Mon Sep 17 00:00:00 2001 From: silversurfer Date: Sun, 8 May 2016 15:19:39 +0000 Subject: [PATCH] Fix: The Brass Knuckles tag didn't count as bare hand attacks anymore since revision 6465. I changed that back because Martial Arts trait includes brass knuckle items. Single attack AP display of such items in EDB was fixed as well. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8207 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 18 +++++++++--------- Tactical/Interface Enhanced.cpp | 15 ++++++++++++--- Tactical/Items.cpp | 4 ++++ Tactical/Points.cpp | 2 +- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index e7b0d3a6..54f7e01d 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -15,9 +15,9 @@ #ifdef JA2EDITOR #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8207 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8207 (Development Build)" }; #endif // ------------------------------ @@ -27,11 +27,11 @@ //DEBUG BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8207 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8207 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8207 (Development Build)" }; #endif #elif defined CRIPPLED_VERSION @@ -46,16 +46,16 @@ //RELEASE BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8207 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8207 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Release v1.13.8204 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release v1.13.8207 (Development Build)" }; #endif #endif -CHAR8 czVersionNumber[16] = { "Build 16.05.06" }; //YY.MM.DD +CHAR8 czVersionNumber[16] = { "Build 16.05.08" }; //YY.MM.DD CHAR16 zTrackingNumber[16] = { L"Z" }; // SAVE_GAME_VERSION is defined in header, change it there diff --git a/Tactical/Interface Enhanced.cpp b/Tactical/Interface Enhanced.cpp index 86118291..68b2c2fa 100644 --- a/Tactical/Interface Enhanced.cpp +++ b/Tactical/Interface Enhanced.cpp @@ -6474,7 +6474,7 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject ) { static CHAR16 pStr[ 100 ]; INT16 usX, usY; - INT16 ubAttackAPs; + INT16 ubAttackAPs, ubBasicAttackAPs; UINT8 ubNumLine; OBJECTTYPE *gpComparedItemDescObject = NULL; @@ -6483,8 +6483,17 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject ) return; // ShotsPer4Turns -> ubAttackAPs, used later for all shot AP values - ubAttackAPs = BaseAPsToShootOrStab( APBPConstants[DEFAULT_APS], APBPConstants[DEFAULT_AIMSKILL], gpItemDescObject, gpItemDescSoldier ); - INT16 ubBasicAttackAPs = BaseAPsToShootOrStabNoModifier( APBPConstants[DEFAULT_APS], APBPConstants[DEFAULT_AIMSKILL], gpItemDescObject ); + // silversurfer: Knuckle Dusters count as bare hand attacks and use the AP_PUNCH constant. + if ( Item[gpItemDescObject->usItem].brassknuckles ) + { + ubAttackAPs = APBPConstants[AP_PUNCH]; + ubBasicAttackAPs = APBPConstants[AP_PUNCH]; + } + else + { + ubAttackAPs = BaseAPsToShootOrStab( APBPConstants[DEFAULT_APS], APBPConstants[DEFAULT_AIMSKILL], gpItemDescObject, gpItemDescSoldier ); + ubBasicAttackAPs = BaseAPsToShootOrStabNoModifier( APBPConstants[DEFAULT_APS], APBPConstants[DEFAULT_AIMSKILL], gpItemDescObject ); + } ////////////////////////////////////////////////////////////////////////////////////////// // The following attributes are only drawn when the UDB is set to show the General Page. diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 4255327a..7beb9793 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -15520,6 +15520,10 @@ FLOAT GetAttackAPTraitMultiplier( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObj, UINT8 { fMultiplier = (100 - gSkillTraitValues.ubMEBladesAPsReduction * NUM_SKILL_TRAITS( pSoldier, MELEE_NT ) ) / 100.0f; } + else if( Item[ pObj->usItem ].usItemClass == IC_PUNCH && Item[pObj->usItem].brassknuckles ) + { + fMultiplier = (100 - gSkillTraitValues.ubMAPunchAPsReduction * NUM_SKILL_TRAITS( pSoldier, MARTIAL_ARTS_NT ) ) / 100.0f; + } else if( Item[ pObj->usItem ].usItemClass == IC_THROWING_KNIFE ) { fMultiplier = (100 - gSkillTraitValues.ubTHBladesAPsReduction * NUM_SKILL_TRAITS( pSoldier, THROWING_NT ) ) / 100.0f; diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index 73293fc4..4f13ac4a 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -2560,7 +2560,7 @@ INT16 MinAPsToPunch(SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 ubAddTurningCost UINT16 usItem = pObjUsed->usItem; INT16 bFullAPs = pSoldier->CalcActionPoints(); INT16 bAimSkill = CalcAimSkill(pSoldier, pSoldier->inv[HANDPOS].usItem); - if(usItem == NONE/* || Item[usItem].brassknuckles*/) + if(usItem == NONE || Item[usItem].brassknuckles) bAPCost += ApsToPunch(pSoldier);// SANDRO - changed this to direct us to specific calc function else {