mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- if a a roof collapses, any structures built on it (fans, sandbags) are destroyed
- if a a roof collapses, any corpses on it are moved to the floor git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7623 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2460,6 +2460,44 @@ BOOLEAN FiniStructureDB( void )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
STRUCTURE* GetTallestStructureOnGridno( INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
STRUCTURE* pCurrent = NULL;
|
||||
STRUCTURE* pStruct = NULL;
|
||||
INT8 bestheight = -1;
|
||||
INT16 sDesiredLevel = STRUCTURE_ON_GROUND;
|
||||
|
||||
if ( bLevel )
|
||||
sDesiredLevel = STRUCTURE_ON_ROOF;
|
||||
|
||||
pCurrent = gpWorldLevelData[sGridNo].pStructureHead;
|
||||
|
||||
while ( pCurrent != NULL )
|
||||
{
|
||||
// Check level!
|
||||
if ( pCurrent->sCubeOffset == sDesiredLevel )
|
||||
{
|
||||
if ( pCurrent->fFlags & (STRUCTURE_CORPSE | STRUCTURE_PERSON | STRUCTURE_ROOF) )
|
||||
{
|
||||
// we are interested in building tiles, not people
|
||||
pCurrent = pCurrent->pNext;
|
||||
continue;
|
||||
}
|
||||
|
||||
INT8 height = StructureHeight( pCurrent );
|
||||
if ( height > bestheight )
|
||||
{
|
||||
bestheight = height;
|
||||
pStruct = pCurrent;
|
||||
}
|
||||
}
|
||||
|
||||
pCurrent = pCurrent->pNext;
|
||||
}
|
||||
|
||||
return pStruct;
|
||||
}
|
||||
|
||||
|
||||
INT8 GetBlockingStructureInfo( INT32 sGridNo, INT8 bDir, INT8 bNextDir, INT8 bLevel, INT8 *pStructHeight, STRUCTURE ** ppTallestStructure, BOOLEAN fWallsBlock )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user