mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
ExpAffect: don't spread fire on water.
StructureHit: check water level. Only normal, stun and flashbang explosives create water explosion. Increase max force when throwing items into water (to compensate for no bouncing). Increased splash volume from LOWVOLUME to MIDVOLUME. InternalIgniteExplosion: no fragments in water. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8752 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -388,7 +388,8 @@ void InternalIgniteExplosion( UINT8 ubOwner, INT16 sX, INT16 sY, INT16 sZ, INT32
|
||||
}
|
||||
|
||||
// HEADROCK HAM 5.1: Launch fragments from the explosion.
|
||||
if (Explosive[ Item[ usItem ].ubClassIndex ].usNumFragments > 0 )
|
||||
// sevenfm: no fragments in water
|
||||
if (Explosive[Item[usItem].ubClassIndex].usNumFragments > 0 && !Water(sGridNo, bLevel))
|
||||
{
|
||||
// HEADROCK HAM 5: Deactivated until the release of HAM 5.1.
|
||||
FireFragments( ubOwner, sX, sY, sZ, usItem, ubDirection );
|
||||
@@ -534,14 +535,15 @@ void GenerateExplosionFromExplosionPointer( EXPLOSIONTYPE *pExplosion )
|
||||
AniParams.sStartFrame = pExplosion->sCurrentFrame;
|
||||
AniParams.uiFlags = ANITILE_CACHEDTILE | ANITILE_FORWARD | ANITILE_EXPLOSION;
|
||||
|
||||
if ( TERRAIN_IS_WATER(ubTerrainType) )
|
||||
// sevenfm: check level
|
||||
//if ( TERRAIN_IS_WATER(ubTerrainType) )
|
||||
if (Water(sGridNo, bLevel))
|
||||
{
|
||||
// Change type to water explosion...
|
||||
ubTypeID = WATER_BLAST;
|
||||
AniParams.uiFlags |= ANITILE_ALWAYS_TRANSLUCENT;
|
||||
}
|
||||
|
||||
|
||||
if ( sZ < WALL_HEIGHT )
|
||||
{
|
||||
AniParams.uiFlags |= ANITILE_NOZBLITTER;
|
||||
@@ -2216,6 +2218,13 @@ BOOLEAN ExpAffect( INT32 sBombGridNo, INT32 sGridNo, UINT32 uiDist, UINT16 usIte
|
||||
//Init the variables
|
||||
sX = sY = -1;
|
||||
|
||||
// sevenfm: don't spread fire on water
|
||||
if (Explosive[Item[usItem].ubClassIndex].ubType == EXPLOSV_BURNABLEGAS &&
|
||||
Water(sGridNo, bLevel))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ( sSubsequent == BLOOD_SPREAD_EFFECT )
|
||||
{
|
||||
fSmokeEffect = FALSE;
|
||||
|
||||
Reference in New Issue
Block a user