New feature (by rftr): Mini events are a feature where the player can receive short text blurbs, and pick one of two outcomes.

Based on game implementations like Gloomhaven (road/city events) or Battletech (travel events).

For more info, see https://thepit.ja-galaxy-forum.com/index.php?t=msg&th=24865&goto=363481&#msg_363481

Requires GameDir >= r2599

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9137 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2021-07-09 19:38:55 +00:00
parent e7251981c0
commit 960bb2d4ba
53 changed files with 1812 additions and 35 deletions
+18 -1
View File
@@ -1512,6 +1512,9 @@ BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteN
if( pSoldier->bAssignment == ASSIGNMENT_POW )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
return( CharacterDialogue( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, TRUE ) );
}
@@ -1569,6 +1572,8 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
}
return( CharacterDialogueWithSpecialEventEx( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, FALSE, uiFlag, uiData1, uiData2, uiData3 ) );
@@ -1617,6 +1622,9 @@ BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1706,6 +1714,9 @@ BOOLEAN SnitchTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNu
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
//if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
// usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1760,6 +1771,9 @@ BOOLEAN AdditionalTacticalCharacterDialogue_CallsLua( SOLDIERTYPE *pSoldier, UIN
if ( pSoldier->bAssignment == ASSIGNMENT_POW )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if ( AM_AN_EPC( pSoldier ) && !( gMercProfiles[pSoldier->ubProfile].ubMiscFlags & PROFILE_MISC_FLAG_FORCENPCQUOTE ) )
return( FALSE );
@@ -1788,7 +1802,7 @@ void AdditionalTacticalCharacterDialogue_AllInSector(INT16 aSectorX, INT16 aSect
if ( pSoldier->stats.bLife >= OKLIFE && pSoldier->bActive &&
pSoldier->ubProfile != ausIgnoreProfile &&
pSoldier->sSectorX == aSectorX && pSoldier->sSectorY == aSectorY && pSoldier->bSectorZ == aSectorZ &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
(aAroundGridno == NOWHERE || PythSpacesAway( pSoldier->sGridNo, aAroundGridno ) <= aRadius ) &&
!pSoldier->flags.fBetweenSectors )
{
@@ -2088,6 +2102,9 @@ BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
// sleeping guys don't talk.. go to standby to talk
if( pSoldier->flags.fMercAsleep == TRUE )
{