Inseparable boolean field for items changed to UINT8

0 = removable (as before)
1 = inseparable (as before)
2+ = replaceable = inseparable, but can be replaced by a similar item

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5247 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
MaddMugsy
2012-05-01 19:08:03 +00:00
parent 83c47e0c6b
commit c237ca4dff
4 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -5733,7 +5733,7 @@ void ItemDescAttachmentsCallback( MOUSE_REGION * pRegion, INT32 iReason )
if ( !gpItemPointerSoldier || EnoughPoints( gpItemPointerSoldier, AttachmentAPCost( gpItemPointer->usItem, gpItemDescObject, gpItemPointerSoldier ), 0, TRUE ) )
{
// if ( (Item[ gpItemPointer->usItem ].fFlags & ITEM_INSEPARABLE) && ValidAttachment( gpItemPointer->usItem, gpItemDescObject->usItem ) )
if ( (Item[ gpItemPointer->usItem ].inseparable ) && ValidAttachment( gpItemPointer->usItem, gpItemDescObject ) )
if ( (Item[ gpItemPointer->usItem ].inseparable == 1) && ValidAttachment( gpItemPointer->usItem, gpItemDescObject ) )
{
iItemPosition = uiItemPos;
gbMessageBoxSubObject = (UINT8)ubStatusIndex;
+5 -1
View File
@@ -806,7 +806,11 @@ typedef struct
BOOLEAN defaultundroppable;
BOOLEAN unaerodynamic;
BOOLEAN electronic;
BOOLEAN inseparable;
UINT8 inseparable; //Madd:Normally, an inseparable attachment can never be removed.
//But now we will make it so that these items can be replaced, but still not removed directly.
//0 = removeable (as before)
//1 = inseparable (as before)
//2 = inseparable, but replaceable
CHAR16 szLongItemName[80];
CHAR16 szItemDesc[400];
+1 -1
View File
@@ -2308,7 +2308,7 @@ BOOLEAN ValidItemAttachmentSlot( OBJECTTYPE * pObj, UINT16 usAttachment, BOOLEAN
ubSlotIndex = usAttachmentSlotIndexVector[slotCount];
//WarmSteel - does this particular slot already hold an item? :( If we have a pAttachInSlot we're trying to switch, so then it doesn't matter.
if(!fIgnoreAttachmentInSlot && pAttachment->exists() && fAttemptingAttachment && (!ppAttachInSlot || Item[pAttachment->usItem].inseparable)){
if(!fIgnoreAttachmentInSlot && pAttachment->exists() && fAttemptingAttachment && (!ppAttachInSlot || Item[pAttachment->usItem].inseparable == 1)){
//If we have a parameter to return pAttachment to, store it, else the item does not attach to this slot.
fSimilarItems = TRUE;
usSimilarItem = pAttachment->usItem;
+1 -1
View File
@@ -701,7 +701,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
else if(strcmp(name, "Inseparable") == 0)
{
pData->curElement = ELEMENT;
pData->curItem.inseparable = (BOOLEAN) atol(pData->szCharData);
pData->curItem.inseparable = (UINT8) atol(pData->szCharData);
}
else if(strcmp(name, "BR_NewInventory") == 0)
{