- Fix: Launchers launch things that aren't supposed to be launched, like attached scopes

- Fix: mercs complain about non-useable structure construction items, even though these don't care about the useability threshold

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7829 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-04-22 18:46:09 +00:00
parent 7a163e8a3e
commit ad5f3e933c
2 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -5280,7 +5280,7 @@ BOOLEAN HandItemWorks( SOLDIERTYPE *pSoldier, INT8 bSlot )
// shape to be usable, and doesn't break during use.
// Exception: land mines. You can bury them broken, they just won't blow!
// if ( (Item[ pObj->usItem ].fFlags & ITEM_DAMAGEABLE) && (pObj->usItem != MINE) && (Item[ pObj->usItem ].usItemClass != IC_MEDKIT) && pObj->usItem != GAS_CAN )
if ( (Item[ pObj->usItem ].damageable ) && (!Item[pObj->usItem].mine ) && (Item[ pObj->usItem ].usItemClass != IC_MEDKIT) && !Item[pObj->usItem].gascan )
if ( Item[pObj->usItem].damageable && !Item[pObj->usItem].mine && (Item[pObj->usItem].usItemClass != IC_MEDKIT) && !Item[pObj->usItem].gascan && !IsStructureConstructItem( pObj->usItem, pSoldier->sGridNo, NULL ) )
{
// if it's still usable, check whether it breaks
if ( (*pObj)[0]->data.objectStatus >= USABLE)
+6 -4
View File
@@ -2704,9 +2704,11 @@ BOOLEAN TwoHandedItem( UINT16 usItem )
BOOLEAN ValidLaunchable( UINT16 usLaunchable, UINT16 usItem )
{
INT32 iLoop = 0;
// Flugente: as this would cause launchers to happily launch attachments around the landscape, we really have to check the list of launchables
// if a modder decides to define launchables via attachment points, slap him and tell him not to do that
//Madd: Common Attachment Framework
if ( IsAttachmentPointAvailable(usItem, usLaunchable) )
return TRUE;
//if ( IsAttachmentPointAvailable(usItem, usLaunchable) )
//return TRUE;
//DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("ValidLaunchable: launchable=%d, item=%d",usLaunchable,usItem));
// look for the section of the array pertaining to this launchable item...
@@ -2716,7 +2718,7 @@ BOOLEAN ValidLaunchable( UINT16 usLaunchable, UINT16 usItem )
{
break;
}
iLoop++;
++iLoop;
if (Launchable[iLoop][0] == 0)
{
// the proposed item cannot be attached to anything!
@@ -2731,7 +2733,7 @@ BOOLEAN ValidLaunchable( UINT16 usLaunchable, UINT16 usItem )
{
break;
}
iLoop++;
++iLoop;
if (Launchable[iLoop][0] != usLaunchable)
{
// the proposed item cannot be attached to the item in question