From b0ef70dbb86d679ae366bc3811b309e628a0f3b8 Mon Sep 17 00:00:00 2001 From: lalien Date: Sat, 24 Feb 2007 10:13:46 +0000 Subject: [PATCH] - Tactical militia command: stopped merc from moving to militia in combat if he doesn't have a headset (radio) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@736 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 4 +-- JA2.vcproj | 2 +- Tactical/Handle UI.cpp | 73 +++++++++++++++++++++++------------------- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index 68f547f3..f0eb8843 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -23,12 +23,12 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.728" }; + INT16 zVersionLabel[256] = { L"Release v1.13.736" }; #endif -INT8 czVersionNumber[16] = { "Build 07.02.22" }; //YY.MM.DD +INT8 czVersionNumber[16] = { "Build 07.02.24" }; //YY.MM.DD INT16 zTrackingNumber[16] = { L"Z" }; diff --git a/JA2.vcproj b/JA2.vcproj index 8c80fa9c..d1cc2a01 100644 --- a/JA2.vcproj +++ b/JA2.vcproj @@ -546,7 +546,7 @@ commandRange ) && ( !CheckIfRadioIsEquipped() ) ) //lal { - // First get an adjacent gridno.... - sActionGridNo = FindAdjacentGridEx( pSoldier, pTSoldier->sGridNo, &ubDirection, NULL, FALSE, TRUE ); - - if ( sActionGridNo == -1 ) - { - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_PATH ] ); - return( FALSE ); - } - - if ( UIPlotPath( pSoldier, sActionGridNo, NO_COPYROUTE, FALSE, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ) == 0 ) - { - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_PATH ] ); - return( FALSE ); - } - - // Walk up and talk to buddy.... - gfNPCCircularDistLimit = TRUE; - sGoodGridNo = FindGridNoFromSweetSpotWithStructData( pSoldier, pSoldier->usUIMovementMode, pTSoldier->sGridNo, (NPC_TALK_RADIUS-1), &ubNewDirection, TRUE ); - gfNPCCircularDistLimit = FALSE; - - // First calculate APs and validate... - sAPCost = AP_TALK; - //sAPCost += UIPlotPath( pSoldier, sGoodGridNo, NO_COPYROUTE, FALSE, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ); - - // Check AP cost... - if ( !EnoughPoints( pSoldier, sAPCost, 0, TRUE ) ) + if( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) ) { return( FALSE ); } + else + { + // First get an adjacent gridno.... + sActionGridNo = FindAdjacentGridEx( pSoldier, pTSoldier->sGridNo, &ubDirection, NULL, FALSE, TRUE ); - // Now walkup to talk.... - pSoldier->ubPendingAction = MERC_TALK; - pSoldier->uiPendingActionData1 = pTSoldier->ubID; - pSoldier->ubPendingActionAnimCount = 0; + if ( sActionGridNo == -1 ) + { + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_PATH ] ); + return( FALSE ); + } - // WALK UP TO DEST FIRST - EVENT_InternalGetNewSoldierPath( pSoldier, sGoodGridNo, pSoldier->usUIMovementMode , TRUE , pSoldier->fNoAPToFinishMove ); + if ( UIPlotPath( pSoldier, sActionGridNo, NO_COPYROUTE, FALSE, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ) == 0 ) + { + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_PATH ] ); + return( FALSE ); + } - return( FALSE ); + // Walk up and talk to buddy.... + gfNPCCircularDistLimit = TRUE; + sGoodGridNo = FindGridNoFromSweetSpotWithStructData( pSoldier, pSoldier->usUIMovementMode, pTSoldier->sGridNo, (NPC_TALK_RADIUS-1), &ubNewDirection, TRUE ); + gfNPCCircularDistLimit = FALSE; + + // First calculate APs and validate... + sAPCost = AP_TALK; + //sAPCost += UIPlotPath( pSoldier, sGoodGridNo, NO_COPYROUTE, FALSE, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints ); + + // Check AP cost... + if ( !EnoughPoints( pSoldier, sAPCost, 0, TRUE ) ) + { + return( FALSE ); + } + + // Now walkup to talk.... + pSoldier->ubPendingAction = MERC_TALK; + pSoldier->uiPendingActionData1 = pTSoldier->ubID; + pSoldier->ubPendingActionAnimCount = 0; + + // WALK UP TO DEST FIRST + EVENT_InternalGetNewSoldierPath( pSoldier, sGoodGridNo, pSoldier->usUIMovementMode , TRUE , pSoldier->fNoAPToFinishMove ); + + return( FALSE ); + } } else {