mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
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:
@@ -5733,7 +5733,7 @@ void ItemDescAttachmentsCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
if ( !gpItemPointerSoldier || EnoughPoints( gpItemPointerSoldier, AttachmentAPCost( gpItemPointer->usItem, gpItemDescObject, gpItemPointerSoldier ), 0, TRUE ) )
|
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 ].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;
|
iItemPosition = uiItemPos;
|
||||||
gbMessageBoxSubObject = (UINT8)ubStatusIndex;
|
gbMessageBoxSubObject = (UINT8)ubStatusIndex;
|
||||||
|
|||||||
@@ -806,7 +806,11 @@ typedef struct
|
|||||||
BOOLEAN defaultundroppable;
|
BOOLEAN defaultundroppable;
|
||||||
BOOLEAN unaerodynamic;
|
BOOLEAN unaerodynamic;
|
||||||
BOOLEAN electronic;
|
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 szLongItemName[80];
|
||||||
CHAR16 szItemDesc[400];
|
CHAR16 szItemDesc[400];
|
||||||
|
|||||||
+1
-1
@@ -2308,7 +2308,7 @@ BOOLEAN ValidItemAttachmentSlot( OBJECTTYPE * pObj, UINT16 usAttachment, BOOLEAN
|
|||||||
ubSlotIndex = usAttachmentSlotIndexVector[slotCount];
|
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.
|
//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.
|
//If we have a parameter to return pAttachment to, store it, else the item does not attach to this slot.
|
||||||
fSimilarItems = TRUE;
|
fSimilarItems = TRUE;
|
||||||
usSimilarItem = pAttachment->usItem;
|
usSimilarItem = pAttachment->usItem;
|
||||||
|
|||||||
+1
-1
@@ -701,7 +701,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
|||||||
else if(strcmp(name, "Inseparable") == 0)
|
else if(strcmp(name, "Inseparable") == 0)
|
||||||
{
|
{
|
||||||
pData->curElement = ELEMENT;
|
pData->curElement = ELEMENT;
|
||||||
pData->curItem.inseparable = (BOOLEAN) atol(pData->szCharData);
|
pData->curItem.inseparable = (UINT8) atol(pData->szCharData);
|
||||||
}
|
}
|
||||||
else if(strcmp(name, "BR_NewInventory") == 0)
|
else if(strcmp(name, "BR_NewInventory") == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user