- New Externalization: Mute when item spotted in turn based mode

ja2_options.ini: ITEMS_SPOTTED_NO_TALK

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@4843 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2011-12-11 20:26:49 +00:00
parent 959bb1901b
commit 6dbcb8dba9
3 changed files with 56 additions and 33 deletions
+3
View File
@@ -865,6 +865,9 @@ void LoadGameExternalOptions()
// silversurfer: don't play quote when mine spotted? // silversurfer: don't play quote when mine spotted?
gGameExternalOptions.fMineSpottedNoTalk = iniReader.ReadBoolean("Tactical Interface Settings","MINES_SPOTTED_NO_TALK", FALSE); gGameExternalOptions.fMineSpottedNoTalk = iniReader.ReadBoolean("Tactical Interface Settings","MINES_SPOTTED_NO_TALK", FALSE);
// WANNE: Don't stop and talk in turn based when spotting an item
gGameExternalOptions.fItemSpottedNoTalk = iniReader.ReadBoolean("Tactical Interface Settings","ITEMS_SPOTTED_NO_TALK", FALSE);
//DBrot: Stand up after battle? //DBrot: Stand up after battle?
gGameExternalOptions.fStandUpAfterBattle = iniReader.ReadBoolean("Tactical Interface Settings","STAND_UP_AFTER_BATTLE", TRUE); gGameExternalOptions.fStandUpAfterBattle = iniReader.ReadBoolean("Tactical Interface Settings","STAND_UP_AFTER_BATTLE", TRUE);
// Tactical militia command // Tactical militia command
+3
View File
@@ -960,6 +960,9 @@ typedef struct
// silversurfer: don't play quote when merc spots a mine? TRUE = shut up! FALSE = tell me that you found a mine! // silversurfer: don't play quote when merc spots a mine? TRUE = shut up! FALSE = tell me that you found a mine!
BOOLEAN fMineSpottedNoTalk; BOOLEAN fMineSpottedNoTalk;
// WANNE: Don't stop and talk when spotting a new item in turn based mode
BOOLEAN fItemSpottedNoTalk;
// The_Bob - real time sneaking code 01/06/09 // The_Bob - real time sneaking code 01/06/09
// Suport disabling/silencing real time sneaking via external .ini file // Suport disabling/silencing real time sneaking via external .ini file
//BOOLEAN fAllowRealTimeSneak; // SANDRO - moved to preferences //BOOLEAN fAllowRealTimeSneak; // SANDRO - moved to preferences
+50 -33
View File
@@ -29,6 +29,9 @@
#include "Soldier macros.h" #include "Soldier macros.h"
#endif #endif
#include "connect.h"
#include "GameSettings.h"
/* view directions */ /* view directions */
#define DLEFT 0 #define DLEFT 0
#define DRIGHT 1 #define DRIGHT 1
@@ -707,54 +710,68 @@ void RevealRoofsAndItems(SOLDIERTYPE *pSoldier, UINT32 itemsToo, BOOLEAN fShowLo
{ {
SetRenderFlags(RENDER_FLAG_FULL); SetRenderFlags(RENDER_FLAG_FULL);
if ( fShowLocators ) // WANNE: Should we pause when item was found in tactical?
bool enableItemSpottingAction = true;
if ( !is_networked && gGameExternalOptions.fItemSpottedNoTalk && gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT)
enableItemSpottingAction = false;
if (enableItemSpottingAction)
{ {
// Set makred render flags if ( fShowLocators )
//gpWorldLevelData[marker].uiFlags|=MAPELEMENT_REDRAW;
//gpWorldLevelData[gusCurMousePos].pTopmostHead->uiFlags |= LEVELNODE_DYNAMIC;
//SetRenderFlags(RENDER_FLAG_MARKED);
SetRenderFlags(RENDER_FLAG_FULL);
// Hault soldier
// ATE: Only if in combat...
if ( gTacticalStatus.uiFlags & INCOMBAT )
{ {
pSoldier->HaultSoldierFromSighting( FALSE ); // Set makred render flags
} //gpWorldLevelData[marker].uiFlags|=MAPELEMENT_REDRAW;
else //gpWorldLevelData[gusCurMousePos].pTopmostHead->uiFlags |= LEVELNODE_DYNAMIC;
{
// ATE: Make sure we show locators...
gTacticalStatus.fLockItemLocators = FALSE;
}
if ( !fItemsQuoteSaid && gTacticalStatus.fLockItemLocators == FALSE ) //SetRenderFlags(RENDER_FLAG_MARKED);
{ SetRenderFlags(RENDER_FLAG_FULL);
gTacticalStatus.fLockItemLocators = TRUE;
if ( gTacticalStatus.ubAttackBusyCount > 0 && ( gTacticalStatus.uiFlags & INCOMBAT ) ) // Hault soldier
// ATE: Only if in combat...
if ( gTacticalStatus.uiFlags & INCOMBAT )
{ {
gTacticalStatus.fItemsSeenOnAttack = TRUE; pSoldier->HaultSoldierFromSighting( FALSE );
gTacticalStatus.ubItemsSeenOnAttackSoldier = pSoldier->ubID;
gTacticalStatus.usItemsSeenOnAttackGridNo = marker;
} }
else else
{ {
// Display quote! // ATE: Make sure we show locators...
if ( !AM_AN_EPC( pSoldier ) ) gTacticalStatus.fLockItemLocators = FALSE;
}
if ( !fItemsQuoteSaid && gTacticalStatus.fLockItemLocators == FALSE )
{
gTacticalStatus.fLockItemLocators = TRUE;
if ( gTacticalStatus.ubAttackBusyCount > 0 && ( gTacticalStatus.uiFlags & INCOMBAT ) )
{ {
TacticalCharacterDialogueWithSpecialEvent( pSoldier, (UINT16)( QUOTE_SPOTTED_SOMETHING_ONE + Random( 2 ) ), DIALOGUE_SPECIAL_EVENT_SIGNAL_ITEM_LOCATOR_START, marker, 0 ); gTacticalStatus.fItemsSeenOnAttack = TRUE;
gTacticalStatus.ubItemsSeenOnAttackSoldier = pSoldier->ubID;
gTacticalStatus.usItemsSeenOnAttackGridNo = marker;
} }
else else
{ {
// Turn off item lock for locators...
gTacticalStatus.fLockItemLocators = FALSE; // Display quote!
// Slide to location! if ( !AM_AN_EPC( pSoldier ) )
SlideToLocation( 0, marker ); {
TacticalCharacterDialogueWithSpecialEvent( pSoldier, (UINT16)( QUOTE_SPOTTED_SOMETHING_ONE + Random( 2 ) ), DIALOGUE_SPECIAL_EVENT_SIGNAL_ITEM_LOCATOR_START, marker, 0 );
}
else
{
// Turn off item lock for locators...
gTacticalStatus.fLockItemLocators = FALSE;
// Slide to location!
SlideToLocation( 0, marker );
}
} }
fItemsQuoteSaid = TRUE;
} }
fItemsQuoteSaid = TRUE;
} }
} }
} }
} }