New Feature: dynamic dialogue is played when dynamic opinions are active. Mercs can comment on each others actions, and this can influence their opinions further. IMP character answers can even be chosen by the player.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7297 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-06-27 22:12:29 +00:00
parent b083314318
commit 3a9cb5ecc3
52 changed files with 9062 additions and 5920 deletions
+2 -1
View File
@@ -66,6 +66,7 @@
#include "Tactical Save.h" // added by Flugente
#include "Campaign Types.h" // added by Flugente
#include "Strategic Town Loyalty.h"
#include "DynamicDialogue.h" // added by Flugente
#endif
#include <vector>
#include <queue>
@@ -5151,7 +5152,7 @@ void FatigueCharacter( SOLDIERTYPE *pSoldier )
bMaxBreathLoss = (float)min( 127, iBreathLoss );
// Flugente: dynamic opinions: other mercs might get annoyed, because we are slowing down the team
HandleDynamicOpinionSlowdown( pSoldier );
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_SLOWSUSDOWN, TRUE, TRUE );
}
}
+2 -1
View File
@@ -70,6 +70,7 @@
#include "AIInternals.h" // added by SANDRO
#include "Bullets.h" // HEADROCK HAM 5, for use with Bullet Impact.
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente
#endif
#include "Reinforcement.h"
@@ -4695,7 +4696,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsOthers++;
// Flugente: dynamic opinions
HandleDynamicOpinionCivKill( pAttacker->pSoldier );
HandleDynamicOpinionChange( pAttacker->pSoldier, OPINIONEVENT_CIVKILLER, TRUE, TRUE );
}
break;
}
+4 -3
View File
@@ -18,7 +18,8 @@
#include "history.h"
#include "Dialogue Control.h"
#include "Strategic AI.h"
#include "Tactical Save.h" // added by Flugente
#include "Tactical Save.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinions()
#endif
#include "Luaglobal.h"
@@ -475,7 +476,7 @@ void HourlyLarryUpdate()
}
// Flugente: dynamic opinion
HandleDynamicOpinionAddict( pSoldier );
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_ADDICT, TRUE, FALSE );
if ( fBar )
{
@@ -673,7 +674,7 @@ void HourlyStealUpdate()
AutoPlaceObject( pSoldier, pTargetObj, TRUE );
// Flugente: dynamic opinion
HandleDynamicOpinionThief( pSoldier );
HandleDynamicOpinionChange( pSoldier, OPINIONEVENT_THIEF, TRUE, FALSE );
}
// save the changed inventory
+1 -1
View File
@@ -5742,7 +5742,7 @@ void RequestHighPriorityGarrisonReinforcements( INT32 iGarrisonID, UINT8 ubSoldi
if ( giReinforcementPool > 0 )
{
pGroup = CreateNewEnemyGroupDepartingFromSector( SECTOR( gModSettings.ubSAISpawnSectorX, gModSettings.ubSAISpawnSectorY ),
0, min( ubSoldiersRequested, giReinforcementPool ), 0 );
0, min( ubSoldiersRequested, giReinforcementPool ), 0, 0 );
pGroup->ubMoveType = ONE_WAY;
pGroup->pEnemyGroup->ubIntention = REINFORCEMENTS;
gGarrisonGroup[ iGarrisonID ].ubPendingGroupID = pGroup->ubGroupID;
+2 -1
View File
@@ -46,6 +46,7 @@
#include "Facilities.h"
// HEADROCK HAM 3.6: And another include, for militia upkeep costs.
#include "Town Militia.h"
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinionsDailyRefresh()
#endif
#ifdef JA2UB
@@ -612,7 +613,7 @@ void MercDailyUpdate()
HandleSnitchCheck();
// Flugente: dynmaic opinion rollover
HandleDynamicOpinions();
HandleDynamicOpinionsDailyRefresh( );
}
/*
+1
View File
@@ -37,6 +37,7 @@
// HEADROCK HAM 3.6: Include for Facility Debt
#include "Facilities.h"
#include "CampaignStats.h" // added by Flugente
#include "DynamicDialogue.h" // added by Flugente
#endif
#include "Luaglobal.h"