mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
-added underslung/attached GLs to AI inventory and enabled AI to use them :)
-rewrote the AI sniper code to take advantage of readying weapons. Added new SNIPER order for soldiers that's assigned when a soldier has a sniper rifle (80% chance) or a scope (40% chance). -spreadsheet update git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@216 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+13
-2
@@ -2000,6 +2000,8 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
||||
// reset this field, too
|
||||
pSoldier->bLastAttackHit = FALSE;
|
||||
|
||||
UINT16 usHandItem = pSoldier->inv[HANDPOS].usItem;
|
||||
|
||||
#ifdef TESTAICONTROL
|
||||
if (gfTurnBasedAI || gTacticalStatus.fAutoBandageMode)
|
||||
{
|
||||
@@ -2348,7 +2350,11 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
||||
SimulMessage(tempstr,3000,NODECRYPT);
|
||||
}
|
||||
#endif
|
||||
iRetCode = HandleItem( pSoldier, pSoldier->usActionData, pSoldier->bTargetLevel, pSoldier->inv[HANDPOS].usItem, FALSE );
|
||||
|
||||
if ( pSoldier->bAction == AI_ACTION_TOSS_PROJECTILE && IsGrenadeLauncherAttached(&pSoldier->inv[HANDPOS]) )
|
||||
usHandItem = GetAttachedGrenadeLauncher(&pSoldier->inv[HANDPOS]);
|
||||
|
||||
iRetCode = HandleItem( pSoldier, pSoldier->usActionData, pSoldier->bTargetLevel, usHandItem, FALSE );
|
||||
if ( iRetCode != ITEM_HANDLE_OK)
|
||||
{
|
||||
if ( iRetCode != ITEM_HANDLE_BROKEN ) // if the item broke, this is 'legal' and doesn't need reporting
|
||||
@@ -2546,6 +2552,11 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
||||
ActionDone( pSoldier );
|
||||
break;
|
||||
|
||||
case AI_ACTION_RAISE_GUN: //Madd: action added for snipers to ready weapon and use vision range bonuses
|
||||
SoldierReadyWeapon(pSoldier);
|
||||
HandleSight(pSoldier, SIGHT_LOOK | SIGHT_RADIO);
|
||||
break;
|
||||
|
||||
case AI_ACTION_CLIMB_ROOF:
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Executing: AI_ACTION_CLIMB_ROOF");
|
||||
|
||||
@@ -2632,7 +2643,7 @@ void CheckForChangingOrders(SOLDIERTYPE *pSoldier)
|
||||
// crank up ONGUARD to CLOSEPATROL, and CLOSEPATROL to FARPATROL
|
||||
pSoldier->bOrders++; // increase roaming range by 1 category
|
||||
}
|
||||
else if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
else if ( pSoldier->bTeam == MILITIA_TEAM && pSoldier->bOrders != SNIPER )
|
||||
{
|
||||
// go on alert!
|
||||
pSoldier->bOrders = SEEKENEMY;
|
||||
|
||||
Reference in New Issue
Block a user