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_PersistentBarbedWireDamageEffect.c
Go to the documentation of this file.
1
class
SCR_PersistentBarbedWireDamageEffect
:
SCR_SpecialCollisionDamageEffect
2
{
3
[
Attribute
(defvalue:
"3"
, uiwidget:
UIWidgets
.EditBox,
desc
:
"At this velocity max damage is incurred by the character \n x = m/s"
,
category
:
"Barbed wire damage"
)]
4
protected
float
m_fMaxDamageSpeed
;
5
6
[
Attribute
(
"0 1 1 0"
, uiwidget:
UIWidgets
.CurveDialog,
desc
:
"How damage will scale with distance"
,
params
:
"1 1 0 0"
)]
7
protected
ref
Curve
m_cSpeedDamageCurve
;
8
9
[
Attribute
(
desc
:
"Effect that will be applied as a result of being damaged by this damage effect"
)]
10
protected
ref
SCR_BarbedWireCuttingDamageEffect
m_ResultingEffect
;
11
12
protected
static
const
float
DAMAGE_APPLY_THRESHOLD
= 2;
13
14
private
float
m_fMovedDamage;
15
16
//------------------------------------------------------------------------------------------------
17
protected
override
void
HandleConsequences
(SCR_ExtendedDamageManagerComponent dmgManager,
DamageEffectEvaluator
evaluator)
18
{
19
super.HandleConsequences(dmgManager, evaluator);
20
21
evaluator.HandleEffectConsequences(
this
, dmgManager);
22
}
23
24
//------------------------------------------------------------------------------------------------
25
override
void
OnEffectAdded
(SCR_ExtendedDamageManagerComponent dmgManager)
26
{
27
super.OnEffectAdded(dmgManager);
28
29
SetActive(
true
);
30
}
31
32
//------------------------------------------------------------------------------------------------
33
protected
override
void
EOnFrame
(
float
timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
34
{
35
if
(!
m_Controller
)
36
return
;
37
38
float
newMovedDamage;
39
CharacterInputContext
context =
m_Controller
.GetInputContext();
40
vector
characterVelocity =
m_Controller
.GetVelocity();
41
characterVelocity[1] = context.GetJump();
//for character Y of GetVelocity() is always 0
42
43
if
(characterVelocity[1] == 0 && (
m_Controller
.IsFalling() ||
m_Controller
.IsClimbing()))
44
characterVelocity[1] = 1;
45
46
if
(context && (context.IsMoving() ||
m_Controller
.IsRoll() || characterVelocity[1] != 0))
47
newMovedDamage = timeSlice *
LegacyCurve
.Curve(
ECurveType
.CurveProperty2D, characterVelocity.Length() /
m_fMaxDamageSpeed
,
m_cSpeedDamageCurve
)[1];
48
49
m_fMovedDamage += newMovedDamage * 10;
50
51
if
(m_fMovedDamage <
DAMAGE_APPLY_THRESHOLD
)
52
return
;
53
54
ApplyEffect(dmgManager);
55
m_fMovedDamage = 0;
56
}
57
58
//------------------------------------------------------------------------------------------------
59
override
EDamageType
GetDefaultDamageType
()
60
{
61
return
EDamageType
.MELEE;
62
}
63
64
//------------------------------------------------------------------------------------------------
65
SCR_BarbedWireCuttingDamageEffect
GetResultingEffect
()
66
{
67
return
m_ResultingEffect
;
68
}
69
}
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
category
params category
Definition
SCR_VehicleDamageManagerComponent.c:302
CharacterInputContext
Definition
CharacterInputContext.c:13
Curve
Definition
Math.c:22
DamageEffectEvaluator
Definition
DamageEffectEvaluator.c:2
LegacyCurve
Definition
LegacyCurve.c:13
SCR_BarbedWireCuttingDamageEffect
Definition
SCR_BarbedWireCuttingDamageEffect.c:2
SCR_PersistentBarbedWireDamageEffect
Definition
SCR_PersistentBarbedWireDamageEffect.c:2
SCR_PersistentBarbedWireDamageEffect::EOnFrame
override void EOnFrame(float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
Definition
SCR_PersistentBarbedWireDamageEffect.c:33
SCR_PersistentBarbedWireDamageEffect::OnEffectAdded
override void OnEffectAdded(SCR_ExtendedDamageManagerComponent dmgManager)
Definition
SCR_PersistentBarbedWireDamageEffect.c:25
SCR_PersistentBarbedWireDamageEffect::m_ResultingEffect
ref SCR_BarbedWireCuttingDamageEffect m_ResultingEffect
Definition
SCR_PersistentBarbedWireDamageEffect.c:10
SCR_PersistentBarbedWireDamageEffect::GetResultingEffect
SCR_BarbedWireCuttingDamageEffect GetResultingEffect()
Definition
SCR_PersistentBarbedWireDamageEffect.c:65
SCR_PersistentBarbedWireDamageEffect::HandleConsequences
override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
Definition
SCR_PersistentBarbedWireDamageEffect.c:17
SCR_PersistentBarbedWireDamageEffect::m_cSpeedDamageCurve
ref Curve m_cSpeedDamageCurve
Definition
SCR_PersistentBarbedWireDamageEffect.c:7
SCR_PersistentBarbedWireDamageEffect::GetDefaultDamageType
override EDamageType GetDefaultDamageType()
Definition
SCR_PersistentBarbedWireDamageEffect.c:59
SCR_PersistentBarbedWireDamageEffect::DAMAGE_APPLY_THRESHOLD
static const float DAMAGE_APPLY_THRESHOLD
Definition
SCR_PersistentBarbedWireDamageEffect.c:12
SCR_PersistentBarbedWireDamageEffect::m_fMaxDamageSpeed
float m_fMaxDamageSpeed
Definition
SCR_PersistentBarbedWireDamageEffect.c:4
SCR_SpecialCollisionDamageEffect
Definition
SCR_SpecialCollisionDamageEffect.c:2
SCR_SpecialCollisionDamageEffect::m_Controller
SCR_CharacterControllerComponent m_Controller
Definition
SCR_SpecialCollisionDamageEffect.c:3
UIWidgets
Definition
attributes.c:40
vector
Definition
vector.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
EDamageType
EDamageType
Definition
EDamageType.c:13
ECurveType
ECurveType
Definition
ECurveType.c:13
scripts
Game
Damage
DamageEffects
CharacterDamageEffects
SCR_PersistentBarbedWireDamageEffect.c
Generated by
1.17.0