Added lua function for finding/creating/destroying items in a soldier's inventory

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9132 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2021-07-08 19:23:26 +00:00
parent 3f4da5fad5
commit 8d112e5191
3 changed files with 119 additions and 2 deletions
+48 -1
View File
@@ -21188,7 +21188,7 @@ OBJECTTYPE* SOLDIERTYPE::GetObjectWithItemFlag( UINT64 aFlag )
return NULL;
}
void SOLDIERTYPE::DestroyOneObjectWithItemFlag( UINT64 aFlag )
bool SOLDIERTYPE::DestroyOneObjectWithItemFlag( UINT64 aFlag )
{
for ( INT8 bLoop = 0, invsize = (INT8)inv.size(); bLoop < invsize; ++bLoop )
{
@@ -21204,9 +21204,56 @@ void SOLDIERTYPE::DestroyOneObjectWithItemFlag( UINT64 aFlag )
{
DeleteObj( pObj );
}
return true;
}
}
}
return false;
}
bool SOLDIERTYPE::DestroyOneItemInInventory( UINT16 ausItem )
{
for ( INT8 bLoop = 0, invsize = (INT8)inv.size(); bLoop < invsize; ++bLoop )
{
if ( inv[bLoop].exists() )
{
OBJECTTYPE* pObj = &( inv[bLoop] );
if ( pObj && pObj->usItem == ausItem )
{
pObj->RemoveObjectsFromStack( 1 );
if ( pObj->ubNumberOfObjects <= 0 )
{
DeleteObj( pObj );
}
return true;
}
}
}
return false;
}
bool SOLDIERTYPE::HasItemInInventory( UINT16 ausItem )
{
for ( INT8 bLoop = 0, invsize = (INT8)inv.size(); bLoop < invsize; ++bLoop )
{
if ( inv[bLoop].exists() )
{
OBJECTTYPE* pObj = &( inv[bLoop] );
if ( pObj && pObj->usItem == ausItem )
{
return true;
}
}
}
return false;
}
#define BLOODDONATION_AMOUNT 10