diff --git a/Laptop/mercs Account.cpp b/Laptop/mercs Account.cpp index 500ec65e..bc62cfe8 100644 --- a/Laptop/mercs Account.cpp +++ b/Laptop/mercs Account.cpp @@ -212,6 +212,11 @@ INT32 GetNumberOfHiredMercs() #else uiContractCharge = gMercProfiles[ usMercID ].sSalary * gMercProfiles[ usMercID ].iMercMercContractLength; #endif + //JMich_MMG: If gearkit unpaid for, add it to cost + if ( gMercProfiles[ usMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID) + { + uiContractCharge += gMercProfiles[ usMercID ].usOptionalGearCost; + } giMercTotalContractCharge += uiContractCharge; count++; @@ -579,6 +584,11 @@ void DisplayHiredMercs() #else uiContractCharge = gMercProfiles[ usMercID ].sSalary * gMercProfiles[ usMercID ].iMercMercContractLength; #endif + //JMich_MMG: If gearkit unpaid for, add its cost + if ( gMercProfiles[ usMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID) + { + uiContractCharge += gMercProfiles[ usMercID ].usOptionalGearCost; + } swprintf(sTemp, L"$%6d", uiContractCharge ); DrawTextToScreen(sTemp, MERC_AC_FOURTH_COLUMN_X, usPosY, MERC_AC_FOURTH_COLUMN_WIDTH, MERC_ACCOUNT_DYNAMIC_TEXT_FONT, ubFontColor, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); @@ -621,15 +631,20 @@ void SettleMercAccounts() #else iContractCharge = gMercProfiles[ ubMercID ].sSalary * gMercProfiles[ ubMercID ].iMercMercContractLength; #endif - + //JMich_MMG: If gearkit unpaid for, add its cost + if (gMercProfiles[ ubMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID) + { + iContractCharge += gMercProfiles[ ubMercID ].usOptionalGearCost; + } //if the player can afford to pay this merc if( LaptopSaveInfo.iCurrentBalance >= iPartialPayment + iContractCharge ) { //Increment the counter that keeps track of the of the number of days the player has paid for merc services LaptopSaveInfo.guiNumberOfMercPaymentsInDays += gMercProfiles[ ubMercID ].iMercMercContractLength; - //Then reset the merc contract counter + //Then reset the merc contract counter (and remove the unpaid gearkit flag) gMercProfiles[ ubMercID ].iMercMercContractLength = 0; + gMercProfiles[ ubMercID ].ubMiscFlags2 &= (~PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID); //Add this mercs contract charge to the total iPartialPayment += iContractCharge; @@ -814,8 +829,13 @@ UINT32 CalculateHowMuchPlayerOwesSpeck() #else uiContractCharge += gMercProfiles[ usMercID ].sSalary * gMercProfiles[ usMercID ].iMercMercContractLength; #endif + //JMich_MMG: If gearkit unpaid for, add its cost + if ( gMercProfiles[ usMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID) + { + uiContractCharge += gMercProfiles[ usMercID ].usOptionalGearCost; } } + } return( uiContractCharge ); } diff --git a/Laptop/mercs Files.cpp b/Laptop/mercs Files.cpp index 9839f9a5..d263d465 100644 Binary files a/Laptop/mercs Files.cpp and b/Laptop/mercs Files.cpp differ diff --git a/Tactical/soldier profile type.h b/Tactical/soldier profile type.h index b0626dbe..f5ce42d9 100644 --- a/Tactical/soldier profile type.h +++ b/Tactical/soldier profile type.h @@ -38,6 +38,8 @@ #define PROFILE_MISC_FLAG2_NEEDS_TO_SAY_HOSTILE_QUOTE 0x10 #define PROFILE_MISC_FLAG2_MARRIED_TO_HICKS 0x20 #define PROFILE_MISC_FLAG2_ASKED_BY_HICKS 0x40 +//JMich_MMG: Flag to see if gearkit cost is still unpaid for +#define PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID 0x80 #define PROFILE_MISC_FLAG3_PLAYER_LEFT_MSG_FOR_MERC_AT_AIM 0x01 // In the aimscreen, the merc was away and the player left a message #define PROFILE_MISC_FLAG3_PERMANENT_INSERTION_CODE 0x02 diff --git a/Utils/Text.h b/Utils/Text.h index 459a5ea6..2448b60c 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -923,6 +923,8 @@ enum MERC_FILES_HIRE_TO_MANY_PEOPLE_WARNING, MERC_FILES_MERC_UNAVAILABLE, + MERC_FILES_BIO, //JMich_MMG: Adding two new texts for the small button, assuming we manage to add a silhouette with the gear, add it after this. + MERC_FILES_INVENTORY, TEXT_NUM_MERC_FILES, }; extern STR16 MercInfo[]; diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index acacede4..bb09952c 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -4224,6 +4224,8 @@ STR16 MercInfo[] = L"看起来你雇佣了太多的佣兵。最多只能雇18人。", //"Looks like you're trying to hire too many mercs. Your limit is 18.", L"不可雇佣", //"Unavailable", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index a85f9d87..db9af0c5 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -4224,6 +4224,8 @@ STR16 MercInfo[] = L"Lijkt erop dat je teveel huurlingen wil recruteren. Limiet is 18.", L"Niet beschikbaar", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 2e113d59..3ff9ec5d 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -4222,6 +4222,8 @@ STR16 MercInfo[] = L"Looks like you're trying to hire too many mercs. Your limit is 18.", L"Unavailable", + L"Bio", + L"Inv", }; diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 2651cfde..bfe884c1 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -4214,6 +4214,8 @@ STR16 MercInfo[] = L"Vous ne pouvez engager plus de 18 mercenaires.", L"Indisponible", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index ad6722ca..ee5d65bc 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -4149,6 +4149,8 @@ STR16 MercInfo[] = L"Sie versuchen, zu viele Söldner anzuheuern. Sie haben die Maximalanzahl erreicht.", L"nicht da", + L"Bio", //TODO.Translate + L"Inv", }; // For use at the M.E.R.C. web site. Text relating to opening an account with MERC diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 710324d7..6785f901 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -4212,6 +4212,8 @@ STR16 MercInfo[] = L"Sembra che state arruolando troppi mercenari. Il vostro limite è di 18.", L"Non disponibile", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 1229166f..693d3dbe 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -4220,6 +4220,8 @@ STR16 MercInfo[] = L"Wygląda na to, że chcesz wynająć zbyt wielu najemników. Limit wynosi 18.", L"Niedostępny", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 7eb80b7f..4c6b07d2 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -4211,6 +4211,8 @@ STR16 MercInfo[] = L"Похоже, вы пытаетесь нанять более 18 наемников, а это недопустимо.", L"Недоступно", + L"Bio", //TODO.Translate + L"Inv", }; diff --git a/Utils/_TaiwaneseText.cpp b/Utils/_TaiwaneseText.cpp index 48da1368..294b9de5 100644 --- a/Utils/_TaiwaneseText.cpp +++ b/Utils/_TaiwaneseText.cpp @@ -4225,6 +4225,8 @@ STR16 MercInfo[] = L"Looks like you're trying to hire too many mercs. Your limit is 18.", L"Unavailable", + L"Bio", //TODO.Translate + L"Inv", };