diff --git a/Laptop/AimMembers.cpp b/Laptop/AimMembers.cpp index c97c2f73..57f04092 100644 --- a/Laptop/AimMembers.cpp +++ b/Laptop/AimMembers.cpp @@ -5638,15 +5638,28 @@ void EnableWeaponKitSelectionButtons() { if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable ) { + bool bShow; + INT16 usItem; for(int i=0; iobject.usItem].usLimitedToSystem & 1) && !UsingFoodSystem()) || ((Item[iter->object.usItem].usLimitedToSystem & 2) && !gGameExternalOptions.fDisease)) + { + ++iter; + continue; + } + bool increment = true; if (ItemIsSpecial(*iter) == false) { StoreObjectsInNextFreeDealerInvSlot( &(*iter), gpTempDealersInventory, gbSelectedArmsDealerID ); diff --git a/Utils/XML_Items.cpp b/Utils/XML_Items.cpp index f6238df5..93c369c4 100644 --- a/Utils/XML_Items.cpp +++ b/Utils/XML_Items.cpp @@ -309,7 +309,9 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at strcmp(name, "RobotUtilitySkillGrant") == 0 || strcmp(name, "ProvidesRobotCamo") == 0 || strcmp(name, "ProvidesRobotNightVision") == 0 || - strcmp(name, "ProvidesRobotLaserBonus") == 0 + strcmp(name, "ProvidesRobotLaserBonus") == 0 || + strcmp(name, "FoodSystemExclusive") == 0 || + strcmp(name, "DiseaseSystemExclusive") == 0 ) { pData->curElement = ELEMENT_PROPERTY; @@ -1614,8 +1616,19 @@ itemEndElementHandle(void *userData, const XML_Char *name) pData->curElement == ELEMENT; pData->curItem.fProvidesRobotLaserBonus = (BOOLEAN)atol(pData->szCharData); } + else if (strcmp(name, "FoodSystemExclusive") == 0) + { + pData->curElement == ELEMENT; + if (atol(pData->szCharData)) + pData->curItem.usLimitedToSystem|= 1; + } + else if (strcmp(name, "DiseaseSystemExclusive") == 0) + { + pData->curElement == ELEMENT; + if (atol(pData->szCharData)) + pData->curItem.usLimitedToSystem|= 2; + } - --pData->maxReadDepth; }