mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
More AI logging information.
PanicAI: use correct movement and stealth mode when determining AP needed. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8768 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -82,6 +82,7 @@ void ExitBoxing( void )
|
||||
SetSoldierNeutral( pSoldier );
|
||||
RecalculateOppCntsDueToBecomingNeutral( pSoldier );
|
||||
}
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: exit boxing"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
pSoldier->aiData.bAlertStatus = STATUS_GREEN;
|
||||
pSoldier->aiData.bUnderFire = 0;
|
||||
@@ -396,6 +397,7 @@ BOOLEAN PickABoxer( void )
|
||||
pBoxer->flags.uiStatusFlags |= SOLDIER_BOXER;
|
||||
SetSoldierNonNeutral( pBoxer );
|
||||
RecalculateOppCntsDueToNoLongerNeutral( pBoxer );
|
||||
DebugAI(AI_MSG_INFO, pBoxer, String("CancelAIAction: pick a boxer"));
|
||||
CancelAIAction( pBoxer, TRUE );
|
||||
RESETTIMECOUNTER( pBoxer->timeCounters.AICounter, 0 );
|
||||
gfBoxerFought[ uiLoop ] = TRUE;
|
||||
|
||||
@@ -468,6 +468,7 @@ void ProcessImplicationsOfPCMessingWithDoor( SOLDIERTYPE * pSoldier )
|
||||
// alert her if she hasn't been alerted
|
||||
pGoon->aiData.bAlertStatus = STATUS_RED;
|
||||
CheckForChangingOrders( pGoon );
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: tixa door"));
|
||||
CancelAIAction( pGoon, TRUE );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6604,6 +6604,7 @@ void RemoveBlueFlag( INT32 sGridNo, INT8 bLevel )
|
||||
|
||||
void MakeNPCGrumpyForMinorOffense( SOLDIERTYPE * pSoldier, SOLDIERTYPE *pOffendingSoldier )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: MakeNPCGrumpyForMinorOffense"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
|
||||
switch( pSoldier->ubProfile )
|
||||
|
||||
@@ -2722,6 +2722,7 @@ void UIHandleMercAttack( SOLDIERTYPE *pSoldier , SOLDIERTYPE *pTargetSoldier, IN
|
||||
if ( NPCFirstDraw( pSoldier, pTargetSoldier ) )
|
||||
{
|
||||
// go into turnbased for that person
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: UIHandleMercAttack"));
|
||||
CancelAIAction( pTargetSoldier, TRUE );
|
||||
AddToShouldBecomeHostileOrSayQuoteList( pTargetSoldier->ubID );
|
||||
//MakeCivHostile( pTargetSoldier, 2 );
|
||||
|
||||
@@ -3510,6 +3510,7 @@ void HandlePlayerTeamMemberDeath( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
if ( pSoldier->ubAutoBandagingMedic != NOBODY )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, MercPtrs[pSoldier->ubAutoBandagingMedic], String("CancelAIAction: stop autobandaging in HandlePlayerTeamMemberDeath"));
|
||||
CancelAIAction( MercPtrs[ pSoldier->ubAutoBandagingMedic ], TRUE );
|
||||
}
|
||||
}
|
||||
@@ -6073,6 +6074,7 @@ void CommonEnterCombatModeCode( )
|
||||
pSoldier->EVENT_StopMerc( pSoldier->sGridNo, pSoldier->ubDirection );
|
||||
|
||||
// END AI actions
|
||||
DebugAI(AI_MSG_INFO, MercPtrs[pSoldier->ubAutoBandagingMedic], String("CancelAIAction: enter combat mode"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
|
||||
// turn off AI controlled flag
|
||||
@@ -8812,6 +8814,7 @@ void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
|
||||
// AI people will have to have their actions canceled
|
||||
if (!(pSoldier->flags.uiStatusFlags & SOLDIER_PC))
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: suppression: change stance/cower"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
#if 0
|
||||
pSoldier->aiData.bAction = AI_ACTION_CHANGE_STANCE;
|
||||
@@ -9768,6 +9771,7 @@ void CencelAllActionsForTimeCompression( )
|
||||
if ( pSoldier->bInSector )
|
||||
{
|
||||
// Hault!
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: time compression"));
|
||||
pSoldier->EVENT_StopMerc( pSoldier->sGridNo, pSoldier->ubDirection );
|
||||
|
||||
// END AI actions
|
||||
|
||||
@@ -1987,6 +1987,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
|
||||
if ( pTSoldier->bTeam != gbPlayerNum )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pTSoldier, String("CancelAIAction: dodge"));
|
||||
CancelAIAction( pTSoldier, TRUE );
|
||||
}
|
||||
|
||||
@@ -2493,6 +2494,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
if (!TileIsOutOfBounds(pSoldier->sAbsoluteFinalDestination))
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: end door open code"));
|
||||
CancelAIAction( pSoldier, FORCE );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12649,6 +12649,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginBladeAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
|
||||
if ( pTSoldier->bTeam != gbPlayerNum )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pTSoldier, String("CancelAIAction: begin blade attack"));
|
||||
CancelAIAction( pTSoldier, TRUE );
|
||||
}
|
||||
|
||||
@@ -12984,6 +12985,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginPunchAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
|
||||
if ( pTSoldier->bTeam != gbPlayerNum )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pTSoldier, String("CancelAIAction: begin blade attack"));
|
||||
CancelAIAction( pTSoldier, TRUE );
|
||||
}
|
||||
|
||||
@@ -16522,16 +16524,6 @@ BOOLEAN SOLDIERTYPE::IsAssassin( )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOLEAN SOLDIERTYPE::CheckInitialAP(void)
|
||||
{
|
||||
if (this->bActionPoints < this->bInitialActionPoints || this->usSoldierFlagMask2 & SOLDIER_SPENT_AP)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
UINT8 SOLDIERTYPE::GetMultiTurnAction( )
|
||||
{
|
||||
return usMultiTurnAction;
|
||||
@@ -22171,6 +22163,7 @@ BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValid
|
||||
{
|
||||
// Start combat etc
|
||||
DeleteTalkingMenu( );
|
||||
DebugAI(AI_MSG_INFO, pTSoldier, String("CancelAIAction: assasin: start talking"));
|
||||
CancelAIAction( pTSoldier, TRUE );
|
||||
AddToShouldBecomeHostileOrSayQuoteList( pTSoldier->ubID );
|
||||
}
|
||||
@@ -24789,3 +24782,26 @@ BOOLEAN ApplyConsumable( SOLDIERTYPE* pSoldier, OBJECTTYPE *pObj, BOOLEAN fForce
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// sevenfm: service functions
|
||||
BOOLEAN SOLDIERTYPE::CheckInitialAP(void)
|
||||
{
|
||||
if (this->bActionPoints < this->bInitialActionPoints || this->usSoldierFlagMask2 & SOLDIER_SPENT_AP)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN SOLDIERTYPE::IsFlanking(void)
|
||||
{
|
||||
if (this->aiData.bAlertStatus < STATUS_YELLOW ||
|
||||
this->numFlanks == 0 ||
|
||||
this->numFlanks >= MAX_FLANKS_RED)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1840,9 +1840,12 @@ public:
|
||||
// lose disguise or take off any clothes item and switch back to original clothes
|
||||
void Strip();
|
||||
|
||||
// check wether our disguise is any good
|
||||
// check whether our disguise is any good
|
||||
void SpySelfTest();
|
||||
|
||||
// sevenfm: service functions
|
||||
BOOLEAN IsFlanking(void);
|
||||
|
||||
// Flugente: prisoner system
|
||||
BOOLEAN CanProcessPrisoners();
|
||||
UINT32 GetSurrenderStrength();
|
||||
|
||||
@@ -1843,7 +1843,7 @@ void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT
|
||||
{
|
||||
// unauthorized!
|
||||
// make guard run to block guard room
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: make guard run to block guard room")); CancelAIAction( pSoldier, TRUE );
|
||||
RESETTIMECOUNTER( pSoldier->timeCounters.AICounter, 0 );
|
||||
pSoldier->aiData.bNextAction = AI_ACTION_RUN;
|
||||
pSoldier->aiData.usNextActionData = 13250;
|
||||
@@ -2298,6 +2298,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
if ( pSoldier->aiData.bOppCnt == 0 )
|
||||
{
|
||||
// didn't see anyone before!
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: NPC with profile: change orders, reset action"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
SetNewSituation( pSoldier );
|
||||
}
|
||||
@@ -2314,6 +2315,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
}
|
||||
else if ( ( CheckFact( FACT_ANGEL_LEFT_DEED, ANGEL ) == TRUE ) && ( CheckFact( FACT_ANGEL_MENTIONED_DEED, ANGEL ) == FALSE ) )
|
||||
{
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: NPC: Angel code"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
pSoldier->sAbsoluteFinalDestination = NOWHERE;
|
||||
pSoldier->EVENT_StopMerc( pSoldier->sGridNo, pSoldier->ubDirection );
|
||||
@@ -2389,6 +2391,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
if ( pSoldier->aiData.bOppCnt == 0 )
|
||||
{
|
||||
// didn't see anyone before!
|
||||
DebugAI(AI_MSG_INFO, pSoldier, String("CancelAIAction: assasin: didn't see anyone before!"));
|
||||
CancelAIAction( pSoldier, TRUE );
|
||||
SetNewSituation( pSoldier );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user