Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_WeaponAttachmentSuppressorAttributes.c
Go to the documentation of this file.
1
class
SCR_WeaponAttachmentSuppressorAttributes
:
SCR_WeaponAttachmentAttributes
2
{
3
[
Attribute
(
"1.0"
,
UIWidgets
.EditBox,
"Muzzle Velocity Coefficient. Values >1 speed up the bullet, values below slow it down"
)]
4
protected
float
m_fMuzzleSpeedCoefficient
;
5
[
Attribute
(
"1"
,
UIWidgets
.CheckBox,
"Override sound for shots"
)]
6
protected
bool
m_bOverrideShot
;
7
[
Attribute
(
"1"
,
UIWidgets
.CheckBox,
"Override muzzle effects"
)]
8
protected
bool
m_bOverrideMuzzleEffects
;
9
[
Attribute
(
"1.0"
,
UIWidgets
.EditBox,
"Muzzle Dispersion Factor. Affects the radius of impact at the given range in the weapon. Smaller than 1.0 makes the weapon more accurate"
)]
10
protected
float
m_fMuzzleDispersionFactor
;
11
12
[
Attribute
(
"0.0"
,
UIWidgets
.EditBox,
"Extra Obstruction Length"
)]
13
protected
float
m_fExtraObstructionLength
;
14
15
16
[
Attribute
(
"1 1 1"
,
"Linear Recoil Factors for X/Y/Z Direction. Smaller values reduce recoil."
)]
17
protected
vector
m_vLinearFactors
;
18
[
Attribute
(
"1 1 1"
,
"Angular Recoil Factors for X/Y/Z Direction. Smaller values reduce recoil."
)]
19
protected
vector
m_vAngularFactors
;
20
[
Attribute
(
"1 1 1"
,
"Turning Recoil Factors for X/Y/Z Direction. Smaller values reduce recoil."
)]
21
protected
vector
m_vTurnFactors
;
22
23
override
bool
ApplyModifiers
(BaseWeaponStatsManagerComponent statsManager,
int
muzzleIndex,
IEntity
attachedEntity)
24
{
25
if
(muzzleIndex == -1)
26
return
false
;
// Should not happen
27
28
if
(!statsManager.SetMuzzleVelocityCoefficient(attachedEntity, muzzleIndex,
m_fMuzzleSpeedCoefficient
))
29
return
false
;
30
31
if
(!statsManager.SetMuzzleDispersionFactor(attachedEntity, muzzleIndex,
m_fMuzzleDispersionFactor
))
32
return
false
;
33
34
if
(
m_bOverrideShot
)
35
if
(!statsManager.SetShotSoundOverride(attachedEntity, muzzleIndex,
true
))
36
return
false
;
37
38
if
(
m_bOverrideMuzzleEffects
)
39
{
40
if
(!statsManager.SetMuzzleEffectOverride(attachedEntity, muzzleIndex,
true
))
41
return
false
;
42
array<Managed> comArray = {};
43
attachedEntity.
FindComponents
(MuzzleEffectComponent, comArray);
44
foreach
(Managed component : comArray)
45
{
46
MuzzleEffectComponent muzzleEffect = MuzzleEffectComponent.Cast(component);
47
if
(muzzleEffect)
48
statsManager.AddMuzzleEffectOverride(attachedEntity, muzzleIndex, muzzleEffect);
49
}
50
}
51
52
if
(!statsManager.SetExtraObstructionLength(attachedEntity,
m_fExtraObstructionLength
))
53
return
false
;
54
55
if
(!statsManager.SetRecoilLinearFactors(attachedEntity, muzzleIndex,
m_vLinearFactors
))
56
return
false
;
57
58
if
(!statsManager.SetRecoilAngularFactors(attachedEntity, muzzleIndex,
m_vAngularFactors
))
59
return
false
;
60
61
if
(!statsManager.SetRecoilTurnFactors(attachedEntity, muzzleIndex,
m_vTurnFactors
))
62
return
false
;
63
64
return
true
;
65
}
66
67
override
void
ClearModifiers
(BaseWeaponStatsManagerComponent statsManager,
int
muzzleIndex,
IEntity
attachedEntity)
68
{
69
if
(muzzleIndex == -1)
70
return
;
71
statsManager.ClearMuzzleVelocityCoefficient(attachedEntity, muzzleIndex);
72
statsManager.ClearMuzzleDispersionFactor(attachedEntity, muzzleIndex);
73
74
if
(
m_bOverrideShot
)
75
statsManager.ClearShotSoundOverride(attachedEntity, muzzleIndex);
76
77
if
(
m_bOverrideMuzzleEffects
)
78
statsManager.ClearMuzzleEffectOverride(attachedEntity, muzzleIndex);
79
80
statsManager.ClearExtraObstructionLength(attachedEntity);
81
statsManager.ClearRecoilLinearFactors(attachedEntity, muzzleIndex);
82
statsManager.ClearRecoilAngularFactors(attachedEntity, muzzleIndex);
83
statsManager.ClearRecoilTurnFactors(attachedEntity, muzzleIndex);
84
}
85
}
IEntity
Definition
IEntity.c:13
IEntity::FindComponents
proto external int FindComponents(typename typeName, notnull array< Managed > outComponents)
SCR_WeaponAttachmentAttributes
Definition
SCR_WeaponAttachmentAttributes.c:2
SCR_WeaponAttachmentSuppressorAttributes
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:2
SCR_WeaponAttachmentSuppressorAttributes::ApplyModifiers
override bool ApplyModifiers(BaseWeaponStatsManagerComponent statsManager, int muzzleIndex, IEntity attachedEntity)
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:23
SCR_WeaponAttachmentSuppressorAttributes::m_vLinearFactors
vector m_vLinearFactors
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:17
SCR_WeaponAttachmentSuppressorAttributes::m_fMuzzleSpeedCoefficient
float m_fMuzzleSpeedCoefficient
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:4
SCR_WeaponAttachmentSuppressorAttributes::m_vAngularFactors
vector m_vAngularFactors
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:19
SCR_WeaponAttachmentSuppressorAttributes::m_vTurnFactors
vector m_vTurnFactors
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:21
SCR_WeaponAttachmentSuppressorAttributes::m_fMuzzleDispersionFactor
float m_fMuzzleDispersionFactor
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:10
SCR_WeaponAttachmentSuppressorAttributes::m_fExtraObstructionLength
float m_fExtraObstructionLength
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:13
SCR_WeaponAttachmentSuppressorAttributes::m_bOverrideMuzzleEffects
bool m_bOverrideMuzzleEffects
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:8
SCR_WeaponAttachmentSuppressorAttributes::m_bOverrideShot
bool m_bOverrideShot
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:6
SCR_WeaponAttachmentSuppressorAttributes::ClearModifiers
override void ClearModifiers(BaseWeaponStatsManagerComponent statsManager, int muzzleIndex, IEntity attachedEntity)
Definition
SCR_WeaponAttachmentSuppressorAttributes.c:67
UIWidgets
Definition
attributes.c:40
vector
Definition
vector.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Inventory
SCR_WeaponAttachmentSuppressorAttributes.c
Generated by
1.17.0