More buddies/foes (by anv)

- Currently MercProfiles.xml contains 5 records for buddies and 5 for foes + 1 per "learn to", but in code only 2 first + "learn to" are handled. I changed it so all possible buddies and foes can be used, and it's possible to add their specific like/dislike quotes to quote .edts.


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6538 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-10-28 20:02:19 +00:00
parent decc986649
commit 08e6bc4aca
14 changed files with 415 additions and 50 deletions
+77 -3
View File
@@ -102,7 +102,7 @@
#define SIZE_MERC_ADDITIONAL_INFO 160 * 2
#define MERC_ANNOYED_WONT_CONTACT_TIME_MINUTES 6 * 60
#define NUMBER_HATED_MERCS_ONTEAM 3
#define NUMBER_HATED_MERCS_ONTEAM 6
#define STATS_X IMAGE_OFFSET_X + 121
#define STATS_Y IMAGE_OFFSET_Y + 66
@@ -3350,7 +3350,17 @@ BOOLEAN CanMercBeHired()
for(i=0; i< NUMBER_HATED_MERCS_ONTEAM; i++)
{
//see if someone the merc hates is on the team
bMercID = gMercProfiles[ gbCurrentSoldier ].bHated[i];
if( i< NUMBER_HATED_MERCS_ONTEAM - 1 )
{
bMercID = gMercProfiles[ gbCurrentSoldier ].bHated[i];
}
else
{
bMercID = gMercProfiles[ gbCurrentSoldier ].bLearnToHate;
// ignore learn to hate, if he's not a foe yet
if( gMercProfiles[ gbCurrentSoldier ].bLearnToHateCount > 0 )
continue;
}
if( bMercID < 0 )
continue;
@@ -3368,7 +3378,17 @@ BOOLEAN CanMercBeHired()
for(j=0; j< NUMBER_HATED_MERCS_ONTEAM; j++)
{
//if a buddy is on the team, the merc will join
bMercID = gMercProfiles[ gbCurrentSoldier ].bBuddy[j];
if( i< NUMBER_HATED_MERCS_ONTEAM - 1 )
{
bMercID = gMercProfiles[ gbCurrentSoldier ].bBuddy[j];
}
else
{
bMercID = gMercProfiles[ gbCurrentSoldier ].bLearnToLike;
// ignore learn to like, if he's not a buddy yet
if( gMercProfiles[ gbCurrentSoldier ].bLearnToLikeCount > 0 )
continue;
}
if( bMercID < 0 )
continue;
@@ -3383,6 +3403,18 @@ BOOLEAN CanMercBeHired()
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_JOINING_CAUSE_BUDDY_2_ON_TEAM);
}
else if(j == 2 )
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_JOINING_CAUSE_BUDDY_3_ON_TEAM);
}
else if(j == 3 )
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_JOINING_CAUSE_BUDDY_4_ON_TEAM);
}
else if(j == 4 )
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_JOINING_CAUSE_BUDDY_5_ON_TEAM);
}
else
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_JOINING_CAUSE_LEARNED_TO_LIKE_BUDDY_ON_TEAM);
@@ -3423,6 +3455,48 @@ BOOLEAN CanMercBeHired()
fRetVal = TRUE;
}
}
else if( i == 2)
{
if( gMercProfiles[ gbCurrentSoldier ].bHatedTime[ i ] < 24 )
{
WaitForMercToFinishTalkingOrUserToClick();
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_HATE_MERC_3_ON_TEAM);
fRetVal = FALSE;
}
else
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_PERSONALITY_BIAS_WITH_MERC_3);
fRetVal = TRUE;
}
}
else if( i == 3)
{
if( gMercProfiles[ gbCurrentSoldier ].bHatedTime[ i ] < 24 )
{
WaitForMercToFinishTalkingOrUserToClick();
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_HATE_MERC_4_ON_TEAM);
fRetVal = FALSE;
}
else
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_PERSONALITY_BIAS_WITH_MERC_4);
fRetVal = TRUE;
}
}
else if( i == 4)
{
if( gMercProfiles[ gbCurrentSoldier ].bHatedTime[ i ] < 24 )
{
WaitForMercToFinishTalkingOrUserToClick();
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_HATE_MERC_5_ON_TEAM);
fRetVal = FALSE;
}
else
{
InitVideoFaceTalking(gbCurrentSoldier, QUOTE_PERSONALITY_BIAS_WITH_MERC_5);
fRetVal = TRUE;
}
}
else
{
WaitForMercToFinishTalkingOrUserToClick();