mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
-continuation of last update
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@157 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -613,7 +613,7 @@ void DisplayRangeToTarget( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo )
|
||||
if( WeaponInHand( pSoldier ) )
|
||||
{
|
||||
UINT32 uiHitChance;
|
||||
uiHitChance = CalcChanceToHitGun( pSoldier, sTargetGridNo, (INT8)(pSoldier->bShownAimTime / 2), pSoldier->bAimShotLocation );
|
||||
uiHitChance = CalcChanceToHitGun( pSoldier, sTargetGridNo, (INT8)(pSoldier->bShownAimTime ), pSoldier->bAimShotLocation );
|
||||
|
||||
swprintf( zOutputString, zNewTacticalMessages[ TCTL_MSG__GUN_RANGE_AND_CTH ], Weapon[ pSoldier->inv[HANDPOS].usItem ].usRange / 10, uiHitChance );
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ BOOLEAN AddUIPlan( UINT16 sGridNo, UINT8 ubPlanID )
|
||||
}
|
||||
else if ( ubPlanID == UIPLAN_ACTION_FIRE )
|
||||
{
|
||||
sAPCost = CalcTotalAPsToAttack( gpUIPlannedSoldier, sGridNo, TRUE, (INT8)(gpUIPlannedSoldier->bShownAimTime /2) );
|
||||
sAPCost = CalcTotalAPsToAttack( gpUIPlannedSoldier, sGridNo, TRUE, (INT8)(gpUIPlannedSoldier->bShownAimTime ) );
|
||||
|
||||
// Get XY from Gridno
|
||||
ConvertGridNoToCenterCellXY( sGridNo, &sXPos, &sYPos );
|
||||
|
||||
@@ -2390,7 +2390,7 @@ void UIHandleMercAttack( SOLDIERTYPE *pSoldier , SOLDIERTYPE *pTargetSoldier, UI
|
||||
}
|
||||
|
||||
// Set aim time to one in UI
|
||||
pSoldier->bAimTime = (pSoldier->bShownAimTime/2);
|
||||
pSoldier->bAimTime = (pSoldier->bShownAimTime );
|
||||
usItem = pSoldier->inv[ HANDPOS ].usItem;
|
||||
|
||||
// ATE: Check if we are targeting an interactive tile, and adjust gridno accordingly...
|
||||
@@ -2893,7 +2893,7 @@ BOOLEAN SelectedMercCanAffordAttack( )
|
||||
sTargetGridNo = usMapPos;
|
||||
}
|
||||
|
||||
sAPCost = CalcTotalAPsToAttack( pSoldier, sTargetGridNo, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
sAPCost = CalcTotalAPsToAttack( pSoldier, sTargetGridNo, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
|
||||
if ( EnoughPoints( pSoldier, sAPCost, 0, TRUE ) )
|
||||
{
|
||||
|
||||
+5
-5
@@ -885,12 +885,12 @@ UINT8 CalcAPsToBurst( INT8 bBaseActionPoints, OBJECTTYPE * pObj )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToBurst: before bonus aps = %d, std bonus = %d, burst bonus = %d", aps,GetPercentAPReduction(pObj),GetPercentBurstFireAPReduction(pObj)));
|
||||
// Snap: do this a little differently: % reduction means
|
||||
// aps <- aps * ( 100 - red ) / 100
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) + 50 ) / 100;
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) ) / 100;
|
||||
|
||||
// Snap: moved this up to allow burst AP reduction up to 100%
|
||||
aps = __max( aps, ( Weapon[ pObj->usItem ].bBurstAP + 1 ) / 2 );
|
||||
|
||||
aps = ( aps * ( 100 - GetPercentBurstFireAPReduction(pObj) ) + 50 ) / 100;
|
||||
aps = ( aps * ( 100 - GetPercentBurstFireAPReduction(pObj) ) ) / 100;
|
||||
|
||||
if ( aps < 0 ) aps = 0;
|
||||
else if ( aps > AP_MAXIMUM ) aps = AP_MAXIMUM;
|
||||
@@ -933,12 +933,12 @@ UINT8 CalcAPsToAutofire( INT8 bBaseActionPoints, OBJECTTYPE * pObj, UINT8 bDoAut
|
||||
//}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToAutoFire: before bonus aps = %d, std bonus = %d, auto bonus = %d", aps,GetPercentAPReduction(pObj),GetPercentAutofireAPReduction(pObj)));
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) + 50 ) / 100;
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) ) / 100;
|
||||
|
||||
aps = __max( aps, ( autofireaps + 1 ) / 2 );
|
||||
|
||||
// Snap: extend the burst bonus to autofire as well?
|
||||
aps = ( aps * ( 100 - GetPercentAutofireAPReduction(pObj) ) + 50 ) / 100;
|
||||
aps = ( aps * ( 100 - GetPercentAutofireAPReduction(pObj) ) ) / 100;
|
||||
|
||||
if ( aps < 0 ) aps = 0;
|
||||
else if ( aps > AP_MAXIMUM ) aps = AP_MAXIMUM;
|
||||
@@ -2033,7 +2033,7 @@ INT16 GetAPsToReadyWeapon( SOLDIERTYPE *pSoldier, UINT16 usAnimState )
|
||||
if ( Item[ usItem ].usItemClass == IC_GUN )
|
||||
{
|
||||
return ( Weapon[ usItem ].ubReadyTime
|
||||
* ( 100 - GetPercentReadyTimeAPReduction(&pSoldier->inv[ HANDPOS ]) ) + 50 ) / 100;
|
||||
* ( 100 - GetPercentReadyTimeAPReduction(&pSoldier->inv[ HANDPOS ]) ) ) / 100;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2563,6 +2563,18 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_DROP_ALL_ON ] );
|
||||
}
|
||||
break;
|
||||
case 'q':
|
||||
if ( gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE] )
|
||||
{
|
||||
gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE] = FALSE;
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_GL_LOW_ANGLE ] );
|
||||
}
|
||||
else
|
||||
{
|
||||
gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE] = TRUE;
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_GL_HIGH_ANGLE ] );
|
||||
}
|
||||
break;
|
||||
case 'G':
|
||||
if ( gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] )
|
||||
{
|
||||
|
||||
+148
-22
@@ -321,6 +321,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
BOOLEAN fMaxPointLimitHit = FALSE;
|
||||
UINT16 usInHand;
|
||||
|
||||
UINT8 maxAimLevels = AllowedAimingLevels(pSoldier);
|
||||
|
||||
usInHand = pSoldier->inv[ HANDPOS ].usItem;
|
||||
|
||||
@@ -390,7 +391,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
else
|
||||
gfUIAutofireBulletCount = FALSE;
|
||||
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
gfUIDisplayActionPoints = TRUE;
|
||||
gfUIDisplayActionPointsCenter = TRUE;
|
||||
|
||||
@@ -398,7 +399,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
while(!EnoughPoints( pSoldier, gsCurrentActionPoints, 0 , FALSE ) && pSoldier->bDoAutofire > 1) //oops, we don't have enough points if we are in auto-fire try to decrease bulletcount
|
||||
{
|
||||
pSoldier->bDoAutofire--;
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
}
|
||||
|
||||
// If we don't have any points and we are at the first refine, do nothing but warn!
|
||||
@@ -410,11 +411,11 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
}
|
||||
else
|
||||
{
|
||||
bFutureAim = (INT8)( pSoldier->bShownAimTime + 2 );
|
||||
bFutureAim = (INT8)( pSoldier->bShownAimTime + 1 );
|
||||
|
||||
if ( bFutureAim <= REFINE_AIM_5 )
|
||||
if ( bFutureAim <= maxAimLevels )
|
||||
{
|
||||
sAPCosts = MinAPsToAttack( pSoldier, usMapPos, TRUE ) + ( bFutureAim / 2 );
|
||||
sAPCosts = MinAPsToAttack( pSoldier, usMapPos, TRUE ) + ( bFutureAim );
|
||||
|
||||
// Determine if we can afford!
|
||||
if ( !EnoughPoints( pSoldier, (INT16)sAPCosts, 0 , FALSE ) )
|
||||
@@ -443,9 +444,9 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
{
|
||||
pSoldier->bShownAimTime++;
|
||||
|
||||
if ( pSoldier->bShownAimTime > REFINE_AIM_5 )
|
||||
if ( pSoldier->bShownAimTime > maxAimLevels )
|
||||
{
|
||||
pSoldier->bShownAimTime = REFINE_AIM_5;
|
||||
pSoldier->bShownAimTime = maxAimLevels;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -551,7 +552,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
if(gGameSettings.fOptions[ TOPTION_CTH_CURSOR ])
|
||||
{
|
||||
UINT32 uiHitChance;
|
||||
uiHitChance = CalcChanceToHitGun( pSoldier, usMapPos, (INT8)(pSoldier->bShownAimTime / 2), pSoldier->bAimShotLocation );
|
||||
uiHitChance = CalcChanceToHitGun( pSoldier, usMapPos, (INT8)(pSoldier->bShownAimTime ), pSoldier->bAimShotLocation );
|
||||
|
||||
gfUICtHBar = TRUE;
|
||||
gbCtH = (gbCtH+uiHitChance)/2;
|
||||
@@ -733,21 +734,144 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos, BOOLE
|
||||
|
||||
case REFINE_AIM_MID1:
|
||||
|
||||
usCursor = ACTION_TARGETAIM2_UICURSOR;
|
||||
//usCursor = ACTION_TARGETAIM2_UICURSOR;
|
||||
if ( Item[ usInHand ].usItemClass == IC_THROWING_KNIFE )
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_THROWAIMYELLOW1_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_THROWAIM2_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_THROWAIMCANT1_UICURSOR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMYELLOW1_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIM2_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMCANT1_UICURSOR;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case REFINE_AIM_MID2:
|
||||
|
||||
usCursor = ACTION_TARGETAIM4_UICURSOR;
|
||||
//usCursor = ACTION_TARGETAIM4_UICURSOR;
|
||||
if ( Item[ usInHand ].usItemClass == IC_THROWING_KNIFE )
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_THROWAIMYELLOW3_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_THROWAIM4_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_THROWAIMCANT3_UICURSOR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMYELLOW3_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIM4_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMCANT3_UICURSOR;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case REFINE_AIM_MID3:
|
||||
|
||||
usCursor = ACTION_TARGETAIM6_UICURSOR;
|
||||
//usCursor = ACTION_TARGETAIM6_UICURSOR;
|
||||
|
||||
if ( Item[ usInHand ].usItemClass == IC_THROWING_KNIFE )
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_THROWAIMYELLOW4_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_THROWAIM6_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_THROWAIMCANT4_UICURSOR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMYELLOW4_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIM6_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMCANT4_UICURSOR;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case REFINE_AIM_MID4:
|
||||
usCursor = ACTION_TARGETAIM8_UICURSOR;
|
||||
//usCursor = ACTION_TARGETAIM8_UICURSOR;
|
||||
if ( Item[ usInHand ].usItemClass == IC_THROWING_KNIFE )
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_THROWAIMFULL_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_THROWAIM8_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_THROWAIMCANT5_UICURSOR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gfDisplayFullCountRing )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMFULL_UICURSOR;
|
||||
}
|
||||
else if ( fEnoughPoints )
|
||||
{
|
||||
usCursor = ACTION_TARGETAIM8_UICURSOR;
|
||||
}
|
||||
else
|
||||
{
|
||||
usCursor = ACTION_TARGETAIMCANT5_UICURSOR;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -829,7 +953,7 @@ UINT8 HandleNonActivatedTargetCursor( SOLDIERTYPE *pSoldier, UINT16 usMapPos , B
|
||||
{
|
||||
DetermineCursorBodyLocation( (UINT8)gusSelectedSoldier, fShowAPs, fRecalc );
|
||||
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
|
||||
gfUIDisplayActionPoints = TRUE;
|
||||
gfUIDisplayActionPointsCenter = TRUE;
|
||||
@@ -1180,7 +1304,7 @@ UINT8 HandleKnifeCursor( SOLDIERTYPE *pSoldier, UINT16 sGridNo, BOOLEAN fActivat
|
||||
// Calculate action points
|
||||
if ( gTacticalStatus.uiFlags & TURNBASED && (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||
{
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
gfUIDisplayActionPoints = TRUE;
|
||||
gfUIDisplayActionPointsCenter = TRUE;
|
||||
|
||||
@@ -1308,7 +1432,7 @@ UINT8 HandlePunchCursor( SOLDIERTYPE *pSoldier, UINT16 sGridNo, BOOLEAN fActivat
|
||||
// Calculate action points
|
||||
if ( gTacticalStatus.uiFlags & TURNBASED )
|
||||
{
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
gfUIDisplayActionPoints = TRUE;
|
||||
gfUIDisplayActionPointsCenter = TRUE;
|
||||
|
||||
@@ -1487,7 +1611,7 @@ UINT8 HandleNonActivatedTossCursor( SOLDIERTYPE *pSoldier, UINT16 sGridNo, BOOLE
|
||||
{
|
||||
if ( ubItemCursor == TRAJECTORYCURS )
|
||||
{
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime / 2) );
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, sGridNo, TRUE, (INT8)(pSoldier->bShownAimTime ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1864,6 +1988,8 @@ void HandleRightClickAdjustCursor( SOLDIERTYPE *pSoldier, INT16 usMapPos )
|
||||
|
||||
ubCursor = GetActionModeCursor( pSoldier );
|
||||
|
||||
UINT8 maxAimLevels = AllowedAimingLevels(pSoldier);
|
||||
|
||||
// 'snap' cursor to target tile....
|
||||
if ( gfUIFullTargetFound )
|
||||
{
|
||||
@@ -1949,19 +2075,19 @@ void HandleRightClickAdjustCursor( SOLDIERTYPE *pSoldier, INT16 usMapPos )
|
||||
}
|
||||
}
|
||||
|
||||
bFutureAim = (INT8)( pSoldier->bShownAimTime + 2 );
|
||||
bFutureAim = (INT8)( pSoldier->bShownAimTime + 1 );
|
||||
|
||||
if ( bFutureAim <= REFINE_AIM_5 )
|
||||
if ( bFutureAim <= maxAimLevels )
|
||||
{
|
||||
sAPCosts = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(bFutureAim / 2) );
|
||||
sAPCosts = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(bFutureAim ) );
|
||||
|
||||
// Determine if we can afford!
|
||||
if ( EnoughPoints( pSoldier, sAPCosts, 0, FALSE ) )
|
||||
{
|
||||
pSoldier->bShownAimTime+= 2;
|
||||
if ( pSoldier->bShownAimTime > REFINE_AIM_5 )
|
||||
pSoldier->bShownAimTime+= 1;
|
||||
if ( pSoldier->bShownAimTime > maxAimLevels )
|
||||
{
|
||||
pSoldier->bShownAimTime = REFINE_AIM_5;
|
||||
pSoldier->bShownAimTime = maxAimLevels;
|
||||
}
|
||||
}
|
||||
// Else - goto first level!
|
||||
|
||||
@@ -5535,7 +5535,7 @@ INT8 GetAPsToReload( OBJECTTYPE *pObj )
|
||||
// DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("GetAPsToReload"));
|
||||
|
||||
return ( Weapon[ pObj->usItem ].APsToReload *
|
||||
( 100 - GetPercentReloadTimeAPReduction(pObj) ) + 50 ) / 100;
|
||||
( 100 - GetPercentReloadTimeAPReduction(pObj) ) ) / 100;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#define INDOORS_START_ANGLE (FLOAT)( PI/30 )
|
||||
//#define INDOORS_START_ANGLE (FLOAT)( 0 )
|
||||
#define GLAUNCHER_START_ANGLE (FLOAT)( PI/8 )
|
||||
#define GLAUNCHER_HIGHER_LEVEL_START_ANGLE (FLOAT)( PI/6 )
|
||||
#define GLAUNCHER_HIGHER_LEVEL_START_ANGLE (FLOAT)( PI/6 )
|
||||
|
||||
#define GET_THROW_HEIGHT( l ) (INT16)( ( l * 256 ) )
|
||||
//#define GET_SOLDIER_THROW_HEIGHT( l ) (INT16)( ( l * 256 ) + STANDING_HEIGHT )
|
||||
@@ -1837,7 +1837,6 @@ DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("physics.cpp line 1750"));
|
||||
// OK, look at target level and decide angle to use...
|
||||
if ( ubLevel == 1 )
|
||||
{
|
||||
//dDegrees = GLAUNCHER_START_ANGLE;
|
||||
dDegrees = GLAUNCHER_HIGHER_LEVEL_START_ANGLE;
|
||||
}
|
||||
else
|
||||
@@ -1845,7 +1844,10 @@ DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("physics.cpp line 1750"));
|
||||
dDegrees = GLAUNCHER_START_ANGLE;
|
||||
}
|
||||
fGLauncher = TRUE;
|
||||
sMinRange = MIN_MORTAR_RANGE;
|
||||
sMinRange = MIN_MORTAR_RANGE/2;
|
||||
|
||||
if (gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE])
|
||||
dDegrees *= 2;
|
||||
//fLauncher = TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -249,6 +249,8 @@ enum
|
||||
MSG_GL_BURST_CURSOR_OFF,
|
||||
MSG_DROP_ALL_ON,
|
||||
MSG_DROP_ALL_OFF,
|
||||
MSG_GL_LOW_ANGLE,
|
||||
MSG_GL_HIGH_ANGLE,
|
||||
#ifdef JA2BETAVERSION
|
||||
MSG_END_TURN_AUTO_SAVE,
|
||||
#endif
|
||||
|
||||
@@ -3414,6 +3414,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Show Chance to Hit on the cursor",
|
||||
L"GL Burst Uses Burst Cursor",
|
||||
L"Enemies Drop All Items",
|
||||
L"High Angle Grenade Launching",
|
||||
};
|
||||
|
||||
//This is the help text associated with the above toggles.
|
||||
@@ -3482,6 +3483,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"When ON, the chance to hit is shown on the cursor.",
|
||||
L"GL Burst uses burst cursor.",
|
||||
L"Enemies drop all items on death.",
|
||||
L"Grenade launchers fire grenades at more vertical angles.",
|
||||
};
|
||||
|
||||
|
||||
@@ -3691,6 +3693,8 @@ STR16 pMessageStrings[] =
|
||||
L"Grenade Bursts - Using Trajectory Cursor (Spread fire disabled)",
|
||||
L"Drop All Enabled",
|
||||
L"Drop All Disabled",
|
||||
L"Grenade Launchers - Fire at standard angles",
|
||||
L"Grenade Launchers - Fire at high angles",
|
||||
#ifdef JA2BETAVERSION
|
||||
L"Successfully Saved the Game into the End Turn Auto Save slot.",
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user