Merged from revision: 7155

Custom sounds for non-guns (by anv)
- knives, throwing knives, blunt weapons can use attack sounds specified with <sSound> tag - previously their sound was chosen depending on animation used and hardcoded - it should open space for exotic weapons like chainsaws, lawn mowers, jackhammers, etc. If <sSound> is left unspecified, default hardcoded sound will be used normally.
- knives, throwing knives, blunt weapons, launchers on attack can cause noise specified with <ubAttackVolume>, previously it was ignored for anything but guns,
- small fix for knife/wire cutters combo where using it on empty grid would cause deadlock during battle.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7156 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-04-19 09:24:17 +00:00
parent 4f7e06b75e
commit cd1c0a4e43
3 changed files with 42 additions and 4 deletions
+16
View File
@@ -3199,6 +3199,11 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
// FreeUpAttacker( (UINT8) pSoldier->ubID );
// }
// anv: melee attack noise
UINT16 usUBItem = pSoldier->GetUsedWeaponNumber( &pSoldier->inv[ pSoldier->ubAttackingHand ] );
UINT8 ubVolume = Weapon[ usUBItem ].ubAttackVolume;
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->pathing.bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_UNKNOWN );
// possibly reduce monster smell
if ( pSoldier->aiData.bMonsterSmell > 0 && Random( 5 ) == 0 )
{
@@ -3880,6 +3885,11 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
}
}
// anv: hth (inluding blunt weapons) attack noise
UINT16 usUBItem = pSoldier->GetUsedWeaponNumber( &pSoldier->inv[ pSoldier->ubAttackingHand ] );
UINT8 ubVolume = Weapon[ usUBItem ].ubAttackVolume;
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->pathing.bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_UNKNOWN );
// possibly reduce monster smell (gunpowder smell)
if ( pSoldier->aiData.bMonsterSmell > 0 && Random( 5 ) == 0 )
{
@@ -4022,6 +4032,12 @@ BOOLEAN UseThrown( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
DeductPoints( pSoldier, sAPCost, 0 );
RemoveObjs( &(pSoldier->inv[ HANDPOS ] ), 1 );
*/
// anv: knife throw attack noise
UINT16 usUBItem = pSoldier->GetUsedWeaponNumber( &pSoldier->inv[ pSoldier->ubAttackingHand ] );
UINT8 ubVolume = Weapon[ usUBItem ].ubAttackVolume;
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->pathing.bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_UNKNOWN );
return( TRUE );
}