mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
If the new JA2_Options.ini option GEARKITS_ALWAYS_AVAILABLE is TRUE (default: FALSE), a merc's gear kits are always available during the hiring process, even if they've been bought before.
For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=358411&#msg_358411 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8704 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -812,6 +812,9 @@ void LoadGameExternalOptions()
|
||||
// Bob: externalized Slay's chance to leave
|
||||
gGameExternalOptions.ubHourlyChanceSlayWillLeave = iniReader.ReadInteger("Recruitment Settings", "SLAY_HOURLY_CHANCE_TO_LEAVE", 15, 0, 100);
|
||||
|
||||
// Flugente: gear kits are always available, even if they've been bought before
|
||||
gGameExternalOptions.fGearKitsAlwaysAvailable = iniReader.ReadBoolean("Recruitment Settings", "GEARKITS_ALWAYS_AVAILABLE", 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
|
||||
|
||||
@@ -823,6 +823,9 @@ typedef struct
|
||||
// Bob: % chance Slay will leave every hour if left alone in sector
|
||||
UINT16 ubHourlyChanceSlayWillLeave;
|
||||
|
||||
// Flugente: gear kits are always available, even if they've been bought before
|
||||
BOOLEAN fGearKitsAlwaysAvailable;
|
||||
|
||||
// anv: playable Speck
|
||||
BOOLEAN fEnableRecruitableSpeck;
|
||||
// anv: John Kulba becomes recruitable as a merc after finishing escort quest
|
||||
|
||||
@@ -1553,7 +1553,7 @@ BOOLEAN DisplayMercsInventory(UINT8 ubMercID)
|
||||
UINT8 ubColumnCount=0;
|
||||
|
||||
//if the mercs inventory has already been purchased, dont display the inventory
|
||||
if( gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
if ( (gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) && !gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
return( TRUE );
|
||||
|
||||
if(gGameExternalOptions.gfUseNewStartingGearInterface)
|
||||
@@ -5106,7 +5106,7 @@ void HandleAimMemberKeyBoardInput()
|
||||
{
|
||||
gbCurrentSoldier = gAimAvailability[AimMercArray[gbCurrentIndex]].ProfilId;
|
||||
|
||||
if (!(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS))
|
||||
if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
for ( UINT8 i = INV_START_POS; i<NUM_INV_SLOTS; ++i )
|
||||
{
|
||||
@@ -5608,7 +5608,7 @@ void EnableWeaponKitSelectionButtons()
|
||||
//tais: weaponbox gear selection buttons
|
||||
if ( UsingNewInventorySystem() )
|
||||
{
|
||||
if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS))
|
||||
if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
for(int i=0; i<NUM_MERCSTARTINGGEAR_KITS; ++i)
|
||||
{
|
||||
|
||||
+11
-8
@@ -442,7 +442,7 @@ void SelectMercsFaceRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
//else try to hire the merc
|
||||
else
|
||||
{
|
||||
if( gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
if ( (gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) && !gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
//bought gear before
|
||||
fMercBuyEquipment = 0;
|
||||
@@ -724,7 +724,7 @@ void BtnMercHireButtonCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
//else try to hire the merc
|
||||
else
|
||||
{
|
||||
if( gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
if ( (gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) && !gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
//bought gear before
|
||||
fMercBuyEquipment = 0;
|
||||
@@ -1110,8 +1110,10 @@ void DisplayMercsStats( UINT8 ubMercID )
|
||||
usPosY = usPosY + 145;
|
||||
DrawTextToScreen( MercInfo[MERC_FILES_GEAR], MERC_STATS_SECOND_COL_X, usPosY, 0, MERC_STATS_FONT, MERC_STATIC_STATS_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED);
|
||||
|
||||
if( (gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS ) && (!(gMercProfiles[ ubMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID)))
|
||||
if ( (gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
&& ( !(gMercProfiles[ ubMercID ].ubMiscFlags2 & PROFILE_MISC_FLAG2_MERC_GEARKIT_UNPAID) || gGameExternalOptions.fGearKitsAlwaysAvailable ) )
|
||||
gMercProfiles[ ubMercID ].usOptionalGearCost = 0;
|
||||
|
||||
swprintf(NsString, L"+ ");
|
||||
swprintf(sTemp, L"%d",gMercProfiles[ ubMercID ].usOptionalGearCost);
|
||||
InsertCommasForDollarFigure( sTemp );
|
||||
@@ -1408,7 +1410,7 @@ void HandleMercsFilesKeyBoardInput( )
|
||||
else
|
||||
{
|
||||
//bought gear before
|
||||
if( gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
if ( (gMercProfiles[ GetAvailableMercIDFromMERCArray( gubCurMercIndex ) ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) && !gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
fMercBuyEquipment = 0;
|
||||
MercProcessHireAfterGear();
|
||||
@@ -1446,7 +1448,7 @@ void HandleMercsFilesKeyBoardInput( )
|
||||
{
|
||||
UINT8 mercId = GetAvailableMercIDFromMERCArray( gubCurMercIndex );
|
||||
|
||||
if(!(gMercProfiles[mercId].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS))
|
||||
if ( !(gMercProfiles[mercId].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
UINT8 kit = 0;
|
||||
switch(InputEvent.usParam)
|
||||
@@ -1610,7 +1612,7 @@ BOOLEAN DisplayMERCMercsInventory(UINT8 ubMercID)
|
||||
UINT8 ubColumnCount=0;
|
||||
|
||||
//if the mercs inventory has already been purchased, dont display the inventory
|
||||
if( gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS )
|
||||
if ( (gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS && !gGameExternalOptions.fGearKitsAlwaysAvailable ) )
|
||||
return( TRUE );
|
||||
|
||||
UINT16 wnameY = MERC_MEMBER_WEAPON_NAME_Y;
|
||||
@@ -1728,7 +1730,8 @@ void EnableMercWeaponKitSelectionButtons()
|
||||
BOOL buttonEnabled[NUM_MERCSTARTINGGEAR_KITS];
|
||||
//tais: weaponbox gear selection buttons
|
||||
if(UsingNewInventorySystem() == true) {
|
||||
if(!(gMercProfiles[GetAvailableMercIDFromMERCArray( gubCurMercIndex )].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS)) {
|
||||
if ( !(gMercProfiles[GetAvailableMercIDFromMERCArray( gubCurMercIndex )].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
for(i=0; i<NUM_MERCSTARTINGGEAR_KITS; i++)
|
||||
{
|
||||
buttonEnabled[i] = FALSE;
|
||||
@@ -1778,7 +1781,7 @@ void MercWeaponKitSelectionUpdate(UINT8 selectedInventory)
|
||||
UINT8 ubMercID = GetAvailableMercIDFromMERCArray( gubCurMercIndex );
|
||||
UINT32 uiLoop;
|
||||
INT16 usItem;
|
||||
if(!( gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS ))
|
||||
if ( !( gMercProfiles[ ubMercID ].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS ) || gGameExternalOptions.fGearKitsAlwaysAvailable )
|
||||
{
|
||||
if(UsingNewInventorySystem() == true){
|
||||
// Start by resetting all profile inventory values to 0
|
||||
|
||||
Reference in New Issue
Block a user