mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Fix for Dynamic Opinions feature not respecting ini setting and not allowing it to be disabled easily (by Shadooow).
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9002 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -736,7 +736,10 @@ void FinishIncident(INT16 sX, INT16 sY, INT8 sZ)
|
||||
gCurrentIncident.usOneTimeEventFlags |= INCIDENT_ONETIMEEVENT_OMERTA;
|
||||
|
||||
// dynamic opinions
|
||||
HandleDynamicOpinionBattleFinished( (gCurrentIncident.usIncidentFlags & INCIDENT_WIN) != 0 );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionBattleFinished((gCurrentIncident.usIncidentFlags & INCIDENT_WIN) != 0);
|
||||
}
|
||||
|
||||
gCampaignStats.AddNewIncident(gCurrentIncident);
|
||||
|
||||
|
||||
+4
-1
@@ -199,7 +199,10 @@ UINT32 AddTransactionToPlayersBook (UINT8 ubCode, UINT8 ubSecondCode, UINT32 uiD
|
||||
// process the actual data
|
||||
|
||||
// Flugente: dynamic opinion
|
||||
HandleDynamicOpinionOnContractExtension( ubCode, ubSecondCode );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionOnContractExtension(ubCode, ubSecondCode);
|
||||
}
|
||||
|
||||
//
|
||||
// If this transaction is for the hiring/extending of a mercs contract
|
||||
|
||||
@@ -5863,7 +5863,10 @@ void FatigueCharacter( SOLDIERTYPE *pSoldier )
|
||||
bMaxBreathLoss = (float)min( 127, iBreathLoss );
|
||||
|
||||
// Flugente: dynamic opinions: other mercs might get annoyed, because we are slowing down the team
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_SLOWSUSDOWN, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_SLOWSUSDOWN, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4887,7 +4887,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsOthers++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( (pTarget->pSoldier->bTeam != OUR_TEAM) && (pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide) )
|
||||
if ((gGameExternalOptions.fDynamicOpinions) && (pTarget->pSoldier->bTeam != OUR_TEAM) && (pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pTarget->pSoldier->ubBodyType != CROW && pTarget->pSoldier->ubBodyType != COW )
|
||||
|
||||
@@ -461,7 +461,10 @@ void HourlyLarryUpdate()
|
||||
fTookDrugs = TRUE;
|
||||
|
||||
// Flugente: dynamic opinion
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ADDICT, TRUE, FALSE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ADDICT, TRUE, FALSE);
|
||||
}
|
||||
|
||||
if ( fBar )
|
||||
{
|
||||
@@ -645,7 +648,10 @@ void HourlyDisabilityUpdate( )
|
||||
pSoldier->bBleeding = oldbleeding;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
|
||||
// say something (which might also alert the player to what we just did)
|
||||
TacticalCharacterDialogue( pSoldier, QUOTE_PERSONALITY_TRAIT );
|
||||
@@ -820,7 +826,10 @@ void HourlyStealUpdate()
|
||||
}
|
||||
|
||||
// Flugente: dynamic opinion
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_THIEF, TRUE, FALSE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_THIEF, TRUE, FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -601,7 +601,10 @@ void MercDailyUpdate()
|
||||
HandleSnitchCheck();
|
||||
|
||||
// Flugente: dynmaic opinion rollover
|
||||
HandleDynamicOpinionsDailyRefresh( );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionsDailyRefresh();
|
||||
}
|
||||
|
||||
// Flugente: disease
|
||||
HandleDiseaseDailyRefresh();
|
||||
|
||||
@@ -2178,7 +2178,7 @@ void HandleLoyaltyImplicationsOfMercRetreat( INT8 bRetreatCode, INT16 sSectorX,
|
||||
|
||||
// Flugente: dynamic opinion: mercs retreated. Someone has to be blamed for this shameful defeat!
|
||||
// only do this if the enemy actually noticed us - no need to punish the player for a successful stealth operation
|
||||
if ( gTacticalStatus.Team[ENEMY_TEAM].bAwareOfOpposition )
|
||||
if (gGameExternalOptions.fDynamicOpinions && gTacticalStatus.Team[ENEMY_TEAM].bAwareOfOpposition )
|
||||
{
|
||||
HandleDynamicOpinionRetreat();
|
||||
}
|
||||
|
||||
@@ -850,7 +850,7 @@ void ChangeStat( MERCPROFILESTRUCT *pProfile, SOLDIERTYPE *pSoldier, UINT8 ubSta
|
||||
}
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
if ( FROM_TRAINING == ubReason )
|
||||
if (gGameExternalOptions.fDynamicOpinions && FROM_TRAINING == ubReason )
|
||||
HandleDynamicOpinionTeaching( pSoldier, ubStat );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,14 +147,17 @@ void HandleDisease()
|
||||
}
|
||||
|
||||
// if we are infected, this might disgust other people, but only if it's visisble to them (we assume doctors dont mention this to others)
|
||||
for ( int i = 0; i < NUM_DISEASES; ++i )
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
if ( (Disease[i].usDiseaseProperties & DISEASE_PROPERTY_DISGUSTING) &&
|
||||
(pSoldier->sDiseaseFlag[i] & SOLDIERDISEASE_DIAGNOSED) &&
|
||||
(pSoldier->sDiseaseFlag[i] & SOLDIERDISEASE_OUTBREAK) )
|
||||
for (int i = 0; i < NUM_DISEASES; ++i)
|
||||
{
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_DISEASE_DISGUSTING, TRUE, TRUE );
|
||||
break;
|
||||
if ((Disease[i].usDiseaseProperties & DISEASE_PROPERTY_DISGUSTING) &&
|
||||
(pSoldier->sDiseaseFlag[i] & SOLDIERDISEASE_DIAGNOSED) &&
|
||||
(pSoldier->sDiseaseFlag[i] & SOLDIERDISEASE_OUTBREAK))
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_DISEASE_DISGUSTING, TRUE, TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ BOOLEAN ApplyDrugs_New( SOLDIERTYPE *pSoldier, UINT16 usItem, UINT16 uStatusUsed
|
||||
gMercProfiles[LARRY_NORMAL].bNPCData = __max( gMercProfiles[LARRY_NORMAL].bNPCData, LARRY_FALLS_OFF_WAGON );
|
||||
}
|
||||
|
||||
if ( NewDrug[drugused].opinionevent )
|
||||
if (gGameExternalOptions.fDynamicOpinions && NewDrug[drugused].opinionevent )
|
||||
{
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ADDICT, TRUE, TRUE );
|
||||
}
|
||||
@@ -194,7 +194,10 @@ BOOLEAN ApplyDrugs_New( SOLDIERTYPE *pSoldier, UINT16 usItem, UINT16 uStatusUsed
|
||||
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[MSG_DRANK_SOME], pSoldier->GetName( ), ShortItemNames[usItem] );
|
||||
|
||||
HandleDynamicOpinionTeamDrinking( pSoldier );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionTeamDrinking(pSoldier);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+5
-2
@@ -647,8 +647,11 @@ void HourlyFoodAutoDigestion( SOLDIERTYPE *pSoldier )
|
||||
EatFromInventory( pSoldier, FALSE );
|
||||
}
|
||||
|
||||
// dynamic opinions: if we're still really hungry an someone in this sector has food, we get a lwoer opinion of him, as he obviously doesn't share
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_NOSHARINGFOOD, FALSE, FALSE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
// dynamic opinions: if we're still really hungry an someone in this sector has food, we get a lwoer opinion of him, as he obviously doesn't share
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_NOSHARINGFOOD, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -410,7 +410,10 @@ INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc)
|
||||
RemoveNewlyHiredMercFromPersonnelDepartedList( pSoldier->ubProfile );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
CheckForFriendsofHated( pSoldier );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
CheckForFriendsofHated(pSoldier);
|
||||
}
|
||||
|
||||
gfAtLeastOneMercWasHired = TRUE;
|
||||
|
||||
|
||||
+11
-5
@@ -326,15 +326,18 @@ void DecayTacticalMoraleModifiers( void )
|
||||
else
|
||||
{
|
||||
// alone, no recovery... in fact, if tact morale is high, decay
|
||||
if ( !(pSoldier->usQuoteSaidFlags & SOLDIER_QUOTE_SAID_PERSONALITY) )
|
||||
if (!(pSoldier->usQuoteSaidFlags & SOLDIER_QUOTE_SAID_PERSONALITY))
|
||||
{
|
||||
TacticalCharacterDialogue( pSoldier, QUOTE_PERSONALITY_TRAIT );
|
||||
TacticalCharacterDialogue(pSoldier, QUOTE_PERSONALITY_TRAIT);
|
||||
pSoldier->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
}
|
||||
HandleMoraleEvent( pSoldier, MORALE_NERVOUS_ALONE, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
|
||||
HandleMoraleEvent(pSoldier, MORALE_NERVOUS_ALONE, pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ);
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1528,7 +1531,10 @@ void HandleSnitchesReports( std::vector<SnitchEvent>& aVec )
|
||||
event2.ubEventType = NUM_SNITCH_EVENTS;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
AddOpinionEvent( event2.ubTargetProfile, pSnitch->ubProfile, OPINIONEVENT_SNITCHSOLDMEOUT );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
AddOpinionEvent(event2.ubTargetProfile, pSnitch->ubProfile, OPINIONEVENT_SNITCHSOLDMEOUT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2558,7 +2558,10 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
||||
UnSetUIBusy( pSoldier->ubID );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3418,7 +3421,10 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
|
||||
pSoldier->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11008,7 +11014,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
|
||||
}
|
||||
|
||||
// dynamic opinion: a merc caused the remaining enemies to give up
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
if (gGameExternalOptions.fDynamicOpinions && gusSelectedSoldier != NOBODY )
|
||||
HandleDynamicOpinionChange( MercPtrs[gusSelectedSoldier], OPINIONEVENT_BATTLE_TOOK_PRISONER, TRUE, TRUE );
|
||||
}
|
||||
else
|
||||
|
||||
@@ -880,7 +880,10 @@ INT32 SkillCheck( SOLDIERTYPE * pSoldier, INT8 bReason, INT8 bChanceMod )
|
||||
TacticalCharacterDialogue( pSoldier, QUOTE_PERSONALITY_TRAIT );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(pSoldier, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
// do we realize that we just can't do this?
|
||||
if ( (100 - (pSoldier->ubSkillCheckAttempts - 2) * 20) < EffectiveWisdom( pSoldier ) )
|
||||
|
||||
+16
-13
@@ -4041,7 +4041,7 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsOthers++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
if (gGameExternalOptions.fDynamicOpinions && pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pSoldier->ubBodyType != CROW && pSoldier->ubBodyType != COW )
|
||||
@@ -4055,23 +4055,26 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
gStrategicStatus.usPlayerKills++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pSoldier->ubBodyType != CROW && pSoldier->ubBodyType != COW )
|
||||
HandleDynamicOpinionChange( MercPtrs[ubAttacker], OPINIONEVENT_CIVKILLER, TRUE, TRUE );
|
||||
}
|
||||
else
|
||||
{
|
||||
// if this enemy was attacking a freshly wounded merc, it is likely they posed a real threat - the merc will be thankful for saving their life
|
||||
if ( pSoldier->ubTargetID != NOBODY && MercPtrs[pSoldier->ubTargetID]->bBleeding > 10 )
|
||||
if (pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide))
|
||||
{
|
||||
AddOpinionEvent( MercPtrs[pSoldier->ubTargetID]->ubProfile, MercPtrs[ubAttacker]->ubProfile, OPINIONEVENT_BATTLE_SAVIOUR );
|
||||
// not for killing animals though...
|
||||
if (pSoldier->ubBodyType != CROW && pSoldier->ubBodyType != COW)
|
||||
HandleDynamicOpinionChange(MercPtrs[ubAttacker], OPINIONEVENT_CIVKILLER, TRUE, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
// complain about a fragthief, or thank for assistance - correct event is chosen internally
|
||||
HandleDynamicOpinionChange( MercPtrs[ubAttacker], OPINIONEVENT_FRAGTHIEF, TRUE, TRUE );
|
||||
// if this enemy was attacking a freshly wounded merc, it is likely they posed a real threat - the merc will be thankful for saving their life
|
||||
if (pSoldier->ubTargetID != NOBODY && MercPtrs[pSoldier->ubTargetID]->bBleeding > 10)
|
||||
{
|
||||
AddOpinionEvent(MercPtrs[pSoldier->ubTargetID]->ubProfile, MercPtrs[ubAttacker]->ubProfile, OPINIONEVENT_BATTLE_SAVIOUR);
|
||||
}
|
||||
else
|
||||
{
|
||||
// complain about a fragthief, or thank for assistance - correct event is chosen internally
|
||||
HandleDynamicOpinionChange(MercPtrs[ubAttacker], OPINIONEVENT_FRAGTHIEF, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6815,7 +6815,7 @@ void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sD
|
||||
pSoldier->ChangeToFlybackAnimation( (UINT8)bDirection );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
if ( ubAttackerID != NOBODY )
|
||||
if (gGameExternalOptions.fDynamicOpinions && ubAttackerID != NOBODY )
|
||||
HandleDynamicOpinionChange( MercPtrs[ubAttackerID], OPINIONEVENT_BRUTAL_GOOD, TRUE, TRUE );
|
||||
|
||||
return;
|
||||
@@ -6830,7 +6830,7 @@ void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sD
|
||||
pSoldier->EVENT_InitNewSoldierAnim( JFK_HITDEATH, 0, FALSE );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
if ( ubAttackerID != NOBODY )
|
||||
if (gGameExternalOptions.fDynamicOpinions && ubAttackerID != NOBODY )
|
||||
HandleDynamicOpinionChange( MercPtrs[ubAttackerID], OPINIONEVENT_BRUTAL_GOOD, TRUE, TRUE );
|
||||
|
||||
return;
|
||||
@@ -8077,7 +8077,10 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
this->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8093,7 +8096,10 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
this->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8110,7 +8116,10 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
this->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8129,7 +8138,10 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
this->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9723,7 +9735,10 @@ void SOLDIERTYPE::BeginSoldierClimbUpRoof(void)
|
||||
this->usQuoteSaidFlags |= SOLDIER_QUOTE_SAID_PERSONALITY;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
// otherwise remove flag, so we'll complain every second time we climb roof
|
||||
else
|
||||
@@ -10201,17 +10216,20 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBr
|
||||
this->ubLastDamageReason = ubReason;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
if ( ubAttacker != NOBODY && MercPtrs[ubAttacker] )
|
||||
if (ubAttacker != NOBODY && MercPtrs[ubAttacker] )
|
||||
{
|
||||
AddOpinionEvent( this->ubProfile, MercPtrs[ubAttacker]->ubProfile, OPINIONEVENT_FRIENDLYFIRE );
|
||||
|
||||
// if this is a civilian, other mercs can complain about mercs shooting innocents
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( (this->bTeam != OUR_TEAM) && (this->aiData.bNeutral || this->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( this->ubBodyType != CROW && this->ubBodyType != COW )
|
||||
HandleDynamicOpinionChange( MercPtrs[ubAttacker], OPINIONEVENT_CIV_ATTACKER, TRUE, TRUE );
|
||||
AddOpinionEvent(this->ubProfile, MercPtrs[ubAttacker]->ubProfile, OPINIONEVENT_FRIENDLYFIRE);
|
||||
|
||||
// if this is a civilian, other mercs can complain about mercs shooting innocents
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ((this->bTeam != OUR_TEAM) && (this->aiData.bNeutral || this->bSide == MercPtrs[ubAttacker]->bSide))
|
||||
{
|
||||
// not for killing animals though...
|
||||
if (this->ubBodyType != CROW && this->ubBodyType != COW)
|
||||
HandleDynamicOpinionChange(MercPtrs[ubAttacker], OPINIONEVENT_CIV_ATTACKER, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
// if we are a turncoat, lose the flag if we were attacked by player forces
|
||||
@@ -13550,7 +13568,10 @@ UINT32 SOLDIERTYPE::SoldierDressWound( SOLDIERTYPE *pVictim, INT16 sKitPts, INT1
|
||||
}
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
AddOpinionEvent( pVictim->ubProfile, this->ubProfile, OPINIONEVENT_BANDAGED );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
AddOpinionEvent(pVictim->ubProfile, this->ubProfile, OPINIONEVENT_BANDAGED);
|
||||
}
|
||||
|
||||
bInitialBleeding = pVictim->bBleeding;
|
||||
|
||||
@@ -14575,7 +14596,10 @@ BOOLEAN SOLDIERTYPE::CheckForBreathCollapse( void )
|
||||
TacticalCharacterDialogue( this, QUOTE_PERSONALITY_TRAIT );
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
HandleDynamicOpinionChange( this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
HandleDynamicOpinionChange(this, OPINIONEVENT_ANNOYINGDISABILITY, TRUE, TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -15026,7 +15050,10 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
applybipod = TRUE;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
AddOpinionEvent( MercPtrs[usPersonID]->ubProfile, this->ubProfile, OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
AddOpinionEvent(MercPtrs[usPersonID]->ubProfile, this->ubProfile, OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15093,7 +15120,10 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
applybipod = TRUE;
|
||||
|
||||
// Flugente: dynamic opinions
|
||||
AddOpinionEvent( MercPtrs[usPersonID]->ubProfile, this->ubProfile, OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
AddOpinionEvent(MercPtrs[usPersonID]->ubProfile, this->ubProfile, OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -417,7 +417,10 @@ void GameLoop(void)
|
||||
}
|
||||
|
||||
// Flugente: dynamic opinions: Dialogue Boxes need to be refreshed
|
||||
RefreshBoxes( );
|
||||
if (gGameExternalOptions.fDynamicOpinions)
|
||||
{
|
||||
RefreshBoxes();//todo shadooow: tohle mozna zpusobuje bug s opakovanim kecu po vitezstvi
|
||||
}
|
||||
|
||||
// Flugente:disguised mercs can distract enemies by talking to them. In order to display that, we sometimes display excerpts of their 'chats'
|
||||
CheckChatPartners();
|
||||
|
||||
Reference in New Issue
Block a user