From 099ce1722595be4dbce12b6afe5115fa8785f5b2 Mon Sep 17 00:00:00 2001 From: Wanne Date: Tue, 7 Nov 2006 21:25:26 +0000 Subject: [PATCH] - bugfix: Wrong APs deduction from stealing - bugfix: Prevent Nada objects from stealing git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@622 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.suo | Bin 197632 -> 197632 bytes Tactical/Interface Items.cpp | 4 ++ Tactical/Points.cpp | 5 +- Tactical/Weapons.cpp | 97 ++++++++++++++++++++++++++--------- Utils/_DutchText.cpp | 2 +- Utils/_EnglishText.cpp | 2 +- Utils/_FrenchText.cpp | 2 +- Utils/_GermanText.cpp | 2 +- Utils/_ItalianText.cpp | 2 +- Utils/_PolishText.cpp | 2 +- Utils/_RussianText.cpp | 2 +- 11 files changed, 88 insertions(+), 32 deletions(-) diff --git a/JA2.suo b/JA2.suo index 06ec7029cfbd2a3e658fa4cbe0fda9e12766b4a7..e3b5804918fecfaff201f74f3ef940ba3ff16ad0 100644 GIT binary patch delta 17341 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 K{09`5<^Ka~cs5M{ literal 197632 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 F{vY$F9(e!& diff --git a/Tactical/Interface Items.cpp b/Tactical/Interface Items.cpp index cdc41082..f59ae822 100644 --- a/Tactical/Interface Items.cpp +++ b/Tactical/Interface Items.cpp @@ -7022,6 +7022,8 @@ void ItemPickMenuMouseMoveCallback( MOUSE_REGION * pRegion, INT32 iReason ) if ( !bChecked ) { + // WANNE: There is a big bug in the stealing routine. + /* // Show compatible ammo... pTempItemPool = gItemPickupMenu.ItemPoolSlots[ gItemPickupMenu.bCurSelect - gItemPickupMenu.ubScrollAnchor ]; @@ -7041,6 +7043,8 @@ void ItemPickMenuMouseMoveCallback( MOUSE_REGION * pRegion, INT32 iReason ) // Nonomori: Fix crash caused by stealing ammo in a sector with no items loaded. // HandleAnyMercInSquadHasCompatibleStuff( (INT8)CurrentSquad( ), &(gWorldItems[ pTempItemPool->iItemIndex ].o ), FALSE ); HandleAnyMercInSquadHasCompatibleStuff( (INT8)CurrentSquad( ), pCompAmmoObject, FALSE ); + */ + SetItemPickupMenuDirty( DIRTYLEVEL2 ); diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index 279ef2f6..d4338a1d 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -2243,7 +2243,10 @@ INT8 GetAPsToStealItem( SOLDIERTYPE *pSoldier, INT16 usMapPos ) { UINT16 sAPCost = 0; - sAPCost = PlotPath( pSoldier, usMapPos, NO_COPYROUTE, NO_PLOT, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ); + if (usMapPos != -1) + { + sAPCost = PlotPath( pSoldier, usMapPos, NO_COPYROUTE, NO_PLOT, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ); + } // ADD APS TO PICKUP sAPCost += AP_STEAL_ITEM; diff --git a/Tactical/Weapons.cpp b/Tactical/Weapons.cpp index 073fafc6..b32368fd 100644 --- a/Tactical/Weapons.cpp +++ b/Tactical/Weapons.cpp @@ -2164,16 +2164,22 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo, BOOLEAN fStea UINT16 usOldItem; UINT8 ubExpGain; UINT8 ubIndexRet; - BOOLEAN fFailure; + BOOLEAN fFailure; // no stealing occured + BOOLEAN fNoMoreItems; // The enemy has no more items to steal! // Deduct points! // August 13 2002: unless stealing - APs already deducted elsewhere -// if (!fStealing) + // Punch the enemy + if (!fStealing) { sAPCost = CalcTotalAPsToAttack( pSoldier, sTargetGridNo, FALSE, pSoldier->bAimTime ); - DeductPoints( pSoldier, sAPCost, 0 ); } + // Steal from the enemy + else + { + // APs were already reduced! + } // See if a guy is here! pTargetSoldier = SimpleFindSoldier( sTargetGridNo, pSoldier->bTargetLevel ); @@ -2188,6 +2194,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo, BOOLEAN fStea if (fStealing) { + // Calculate the possible chance to steal! if ( AM_A_ROBOT( pTargetSoldier ) || TANK( pTargetSoldier ) || CREATURE_OR_BLOODCAT( pTargetSoldier ) || TANK( pTargetSoldier ) ) { iHitChance = 0; @@ -2232,28 +2239,41 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo, BOOLEAN fStea // GET TARGET XY VALUES ConvertGridNoToCenterCellXY( sTargetGridNo, &sXMapPos, &sYMapPos ); -if (fStealing ) + // ----------------------------------- + // Steal from the Enemy + // ----------------------------------- + if (fStealing ) { fFailure=FALSE; - if ( iDiceRoll <= iHitChance ) + + // Do we have luck on stealing? + if ( iDiceRoll <= iHitChance && iHitChance > 0 ) { - if ( pSoldier->bTeam == gbPlayerNum && pTargetSoldier->bTeam != gbPlayerNum && !(pTargetSoldier->uiStatusFlags & SOLDIER_VEHICLE) && !AM_A_ROBOT( pTargetSoldier ) && !TANK( pTargetSoldier ) ) - { - // made a steal; give experience - StatChange( pSoldier, STRAMT, 8, FALSE ); - StatChange( pSoldier, DEXTAMT, 3, FALSE ); - StatChange( pSoldier, AGILAMT, 3, FALSE ); - } + // Do we have the chance to steal more than 1 item? if (( iDiceRoll <= iHitChance * 2 / 3) || (pTargetSoldier->bCollapsed)) { - if (StealItems(pSoldier, pTargetSoldier,&ubIndexRet) == 1) + INT16 sNumStolenItems = StealItems(pSoldier, pTargetSoldier,&ubIndexRet); + + // We have only stolen 1 item, because the enemy has not more than one item. + if ( sNumStolenItems == 1) { ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, Message[ STR_STOLE_SOMETHING ], pSoldier->name, ShortItemNames[ pTargetSoldier->inv[ubIndexRet].usItem ] ); + + // Try to place the item in the merc inventory if (!AutoPlaceObject( pSoldier, &(pTargetSoldier->inv[ubIndexRet]), TRUE )) + { + // Place the item on the ground AddItemToPool( pSoldier->sGridNo, &(pTargetSoldier->inv[HANDPOS]), 1, pSoldier->bLevel, 0, -1 ); + } DeleteObj( &(pTargetSoldier->inv[ubIndexRet]) ); } + // The enemy has no more items to steal + else if (sNumStolenItems == 0) + { + fNoMoreItems = TRUE; + } } + // We had not much luck, so we can only steal 1 item. else if ( pTargetSoldier->inv[HANDPOS].usItem != NOTHING ) { ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, Message[ STR_STOLE_SOMETHING ], pSoldier->name, ShortItemNames[ pTargetSoldier->inv[HANDPOS].usItem ] ); @@ -2279,46 +2299,75 @@ if (fStealing ) // Reload buddy's animation... ReLoadSoldierAnimationDueToHandItemChange( pTargetSoldier, usOldItem, NOTHING ); } + // Steal was successfull, but the enemy had nothing to steal (we had stolen the Nada item) else { - fFailure=TRUE; + fNoMoreItems = TRUE; + //fFailure=TRUE; } // Reload buddy's animation... //ReLoadSoldierAnimationDueToHandItemChange( pTargetSoldier, usOldItem, NOTHING ); } + // We could not steal from the enemy, we had no luck else { fFailure=TRUE; } + + // We failed to steal something! if (fFailure) { - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, - Message[ STR_FAILED_TO_STEAL_SOMETHING ], - pSoldier->name, ShortItemNames[ pTargetSoldier->inv[HANDPOS].usItem ] ); - if ( pSoldier->bTeam == gbPlayerNum ) + // Only report if it was not the Nada item! + if (pTargetSoldier->inv[HANDPOS].usItem != NOTHING) { - DoMercBattleSound( pSoldier, BATTLE_SOUND_CURSE1 ); + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, + Message[ STR_FAILED_TO_STEAL_SOMETHING ], + pSoldier->name, ShortItemNames[ pTargetSoldier->inv[HANDPOS].usItem ] ); + + if ( pSoldier->bTeam == gbPlayerNum ) + { + DoMercBattleSound( pSoldier, BATTLE_SOUND_CURSE1 ); + } } + } + // The enemy had no more items to steal, or we had stolen the Nada item + if (fNoMoreItems == TRUE) + { + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, + Message[ STR_NO_MORE_ITEMS_TO_STEAL ], + pSoldier->name, ShortItemNames[ pTargetSoldier->inv[HANDPOS].usItem ] ); + } - if ( iHitChance > 0 && pSoldier->bTeam == gbPlayerNum && pTargetSoldier->bTeam != gbPlayerNum && !(pTargetSoldier->uiStatusFlags & SOLDIER_VEHICLE) && !AM_A_ROBOT( pTargetSoldier ) && !TANK( pTargetSoldier ) ) - { + // Give some experience + if ( iHitChance > 0 && pSoldier->bTeam == gbPlayerNum && pTargetSoldier->bTeam != gbPlayerNum && !(pTargetSoldier->uiStatusFlags & SOLDIER_VEHICLE) && !AM_A_ROBOT( pTargetSoldier ) && !TANK( pTargetSoldier ) ) + { + if (fFailure == FALSE) + { + // We were successfull in stealing. Give some experience + StatChange( pSoldier, STRAMT, 8, FALSE ); + StatChange( pSoldier, DEXTAMT, 3, FALSE ); + StatChange( pSoldier, AGILAMT, 3, FALSE ); + } + else + { // failed a steal; give some experience StatChange( pSoldier, STRAMT, 4, FROM_FAILURE ); StatChange( pSoldier, DEXTAMT, 1, FROM_FAILURE ); StatChange( pSoldier, AGILAMT, 1, FROM_FAILURE ); } - } #ifdef JA2BETAVERSION DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Freeing up attacker - steal") ); #endif FreeUpAttacker( (UINT8) pSoldier->ubID ); - } + + // ----------------------------------- + // Punch, Kick the Enemy + // ----------------------------------- else { - // ATE/CC: if doing ninja spin kick (only), automatically make it a hit if ( pSoldier->usAnimState == NINJA_SPINKICK) { diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index c0bd24c2..90c296cb 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -285,7 +285,7 @@ UINT16 Message[][STRING_LENGTH] = L"Beurt bloodcats", L"automatic", L"no full auto", - L"No more items to steal!", + L"The enemy has no more items to steal!", // WANNE }; diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 41b8ba3d..a3bf280a 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -300,7 +300,7 @@ UINT16 Message[][STRING_LENGTH] = L"accurate", L"inaccurate", L"no semi auto", - L"No more items to steal!", // WANNE + L"The enemy has no more items to steal!", // WANNE }; diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 5c1d1c17..bb0dcd7d 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -291,7 +291,7 @@ UINT16 Message[][STRING_LENGTH] = L"Tour des chats sauvages", L"automatic", L"no full auto", - L"No more items to steal!", + L"The enemy has no more items to steal!", // WANNE }; diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index e6f3f9c1..2d47c221 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -293,7 +293,7 @@ UINT16 Message[][STRING_LENGTH] = L"genau", L"ungenau", L"kein Einzelschuss", - L"Es sind keine Gegenstände mehr zum Stehlen vorhanden!", + L"Der Gegner besitzt keine Gegenstände mehr zum Stehlen!", }; CHAR16 pTownNames[MAX_TOWNS][MAX_TOWN_NAME_LENGHT] = diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 1db603d1..61777e40 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -284,7 +284,7 @@ UINT16 Message[][STRING_LENGTH] = L"Turno dei Bloodcat", L"automatic", L"no full auto", - L"No more items to steal!", + L"The enemy has no more items to steal!", // WANNE }; diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 61e20f51..0588ad16 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -285,7 +285,7 @@ UINT16 Message[][STRING_LENGTH] = L"Tura dzikich kotów", L"automatic", L"no full auto", - L"No more items to steal!", + L"The enemy has no more items to steal!", // WANNE }; diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 3bface50..2f534166 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -292,7 +292,7 @@ UINT16 Message[][STRING_LENGTH] = L"accurate", L"inaccurate", L"no semi auto", - L"No more items to steal!", + L"The enemy has no more items to steal!", // WANNE };