mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
- Added playable mercs: John Kulba (the tourist) and 3 JA1 natives (Elio, Juan, Wahan) (by anv)
o Added faces (except camo faces), speech, bio, ... o All those 4 mercs are available at M.E.R.C o Added INI options for enabling/disabling recruitable Speck, Kulba and natives o If enabled, Kulba becomes available as a MERC merc after finishing escort quest, delay is configurable (two weeks by default). He won't be available earlier even if MERC_WEBSITE_ALL_MERCS_AVAILABLE is set to TRUE see: http://www.bears-pit.com/board/ubbthreads.php/topics/298288/47.html - Improvement: MERC mercs get unlocked according to their own availability conditions, not to their order in MercAvailability.xml git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6258 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -849,6 +849,14 @@ void LoadGameExternalOptions()
|
|||||||
// CHRISL: New setting to allow Slay to remain as a hired PC
|
// CHRISL: New setting to allow Slay to remain as a hired PC
|
||||||
gGameExternalOptions.fEnableSlayForever = iniReader.ReadBoolean("Recruitment Settings", "SLAY_STAYS_FOREVER", FALSE);
|
gGameExternalOptions.fEnableSlayForever = iniReader.ReadBoolean("Recruitment Settings", "SLAY_STAYS_FOREVER", FALSE);
|
||||||
|
|
||||||
|
// anv: playable Speck
|
||||||
|
gGameExternalOptions.fEnableRecruitableSpeck = iniReader.ReadBoolean("Recruitment Settings", "RECRUITABLE_SPECK", TRUE);
|
||||||
|
// anv: John Kulba becomes recruitable as a merc after finishing escort quest
|
||||||
|
gGameExternalOptions.fEnableRecruitableJohnKulba = iniReader.ReadBoolean("Recruitment Settings", "RECRUITABLE_JOHN_KULBA", TRUE);
|
||||||
|
gGameExternalOptions.ubRecruitableJohnKulbaDelay = iniReader.ReadInteger("Recruitment Settings", "RECRUITABLE_JOHN_KULBA_DELAY", 14, 0, 255);
|
||||||
|
// anv: enable JA1 natives as MERC mercs
|
||||||
|
gGameExternalOptions.fEnableRecruitableJA1Natives = iniReader.ReadBoolean("Recruitment Settings", "RECRUITABLE_JA1_NATIVES", TRUE);
|
||||||
|
|
||||||
// Buggler: setting to show/hide skills/traits in AIM & MERC hiring page
|
// Buggler: setting to show/hide skills/traits in AIM & MERC hiring page
|
||||||
gGameExternalOptions.fShowSkillsInHirePage = iniReader.ReadBoolean("Recruitment Settings", "SHOW_SKILLS_IN_HIRING_PAGE", FALSE);
|
gGameExternalOptions.fShowSkillsInHirePage = iniReader.ReadBoolean("Recruitment Settings", "SHOW_SKILLS_IN_HIRING_PAGE", FALSE);
|
||||||
|
|
||||||
|
|||||||
@@ -726,6 +726,14 @@ typedef struct
|
|||||||
// CHRISL: option to allow Slay to remain as a hired PC
|
// CHRISL: option to allow Slay to remain as a hired PC
|
||||||
BOOLEAN fEnableSlayForever;
|
BOOLEAN fEnableSlayForever;
|
||||||
|
|
||||||
|
// anv: playable Speck
|
||||||
|
BOOLEAN fEnableRecruitableSpeck;
|
||||||
|
// anv: John Kulba becomes recruitable as a merc after finishing escort quest
|
||||||
|
BOOLEAN fEnableRecruitableJohnKulba;
|
||||||
|
UINT16 ubRecruitableJohnKulbaDelay;
|
||||||
|
// anv: enable JA1 natives as MERC mercs
|
||||||
|
BOOLEAN fEnableRecruitableJA1Natives;
|
||||||
|
|
||||||
// CHRISL: Setting to turn off the description and stack popup options from the sector inventory panel
|
// CHRISL: Setting to turn off the description and stack popup options from the sector inventory panel
|
||||||
BOOLEAN fSectorDesc;
|
BOOLEAN fSectorDesc;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -189,7 +189,7 @@ void ExitAimLinks()
|
|||||||
DeleteVideoObjectFromIndex(guiFuneralLink);
|
DeleteVideoObjectFromIndex(guiFuneralLink);
|
||||||
DeleteVideoObjectFromIndex(guiInsuranceLink);
|
DeleteVideoObjectFromIndex(guiInsuranceLink);
|
||||||
|
|
||||||
for(i=0; i<AIM_LINK_NUM_LINKS; i++)
|
for(INT16 i=0; i<AIM_LINK_NUM_LINKS; i++)
|
||||||
MSYS_RemoveRegion( &gSelectedLinkRegion[i]);
|
MSYS_RemoveRegion( &gSelectedLinkRegion[i]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -125,6 +125,13 @@ typedef struct
|
|||||||
BOOLEAN fSpeckSaidFloMarriedCousinQuote;
|
BOOLEAN fSpeckSaidFloMarriedCousinQuote;
|
||||||
BOOLEAN fHasAMercDiedAtMercSite;
|
BOOLEAN fHasAMercDiedAtMercSite;
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#else
|
||||||
|
UINT32 uiJohnEscortedDate;// anv: Remember when Kulbas were escorted out, so John can be recruited later
|
||||||
|
BOOLEAN bJohnEscorted;// and if they were at all
|
||||||
|
UINT8 ubJohnPossibleMissedFlights;// and how many flights he already missed
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CRIPPLED_VERSION
|
#ifdef CRIPPLED_VERSION
|
||||||
UINT8 ubCrippleFiller[20];
|
UINT8 ubCrippleFiller[20];
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+280
-268
@@ -11,348 +11,360 @@
|
|||||||
//---ja25 ub
|
//---ja25 ub
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
|
||||||
#define EMAIL_INSURANCE_L1 170
|
#define EMAIL_INSURANCE_L1 170
|
||||||
#define EMAIL_INSURANCE_L2 211
|
#define EMAIL_INSURANCE_L2 211
|
||||||
#define EMAIL_INSURANCE_L3 170
|
#define EMAIL_INSURANCE_L3 170
|
||||||
#define EMAIL_INSURANCE_L4 173
|
#define EMAIL_INSURANCE_L4 173
|
||||||
#define EMAIL_INSURANCE_L5 179
|
#define EMAIL_INSURANCE_L5 179
|
||||||
#define EMAIL_INSURANCE_L6 176
|
#define EMAIL_INSURANCE_L6 176
|
||||||
|
|
||||||
#define EMAIL_BOBBY_R_L1 198
|
#define EMAIL_BOBBY_R_L1 198
|
||||||
|
|
||||||
#define EMAIL_AIM_L1 206
|
#define EMAIL_AIM_L1 206
|
||||||
#define EMAIL_AIM_L2 27
|
#define EMAIL_AIM_L2 27
|
||||||
#define EMAIL_AIM_L3 217
|
#define EMAIL_AIM_L3 217
|
||||||
#define EMAIL_AIM_L4 214
|
#define EMAIL_AIM_L4 214
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//JA25: New emails
|
//JA25: New emails
|
||||||
// email # 1
|
// email # 1
|
||||||
#define EMAIL_STARTGAME 0
|
#define EMAIL_STARTGAME 0
|
||||||
#define EMAIL_STARTGAME_LENGTH 8
|
#define EMAIL_STARTGAME_LENGTH 8
|
||||||
// email # 2
|
// email # 2
|
||||||
#define EMAIL_PILOTMISSING (EMAIL_STARTGAME + EMAIL_STARTGAME_LENGTH)
|
#define EMAIL_PILOTMISSING (EMAIL_STARTGAME + EMAIL_STARTGAME_LENGTH)
|
||||||
#define EMAIL_PILOTMISSING_LENGTH 2
|
#define EMAIL_PILOTMISSING_LENGTH 2
|
||||||
|
|
||||||
// email # 3
|
// email # 3
|
||||||
#define EMAIL_MAKECONTACT (EMAIL_PILOTMISSING + EMAIL_PILOTMISSING_LENGTH)
|
#define EMAIL_MAKECONTACT (EMAIL_PILOTMISSING + EMAIL_PILOTMISSING_LENGTH)
|
||||||
#define EMAIL_MAKECONTACT_LENGTH 3
|
#define EMAIL_MAKECONTACT_LENGTH 3
|
||||||
|
|
||||||
// email # 4
|
// email # 4
|
||||||
#define EMAIL_MANUEL (EMAIL_MAKECONTACT + EMAIL_MAKECONTACT_LENGTH)
|
#define EMAIL_MANUEL (EMAIL_MAKECONTACT + EMAIL_MAKECONTACT_LENGTH)
|
||||||
#define EMAIL_MANUEL_LENGTH 4
|
#define EMAIL_MANUEL_LENGTH 4
|
||||||
|
|
||||||
// # email # 5 - only if Miguel is alive!
|
// # email # 5 - only if Miguel is alive!
|
||||||
#define EMAIL_MIGUELHELLO (EMAIL_MANUEL + EMAIL_MANUEL_LENGTH)
|
#define EMAIL_MIGUELHELLO (EMAIL_MANUEL + EMAIL_MANUEL_LENGTH)
|
||||||
#define EMAIL_MIGUELHELLO_LENGTH 3
|
#define EMAIL_MIGUELHELLO_LENGTH 3
|
||||||
|
|
||||||
// email # 6 - player not advancing fast enough
|
// email # 6 - player not advancing fast enough
|
||||||
#define EMAIL_CONCERNED (EMAIL_MIGUELHELLO + EMAIL_MIGUELHELLO_LENGTH)
|
#define EMAIL_CONCERNED (EMAIL_MIGUELHELLO + EMAIL_MIGUELHELLO_LENGTH)
|
||||||
#define EMAIL_CONCERNED_LENGTH 2
|
#define EMAIL_CONCERNED_LENGTH 2
|
||||||
|
|
||||||
// email # 7 - player still not advancing fast enough
|
// email # 7 - player still not advancing fast enough
|
||||||
#define EMAIL_URGENT (EMAIL_CONCERNED + EMAIL_CONCERNED_LENGTH)
|
#define EMAIL_URGENT (EMAIL_CONCERNED + EMAIL_CONCERNED_LENGTH)
|
||||||
#define EMAIL_URGENT_LENGTH 3
|
#define EMAIL_URGENT_LENGTH 3
|
||||||
|
|
||||||
// email # 8a - from Miguel
|
// email # 8a - from Miguel
|
||||||
#define EMAIL_MIGUELSORRY (EMAIL_URGENT + EMAIL_URGENT_LENGTH)
|
#define EMAIL_MIGUELSORRY (EMAIL_URGENT + EMAIL_URGENT_LENGTH)
|
||||||
#define EMAIL_MIGUELSORRY_LENGTH 3
|
#define EMAIL_MIGUELSORRY_LENGTH 3
|
||||||
|
|
||||||
// email # 8b - from Miguel, mentioning Manuel
|
// email # 8b - from Miguel, mentioning Manuel
|
||||||
#define EMAIL_MIGUELMANUEL (EMAIL_MIGUELSORRY + EMAIL_MIGUELSORRY_LENGTH)
|
#define EMAIL_MIGUELMANUEL (EMAIL_MIGUELSORRY + EMAIL_MIGUELSORRY_LENGTH)
|
||||||
#define EMAIL_MIGUELMANUEL_LENGTH 4
|
#define EMAIL_MIGUELMANUEL_LENGTH 4
|
||||||
|
|
||||||
// email # 9 - Miguel sick
|
// email # 9 - Miguel sick
|
||||||
#define EMAIL_MIGUELSICK (EMAIL_MIGUELMANUEL + EMAIL_MIGUELMANUEL_LENGTH)
|
#define EMAIL_MIGUELSICK (EMAIL_MIGUELMANUEL + EMAIL_MIGUELMANUEL_LENGTH)
|
||||||
#define EMAIL_MIGUELSICK_LENGTH 3
|
#define EMAIL_MIGUELSICK_LENGTH 3
|
||||||
|
|
||||||
// email # 10a
|
// email # 10a
|
||||||
#define EMAIL_UNDERSTANDING (EMAIL_MIGUELSICK + EMAIL_MIGUELSICK_LENGTH)
|
#define EMAIL_UNDERSTANDING (EMAIL_MIGUELSICK + EMAIL_MIGUELSICK_LENGTH)
|
||||||
#define EMAIL_UNDERSTANDING_LENGTH 3
|
#define EMAIL_UNDERSTANDING_LENGTH 3
|
||||||
|
|
||||||
// email # 10b - if we need extra cash
|
// email # 10b - if we need extra cash
|
||||||
#define EMAIL_EXTRACASH (EMAIL_UNDERSTANDING + EMAIL_UNDERSTANDING_LENGTH)
|
#define EMAIL_EXTRACASH (EMAIL_UNDERSTANDING + EMAIL_UNDERSTANDING_LENGTH)
|
||||||
#define EMAIL_EXTRACASH_LENGTH 4
|
#define EMAIL_EXTRACASH_LENGTH 4
|
||||||
|
|
||||||
// email # 11
|
// email # 11
|
||||||
#define EMAIL_PILOTFOUND (EMAIL_EXTRACASH + EMAIL_EXTRACASH_LENGTH)
|
#define EMAIL_PILOTFOUND (EMAIL_EXTRACASH + EMAIL_EXTRACASH_LENGTH)
|
||||||
#define EMAIL_PILOTFOUND_LENGTH 2
|
#define EMAIL_PILOTFOUND_LENGTH 2
|
||||||
|
|
||||||
// email # 12a - Miguel dead, Manuel never recruited
|
// email # 12a - Miguel dead, Manuel never recruited
|
||||||
#define EMAIL_CONGRATS (EMAIL_PILOTFOUND + EMAIL_PILOTFOUND_LENGTH)
|
#define EMAIL_CONGRATS (EMAIL_PILOTFOUND + EMAIL_PILOTFOUND_LENGTH)
|
||||||
#define EMAIL_CONGRATS_LENGTH 4
|
#define EMAIL_CONGRATS_LENGTH 4
|
||||||
|
|
||||||
// email # 12b - Miguel alive, Manuel never recruited
|
// email # 12b - Miguel alive, Manuel never recruited
|
||||||
#define EMAIL_CONGRATSICK (EMAIL_CONGRATS + EMAIL_CONGRATS_LENGTH)
|
#define EMAIL_CONGRATSICK (EMAIL_CONGRATS + EMAIL_CONGRATS_LENGTH)
|
||||||
#define EMAIL_CONGRATSICK_LENGTH 5
|
#define EMAIL_CONGRATSICK_LENGTH 5
|
||||||
|
|
||||||
// email # 12c - Miguel alive, Manuel dead
|
// email # 12c - Miguel alive, Manuel dead
|
||||||
#define EMAIL_CONGRATMIGMANUELDEAD (EMAIL_CONGRATSICK + EMAIL_CONGRATSICK_LENGTH)
|
#define EMAIL_CONGRATMIGMANUELDEAD (EMAIL_CONGRATSICK + EMAIL_CONGRATSICK_LENGTH)
|
||||||
#define EMAIL_CONGRATMIGMANUELDEAD_LENGTH 6
|
#define EMAIL_CONGRATMIGMANUELDEAD_LENGTH 6
|
||||||
|
|
||||||
// email # 12d - Miguel alive, Manuel recruited and alive
|
// email # 12d - Miguel alive, Manuel recruited and alive
|
||||||
#define EMAIL_CONGRATMIGMANUELALIVE (EMAIL_CONGRATMIGMANUELDEAD + EMAIL_CONGRATMIGMANUELDEAD_LENGTH)
|
#define EMAIL_CONGRATMIGMANUELALIVE (EMAIL_CONGRATMIGMANUELDEAD + EMAIL_CONGRATMIGMANUELDEAD_LENGTH)
|
||||||
#define EMAIL_CONGRATMIGMANUELALIVE_LENGTH 6
|
#define EMAIL_CONGRATMIGMANUELALIVE_LENGTH 6
|
||||||
|
|
||||||
// email # 12e - Miguel dead, Manuel dead
|
// email # 12e - Miguel dead, Manuel dead
|
||||||
#define EMAIL_CONGRATMANUELDEAD (EMAIL_CONGRATMIGMANUELALIVE + EMAIL_CONGRATMIGMANUELALIVE_LENGTH)
|
#define EMAIL_CONGRATMANUELDEAD (EMAIL_CONGRATMIGMANUELALIVE + EMAIL_CONGRATMIGMANUELALIVE_LENGTH)
|
||||||
#define EMAIL_CONGRATMANUELDEAD_LENGTH 5
|
#define EMAIL_CONGRATMANUELDEAD_LENGTH 5
|
||||||
|
|
||||||
// email # 12f - Miguel dead, Manuel recruited and alive
|
// email # 12f - Miguel dead, Manuel recruited and alive
|
||||||
#define EMAIL_CONGRATMANUELALIVE (EMAIL_CONGRATMANUELDEAD + EMAIL_CONGRATMANUELDEAD_LENGTH)
|
#define EMAIL_CONGRATMANUELALIVE (EMAIL_CONGRATMANUELDEAD + EMAIL_CONGRATMANUELDEAD_LENGTH)
|
||||||
#define EMAIL_CONGRATMANUELALIVE_LENGTH 5
|
#define EMAIL_CONGRATMANUELALIVE_LENGTH 5
|
||||||
|
|
||||||
// email # 13 - original AIM email
|
// email # 13 - original AIM email
|
||||||
#define EMAIL_AIMDISCOUNT (EMAIL_CONGRATMANUELALIVE + EMAIL_CONGRATMANUELALIVE_LENGTH)
|
#define EMAIL_AIMDISCOUNT (EMAIL_CONGRATMANUELALIVE + EMAIL_CONGRATMANUELALIVE_LENGTH)
|
||||||
#define EMAIL_AIMDISCOUNT_LENGTH 7
|
#define EMAIL_AIMDISCOUNT_LENGTH 7
|
||||||
|
|
||||||
#define MANUEL_AT_HOME_NOT_USED ( EMAIL_AIMDISCOUNT + EMAIL_AIMDISCOUNT_LENGTH )
|
#define MANUEL_AT_HOME_NOT_USED ( EMAIL_AIMDISCOUNT + EMAIL_AIMDISCOUNT_LENGTH )
|
||||||
#define MANUEL_AT_HOME_NOT_USED_LENGTH 1
|
#define MANUEL_AT_HOME_NOT_USED_LENGTH 1
|
||||||
|
|
||||||
//Email #14 Initial IMP email
|
//Email #14 Initial IMP email
|
||||||
#define IMP_EMAIL_INTRO (MANUEL_AT_HOME_NOT_USED + MANUEL_AT_HOME_NOT_USED_LENGTH )
|
#define IMP_EMAIL_INTRO (MANUEL_AT_HOME_NOT_USED + MANUEL_AT_HOME_NOT_USED_LENGTH )
|
||||||
#define IMP_EMAIL_INTRO_LENGTH 10
|
#define IMP_EMAIL_INTRO_LENGTH 10
|
||||||
|
|
||||||
//Email #15 Imp follow up
|
//Email #15 Imp follow up
|
||||||
#define IMP_EMAIL_AGAIN (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
#define IMP_EMAIL_AGAIN (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
||||||
#define IMP_EMAIL_AGAIN_LENGTH 5
|
#define IMP_EMAIL_AGAIN_LENGTH 5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Email #16 - ?? merc left-me-a-message-and-now-I'm-back emails
|
// Email #16 - ?? merc left-me-a-message-and-now-I'm-back emails
|
||||||
#define AIM_REPLY_BARRY ( IMP_EMAIL_AGAIN + IMP_EMAIL_AGAIN_LENGTH )
|
#define AIM_REPLY_BARRY ( IMP_EMAIL_AGAIN + IMP_EMAIL_AGAIN_LENGTH )
|
||||||
#define AIM_REPLY_LENGTH_BARRY 2
|
#define AIM_REPLY_LENGTH_BARRY 2
|
||||||
|
|
||||||
#define AIM_REPLY_MELTDOWN (AIM_REPLY_BARRY + ( 39 * AIM_REPLY_LENGTH_BARRY ))
|
#define AIM_REPLY_MELTDOWN (AIM_REPLY_BARRY + ( 39 * AIM_REPLY_LENGTH_BARRY ))
|
||||||
#define AIM_REPLY_LENGTH_MELTDOWN AIM_REPLY_LENGTH_BARRY
|
#define AIM_REPLY_LENGTH_MELTDOWN AIM_REPLY_LENGTH_BARRY
|
||||||
|
|
||||||
|
|
||||||
#define AIM_REFUND ( AIM_REPLY_MELTDOWN + AIM_REPLY_LENGTH_MELTDOWN )
|
#define AIM_REFUND ( AIM_REPLY_MELTDOWN + AIM_REPLY_LENGTH_MELTDOWN )
|
||||||
#define AIM_REFUND_LENGTH 3
|
#define AIM_REFUND_LENGTH 3
|
||||||
|
|
||||||
#define MERC_REFUND ( AIM_REFUND + AIM_REFUND_LENGTH )
|
#define MERC_REFUND ( AIM_REFUND + AIM_REFUND_LENGTH )
|
||||||
#define MERC_REFUND_LENGTH 3
|
#define MERC_REFUND_LENGTH 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define EMAIL_AIM_PROMOTION_1 ( MERC_REFUND + MERC_REFUND_LENGTH )
|
#define EMAIL_AIM_PROMOTION_1 ( MERC_REFUND + MERC_REFUND_LENGTH )
|
||||||
#define EMAIL_AIM_PROMOTION_1_LENGTH 4
|
#define EMAIL_AIM_PROMOTION_1_LENGTH 4
|
||||||
|
|
||||||
#define EMAIL_MERC_PROMOTION_1 ( EMAIL_AIM_PROMOTION_1 + EMAIL_AIM_PROMOTION_1_LENGTH )
|
#define EMAIL_MERC_PROMOTION_1 ( EMAIL_AIM_PROMOTION_1 + EMAIL_AIM_PROMOTION_1_LENGTH )
|
||||||
#define EMAIL_MERC_PROMOTION_1_LENGTH 5
|
#define EMAIL_MERC_PROMOTION_1_LENGTH 5
|
||||||
|
|
||||||
#define EMAIL_AIM_PROMOTION_2 ( EMAIL_MERC_PROMOTION_1 + EMAIL_MERC_PROMOTION_1_LENGTH )
|
#define EMAIL_AIM_PROMOTION_2 ( EMAIL_MERC_PROMOTION_1 + EMAIL_MERC_PROMOTION_1_LENGTH )
|
||||||
#define EMAIL_AIM_PROMOTION_2_LENGTH 5
|
#define EMAIL_AIM_PROMOTION_2_LENGTH 5
|
||||||
|
|
||||||
|
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS ( EMAIL_AIM_PROMOTION_2 + EMAIL_AIM_PROMOTION_2_LENGTH )
|
#define IMP_EMAIL_PROFILE_RESULTS ( EMAIL_AIM_PROMOTION_2 + EMAIL_AIM_PROMOTION_2_LENGTH )
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH 1
|
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH 1
|
||||||
|
|
||||||
#define IMP_EMAIL_INTRO2 0
|
#define IMP_EMAIL_INTRO2 0
|
||||||
#define IMP_EMAIL_INTRO_LENGTH2 10
|
#define IMP_EMAIL_INTRO_LENGTH2 10
|
||||||
#define ENRICO_CONGRATS2 (IMP_EMAIL_INTRO2 + IMP_EMAIL_INTRO_LENGTH2)
|
#define ENRICO_CONGRATS2 (IMP_EMAIL_INTRO2 + IMP_EMAIL_INTRO_LENGTH2)
|
||||||
#define ENRICO_CONGRATS_LENGTH2 3
|
#define ENRICO_CONGRATS_LENGTH2 3
|
||||||
#define IMP_EMAIL_AGAIN2 (ENRICO_CONGRATS2 + ENRICO_CONGRATS_LENGTH2)
|
#define IMP_EMAIL_AGAIN2 (ENRICO_CONGRATS2 + ENRICO_CONGRATS_LENGTH2)
|
||||||
#define IMP_EMAIL_AGAIN_LENGTH2 6
|
#define IMP_EMAIL_AGAIN_LENGTH2 6
|
||||||
#define MERC_INTRO2 (IMP_EMAIL_AGAIN2 + IMP_EMAIL_AGAIN_LENGTH2)
|
#define MERC_INTRO2 (IMP_EMAIL_AGAIN2 + IMP_EMAIL_AGAIN_LENGTH2)
|
||||||
#define MERC_INTRO_LENGTH2 5
|
#define MERC_INTRO_LENGTH2 5
|
||||||
#define MERC_NEW_SITE_ADDRESS2 ( MERC_INTRO2 + MERC_INTRO_LENGTH2 )
|
#define MERC_NEW_SITE_ADDRESS2 ( MERC_INTRO2 + MERC_INTRO_LENGTH2 )
|
||||||
#define MERC_NEW_SITE_ADDRESS_LENGTH2 2
|
#define MERC_NEW_SITE_ADDRESS_LENGTH2 2
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND2 ( MERC_NEW_SITE_ADDRESS2 + MERC_NEW_SITE_ADDRESS_LENGTH2 )
|
#define AIM_MEDICAL_DEPOSIT_REFUND2 ( MERC_NEW_SITE_ADDRESS2 + MERC_NEW_SITE_ADDRESS_LENGTH2 )
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 3
|
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 3
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS2 ( AIM_MEDICAL_DEPOSIT_REFUND2 + AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 )
|
#define IMP_EMAIL_PROFILE_RESULTS2 ( AIM_MEDICAL_DEPOSIT_REFUND2 + AIM_MEDICAL_DEPOSIT_REFUND_LENGTH2 )
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH2 1
|
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH2 1
|
||||||
#define MERC_WARNING2 ( IMP_EMAIL_PROFILE_RESULTS_LENGTH2 + IMP_EMAIL_PROFILE_RESULTS2 )
|
#define MERC_WARNING2 ( IMP_EMAIL_PROFILE_RESULTS_LENGTH2 + IMP_EMAIL_PROFILE_RESULTS2 )
|
||||||
#define MERC_WARNING_LENGTH2 2
|
#define MERC_WARNING_LENGTH2 2
|
||||||
#define MERC_INVALID2 ( MERC_WARNING2 + MERC_WARNING_LENGTH2 )
|
#define MERC_INVALID2 ( MERC_WARNING2 + MERC_WARNING_LENGTH2 )
|
||||||
#define MERC_INVALID_LENGTH2 2
|
#define MERC_INVALID_LENGTH2 2
|
||||||
#define NEW_MERCS_AT_MERC ( MERC_INVALID2 + MERC_INVALID_LENGTH2 )
|
#define NEW_MERCS_AT_MERC ( MERC_INVALID2 + MERC_INVALID_LENGTH2 )
|
||||||
#define NEW_MERCS_AT_MERC_LENGTH 2
|
#define NEW_MERCS_AT_MERC_LENGTH 2
|
||||||
|
|
||||||
//Jagged Alliance 2
|
//Jagged Alliance 2
|
||||||
|
|
||||||
// insurance company emails
|
// insurance company emails
|
||||||
#define INSUR_PAYMENT 200
|
#define INSUR_PAYMENT 200
|
||||||
#define INSUR_PAYMENT_LENGTH 3
|
#define INSUR_PAYMENT_LENGTH 3
|
||||||
#define INSUR_SUSPIC 201
|
#define INSUR_SUSPIC 201
|
||||||
#define INSUR_SUSPIC_LENGTH 3
|
#define INSUR_SUSPIC_LENGTH 3
|
||||||
#define INSUR_INVEST_OVER 202
|
#define INSUR_INVEST_OVER 202
|
||||||
#define INSUR_INVEST_OVER_LENGTH 3
|
#define INSUR_INVEST_OVER_LENGTH 3
|
||||||
#define INSUR_SUSPIC_2 203
|
#define INSUR_SUSPIC_2 203
|
||||||
#define INSUR_SUSPIC_2_LENGTH 3
|
#define INSUR_SUSPIC_2_LENGTH 3
|
||||||
|
|
||||||
#define BOBBYR_NOW_OPEN 204
|
#define BOBBYR_NOW_OPEN 204
|
||||||
#define BOBBYR_NOW_OPEN_LENGTH 3
|
#define BOBBYR_NOW_OPEN_LENGTH 3
|
||||||
|
|
||||||
#define KING_PIN_LETTER 205
|
#define KING_PIN_LETTER 205
|
||||||
#define KING_PIN_LETTER_LENGTH 4
|
#define KING_PIN_LETTER_LENGTH 4
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_1 206
|
#define LACK_PLAYER_PROGRESS_1 206
|
||||||
#define LACK_PLAYER_PROGRESS_1_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_1_LENGTH 3
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_2 207
|
#define LACK_PLAYER_PROGRESS_2 207
|
||||||
#define LACK_PLAYER_PROGRESS_2_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_2_LENGTH 3
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_3 208
|
#define LACK_PLAYER_PROGRESS_3 208
|
||||||
#define LACK_PLAYER_PROGRESS_3_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_3_LENGTH 3
|
||||||
|
|
||||||
//A package from bobby r has arrived in Drassen
|
//A package from bobby r has arrived in Drassen
|
||||||
#define BOBBYR_SHIPMENT_ARRIVED 199
|
#define BOBBYR_SHIPMENT_ARRIVED 199
|
||||||
#define BOBBYR_SHIPMENT_ARRIVED_LENGTH 4
|
#define BOBBYR_SHIPMENT_ARRIVED_LENGTH 4
|
||||||
|
|
||||||
// John Kulba has left the gifts for theplayers in drassen
|
// John Kulba has left the gifts for theplayers in drassen
|
||||||
#define JOHN_KULBA_GIFT_IN_DRASSEN 209
|
#define JOHN_KULBA_GIFT_IN_DRASSEN 209
|
||||||
#define JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH 4
|
#define JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH 4
|
||||||
|
|
||||||
//when a merc dies on ANOTHER assignment ( ie not with the player )
|
//when a merc dies on ANOTHER assignment ( ie not with the player )
|
||||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT 210
|
#define MERC_DIED_ON_OTHER_ASSIGNMENT 210
|
||||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH 5
|
#define MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH 5
|
||||||
|
|
||||||
#define INSUR_1HOUR_FRAUD 211
|
#define INSUR_1HOUR_FRAUD 211
|
||||||
#define INSUR_1HOUR_FRAUD_LENGTH 3
|
#define INSUR_1HOUR_FRAUD_LENGTH 3
|
||||||
|
|
||||||
//when a merc is fired, and is injured
|
//when a merc is fired, and is injured
|
||||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND 212
|
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND 212
|
||||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH 3
|
||||||
|
|
||||||
//when a merc is fired, and is dead
|
//when a merc is fired, and is dead
|
||||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND 213
|
#define AIM_MEDICAL_DEPOSIT_NO_REFUND 213
|
||||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH 3
|
||||||
|
|
||||||
#define BOBBY_R_MEDUNA_SHIPMENT 214
|
#define BOBBY_R_MEDUNA_SHIPMENT 214
|
||||||
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
||||||
|
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND 215
|
#define AIM_MEDICAL_DEPOSIT_REFUND 215
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH 3
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define IMP_EMAIL_INTRO 0
|
#define IMP_EMAIL_INTRO 0
|
||||||
#define IMP_EMAIL_INTRO_LENGTH 10
|
#define IMP_EMAIL_INTRO_LENGTH 10
|
||||||
#define ENRICO_CONGRATS (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
#define ENRICO_CONGRATS (IMP_EMAIL_INTRO + IMP_EMAIL_INTRO_LENGTH)
|
||||||
#define ENRICO_CONGRATS_LENGTH 3
|
#define ENRICO_CONGRATS_LENGTH 3
|
||||||
#define IMP_EMAIL_AGAIN (ENRICO_CONGRATS + ENRICO_CONGRATS_LENGTH)
|
#define IMP_EMAIL_AGAIN (ENRICO_CONGRATS + ENRICO_CONGRATS_LENGTH)
|
||||||
#define IMP_EMAIL_AGAIN_LENGTH 6
|
#define IMP_EMAIL_AGAIN_LENGTH 6
|
||||||
#define MERC_INTRO (IMP_EMAIL_AGAIN + IMP_EMAIL_AGAIN_LENGTH)
|
#define MERC_INTRO (IMP_EMAIL_AGAIN + IMP_EMAIL_AGAIN_LENGTH)
|
||||||
#define MERC_INTRO_LENGTH 5
|
#define MERC_INTRO_LENGTH 5
|
||||||
#define MERC_NEW_SITE_ADDRESS ( MERC_INTRO + MERC_INTRO_LENGTH )
|
#define MERC_NEW_SITE_ADDRESS ( MERC_INTRO + MERC_INTRO_LENGTH )
|
||||||
#define MERC_NEW_SITE_ADDRESS_LENGTH 2
|
#define MERC_NEW_SITE_ADDRESS_LENGTH 2
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND ( MERC_NEW_SITE_ADDRESS + MERC_NEW_SITE_ADDRESS_LENGTH )
|
#define AIM_MEDICAL_DEPOSIT_REFUND ( MERC_NEW_SITE_ADDRESS + MERC_NEW_SITE_ADDRESS_LENGTH )
|
||||||
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_REFUND_LENGTH 3
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS ( AIM_MEDICAL_DEPOSIT_REFUND + AIM_MEDICAL_DEPOSIT_REFUND_LENGTH )
|
#define IMP_EMAIL_PROFILE_RESULTS ( AIM_MEDICAL_DEPOSIT_REFUND + AIM_MEDICAL_DEPOSIT_REFUND_LENGTH )
|
||||||
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH 1
|
#define IMP_EMAIL_PROFILE_RESULTS_LENGTH 1
|
||||||
#define MERC_WARNING ( IMP_EMAIL_PROFILE_RESULTS_LENGTH + IMP_EMAIL_PROFILE_RESULTS )
|
#define MERC_WARNING ( IMP_EMAIL_PROFILE_RESULTS_LENGTH + IMP_EMAIL_PROFILE_RESULTS )
|
||||||
#define MERC_WARNING_LENGTH 2
|
#define MERC_WARNING_LENGTH 2
|
||||||
#define MERC_INVALID ( MERC_WARNING + MERC_WARNING_LENGTH )
|
#define MERC_INVALID ( MERC_WARNING + MERC_WARNING_LENGTH )
|
||||||
#define MERC_INVALID_LENGTH 2
|
#define MERC_INVALID_LENGTH 2
|
||||||
#define NEW_MERCS_AT_MERC ( MERC_INVALID + MERC_INVALID_LENGTH )
|
#define NEW_MERCS_AT_MERC ( MERC_INVALID + MERC_INVALID_LENGTH )
|
||||||
#define NEW_MERCS_AT_MERC_LENGTH 2
|
#define NEW_MERCS_AT_MERC_LENGTH 2
|
||||||
#define MERC_FIRST_WARNING ( NEW_MERCS_AT_MERC + NEW_MERCS_AT_MERC_LENGTH )
|
#define MERC_FIRST_WARNING ( NEW_MERCS_AT_MERC + NEW_MERCS_AT_MERC_LENGTH )
|
||||||
#define MERC_FIRST_WARNING_LENGTH 2
|
#define MERC_FIRST_WARNING_LENGTH 2
|
||||||
// merc up a level emails
|
// merc up a level emails
|
||||||
#define MERC_UP_LEVEL_BIFF ( MERC_FIRST_WARNING + MERC_FIRST_WARNING_LENGTH )
|
#define MERC_UP_LEVEL_BIFF ( MERC_FIRST_WARNING + MERC_FIRST_WARNING_LENGTH )
|
||||||
#define MERC_UP_LEVEL_LENGTH_BIFF 2
|
#define MERC_UP_LEVEL_LENGTH_BIFF 2
|
||||||
#define MERC_UP_LEVEL_HAYWIRE ( MERC_UP_LEVEL_LENGTH_BIFF + MERC_UP_LEVEL_BIFF )
|
#define MERC_UP_LEVEL_HAYWIRE ( MERC_UP_LEVEL_LENGTH_BIFF + MERC_UP_LEVEL_BIFF )
|
||||||
#define MERC_UP_LEVEL_LENGTH_HAYWIRE 2
|
#define MERC_UP_LEVEL_LENGTH_HAYWIRE 2
|
||||||
#define MERC_UP_LEVEL_GASKET ( MERC_UP_LEVEL_LENGTH_HAYWIRE + MERC_UP_LEVEL_HAYWIRE )
|
#define MERC_UP_LEVEL_GASKET ( MERC_UP_LEVEL_LENGTH_HAYWIRE + MERC_UP_LEVEL_HAYWIRE )
|
||||||
#define MERC_UP_LEVEL_LENGTH_GASKET 2
|
#define MERC_UP_LEVEL_LENGTH_GASKET 2
|
||||||
#define MERC_UP_LEVEL_RAZOR ( MERC_UP_LEVEL_LENGTH_GASKET + MERC_UP_LEVEL_GASKET )
|
#define MERC_UP_LEVEL_RAZOR ( MERC_UP_LEVEL_LENGTH_GASKET + MERC_UP_LEVEL_GASKET )
|
||||||
#define MERC_UP_LEVEL_LENGTH_RAZOR 2
|
#define MERC_UP_LEVEL_LENGTH_RAZOR 2
|
||||||
#define MERC_UP_LEVEL_FLO ( MERC_UP_LEVEL_LENGTH_RAZOR + MERC_UP_LEVEL_RAZOR )
|
#define MERC_UP_LEVEL_FLO ( MERC_UP_LEVEL_LENGTH_RAZOR + MERC_UP_LEVEL_RAZOR )
|
||||||
#define MERC_UP_LEVEL_LENGTH_FLO 2
|
#define MERC_UP_LEVEL_LENGTH_FLO 2
|
||||||
#define MERC_UP_LEVEL_GUMPY ( MERC_UP_LEVEL_LENGTH_FLO + MERC_UP_LEVEL_FLO )
|
#define MERC_UP_LEVEL_GUMPY ( MERC_UP_LEVEL_LENGTH_FLO + MERC_UP_LEVEL_FLO )
|
||||||
#define MERC_UP_LEVEL_LENGTH_GUMPY 2
|
#define MERC_UP_LEVEL_LENGTH_GUMPY 2
|
||||||
#define MERC_UP_LEVEL_LARRY ( MERC_UP_LEVEL_LENGTH_GUMPY + MERC_UP_LEVEL_GUMPY )
|
#define MERC_UP_LEVEL_LARRY ( MERC_UP_LEVEL_LENGTH_GUMPY + MERC_UP_LEVEL_GUMPY )
|
||||||
#define MERC_UP_LEVEL_LENGTH_LARRY 2
|
#define MERC_UP_LEVEL_LENGTH_LARRY 2
|
||||||
#define MERC_UP_LEVEL_COUGAR ( MERC_UP_LEVEL_LENGTH_LARRY + MERC_UP_LEVEL_LARRY )
|
#define MERC_UP_LEVEL_COUGAR ( MERC_UP_LEVEL_LENGTH_LARRY + MERC_UP_LEVEL_LARRY )
|
||||||
#define MERC_UP_LEVEL_LENGTH_COUGAR 2
|
#define MERC_UP_LEVEL_LENGTH_COUGAR 2
|
||||||
#define MERC_UP_LEVEL_NUMB ( MERC_UP_LEVEL_LENGTH_COUGAR + MERC_UP_LEVEL_COUGAR )
|
#define MERC_UP_LEVEL_NUMB ( MERC_UP_LEVEL_LENGTH_COUGAR + MERC_UP_LEVEL_COUGAR )
|
||||||
#define MERC_UP_LEVEL_LENGTH_NUMB 2
|
#define MERC_UP_LEVEL_LENGTH_NUMB 2
|
||||||
#define MERC_UP_LEVEL_BUBBA ( MERC_UP_LEVEL_LENGTH_NUMB + MERC_UP_LEVEL_NUMB )
|
#define MERC_UP_LEVEL_BUBBA ( MERC_UP_LEVEL_LENGTH_NUMB + MERC_UP_LEVEL_NUMB )
|
||||||
#define MERC_UP_LEVEL_LENGTH_BUBBA 2
|
#define MERC_UP_LEVEL_LENGTH_BUBBA 2
|
||||||
// merc left-me-a-message-and-now-I'm-back emails
|
// merc left-me-a-message-and-now-I'm-back emails
|
||||||
#define AIM_REPLY_BARRY ( MERC_UP_LEVEL_LENGTH_BUBBA + MERC_UP_LEVEL_BUBBA )
|
#define AIM_REPLY_BARRY ( MERC_UP_LEVEL_LENGTH_BUBBA + MERC_UP_LEVEL_BUBBA )
|
||||||
#define AIM_REPLY_LENGTH_BARRY 2
|
#define AIM_REPLY_LENGTH_BARRY 2
|
||||||
#define AIM_REPLY_MELTDOWN (AIM_REPLY_BARRY + ( 39 * AIM_REPLY_LENGTH_BARRY ))
|
#define AIM_REPLY_MELTDOWN (AIM_REPLY_BARRY + ( 39 * AIM_REPLY_LENGTH_BARRY ))
|
||||||
#define AIM_REPLY_LENGTH_MELTDOWN AIM_REPLY_LENGTH_BARRY
|
#define AIM_REPLY_LENGTH_MELTDOWN AIM_REPLY_LENGTH_BARRY
|
||||||
|
|
||||||
// old EXISTING emails when player starts game. They must look "read"
|
// old EXISTING emails when player starts game. They must look "read"
|
||||||
#define OLD_ENRICO_1 ( AIM_REPLY_LENGTH_MELTDOWN + AIM_REPLY_MELTDOWN )
|
#define OLD_ENRICO_1 ( AIM_REPLY_LENGTH_MELTDOWN + AIM_REPLY_MELTDOWN )
|
||||||
#define OLD_ENRICO_1_LENGTH 3
|
#define OLD_ENRICO_1_LENGTH 3
|
||||||
#define OLD_ENRICO_2 ( OLD_ENRICO_1 + OLD_ENRICO_1_LENGTH )
|
#define OLD_ENRICO_2 ( OLD_ENRICO_1 + OLD_ENRICO_1_LENGTH )
|
||||||
#define OLD_ENRICO_2_LENGTH 3
|
#define OLD_ENRICO_2_LENGTH 3
|
||||||
#define RIS_REPORT ( OLD_ENRICO_2 + OLD_ENRICO_2_LENGTH )
|
#define RIS_REPORT ( OLD_ENRICO_2 + OLD_ENRICO_2_LENGTH )
|
||||||
#define RIS_REPORT_LENGTH 2
|
#define RIS_REPORT_LENGTH 2
|
||||||
#define OLD_ENRICO_3 ( RIS_REPORT + RIS_REPORT_LENGTH )
|
#define OLD_ENRICO_3 ( RIS_REPORT + RIS_REPORT_LENGTH )
|
||||||
#define OLD_ENRICO_3_LENGTH 3
|
#define OLD_ENRICO_3_LENGTH 3
|
||||||
|
|
||||||
// emails that occur from Enrico once player accomplishes things
|
// emails that occur from Enrico once player accomplishes things
|
||||||
#define ENRICO_MIGUEL ( OLD_ENRICO_3 + OLD_ENRICO_3_LENGTH )
|
#define ENRICO_MIGUEL ( OLD_ENRICO_3 + OLD_ENRICO_3_LENGTH )
|
||||||
#define ENRICO_MIGUEL_LENGTH 3
|
#define ENRICO_MIGUEL_LENGTH 3
|
||||||
#define ENRICO_PROG_20 ( ENRICO_MIGUEL + ENRICO_MIGUEL_LENGTH )
|
#define ENRICO_PROG_20 ( ENRICO_MIGUEL + ENRICO_MIGUEL_LENGTH )
|
||||||
#define ENRICO_PROG_20_LENGTH 3
|
#define ENRICO_PROG_20_LENGTH 3
|
||||||
#define ENRICO_PROG_55 ( ENRICO_PROG_20 + ENRICO_PROG_20_LENGTH )
|
#define ENRICO_PROG_55 ( ENRICO_PROG_20 + ENRICO_PROG_20_LENGTH )
|
||||||
#define ENRICO_PROG_55_LENGTH 3
|
#define ENRICO_PROG_55_LENGTH 3
|
||||||
#define ENRICO_PROG_80 ( ENRICO_PROG_55 + ENRICO_PROG_55_LENGTH )
|
#define ENRICO_PROG_80 ( ENRICO_PROG_55 + ENRICO_PROG_55_LENGTH )
|
||||||
#define ENRICO_PROG_80_LENGTH 3
|
#define ENRICO_PROG_80_LENGTH 3
|
||||||
#define ENRICO_SETBACK ( ENRICO_PROG_80 + ENRICO_PROG_80_LENGTH )
|
#define ENRICO_SETBACK ( ENRICO_PROG_80 + ENRICO_PROG_80_LENGTH )
|
||||||
#define ENRICO_SETBACK_LENGTH 3
|
#define ENRICO_SETBACK_LENGTH 3
|
||||||
#define ENRICO_SETBACK_2 ( ENRICO_SETBACK + ENRICO_SETBACK_LENGTH )
|
#define ENRICO_SETBACK_2 ( ENRICO_SETBACK + ENRICO_SETBACK_LENGTH )
|
||||||
#define ENRICO_SETBACK_2_LENGTH 3
|
#define ENRICO_SETBACK_2_LENGTH 3
|
||||||
#define ENRICO_CREATURES ( ENRICO_SETBACK_2 + ENRICO_SETBACK_2_LENGTH )
|
#define ENRICO_CREATURES ( ENRICO_SETBACK_2 + ENRICO_SETBACK_2_LENGTH )
|
||||||
#define ENRICO_CREATURES_LENGTH 3
|
#define ENRICO_CREATURES_LENGTH 3
|
||||||
|
|
||||||
// insurance company emails
|
// insurance company emails
|
||||||
#define INSUR_PAYMENT ( ENRICO_CREATURES + ENRICO_CREATURES_LENGTH )
|
#define INSUR_PAYMENT ( ENRICO_CREATURES + ENRICO_CREATURES_LENGTH )
|
||||||
#define INSUR_PAYMENT_LENGTH 3
|
#define INSUR_PAYMENT_LENGTH 3
|
||||||
#define INSUR_SUSPIC ( INSUR_PAYMENT + INSUR_PAYMENT_LENGTH )
|
#define INSUR_SUSPIC ( INSUR_PAYMENT + INSUR_PAYMENT_LENGTH )
|
||||||
#define INSUR_SUSPIC_LENGTH 3
|
#define INSUR_SUSPIC_LENGTH 3
|
||||||
#define INSUR_INVEST_OVER ( INSUR_SUSPIC + INSUR_SUSPIC_LENGTH )
|
#define INSUR_INVEST_OVER ( INSUR_SUSPIC + INSUR_SUSPIC_LENGTH )
|
||||||
#define INSUR_INVEST_OVER_LENGTH 3
|
#define INSUR_INVEST_OVER_LENGTH 3
|
||||||
#define INSUR_SUSPIC_2 ( INSUR_INVEST_OVER + INSUR_INVEST_OVER_LENGTH )
|
#define INSUR_SUSPIC_2 ( INSUR_INVEST_OVER + INSUR_INVEST_OVER_LENGTH )
|
||||||
#define INSUR_SUSPIC_2_LENGTH 3
|
#define INSUR_SUSPIC_2_LENGTH 3
|
||||||
|
|
||||||
#define BOBBYR_NOW_OPEN ( INSUR_SUSPIC_2 + INSUR_SUSPIC_2_LENGTH )
|
#define BOBBYR_NOW_OPEN ( INSUR_SUSPIC_2 + INSUR_SUSPIC_2_LENGTH )
|
||||||
#define BOBBYR_NOW_OPEN_LENGTH 3
|
#define BOBBYR_NOW_OPEN_LENGTH 3
|
||||||
|
|
||||||
#define KING_PIN_LETTER ( BOBBYR_NOW_OPEN + BOBBYR_NOW_OPEN_LENGTH )
|
#define KING_PIN_LETTER ( BOBBYR_NOW_OPEN + BOBBYR_NOW_OPEN_LENGTH )
|
||||||
#define KING_PIN_LETTER_LENGTH 4
|
#define KING_PIN_LETTER_LENGTH 4
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_1 ( KING_PIN_LETTER + KING_PIN_LETTER_LENGTH )
|
#define LACK_PLAYER_PROGRESS_1 ( KING_PIN_LETTER + KING_PIN_LETTER_LENGTH )
|
||||||
#define LACK_PLAYER_PROGRESS_1_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_1_LENGTH 3
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_2 ( LACK_PLAYER_PROGRESS_1 + LACK_PLAYER_PROGRESS_1_LENGTH )
|
#define LACK_PLAYER_PROGRESS_2 ( LACK_PLAYER_PROGRESS_1 + LACK_PLAYER_PROGRESS_1_LENGTH )
|
||||||
#define LACK_PLAYER_PROGRESS_2_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_2_LENGTH 3
|
||||||
|
|
||||||
#define LACK_PLAYER_PROGRESS_3 ( LACK_PLAYER_PROGRESS_2 + LACK_PLAYER_PROGRESS_2_LENGTH )
|
#define LACK_PLAYER_PROGRESS_3 ( LACK_PLAYER_PROGRESS_2 + LACK_PLAYER_PROGRESS_2_LENGTH )
|
||||||
#define LACK_PLAYER_PROGRESS_3_LENGTH 3
|
#define LACK_PLAYER_PROGRESS_3_LENGTH 3
|
||||||
|
|
||||||
//A package from bobby r has arrived in Drassen
|
//A package from bobby r has arrived in Drassen
|
||||||
#define BOBBYR_SHIPMENT_ARRIVED ( LACK_PLAYER_PROGRESS_3 + LACK_PLAYER_PROGRESS_3_LENGTH )
|
#define BOBBYR_SHIPMENT_ARRIVED ( LACK_PLAYER_PROGRESS_3 + LACK_PLAYER_PROGRESS_3_LENGTH )
|
||||||
#define BOBBYR_SHIPMENT_ARRIVED_LENGTH 4
|
#define BOBBYR_SHIPMENT_ARRIVED_LENGTH 4
|
||||||
|
|
||||||
// John Kulba has left the gifts for theplayers in drassen
|
// John Kulba has left the gifts for theplayers in drassen
|
||||||
#define JOHN_KULBA_GIFT_IN_DRASSEN ( BOBBYR_SHIPMENT_ARRIVED + BOBBYR_SHIPMENT_ARRIVED_LENGTH )
|
#define JOHN_KULBA_GIFT_IN_DRASSEN ( BOBBYR_SHIPMENT_ARRIVED + BOBBYR_SHIPMENT_ARRIVED_LENGTH )
|
||||||
#define JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH 4
|
#define JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH 4
|
||||||
|
|
||||||
//when a merc dies on ANOTHER assignment ( ie not with the player )
|
//when a merc dies on ANOTHER assignment ( ie not with the player )
|
||||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT ( JOHN_KULBA_GIFT_IN_DRASSEN + JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH )
|
#define MERC_DIED_ON_OTHER_ASSIGNMENT ( JOHN_KULBA_GIFT_IN_DRASSEN + JOHN_KULBA_GIFT_IN_DRASSEN_LENGTH )
|
||||||
#define MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH 5
|
#define MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH 5
|
||||||
|
|
||||||
#define INSUR_1HOUR_FRAUD ( MERC_DIED_ON_OTHER_ASSIGNMENT + MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH )
|
#define INSUR_1HOUR_FRAUD ( MERC_DIED_ON_OTHER_ASSIGNMENT + MERC_DIED_ON_OTHER_ASSIGNMENT_LENGTH )
|
||||||
#define INSUR_1HOUR_FRAUD_LENGTH 3
|
#define INSUR_1HOUR_FRAUD_LENGTH 3
|
||||||
|
|
||||||
//when a merc is fired, and is injured
|
//when a merc is fired, and is injured
|
||||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND ( INSUR_1HOUR_FRAUD + INSUR_1HOUR_FRAUD_LENGTH )
|
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND ( INSUR_1HOUR_FRAUD + INSUR_1HOUR_FRAUD_LENGTH )
|
||||||
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH 3
|
||||||
|
|
||||||
//when a merc is fired, and is dead
|
//when a merc is fired, and is dead
|
||||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND ( AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND + AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH )
|
#define AIM_MEDICAL_DEPOSIT_NO_REFUND ( AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND + AIM_MEDICAL_DEPOSIT_PARTIAL_REFUND_LENGTH )
|
||||||
#define AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH 3
|
#define AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH 3
|
||||||
|
|
||||||
|
#define BOBBY_R_MEDUNA_SHIPMENT ( AIM_MEDICAL_DEPOSIT_NO_REFUND + AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH )
|
||||||
|
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
||||||
|
|
||||||
|
// anv: Kulba's odyssey
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_1 ( BOBBY_R_MEDUNA_SHIPMENT + BOBBY_R_MEDUNA_SHIPMENT_LENGTH )
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_1_LENGTH 3
|
||||||
|
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_2 ( JOHN_KULBA_MISSED_FLIGHT_1 + JOHN_KULBA_MISSED_FLIGHT_1_LENGTH )
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_2_LENGTH 3
|
||||||
|
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_3 ( JOHN_KULBA_MISSED_FLIGHT_2 + JOHN_KULBA_MISSED_FLIGHT_2_LENGTH )
|
||||||
|
#define JOHN_KULBA_MISSED_FLIGHT_3_LENGTH 3
|
||||||
|
|
||||||
#define BOBBY_R_MEDUNA_SHIPMENT ( AIM_MEDICAL_DEPOSIT_NO_REFUND + AIM_MEDICAL_DEPOSIT_NO_REFUND_LENGTH )
|
|
||||||
#define BOBBY_R_MEDUNA_SHIPMENT_LENGTH 4
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// WANNE: New 1.13 MERC merc mail text for level up that Speck sends
|
// WANNE: New 1.13 MERC merc mail text for level up that Speck sends
|
||||||
//#define MERC_UP_LEVEL_GASTON (BOBBY_R_MEDUNA_SHIPMENT + BOBBY_R_MEDUNA_SHIPMENT_LENGTH)
|
//#define MERC_UP_LEVEL_GASTON (BOBBY_R_MEDUNA_SHIPMENT + BOBBY_R_MEDUNA_SHIPMENT_LENGTH)
|
||||||
//#define MERC_UP_LEVEL_GASTON_LENGTH 2
|
//#define MERC_UP_LEVEL_GASTON_LENGTH 2
|
||||||
|
|||||||
@@ -825,6 +825,14 @@ BOOLEAN InitLaptopAndLaptopScreens()
|
|||||||
#endif
|
#endif
|
||||||
LaptopSaveInfo.fBobbyRSiteCanBeAccessed = FALSE;
|
LaptopSaveInfo.fBobbyRSiteCanBeAccessed = FALSE;
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#else
|
||||||
|
//Reset Kulbas' saving date and possible missed flights
|
||||||
|
LaptopSaveInfo.bJohnEscorted = FALSE;
|
||||||
|
LaptopSaveInfo.uiJohnEscortedDate = 0;
|
||||||
|
LaptopSaveInfo.ubJohnPossibleMissedFlights = 3;
|
||||||
|
#endif
|
||||||
|
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
+164
-12
@@ -366,6 +366,31 @@ BOOLEAN LoadNewMercsFromLoadGameFile( HWFILE hFile )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN CanMercBeAvailableDuringInit( UINT8 ubMercToCheck )// anv: for all mercs available
|
||||||
|
{
|
||||||
|
if( gConditionsForMercAvailability[ubMercToCheck].Drunk == TRUE )
|
||||||
|
return ( FALSE );
|
||||||
|
if( gGameExternalOptions.fEnableRecruitableJA1Natives == FALSE )
|
||||||
|
{
|
||||||
|
if( gConditionsForMercAvailability[ubMercToCheck].ProfilId == ELIO ||
|
||||||
|
gConditionsForMercAvailability[ubMercToCheck].ProfilId == JUAN ||
|
||||||
|
gConditionsForMercAvailability[ubMercToCheck].ProfilId == WAHAN )
|
||||||
|
return ( FALSE );
|
||||||
|
}
|
||||||
|
if( gGameExternalOptions.fEnableRecruitableSpeck == FALSE )
|
||||||
|
{
|
||||||
|
if( gConditionsForMercAvailability[ubMercToCheck].ProfilId == SPECK_PLAYABLE )
|
||||||
|
return ( FALSE );
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef JA25
|
||||||
|
#else
|
||||||
|
if( gConditionsForMercAvailability[ubMercToCheck].ProfilId == JOHN_MERC )
|
||||||
|
return ( FALSE );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return ( TRUE );
|
||||||
|
}
|
||||||
|
|
||||||
void GameInitMercs()
|
void GameInitMercs()
|
||||||
{
|
{
|
||||||
@@ -391,6 +416,29 @@ void GameInitMercs()
|
|||||||
NUMBER_OF_BAD_MERCS = NUMBER_OF_BAD_MERCS + 1;
|
NUMBER_OF_BAD_MERCS = NUMBER_OF_BAD_MERCS + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// anv: if all merc should be availabe, then set their availability info
|
||||||
|
if(gGameExternalOptions.fAllMercsAvailable == TRUE)
|
||||||
|
{
|
||||||
|
for(i=0; i<NUMBER_OF_MERCS; i++)
|
||||||
|
{
|
||||||
|
if( CanMercBeAvailableDuringInit(i) )
|
||||||
|
{
|
||||||
|
gConditionsForMercAvailabilityTemp[i].StartMercsAvailable = TRUE;
|
||||||
|
gConditionsForMercAvailabilityTemp[i].NewMercsAvailable = TRUE;
|
||||||
|
gConditionsForMercAvailability[i].StartMercsAvailable = TRUE;
|
||||||
|
gConditionsForMercAvailability[i].NewMercsAvailable = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gConditionsForMercAvailabilityTemp[i].StartMercsAvailable = FALSE;
|
||||||
|
gConditionsForMercAvailabilityTemp[i].NewMercsAvailable = FALSE;
|
||||||
|
gConditionsForMercAvailability[i].StartMercsAvailable = FALSE;
|
||||||
|
gConditionsForMercAvailability[i].NewMercsAvailable = FALSE;
|
||||||
|
LAST_MERC_ID--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_NO_ACCOUNT;
|
LaptopSaveInfo.gubPlayersMercAccountStatus = MERC_NO_ACCOUNT;
|
||||||
gubCurMercIndex = 0;
|
gubCurMercIndex = 0;
|
||||||
|
|
||||||
@@ -1105,6 +1153,55 @@ void DailyUpdateOfMercSite( UINT16 usDate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// anv: Gets the actually available merc. For use in displaying unlocked mercs on MERC website.
|
||||||
|
UINT8 GetAvailableMercIndex(UINT8 gubCurMercIndex)
|
||||||
|
{
|
||||||
|
UINT8 returnID = 0;
|
||||||
|
if( gubCurMercIndex <= NUM_PROFILES )
|
||||||
|
{
|
||||||
|
UINT8 availableID = 0;
|
||||||
|
UINT8 ID = 0;
|
||||||
|
//go through mercs, but only consider those unlocked
|
||||||
|
while( availableID < gubCurMercIndex )
|
||||||
|
{
|
||||||
|
ID++;
|
||||||
|
if( gConditionsForMercAvailability[ ID ].StartMercsAvailable == TRUE )
|
||||||
|
availableID++;
|
||||||
|
|
||||||
|
}
|
||||||
|
returnID = ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Is this a drunken merc (e.g Larry) and has an additional drunken profile
|
||||||
|
if( gConditionsForMercAvailability[ returnID ].Drunk == TRUE && gConditionsForMercAvailability[ returnID ].uiAlternateIndex != 255)
|
||||||
|
{
|
||||||
|
if ( HasLarryRelapsed() )
|
||||||
|
{
|
||||||
|
// Drunken Larry
|
||||||
|
if (gConditionsForMercAvailability[ returnID ].uiIndex <= NUM_PROFILES)
|
||||||
|
{
|
||||||
|
returnID = gConditionsForMercAvailability[ returnID ].uiIndex;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert(0);
|
||||||
|
return( TRUE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Normal Larry (Normal Profile is one
|
||||||
|
returnID = gConditionsForMercAvailability[ returnID ].uiAlternateIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return returnID;
|
||||||
|
}
|
||||||
|
|
||||||
|
UINT8 GetAvailableMercIDFromMERCArray(UINT8 ubMercID)
|
||||||
|
{
|
||||||
|
return gubMercArray[GetAvailableMercIndex(ubMercID)];
|
||||||
|
}
|
||||||
|
|
||||||
//Gets the actual merc id from the array
|
//Gets the actual merc id from the array
|
||||||
UINT8 GetMercIDFromMERCArray(UINT8 ubMercID)
|
UINT8 GetMercIDFromMERCArray(UINT8 ubMercID)
|
||||||
{
|
{
|
||||||
@@ -2379,7 +2476,7 @@ BOOLEAN ShouldSpeckStartTalkingDueToActionOnSubPage()
|
|||||||
if( gfJustHiredAMercMerc )
|
if( gfJustHiredAMercMerc )
|
||||||
{
|
{
|
||||||
|
|
||||||
HandlePlayerHiringMerc( GetMercIDFromMERCArray( gubCurMercIndex ) );
|
HandlePlayerHiringMerc( GetAvailableMercIDFromMERCArray( gubCurMercIndex ) );
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#else
|
#else
|
||||||
@@ -2428,7 +2525,7 @@ BOOLEAN IsSpeckComAvailable() // anv: Prevent Speck from talking if his playable
|
|||||||
|| gMercProfiles[ SPECK_PLAYABLE ].bMercStatus == MERC_FIRED_AS_A_POW ) )
|
|| gMercProfiles[ SPECK_PLAYABLE ].bMercStatus == MERC_FIRED_AS_A_POW ) )
|
||||||
|
|
||||||
//he still can talk if he was just hired, so he can say his recruitment quote
|
//he still can talk if he was just hired, so he can say his recruitment quote
|
||||||
&& ( GetMercIDFromMERCArray( gubCurMercIndex ) != SPECK_PLAYABLE
|
&& ( GetAvailableMercIDFromMERCArray( gubCurMercIndex ) != SPECK_PLAYABLE
|
||||||
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_PLAYER_TRIES_TO_HIRE_ALREADY_HIRED_MERC
|
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_PLAYER_TRIES_TO_HIRE_ALREADY_HIRED_MERC
|
||||||
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_BIFF_UNAVALIABLE
|
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_BIFF_UNAVALIABLE
|
||||||
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_SPECK_UNAVAILABLE
|
|| gusMercVideoSpeckSpeech == SPECK_QUOTE_SPECK_UNAVAILABLE
|
||||||
@@ -2516,12 +2613,21 @@ void HandleSpeckWitnessingEmployeeDeath( SOLDIERTYPE* pSoldier ) // anv: handle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#else
|
||||||
|
void AddJohnAsMerc() // anv: add John as playable merc after escorting Kulbas out of country
|
||||||
|
{
|
||||||
|
LaptopSaveInfo.bJohnEscorted = TRUE;
|
||||||
|
LaptopSaveInfo.uiJohnEscortedDate = GetWorldDay();
|
||||||
|
return;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
BOOLEAN ShouldSpeckSayAQuote()
|
BOOLEAN ShouldSpeckSayAQuote()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
//if we are entering from anywhere except a sub page, and we should say the opening quote
|
//if we are entering from anywhere except a sub page, and we should say the opening quote
|
||||||
if( gfJustEnteredMercSite && gubArrivedFromMercSubSite == MERC_CAME_FROM_OTHER_PAGE )
|
if( gfJustEnteredMercSite && gubArrivedFromMercSubSite == MERC_CAME_FROM_OTHER_PAGE )
|
||||||
{
|
{
|
||||||
@@ -2919,8 +3025,55 @@ BOOLEAN CanMercBeAvailableYet( UINT8 ubMercToCheck )
|
|||||||
return ( FALSE );
|
return ( FALSE );
|
||||||
|
|
||||||
//if the merc is already hired
|
//if the merc is already hired
|
||||||
if( !IsMercHireable( GetMercIDFromMERCArray( gConditionsForMercAvailability[ ubMercToCheck ].ubMercArrayID ) ) )
|
//if( !IsMercHireable( GetMercIDFromMERCArray( gConditionsForMercAvailability[ ubMercToCheck ].ubMercArrayID ) ) )
|
||||||
return( FALSE );
|
// return( FALSE );
|
||||||
|
|
||||||
|
// anv: John Kulba should be recruitable after escort quest
|
||||||
|
#ifdef JA2UB
|
||||||
|
// too many Kulbas
|
||||||
|
#else
|
||||||
|
// if merc is Kulba, he was escorted as a civilian and enough days passed
|
||||||
|
if( gConditionsForMercAvailability[ ubMercToCheck ].ProfilId == JOHN_MERC )
|
||||||
|
{
|
||||||
|
if(gGameExternalOptions.fEnableRecruitableJohnKulba == TRUE)
|
||||||
|
{
|
||||||
|
if( LaptopSaveInfo.bJohnEscorted == TRUE
|
||||||
|
&& LaptopSaveInfo.uiJohnEscortedDate + gGameExternalOptions.ubRecruitableJohnKulbaDelay < GetWorldDay() )
|
||||||
|
{
|
||||||
|
return( TRUE );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return( FALSE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return( FALSE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// anv: if JA1 natives are turned off, prevent them from being be available
|
||||||
|
if(gGameExternalOptions.fEnableRecruitableJA1Natives == FALSE)
|
||||||
|
{
|
||||||
|
if( gConditionsForMercAvailability[ ubMercToCheck ].ProfilId == ELIO ||
|
||||||
|
gConditionsForMercAvailability[ ubMercToCheck ].ProfilId == JUAN ||
|
||||||
|
gConditionsForMercAvailability[ ubMercToCheck ].ProfilId == WAHAN )
|
||||||
|
{
|
||||||
|
return( FALSE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// anv: if recruitable Speck is turned off, prevent him from being available
|
||||||
|
if(gGameExternalOptions.fEnableRecruitableSpeck == FALSE)
|
||||||
|
{
|
||||||
|
if( gConditionsForMercAvailability[ ubMercToCheck ].ProfilId == SPECK_PLAYABLE )
|
||||||
|
{
|
||||||
|
return( FALSE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
//if player has paid enough money for the merc to be available, and the it is after the current day
|
//if player has paid enough money for the merc to be available, and the it is after the current day
|
||||||
if( gConditionsForMercAvailability[ ubMercToCheck ].usMoneyPaid <= LaptopSaveInfo.uiTotalMoneyPaidToSpeck &&
|
if( gConditionsForMercAvailability[ ubMercToCheck ].usMoneyPaid <= LaptopSaveInfo.uiTotalMoneyPaidToSpeck &&
|
||||||
@@ -2942,7 +3095,8 @@ void NewMercsAvailableAtMercSiteCallBack( )
|
|||||||
{
|
{
|
||||||
gConditionsForMercAvailability[i].NewMercsAvailable = TRUE;
|
gConditionsForMercAvailability[i].NewMercsAvailable = TRUE;
|
||||||
|
|
||||||
if ( gConditionsForMercAvailability[ gConditionsForMercAvailability[i].uiIndex ].Drunk == TRUE )
|
//if ( gConditionsForMercAvailability[ gConditionsForMercAvailability[i].uiIndex ].Drunk == TRUE )
|
||||||
|
if ( gConditionsForMercAvailability[i].Drunk == TRUE )
|
||||||
{
|
{
|
||||||
LaptopSaveInfo.gubLastMercIndex = gConditionsForMercAvailability[gConditionsForMercAvailability[i].uiAlternateIndex].uiIndex;
|
LaptopSaveInfo.gubLastMercIndex = gConditionsForMercAvailability[gConditionsForMercAvailability[i].uiAlternateIndex].uiIndex;
|
||||||
}
|
}
|
||||||
@@ -2952,16 +3106,15 @@ void NewMercsAvailableAtMercSiteCallBack( )
|
|||||||
if (i > 0 && gConditionsForMercAvailability[ gConditionsForMercAvailability[i - 1].uiIndex ].uiAlternateIndex != 255)
|
if (i > 0 && gConditionsForMercAvailability[ gConditionsForMercAvailability[i - 1].uiIndex ].uiAlternateIndex != 255)
|
||||||
{
|
{
|
||||||
// Previous merc has alternate (drunk) merc, skip his one!
|
// Previous merc has alternate (drunk) merc, skip his one!
|
||||||
LaptopSaveInfo.gubLastMercIndex = LaptopSaveInfo.gubLastMercIndex + 2;
|
//LaptopSaveInfo.gubLastMercIndex = LaptopSaveInfo.gubLastMercIndex + 2;
|
||||||
|
LaptopSaveInfo.gubLastMercIndex = LaptopSaveInfo.gubLastMercIndex++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LaptopSaveInfo.gubLastMercIndex++;
|
LaptopSaveInfo.gubLastMercIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//gConditionsForMercAvailability[gConditionsForMercAvailability[i].uiIndex].NewMercsAvailable = TRUE; LaptopSaveInfo.ubLastMercAvailableId = gConditionsForMercAvailability[i].uiIndex;
|
||||||
gConditionsForMercAvailability[gConditionsForMercAvailability[i].uiIndex].NewMercsAvailable = TRUE;
|
|
||||||
LaptopSaveInfo.ubLastMercAvailableId = gConditionsForMercAvailability[i].uiIndex;
|
|
||||||
gConditionsForMercAvailability[i].StartMercsAvailable = TRUE;
|
gConditionsForMercAvailability[i].StartMercsAvailable = TRUE;
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
@@ -2970,7 +3123,6 @@ void NewMercsAvailableAtMercSiteCallBack( )
|
|||||||
//new mercs are available
|
//new mercs are available
|
||||||
LaptopSaveInfo.fNewMercsAvailableAtMercSite = TRUE;
|
LaptopSaveInfo.fNewMercsAvailableAtMercSite = TRUE;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
if( IsSpeckComAvailable() )
|
if( IsSpeckComAvailable() )
|
||||||
{
|
{
|
||||||
AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
AddEmail( NEW_MERCS_AT_MERC, NEW_MERCS_AT_MERC_LENGTH, SPECK_FROM_MERC, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT);
|
||||||
|
|||||||
+7
-1
@@ -109,7 +109,7 @@ enum
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN CanMercBeAvailableDuringInit( UINT8 ubMercToCheck );// anv: for all mercs available
|
||||||
void GameInitMercs();
|
void GameInitMercs();
|
||||||
BOOLEAN EnterMercs();
|
BOOLEAN EnterMercs();
|
||||||
void ExitMercs();
|
void ExitMercs();
|
||||||
@@ -123,6 +123,9 @@ BOOLEAN RemoveMercBackGround();
|
|||||||
void DailyUpdateOfMercSite( UINT16 usDate);
|
void DailyUpdateOfMercSite( UINT16 usDate);
|
||||||
UINT8 GetMercIDFromMERCArray(UINT8 ubMercID);
|
UINT8 GetMercIDFromMERCArray(UINT8 ubMercID);
|
||||||
|
|
||||||
|
UINT8 GetAvailableMercIndex(UINT8 gubCurMercIndex);
|
||||||
|
UINT8 GetAvailableMercIDFromMERCArray(UINT8 ubMercID);
|
||||||
|
|
||||||
void DisplayTextForSpeckVideoPopUp(STR16 pString);
|
void DisplayTextForSpeckVideoPopUp(STR16 pString);
|
||||||
|
|
||||||
BOOLEAN IsMercMercAvailable( UINT8 ubMercID );
|
BOOLEAN IsMercMercAvailable( UINT8 ubMercID );
|
||||||
@@ -157,6 +160,9 @@ void MakeBiffAwayForCoupleOfDays();
|
|||||||
#else
|
#else
|
||||||
BOOLEAN IsSpeckComAvailable();
|
BOOLEAN IsSpeckComAvailable();
|
||||||
void HandleSpeckWitnessingEmployeeDeath( SOLDIERTYPE* pSoldier );
|
void HandleSpeckWitnessingEmployeeDeath( SOLDIERTYPE* pSoldier );
|
||||||
|
|
||||||
|
// anv: for Kulba hireable after escort quest
|
||||||
|
void AddJohnAsMerc( );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void InitializeNumDaysMercArrive();
|
void InitializeNumDaysMercArrive();
|
||||||
|
|||||||
@@ -2731,6 +2731,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
|||||||
if( pSoldier->ubProfile == FLO )
|
if( pSoldier->ubProfile == FLO )
|
||||||
{
|
{
|
||||||
SetFactTrue( FACT_PC_MARRYING_DARYL_IS_FLO );
|
SetFactTrue( FACT_PC_MARRYING_DARYL_IS_FLO );
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#else
|
#else
|
||||||
// anv: make Speck whine about it immediately if on team
|
// anv: make Speck whine about it immediately if on team
|
||||||
@@ -4013,6 +4014,13 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
|||||||
|
|
||||||
case NPC_ACTION_ADD_JOHNS_GUN_SHIPMENT:
|
case NPC_ACTION_ADD_JOHNS_GUN_SHIPMENT:
|
||||||
AddJohnsGunShipment();
|
AddJohnsGunShipment();
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#else
|
||||||
|
// anv: recruitable Kulba
|
||||||
|
if( gGameExternalOptions.fEnableRecruitableJohnKulba == TRUE )
|
||||||
|
AddJohnAsMerc();
|
||||||
|
#endif
|
||||||
// also close panel
|
// also close panel
|
||||||
DeleteTalkingMenu();
|
DeleteTalkingMenu();
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -65,6 +65,12 @@
|
|||||||
#include "ub_config.h"
|
#include "ub_config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#else
|
||||||
|
// anv: for Kulba's odyssey
|
||||||
|
#include "email.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
//forward declarations of common classes to eliminate includes
|
//forward declarations of common classes to eliminate includes
|
||||||
class OBJECTTYPE;
|
class OBJECTTYPE;
|
||||||
class SOLDIERTYPE;
|
class SOLDIERTYPE;
|
||||||
@@ -452,6 +458,38 @@ void MercArrivesCallback( UINT8 ubSoldierID )
|
|||||||
|
|
||||||
pMerc = &gMercProfiles[ pSoldier->ubProfile ];
|
pMerc = &gMercProfiles[ pSoldier->ubProfile ];
|
||||||
|
|
||||||
|
// anv: handle Kulba's odyssey
|
||||||
|
#ifdef JA2UB
|
||||||
|
// too many Kulbas
|
||||||
|
#else
|
||||||
|
if(pSoldier->ubProfile == JOHN_MERC)
|
||||||
|
{
|
||||||
|
// just in case
|
||||||
|
if( LaptopSaveInfo.ubJohnPossibleMissedFlights > 3 )
|
||||||
|
LaptopSaveInfo.ubJohnPossibleMissedFlights = 3;
|
||||||
|
// every time Kulba delays his arrival, chances of next delay decrease
|
||||||
|
if( Random( 100 ) < LaptopSaveInfo.ubJohnPossibleMissedFlights * 25 )
|
||||||
|
{
|
||||||
|
pSoldier->uiTimeSoldierWillArrive = pSoldier->uiTimeSoldierWillArrive + 720 + Random ( 720 );
|
||||||
|
AddStrategicEvent( EVENT_DELAYED_HIRING_OF_MERC, pSoldier->uiTimeSoldierWillArrive, pSoldier->ubID );
|
||||||
|
if(LaptopSaveInfo.ubJohnPossibleMissedFlights == 3 )
|
||||||
|
AddEmail( JOHN_KULBA_MISSED_FLIGHT_1, JOHN_KULBA_MISSED_FLIGHT_1_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||||
|
else if(LaptopSaveInfo.ubJohnPossibleMissedFlights == 2 )
|
||||||
|
AddEmail( JOHN_KULBA_MISSED_FLIGHT_2, JOHN_KULBA_MISSED_FLIGHT_2_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||||
|
else if(LaptopSaveInfo.ubJohnPossibleMissedFlights == 1 )
|
||||||
|
AddEmail( JOHN_KULBA_MISSED_FLIGHT_3, JOHN_KULBA_MISSED_FLIGHT_3_LENGTH, JOHN_KULBA, GetWorldTotalMin(), -1, -1, TYPE_EMAIL_EMAIL_EDT );
|
||||||
|
|
||||||
|
LaptopSaveInfo.ubJohnPossibleMissedFlights--;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// reset possible missed flights, for the future Kulba's adventures
|
||||||
|
LaptopSaveInfo.ubJohnPossibleMissedFlights = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// add the guy to a squad
|
// add the guy to a squad
|
||||||
AddCharacterToAnySquad( pSoldier );
|
AddCharacterToAnySquad( pSoldier );
|
||||||
|
|
||||||
|
|||||||
@@ -242,6 +242,12 @@ enum NPCIDs
|
|||||||
#endif
|
#endif
|
||||||
NPC170 = NPC169 + 84,
|
NPC170 = NPC169 + 84,
|
||||||
SPECK_PLAYABLE = 191,// anv
|
SPECK_PLAYABLE = 191,// anv
|
||||||
|
|
||||||
|
// Those 4 only available in JA2 113 and not in JA2 UB!
|
||||||
|
JOHN_MERC = 195,
|
||||||
|
ELIO = 196,
|
||||||
|
JUAN = 197,
|
||||||
|
WAHAN = 198,
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
BOOLEAN LoadMercProfiles(void);
|
BOOLEAN LoadMercProfiles(void);
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
// *****************************
|
// *****************************
|
||||||
// WANNE: With these define we can build JA2 DEMO version that runs with 1.13
|
// WANNE: With this defin we can build JA2 DEMO version that runs with 1.13
|
||||||
// The 2 UB defines (JA2UB and JA2UBMAPS) should be disabled, because we only want to build the demo version from the JA2 code!
|
// The 2 UB defines (JA2UB and JA2UBMAPS) should be disabled, because we only want to build the demo version from the JA2 code!
|
||||||
|
|
||||||
//#define JA113DEMO
|
//#define JA113DEMO
|
||||||
|
|||||||
Reference in New Issue
Block a user