3670 {
3671 #ifndef SERVER
3672 ImpactEffectsData impactEffectsData = new ImpactEffectsData();
3673 impactEffectsData.m_DirectHit = directHit;
3674 impactEffectsData.m_ComponentIndex = componentIndex;
3675 impactEffectsData.m_Surface = surface;
3676 impactEffectsData.m_Position = pos;
3677 impactEffectsData.m_ImpactType =
ImpactTypes.MELEE;
3678 impactEffectsData.m_SurfaceNormal =
Vector(Math.RandomFloat(-1,1), Math.RandomFloat(-1,1), Math.RandomFloat(-1,1));
3679 impactEffectsData.m_ExitPosition = "0 0 0";
3680 impactEffectsData.m_InSpeed = "0 0 0";
3681 impactEffectsData.m_OutSpeed = "0 0 0";
3682 impactEffectsData.m_IsDeflected = false;
3683 impactEffectsData.m_AmmoType = ammoType;
3684 impactEffectsData.m_IsWater = isWater;
3685
3686 if (directHit)
3687 directHit.OnReceivedHit(impactEffectsData);
3688
3689 ImpactMaterials.EvaluateImpactEffectEx(impactEffectsData);
3690 #endif
3691
3692
3694 {
3695 m_NoiseParams.LoadFromPath(
"cfgAmmo " + ammoType +
" NoiseHit");
3696
3698 if (surfaceCoef == 0)
3699 surfaceCoef = 1;
3700
3702 }
3703 }
proto native NoiseSystem GetNoiseSystem()
static ref NoiseParams m_NoiseParams
proto native bool IsServer()
proto native float SurfaceGetNoiseMultiplier(Object directHit, vector pos, int componentIndex)
proto void AddNoisePos(EntityAI source_entity, vector pos, NoiseParams noise_params, float external_strenght_multiplier=1.0)
proto native vector Vector(float x, float y, float z)
Vector constructor from components.