mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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:
@@ -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 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user