3552 {
3554 AnimSoundEvent soundEvent = null;
3555
3556 float quantity = 0;
3557
3558 EntityAI entityInHands = GetEntityInHands();
3559 if (entityInHands && entityInHands.IsInherited(
ItemBase))
3560 {
3562 Class.CastTo(item, entityInHands);
3563 if (item.HasQuantity())
3564 quantity = (
float)item.GetQuantity() / (item.GetQuantityMax() - item.GetQuantityMin());
3566 soundEvent = invItemType.GetSoundEvent(pUserInt);
3567 }
3568
3569 if (soundEvent == null)
3570 {
3571 quantity = 0;
3572 soundEvent = type.GetSoundWeaponEvent(pUserInt);
3573 }
3574
3575 if (soundEvent != null)
3576 {
3577 if (!
g_Game.IsHeadlessOrDedicatedServer())
3578 {
3580 if (builder)
3581 {
3582 builder.AddVariable("quantity", quantity);
3583 builder.AddVariable("interior", IsSoundInsideBuilding());
3584
3585 SoundObject soundObject = builder.BuildSoundObject();
3586 if (soundObject != NULL)
3587 {
3590
3591 if (pUserString == "StopOnAnimEnd")
3593 }
3594 }
3595 else
3596 {
3597
3598 }
3599 }
3600
3602 {
3603 AddNoise(soundEvent.m_NoiseParams);
3604 }
3605 }
3606 }
class GP5GasMask extends MaskBase ItemBase
ref array< AbstractWave > m_PerformedActionSounds
void AttenuateSoundIfNecessary(SoundObject soundObject)
int m_ActionSoundCategoryHash
void AddNoise(NoiseParams noisePar, float noiseMultiplier=1.0)
proto native DayZPlayerType GetDayZPlayerType()
returns appropriate DayZPlayerType
class AbstractSoundScene SoundObjectBuilder(SoundParams soundParams)
void SoundObject(SoundParams soundParams)