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:
Sevenfm
2020-03-08 22:39:21 +00:00
parent 5b8f91912f
commit 9e1b5338a6
18 changed files with 190 additions and 47 deletions
+26 -10
View File
@@ -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;
}