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
This commit is contained in:
silversurfer
2016-05-08 15:19:39 +00:00
parent 1a56d4a473
commit e43d1b3fb3
4 changed files with 26 additions and 13 deletions
+12 -3
View File
@@ -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.
+4
View File
@@ -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;
+1 -1
View File
@@ -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
{