!! beware of the ifdef above , most likely you want to put your code above it, otherwise it might not get executed !!!
См. определение в файле StaminaEvents.c строка 15
16 {
17 super.OnPlay(player);
18
19 MaskBase mask = MaskBase.Cast(player.GetInventory().FindAttachment(InventorySlots.GetSlotIdFromString("Mask")));
20
21 float rel_volume = 1;
22 if (mask)
23 {
24 if (mask.IsExternalFilterAttached() || mask.HasIntegratedFilter())
25 {
26 rel_volume = Math.Lerp(
MAX_VOLUME,1,mask.GetFilterQuantity01());
27 }
28 }
29
32
33 #ifdef DIAG_DEVELOPER
34 if (!DiagMenu.GetBool(
DiagMenuIDs.MISC_BREATH_VAPOR_LVL))
35 return;
36 #endif
37
38 if ( player.CanSpawnBreathVaporEffect() )
39 player.SpawnBreathVaporEffect();
40
41
43
44 }
AbstractWave m_SoundSetCallback
Перекрестные ссылки DiagMenu::GetBool(), InventorySlots::GetSlotIdFromString(), Math::Lerp(), m_SoundSetCallback и MAX_VOLUME.