Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
areadamagecomponent.c
Go to the documentation of this file.
1
class
AreaDamageComponentData
2
{
3
string
Hitzone
=
""
;
4
vector
Modelpos
=
"0.5 0.5 0.5"
;
5
}
6
7
class
AreaDamageComponent
:
AreaDamageEvents
8
{
9
AreaDamageManager
m_Parent
;
10
11
int
m_DamageType
;
12
string
m_AmmoName
;
13
14
ref
array<typename>
m_DamageableTypes
15
16
void
AreaDamageComponent
(
AreaDamageManager
parent)
17
{
18
m_Parent
= parent;
19
20
m_DamageType
=
DamageType
.CUSTOM;
21
m_AmmoName
=
"MeleeDamage"
;
22
23
m_DamageableTypes =
new
array<typename>
;
24
m_DamageableTypes.Insert(
DayZPlayer
);
25
}
26
27
override
bool
OnEvaluateDamage
(
TriggerInsider
insider,
float
damageCoef)
28
{
29
// No need to damage if the coef is 0!
30
if
(
ShouldDamage
(insider.
GetObject
()) && damageCoef > 0 )
31
return
EvaluateDamageInternal
(insider, damageCoef);
32
33
return
false
;
34
}
35
36
override
void
PreDamageActions
()
37
{
38
m_Parent
.PreDamageActions();
39
}
40
41
override
void
PostDamageActions
()
42
{
43
m_Parent
.PostDamageActions();
44
}
45
46
protected
bool
ShouldDamage
(
Object
object
)
47
{
48
return
object
&&
object
.IsAlive() &&
object
.IsAnyInherited( m_DamageableTypes );
49
}
50
51
protected
AreaDamageComponentData
GetAreaDamageComponentData
(
Object
object
)
52
{
53
return
new
AreaDamageComponentData
;
54
}
55
56
private
bool
EvaluateDamageInternal
(
TriggerInsider
insider,
float
damageCoef)
57
{
58
PreDamageActions
();
59
60
AreaDamageTriggerInsider
dInsider;
61
if
( CastTo( dInsider, insider ) )
62
dInsider.
lastDamaged
=
g_Game
.GetTickTime();
63
64
Object
object
= insider.
GetObject
();
65
66
AreaDamageComponentData
data =
GetAreaDamageComponentData
(
object
);
67
object
.ProcessDirectDamage(
m_DamageType
,
m_Parent
.GetParentObject(), data.
Hitzone
,
m_AmmoName
, data.
Modelpos
, damageCoef);
68
69
PostDamageActions
();
70
71
return
true
;
72
}
73
}
AreaDamageComponent
ref array< typename > m_DamageableTypes void AreaDamageComponent(AreaDamageManager parent)
Definition
areadamagecomponent.c:16
GetAreaDamageComponentData
AreaDamageComponentData GetAreaDamageComponentData(Object object)
Definition
areadamagecomponent.c:51
ShouldDamage
bool ShouldDamage(Object object)
Definition
areadamagecomponent.c:46
EvaluateDamageInternal
bool EvaluateDamageInternal(TriggerInsider insider, float damageCoef)
Definition
areadamagecomponent.c:56
m_AmmoName
string m_AmmoName
Definition
areadamagecomponent.c:12
m_DamageType
int m_DamageType
Definition
areadamagecomponent.c:11
OnEvaluateDamage
override bool OnEvaluateDamage(TriggerInsider insider, float damageCoef)
Tell the AreaDamageComponent to calculate and apply the damage to the Object.
Definition
areadamagemanager.c:193
PostDamageActions
override void PostDamageActions()
Usually called from AreaDamageComponent.
Definition
areadamagemanager.c:206
AreaDamageManager
void AreaDamageManager(EntityAI parent)
Definition
areadamagemanager.c:22
PreDamageActions
override void PreDamageActions()
Usually called from AreaDamageComponent.
Definition
areadamagemanager.c:199
m_Parent
Entity m_Parent
Definition
cachedequipmentstoragebase.c:15
AreaDamageComponentData
Definition
areadamagecomponent.c:2
AreaDamageComponentData::Hitzone
string Hitzone
Definition
areadamagecomponent.c:3
AreaDamageComponentData::Modelpos
vector Modelpos
Definition
areadamagecomponent.c:4
AreaDamageEvents
Events used across AreaDamage API, calling of these needs to be handled by parent.
Definition
areadamageevents.c:3
AreaDamageTriggerInsider
Extended TriggerInsider for AreaDamageTriggerBase.
Definition
areadamagetriggerbase.c:3
AreaDamageTriggerInsider::lastDamaged
float lastDamaged
Last time the object was damaged in seconds.
Definition
areadamagetriggerbase.c:5
DayZPlayer
Definition
dayzplayerimplement.c:87
Object
Definition
objecttyped.c:2
TriggerInsider
The object which is in a trigger and its metadata.
Definition
trigger.c:3
TriggerInsider::GetObject
Object GetObject()
Definition
trigger.c:28
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
vector
Definition
enconvert.c:119
DamageType
DamageType
exposed from C++ (do not change)
Definition
damagesystem.c:11
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Games
Dayz
scripts
4_world
classes
areadamage
areadamagenew
damagecomponents
areadamagecomponent.c
Generated by
1.17.0