- Fix: dynamic opinion events on finishing battle did not occur due to faulty sector coordinates
- Fix: dynamic dialogue boxes were displayed with bad screen coordinates
- Change: dynamic dialogue is also written into tactical log
- Change: in events that require a leader, any merc can be considered leader, not just IMPs

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7807 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-04-03 15:35:52 +00:00
parent afd192cde2
commit 98ff352eb0
17 changed files with 1072 additions and 74 deletions
+6 -1
View File
@@ -3584,7 +3584,7 @@ void LoadMoraleSettings()
gDynamicOpinionEvent[OPINIONEVENT_ANNOYINGDISABILITY].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_ANNOYINGDISABILITY", -2, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_ADDICT].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_ADDICT", -6, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_THIEF].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_THIEF", -5, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_WORSTCOMMANDEREVER].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_WORSTCOMMANDEREVER", -7, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_WORSTCOMMANDEREVER].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_WORSTCOMMANDEREVER", -9, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_RICHGUY].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_RICHGUY", -1, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_BETTERGEAR].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BETTERGEAR", -2, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS", -3, -50, 0 );
@@ -3606,6 +3606,11 @@ void LoadMoraleSettings()
gDynamicOpinionEvent[OPINIONEVENT_BRUTAL_GOOD].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BRUTAL_GOOD", 1, 0, 50 );
gDynamicOpinionEvent[OPINIONEVENT_BRUTAL_BAD].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BRUTAL_BAD", -3, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_TEACHER].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_TEACHER", 1, 0, 50 );
gDynamicOpinionEvent[OPINIONEVENT_BESTCOMMANDEREVER].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BESTCOMMANDEREVER", 8, 0, 50 );
gDynamicOpinionEvent[OPINIONEVENT_BATTLE_SAVIOUR].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BATTLE_SAVIOUR", 6, 0, 50 );
gDynamicOpinionEvent[OPINIONEVENT_FRAGTHIEF].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_FRAGTHIEF", -2, -50, 0 );
gDynamicOpinionEvent[OPINIONEVENT_BATTLE_ASSIST].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BATTLE_ASSIST", 1, 0, 50 );
gDynamicOpinionEvent[OPINIONEVENT_BATTLE_TOOK_PRISONER].sOpinionModifier = iniReader.ReadInteger( "Dynamic Opinion Modifiers Settings", "OPINIONEVENT_BATTLE_TOOK_PRISONER", 3, 0, 50 );
}
void LoadReputationSettings()
+4 -4
View File
@@ -713,10 +713,7 @@ void FinishIncident(INT16 sX, INT16 sY, INT8 sZ)
}
}
}
// dynamic opinions: if the playerside had a lot of losses, the mercs will blame one of their own
HandleDynamicOpinionBattleLosses();
// due to odd coding, we do not know when an incident starts
// (checking for entering combat isn't enough, as we do that multiple times per battle)
// we thus set the relevant data when finishing an incident
@@ -732,6 +729,9 @@ void FinishIncident(INT16 sX, INT16 sY, INT8 sZ)
if ( gCampaignStats.usHighestID == 1 )
gCurrentIncident.usOneTimeEventFlags |= INCIDENT_ONETIMEEVENT_OMERTA;
// dynamic opinions
HandleDynamicOpinionBattleFinished( (gCurrentIncident.usIncidentFlags & INCIDENT_WIN) != 0 );
gCampaignStats.AddNewIncident(gCurrentIncident);
// reset incident after adding it
+3 -3
View File
@@ -57,7 +57,7 @@ DDBox::Init( UINT16 sX, UINT16 sY )
SetY( sY );
SetX_Text( GetX( ) + MYBOX_FACE_OFFSET );
SetY_Text( GetY( ) );
SetY_Text( WidgetBase::GetY( ) );
musWidth = min( MYBOX_TEXT_MAXWIDTH, StringPixLength( mText, MYBOX_FONT_DEF ) );
@@ -157,7 +157,7 @@ DDBox::Display( )
}
//Display the background
ColorFillVideoSurfaceArea( FRAME_BUFFER, GetX_Text( ), GetY( ), GetX_Text( ) + musWidth, GetY( ) + musFontHeight, Get16BPPColor( FROMRGB( 0, 0, 0 ) ) );
ColorFillVideoSurfaceArea( FRAME_BUFFER, GetX_Text( ), GetY_Text( ), GetX_Text( ) + musWidth, GetY_Text( ) + musFontHeight, Get16BPPColor( FROMRGB( 0, 0, 0 ) ) );
DrawTopEntry( );
@@ -420,7 +420,7 @@ IMPDialogueChooseBox::Init( UINT16 sX, UINT16 sY )
SetY( sY );
SetX_Text( GetX( ) + MYBOX_FACE_OFFSET );
SetY_Text( GetY( ) );
SetY_Text( WidgetBase::GetY( ) );
mSelectedEntry = 0;
+170 -24
View File
@@ -28,6 +28,7 @@
#include "strategicmap.h"
#include "connect.h"
#include "Campaign.h"
#include "Points.h"
extern INT32 ReadFieldByField( HWFILE hFile, PTR pDest, UINT32 uiFieldSize, UINT32 uiElementSize, UINT32 uiCurByteCount );
@@ -1021,6 +1022,9 @@ BOOLEAN DynamicOpinionTacticalCharacterDialogue( DynamicOpinionSpeechEvent& aEve
pDDBox->Create( sX, sY );
pDDBox->SetStartTime( aEvent.usStarttime );
// print out the dialogue to the log, too
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: %s", pSoldier->GetName(), gzQuoteStr );
// delay destruction of all current boxes - as long as new dialogue comes in, they will be kept
DelayBoxDestruction( aEvent.usStarttime + gGameExternalOptions.sDynamicDialogueTimeOffset * 3.5f );
@@ -1191,7 +1195,12 @@ void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN
case OPINIONEVENT_BRUTAL_BAD: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_BRUTAL_BAD; break;
case OPINIONEVENT_TEACHER: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_TEACHER; break;
case OPINIONEVENT_BESTCOMMANDEREVER: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_BESTCOMMANDEREVER; break;
case OPINIONEVENT_BATTLE_SAVIOUR: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_BATTLE_SAVIOUR; break;
case OPINIONEVENT_FRAGTHIEF: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_FRAGTHIEF; break;
case OPINIONEVENT_BATTLE_ASSIST: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_BATTLE_ASSIST; break;
case OPINIONEVENT_BATTLE_TOOK_PRISONER: gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] |= OPINIONFLAG_STAGE1_BATTLE_TOOK_PRISONER; break;
default: break;
}
@@ -1521,6 +1530,41 @@ INT8 GetDynamicOpinion( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent )
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_TEACHER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_TEACHER ) ++numflags;
break;
case OPINIONEVENT_BESTCOMMANDEREVER:
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE1_BESTCOMMANDEREVER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE2_BESTCOMMANDEREVER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_BESTCOMMANDEREVER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_BESTCOMMANDEREVER ) ++numflags;
break;
case OPINIONEVENT_BATTLE_SAVIOUR:
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE1_BATTLE_SAVIOUR ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE2_BATTLE_SAVIOUR ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_BATTLE_SAVIOUR ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_BATTLE_SAVIOUR ) ++numflags;
break;
case OPINIONEVENT_FRAGTHIEF:
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE1_FRAGTHIEF ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE2_FRAGTHIEF ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_FRAGTHIEF ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_FRAGTHIEF ) ++numflags;
break;
case OPINIONEVENT_BATTLE_ASSIST:
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE1_BATTLE_ASSIST ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE2_BATTLE_ASSIST ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_BATTLE_ASSIST ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_BATTLE_ASSIST ) ++numflags;
break;
case OPINIONEVENT_BATTLE_TOOK_PRISONER:
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE1_BATTLE_TOOK_PRISONER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE2_BATTLE_TOOK_PRISONER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE3_BATTLE_TOOK_PRISONER ) ++numflags;
if ( gMercProfiles[usProfileA].usDynamicOpinionFlagmask[usProfileB][4] & OPINIONFLAG_STAGE4_BATTLE_TOOK_PRISONER ) ++numflags;
break;
default:
break;
@@ -1699,27 +1743,51 @@ void HandleDynamicOpinionOnContractExtension( UINT8 ubCode, UINT8 usProfile )
}
}
void HandleDynamicOpinionBattleLosses( )
// depending on what happened in the battle, our mercs might complain or celebrate
void HandleDynamicOpinionBattleFinished( BOOLEAN fBattleWon )
{
UINT32 badstuff = 0;
UINT32 ourlosses = 0;
UINT32 enemylosses = 0;
UINT32 oursidesize = 0;
UINT32 enemysidesize = 0;
// pick the 'leader' who gets all the praise (or blame, depending on how this went)
UINT8 leaderid = GetBestMercLeaderInSector( SECTORX( gCurrentIncident.usSector ), SECTORY( gCurrentIncident.usSector ), (INT8)gCurrentIncident.usLevel );
for ( UINT16 i = 0; i < CAMPAIGNHISTORY_SD_CIV; ++i )
if ( leaderid != NOBODY )
{
badstuff += 5 * gCurrentIncident.usKills[i];
badstuff += gCurrentIncident.usWounds[i];
badstuff += 4 * gCurrentIncident.usPrisoners[i];
}
if ( badstuff > 100 )
{
// This was a disaster (Ignoring of how high the enemies losses were to create drama :-) )! Let's blame the player -> blame an IMP!
std::vector<UINT8> aTaboo;
UINT8 impid = GetRandomMercInSectorNotInList( SECTORX( gCurrentIncident.usSector ), SECTORY( gCurrentIncident.usSector ), (INT8)gCurrentIncident.usLevel, aTaboo, TRUE );
// we've found someone competent. Let's all blame him for this disaster!
if ( impid != NOBODY )
// while it would be logical to also take civilian losses into account, this would lead to mercs always disapproving engaging hostile civilain factions like Kingpin and the Hicks
for ( UINT16 i = 0; i < CAMPAIGNHISTORY_SD_CIV; ++i )
{
HandleDynamicOpinionChange( MercPtrs[impid], OPINIONEVENT_WORSTCOMMANDEREVER, TRUE, TRUE );
ourlosses += 10 * gCurrentIncident.usKills[i];
ourlosses += gCurrentIncident.usWounds[i];
ourlosses += 8 * gCurrentIncident.usPrisoners[i]; // having our side being captured is not quite as bad as having them killed
oursidesize += gCurrentIncident.usParticipants[i];
}
for ( UINT16 i = CAMPAIGNHISTORY_SD_ENEMY_ADMIN; i < CAMPAIGNHISTORY_SD_MAX; ++i )
{
enemylosses += 10 * gCurrentIncident.usKills[i];
enemylosses += gCurrentIncident.usWounds[i];
enemylosses += 12 * gCurrentIncident.usPrisoners[i]; // capturing the enemy is even better than killing them
enemysidesize += gCurrentIncident.usParticipants[i];
}
// complains only happen if there was a significant battle
if ( ourlosses > 100 || enemylosses > 100 )
{
// if we've taken more losses than the enemy, our mercs will complain - even if we won. Our mercs don't seem to like phyrric victories...
if ( ourlosses > enemylosses )
{
HandleDynamicOpinionChange( MercPtrs[leaderid], OPINIONEVENT_WORSTCOMMANDEREVER, TRUE, TRUE );
}
// if we won with our losses significantly lower than the enemies', while the enemy vastly outnumbered us, our mercs will be quite happy
else if ( fBattleWon && oursidesize < 2 * enemysidesize && 4 * ourlosses < enemylosses )
{
HandleDynamicOpinionChange( MercPtrs[leaderid], OPINIONEVENT_BESTCOMMANDEREVER, TRUE, TRUE );
}
}
}
}
@@ -1728,7 +1796,7 @@ void HandleDynamicOpinionRetreat( )
{
// This was a disaster (Ignoring of how high the enemies losses were to create drama :-) )! Let's blame the player -> blame an IMP!
std::vector<UINT8> aTaboo;
UINT8 impid = GetRandomMercInSectorNotInList( gWorldSectorX, gWorldSectorY, gbWorldSectorZ, aTaboo, TRUE );
UINT8 impid = GetBestMercLeaderInSector( gWorldSectorX, gWorldSectorY, gbWorldSectorZ );
// we've found someone competent. Let's all blame him for this disaster!
if ( impid != NOBODY )
@@ -1814,14 +1882,59 @@ void HandleDynamicOpinionTeaching( SOLDIERTYPE* pSoldier, UINT8 ubStat )
}
}
// some events require a 'leader' - merc the team will regard as the one being in charge, and subsequently being praised or damned for the way things develop
UINT32 GetSoldierLeaderRating( SOLDIERTYPE* pSoldier )
{
if ( !pSoldier )
return 0;
// rating is based on leadership, experience and the squad leader trait. IMPs get a higher rating, as they represent the player closest
UINT32 rating = 0;
rating += pSoldier->stats.bLeadership;
rating += 10 * pSoldier->stats.bExpLevel;
rating += 30 * NUM_SKILL_TRAITS( pSoldier, SQUADLEADER_NT );
rating += 50 * (pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__PLAYER_CHARACTER);
return rating;
}
UINT8 GetBestMercLeaderInSector( INT16 sX, INT16 sY, INT8 sZ )
{
UINT32 highestrating = 0;
UINT8 bestid = NOBODY;
SOLDIERTYPE* pSoldier = NULL;
UINT16 bMercID = gTacticalStatus.Team[gbPlayerNum].bFirstID;
UINT16 bLastTeamID = gTacticalStatus.Team[gbPlayerNum].bLastID;
for ( pSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, ++pSoldier )
{
// everybody other merc in the same sector gets annoyed
if ( pSoldier->bActive && pSoldier->ubProfile != NO_PROFILE &&
pSoldier->sSectorX == sX && pSoldier->sSectorY == sY && pSoldier->bSectorZ == sZ &&
!(pSoldier->bAssignment == IN_TRANSIT || pSoldier->bAssignment == ASSIGNMENT_DEAD) )
{
UINT32 rating = GetSoldierLeaderRating( pSoldier );
if ( rating > highestrating )
{
highestrating = rating;
bestid = bMercID;
}
}
}
return bestid;
}
UINT8 GetRandomMercInSectorNotInList( INT16 sX, INT16 sY, INT8 sZ, std::vector<UINT8> aTaboo, BOOLEAN fImpOnly )
{
std::vector<UINT8> resultvector;
std::vector<UINT8> resultvector;
SOLDIERTYPE* pTeamSoldier = NULL;
UINT16 bMercID = gTacticalStatus.Team[gbPlayerNum].bFirstID;
UINT16 bLastTeamID = gTacticalStatus.Team[gbPlayerNum].bLastID;
for ( pTeamSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, pTeamSoldier++ )
for ( pTeamSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, ++pTeamSoldier )
{
// everybody other merc in the same sector gets annoyed
if ( pTeamSoldier->bActive && pTeamSoldier->ubProfile != NO_PROFILE &&
@@ -1832,7 +1945,7 @@ UINT8 GetRandomMercInSectorNotInList( INT16 sX, INT16 sY, INT8 sZ, std::vector<U
{
// only add if not already in list
if ( std::find( aTaboo.begin( ), aTaboo.end( ), pTeamSoldier->ubProfile ) == aTaboo.end( ) )
resultvector.push_back( pTeamSoldier->ubProfile );
resultvector.push_back( bMercID );
}
}
@@ -1841,7 +1954,7 @@ UINT8 GetRandomMercInSectorNotInList( INT16 sX, INT16 sY, INT8 sZ, std::vector<U
return resultvector[Random( resultvector.size( ) )];
}
return NO_PROFILE;
return NOBODY;
}
UINT8 GetFittingInterjectorProfile( UINT8 usEvent, UINT8 usProfileVictim, UINT8 usProfileCause )
@@ -1957,6 +2070,11 @@ void HandleDynamicOpinionChange( SOLDIERTYPE* pSoldier, UINT8 usEvent, BOOLEAN f
case OPINIONEVENT_BRUTAL_GOOD:
case OPINIONEVENT_BRUTAL_BAD:
case OPINIONEVENT_TEACHER:
case OPINIONEVENT_BESTCOMMANDEREVER:
case OPINIONEVENT_BATTLE_SAVIOUR:
case OPINIONEVENT_BATTLE_TOOK_PRISONER:
case OPINIONEVENT_FRAGTHIEF:
case OPINIONEVENT_BATTLE_ASSIST:
break;
case OPINIONEVENT_SLOWSUSDOWN:
@@ -2135,8 +2253,36 @@ void HandleDynamicOpinionChange( SOLDIERTYPE* pSoldier, UINT8 usEvent, BOOLEAN f
break;
case OPINIONEVENT_TEACHER:
// other guy needs to be a trainer
case OPINIONEVENT_BESTCOMMANDEREVER:
break;
case OPINIONEVENT_FRAGTHIEF:
// we care if we were going for the same target at the same location
if ( pTeamSoldier->ubTargetID == pSoldier->ubTargetID && pTeamSoldier->sTargetGridNo == pSoldier->sTargetGridNo )
{
// are we ambitious enough to care about kill counts?
if ( gMercProfiles[pTeamSoldier->ubProfile].bCharacterTrait == CHAR_TRAIT_ASSERTIVE || gMercProfiles[pTeamSoldier->ubProfile].bCharacterTrait == CHAR_TRAIT_SHOWOFF )
{
// did we have enough AP to claim we were about to finish them?
if ( !EnoughPoints( pTeamSoldier, 60, 0, FALSE ) )
continue;
}
else
{
// we are grateful for the assistance instead
usEventUsed = OPINIONEVENT_BATTLE_ASSIST;
}
}
else
continue;
break;
case OPINIONEVENT_BATTLE_TOOK_PRISONER:
// we only care if we prefer the enemy to be taken alive
if ( !(gMercProfiles[pTeamSoldier->ubProfile].ubMiscFlags3 & PROFILE_MISC_FLAG3_GOODGUY ||
gMercProfiles[pTeamSoldier->ubProfile].bCharacterTrait == CHAR_TRAIT_INTELLECTUAL ||
gMercProfiles[pTeamSoldier->ubProfile].bCharacterTrait == CHAR_TRAIT_PACIFIST) )
continue;
break;
default:
+35 -22
View File
@@ -60,6 +60,12 @@ enum
OPINIONEVENT_BRUTAL_BAD, // other guy killed someone in a brutal fashion, and we dislike that
OPINIONEVENT_TEACHER, // other guy taught us and we are grateful
OPINIONEVENT_BESTCOMMANDEREVER, // we won a battle through what must be magnificent leadership
OPINIONEVENT_BATTLE_SAVIOUR, // other guy saved us in a firefight
OPINIONEVENT_FRAGTHIEF, // other guy stole our kill
OPINIONEVENT_BATTLE_ASSIST, // other guy assisted us in battle
OPINIONEVENT_BATTLE_TOOK_PRISONER, // other guy chose to take prisoners instead of killing the enemy
OPINIONEVENT_MAX
};
@@ -255,32 +261,32 @@ extern DynamicOpinionEvent gDynamicOpinionEvent[OPINIONEVENT_MAX];
#define OPINIONFLAG_STAGE3_TEACHER 0x00000040 //64
#define OPINIONFLAG_STAGE4_TEACHER 0x00000080 //128
/*#define OPINIONFLAG_STAGE1_SOLVECONFLICT_REASON_BAD 0x00000100 //256 // attempted to solve the conflict reasonably, and we thought that was bad
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_REASON_BAD 0x00000200 //512
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_REASON_BAD 0x00000400 //1024
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_REASON_BAD 0x00000800 //2048
#define OPINIONFLAG_STAGE1_BESTCOMMANDEREVER 0x00000100 //256 // this guy lead our team to a magnificent victory
#define OPINIONFLAG_STAGE2_BESTCOMMANDEREVER 0x00000200 //512
#define OPINIONFLAG_STAGE3_BESTCOMMANDEREVER 0x00000400 //1024
#define OPINIONFLAG_STAGE4_BESTCOMMANDEREVER 0x00000800 //2048
#define OPINIONFLAG_STAGE1_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00001000 //4096 // attempted to solve the conflict agressively, and we thought that was good
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00002000 //8192
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00004000 //16384
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00008000 //32768
#define OPINIONFLAG_STAGE1_BATTLE_SAVIOUR 0x00001000 //4096 // other guy saved us in a firefight
#define OPINIONFLAG_STAGE2_BATTLE_SAVIOUR 0x00002000 //8192
#define OPINIONFLAG_STAGE3_BATTLE_SAVIOUR 0x00004000 //16384
#define OPINIONFLAG_STAGE4_BATTLE_SAVIOUR 0x00008000 //32768
#define OPINIONFLAG_STAGE1_SOLVECONFLICT_AGGRESSIVE_BAD 0x00010000 //65536 // attempted to solve the conflict agressively, and we thought that was bad
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_AGGRESSIVE_BAD 0x00020000 //131072
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_AGGRESSIVE_BAD 0x00040000 //262144
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_AGGRESSIVE_BAD 0x00080000 //524288
#define OPINIONFLAG_STAGE1_FRAGTHIEF 0x00010000 //65536 // other guy stole our kill
#define OPINIONFLAG_STAGE2_FRAGTHIEF 0x00020000 //131072
#define OPINIONFLAG_STAGE3_FRAGTHIEF 0x00040000 //262144
#define OPINIONFLAG_STAGE4_FRAGTHIEF 0x00080000 //524288
#define OPINIONFLAG_STAGE1_DISEASE_DISGUSTING 0x00100000 //1048576 // is diseased, which we find disgusting
#define OPINIONFLAG_STAGE2_DISEASE_DISGUSTING 0x00200000 //2097152
#define OPINIONFLAG_STAGE3_DISEASE_DISGUSTING 0x00400000 //4194304
#define OPINIONFLAG_STAGE4_DISEASE_DISGUSTING 0x00800000 //8388608
#define OPINIONFLAG_STAGE1_BATTLE_ASSIST 0x00100000 //1048576 // other guy assisted us in battle
#define OPINIONFLAG_STAGE2_BATTLE_ASSIST 0x00200000 //2097152
#define OPINIONFLAG_STAGE3_BATTLE_ASSIST 0x00400000 //4194304
#define OPINIONFLAG_STAGE4_BATTLE_ASSIST 0x00800000 //8388608
#define OPINIONFLAG_STAGE1_DISEASE_TREATMENT 0x01000000 //16777216 // treated our disease, which we like
#define OPINIONFLAG_STAGE2_DISEASE_TREATMENT 0x02000000 //33554432
#define OPINIONFLAG_STAGE3_DISEASE_TREATMENT 0x04000000 //67108864
#define OPINIONFLAG_STAGE4_DISEASE_TREATMENT 0x08000000 //134217728
#define OPINIONFLAG_STAGE1_BATTLE_TOOK_PRISONER 0x01000000 //16777216 // other guy chose to take prisoners instead of killing the enemy
#define OPINIONFLAG_STAGE2_BATTLE_TOOK_PRISONER 0x02000000 //33554432
#define OPINIONFLAG_STAGE3_BATTLE_TOOK_PRISONER 0x04000000 //67108864
#define OPINIONFLAG_STAGE4_BATTLE_TOOK_PRISONER 0x08000000 //134217728
#define OPINIONFLAG_STAGE1_BRUTAL_GOOD 0x10000000 //268435456 // other guy killed someone in a brutal fashion, and we like that
/*#define OPINIONFLAG_STAGE1_BRUTAL_GOOD 0x10000000 //268435456 // other guy killed someone in a brutal fashion, and we like that
#define OPINIONFLAG_STAGE2_BRUTAL_GOOD 0x20000000 //536870912
#define OPINIONFLAG_STAGE3_BRUTAL_GOOD 0x40000000 //1073741824
#define OPINIONFLAG_STAGE4_BRUTAL_GOOD 0x80000000 //2147483648*/
@@ -463,11 +469,18 @@ void RolloverDynamicOpinions( UINT8 usProfileA );
void CheckForFriendsofHated( SOLDIERTYPE* pSoldier );
void HandleDynamicOpinionOnContractExtension( UINT8 ubCode, UINT8 usProfile );
void HandleDynamicOpinionBattleLosses( );
// depending on what happened in the battle, our mercs might complain or celebrate
void HandleDynamicOpinionBattleFinished( BOOLEAN fBattleWon );
void HandleDynamicOpinionRetreat( );
void HandleDynamicOpinionTeamDrinking( SOLDIERTYPE* pSoldier );
void HandleDynamicOpinionTeaching( SOLDIERTYPE* pSoldier, UINT8 ubStat );
// some events require a 'leader' - merc the team will regard as the one being in charge, and subsequently being praised or damned for the way things develop
UINT32 GetSoldierLeaderRating( SOLDIERTYPE* pSoldier );
UINT8 GetBestMercLeaderInSector( INT16 sX, INT16 sY, INT8 sZ );
// get id of a random merc in a sector, provided one exists
UINT8 GetRandomMercInSectorNotInList( INT16 sX, INT16 sY, INT8 sZ, std::vector<UINT8> aTaboo, BOOLEAN fImpOnly );
+7 -2
View File
@@ -128,7 +128,7 @@ DynamicOpinionEvent gDynamicOpinionEvent[OPINIONEVENT_MAX] =
{ OPINIONEVENT_ANNOYINGDISABILITY, -2, TRUE, FALSE, TRUE, FALSE },
{ OPINIONEVENT_ADDICT, -6, TRUE, FALSE, TRUE, FALSE },
{ OPINIONEVENT_THIEF, -5, TRUE, FALSE, TRUE, FALSE },
{ OPINIONEVENT_WORSTCOMMANDEREVER, -7, TRUE, FALSE, FALSE, TRUE },
{ OPINIONEVENT_WORSTCOMMANDEREVER, -9, TRUE, FALSE, FALSE, TRUE },
{ OPINIONEVENT_RICHGUY, -1, FALSE, FALSE, FALSE, FALSE },
{ OPINIONEVENT_BETTERGEAR, -2, TRUE, FALSE, FALSE, TRUE },
{ OPINIONEVENT_YOUMOUNTEDAGUNONMYBREASTS, -3, TRUE, FALSE, FALSE, TRUE },
@@ -149,7 +149,12 @@ DynamicOpinionEvent gDynamicOpinionEvent[OPINIONEVENT_MAX] =
{OPINIONEVENT_DISEASE_TREATMENT, 1, TRUE, FALSE, TRUE, FALSE},
{OPINIONEVENT_BRUTAL_GOOD, 1, TRUE, FALSE, TRUE, FALSE},
{OPINIONEVENT_BRUTAL_BAD, -2, TRUE, FALSE, TRUE, FALSE},
{OPINIONEVENT_TEACHER, 1, TRUE, FALSE, FALSE, FALSE}
{OPINIONEVENT_TEACHER, 1, TRUE, FALSE, FALSE, FALSE},
{ OPINIONEVENT_BESTCOMMANDEREVER, 8, TRUE, FALSE, FALSE, TRUE },
{ OPINIONEVENT_BATTLE_SAVIOUR, 6, TRUE, FALSE, FALSE, TRUE},
{ OPINIONEVENT_FRAGTHIEF, -2, TRUE, FALSE, FALSE, TRUE},
{ OPINIONEVENT_BATTLE_ASSIST, -1, TRUE, FALSE, FALSE, TRUE},
{ OPINIONEVENT_BATTLE_TOOK_PRISONER, 3, TRUE, FALSE, FALSE, TRUE}
};
BOOLEAN gfSomeoneSaidMoraleQuote = FALSE;
+4
View File
@@ -10544,6 +10544,10 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
}
}
}
// dynamic opinion: a merc caused the remaining enemies to give up
if ( gusSelectedSoldier != NOBODY )
HandleDynamicOpinionChange( MercPtrs[gusSelectedSoldier], OPINIONEVENT_BATTLE_TOOK_PRISONER, TRUE, TRUE );
}
else
{
+17
View File
@@ -3961,6 +3961,23 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
//gMercProfiles[ MercPtrs[ pSoldier->ubAttackerID ]->ubProfile ].usKills++;
/////////////////////////////////////////////////////////////////////////////////////
gStrategicStatus.usPlayerKills++;
// Flugente: dynamic opinions: if this guy is a not-hostile civilian, then some mercs will complain about killing civilians
if ( pSoldier->bTeam == CIV_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
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 )
{
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 );
}
}
}
else if ( MercPtrs[ ubAttacker ]->bTeam == MILITIA_TEAM )
{
+2 -2
View File
@@ -2862,10 +2862,10 @@ extern STR16 szTacticalInventoryDialogString[];
extern STR16 szTacticalCoverDialogString[];
extern STR16 szTacticalCoverDialogPrintString[];
// OPINIONEVENT_MAX is 34
// OPINIONEVENT_MAX is 39
// DOST_MAX is 17
extern STR16 szDynamicDialogueText[34][17];
extern STR16 szDynamicDialogueText[39][17];
// Flugente: dynamic dialogue
extern STR16 szDynamicDialogueText_DOST_VICTIM_TO_INTERJECTOR_DENY[];
+103 -2
View File
@@ -9020,6 +9020,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9177,7 +9183,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9814,7 +9820,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9824,6 +9830,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9031,6 +9031,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9188,7 +9194,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9825,7 +9831,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9835,6 +9841,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9069,6 +9069,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9226,7 +9232,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
STR16 szDynamicDialogueText[34][17] =
STR16 szDynamicDialogueText[39][17] =
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9863,7 +9869,7 @@ STR16 szDynamicDialogueText[34][17] =
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9873,6 +9879,101 @@ STR16 szDynamicDialogueText[34][17] =
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9017,6 +9017,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9174,7 +9180,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9811,7 +9817,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9821,6 +9827,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -8848,6 +8848,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9005,7 +9011,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9642,7 +9648,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9652,6 +9658,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9026,6 +9026,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9183,7 +9189,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9820,7 +9826,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9830,6 +9836,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9043,6 +9043,12 @@ STR16 szMercCompareEventText[]=
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] =
@@ -9200,7 +9206,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9837,7 +9843,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9847,6 +9853,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};
+103 -2
View File
@@ -9014,6 +9014,12 @@ STR16 szMercCompareEventText[]= // TODO.Translate
L"%s enjoys combat a bit too much",
L"%s is a good teacher",
L"%s led us to victory",
L"%s saved my life",
L"%s stole my kill",
L"%s and me fought well together",
L"%s made the enemy surrender",
};
STR16 szWHOWebSite[] = // TODO.Translate
@@ -9171,7 +9177,7 @@ STR16 szTacticalCoverDialogPrintString[]=
};
// TODO.Translate
STR16 szDynamicDialogueText[34][17] = // TODO.Translate
STR16 szDynamicDialogueText[39][17] = // TODO.Translate
{
// OPINIONEVENT_FRIENDLYFIRE
L"What the hell! $CAUSE$ shot me!",
@@ -9808,7 +9814,7 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"You're welcome!",
L"",
L"",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. what do you think?",
L"$CAUSE$ is unimpressed by $VICTIM$'s progress. What do you think?",
L"At some point you'll have to do on your own though.",
L"Yeah, you better stick to $CAUSE$.",
L"Nah, $VICTIM_GENDER$ is doing fine.",
@@ -9818,6 +9824,101 @@ STR16 szDynamicDialogueText[34][17] = // TODO.Translate
L"",
L"",
L"",
// OPINIONEVENT_BESTCOMMANDEREVER
L"Yeah! Take that, losers! That was a mighty fine strategy, $CAUSE$!",
L"",
L"",
L"I couldn't have done it without you people.",
L"Well, I do have my moments.",
L"",
L"",
L"$CAUSE$ praises $VICTIM$'s leadership. What's your opinion?",
L"Well... it's not like $CAUSE_GENDER$ pulled that all by $CAUSE_PRONOUN$self...",
L"Agreed. $CAUSE$ is a fine squadleader.",
L"It's alright. You deserve this.",
L"You did everything right, $VICTIM$. Good work!",
L"Yeah. We're turning into quite the outfit, aren't we?",
L"We might have won this battle, but the war is far from over. We'll have to repeat victories like this.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_SAVIOUR
L"Wow, that was close. Thanks, $CAUSE$, I owe you!",
L"",
L"",
L"Don't mention it.",
L"You'd do the same for me.",
L"",
L"",
L"$CAUSE$ saved $VICTIM$'s life. What's your opinion?",
L"Pff, that guy was dead anyway.",
L"How bad is it, $VICTIM$? Can you still fight?",
L"Then I will. Good job!",
L"Yeah, I was worried there for a moment.",
L"Good job, but let's focus on ending this first, okay?",
L"When you're done hugging, could we go back to the issue at hand? You know, the guys shooting at us?",
L"",
L"",
L"",
// OPINIONEVENT_FRAGTHIEF
L"Hey, I had him in my sights! That guy was MINE!",
L"",
L"",
L"What? Are you nuts? We're in the middle of a firefight, and you set up a killcount?",
L"What. Then where's my target?",
L"",
L"",
L"$VICTIM$ is angry with $CAUSE$ for stealing their kill. What's your take on this?",
L"This isn't some videogame, you moron. Nobody gives a shit about your godamn killcount.",
L"Yeah, I hate it when people don't stick to their firing lane.",
L"Stick to shooting whom you're supposed to, $CAUSE$.",
L"Jeez. This feels like nineties videogaming. What's next, $VICTIM_GENDER$'ll accuse the enemy of camping?",
L"You can sort this out later, but right now, everybody make sure we're not missing any angle.",
L"Just stick to your firing sector, kill 'em all, and there'll be plenty of kills for everybody.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_ASSIST
L"Boom! We sure took care of that guy.",
L"",
L"",
L"Well, it was mostly me, but you did help too.",
L"Yup. Ready for the next one.",
L"",
L"",
L"$CAUSE$ and $VICTIM$ brought down an enemy. Any comment?",
L"If you weren't such a bad shot, $CAUSE$ wouldn't have to finish your job.",
L"It takes several people to take them down? Jeez, what kind of body armour do they have?",
L"Blah blah, everybody look at me. $VICTIM$ is such a showoff.",
L"Hehe, they've got no chance.",
L"Hmm. We might need more firepower if it takes several of us to take those guys down, but good work anyway.",
L"I guess you get to share what he had. $CAUSE$, you may draw first.",
L"",
L"",
L"",
// OPINIONEVENT_BATTLE_TOOK_PRISONER
L"Good thinking. We've already won, no need for more senseless slaughter.",
L"",
L"",
L"We'll see about that... I won't hesitate to use force against them if they resist.",
L"Yeah. Perhaps these guys have some intel we can use.",
L"",
L"",
L"The rest of the enemy team surrendered to $CAUSE$. Now what?",
L"No offense, but if you cannot handle death, $CAUSE$, perhaps this might not be the best job for you?",
L"Good job, $CAUSE$. Makes our job hell of a lot easier.",
L"Hey! Cut the crap. They already surrendered.",
L"Yeah, you can't trust these guys, they're totally reckless.",
L"We should move these guys to a prison ASAP. I'm sure they know what the army is up to.",
L"Pah. I'd have preferred from wasting these losers. They'll just slow us down.",
L"",
L"",
L"",
};