Dayz Explorer
1.29.162510
Loading...
Searching...
No Matches
catchingresultbasic.c
Go to the documentation of this file.
1
class
CatchingResultBasic
2
{
3
protected
EntityAI
m_Owner
;
4
protected
bool
m_OverrideChanceActive
=
false
;
//do not perform chance updates
5
protected
bool
m_OverrideQualityActive
=
false
;
//overrides quality
6
protected
float
m_CatchChance
= 1.0;
//guaranteed catch by default
7
protected
float
m_Quality
= 1.0;
//max quality default
8
protected
YieldItemBase
m_YItem
;
9
10
void
CatchingResultBasic
(
EntityAI
owner)
11
{
12
m_Owner
= owner;
13
}
14
15
void
SetYieldItem
(
YieldItemBase
yItem)
16
{
17
m_YItem
= yItem;
18
}
19
20
int
GetYieldItemParticleId
()
21
{
22
if
(
m_YItem
)
23
return
m_YItem
.GetCatchParticleID();
24
25
return
ParticleList
.INVALID;
26
}
27
28
protected
void
SetCatchChance
(
float
val)
29
{
30
m_CatchChance
=
Math
.Clamp(val,0,1);
31
}
32
33
protected
void
SetQuality
(
float
val)
34
{
35
m_Quality
=
Math
.Clamp(val,0,1);
36
}
37
38
void
SetCatchChanceOverride
(
bool
ovrd,
float
val = 0.0)
39
{
40
if
(ovrd)
41
m_CatchChance
= val;
42
m_OverrideChanceActive
= ovrd;
43
}
44
45
void
SetQualityOverride
(
bool
ovrd,
float
val = 0.0)
46
{
47
if
(ovrd)
48
m_Quality
= val;
49
m_OverrideQualityActive
= ovrd;
50
}
51
52
void
UpdateCatchQuality
(
CatchingContextBase
ctx)
53
{
54
if
(
m_OverrideQualityActive
)
55
return
;
56
57
if
(!
m_YItem
)
58
return
;
59
60
float
val =
m_YItem
.GetQualityForYieldItem(ctx);
61
SetQuality
(val);
62
}
63
64
void
UpdateCatchChance
(
CatchingContextBase
ctx)
65
{
66
if
(
m_OverrideChanceActive
)
67
return
;
68
69
if
(!
m_YItem
)
70
return
;
71
72
float
val =
m_YItem
.GetChanceForYieldItem(ctx);
73
SetCatchChance
(val);
74
}
75
76
bool
RollChance
()
77
{
78
if
(
m_CatchChance
>= 1)
79
return
true
;
80
if
(
m_CatchChance
<= 0)
81
return
false
;
82
83
float
roll;
84
if
(
m_Owner
&&
m_Owner
.GetHierarchyRootPlayer())
85
roll =
RollChanceSeeded
();
86
else
87
roll =
Math
.RandomFloat01();
88
89
return
roll <
m_CatchChance
;
90
}
91
92
protected
float
RollChanceSeeded
()
93
{
94
return
1.0;
95
}
96
97
EntityAI
SpawnAndSetup
(out
int
yItemIdx,
vector
v =
vector
.Zero)
98
{
99
vector
pos = v;
100
if
(v ==
vector
.Zero &&
m_Owner
!= null)
101
pos =
m_Owner
.GetPosition();
102
103
if
(!
m_YItem
)
104
return
null;
105
106
yItemIdx =
m_YItem
.GetRegistrationIdx();
107
EntityAI
ret =
EntityAI
.Cast(
g_Game
.CreateObjectEx(
m_YItem
.GetType(), pos,
ECE_PLACE_ON_SURFACE
));
108
if
(ret)
109
m_YItem
.OnEntityYieldSpawned(ret);
110
111
return
ret;
112
}
113
};
CatchingContextBase
void CatchingContextBase(Param par)
Definition
catchingcontextbase.c:29
ECE_PLACE_ON_SURFACE
const int ECE_PLACE_ON_SURFACE
Definition
centraleconomy.c:37
CatchingResultBasic::UpdateCatchQuality
void UpdateCatchQuality(CatchingContextBase ctx)
Definition
catchingresultbasic.c:52
CatchingResultBasic::m_YItem
YieldItemBase m_YItem
Definition
catchingresultbasic.c:8
CatchingResultBasic::RollChanceSeeded
float RollChanceSeeded()
Definition
catchingresultbasic.c:92
CatchingResultBasic::m_OverrideQualityActive
bool m_OverrideQualityActive
Definition
catchingresultbasic.c:5
CatchingResultBasic::UpdateCatchChance
void UpdateCatchChance(CatchingContextBase ctx)
Definition
catchingresultbasic.c:64
CatchingResultBasic::m_CatchChance
float m_CatchChance
Definition
catchingresultbasic.c:6
CatchingResultBasic::CatchingResultBasic
void CatchingResultBasic(EntityAI owner)
Definition
catchingresultbasic.c:10
CatchingResultBasic::SetCatchChanceOverride
void SetCatchChanceOverride(bool ovrd, float val=0.0)
Definition
catchingresultbasic.c:38
CatchingResultBasic::SpawnAndSetup
EntityAI SpawnAndSetup(out int yItemIdx, vector v=vector.Zero)
Definition
catchingresultbasic.c:97
CatchingResultBasic::RollChance
bool RollChance()
Definition
catchingresultbasic.c:76
CatchingResultBasic::SetQuality
void SetQuality(float val)
Definition
catchingresultbasic.c:33
CatchingResultBasic::m_Quality
float m_Quality
Definition
catchingresultbasic.c:7
CatchingResultBasic::SetQualityOverride
void SetQualityOverride(bool ovrd, float val=0.0)
Definition
catchingresultbasic.c:45
CatchingResultBasic::m_OverrideChanceActive
bool m_OverrideChanceActive
Definition
catchingresultbasic.c:4
CatchingResultBasic::SetCatchChance
void SetCatchChance(float val)
Definition
catchingresultbasic.c:28
CatchingResultBasic::SetYieldItem
void SetYieldItem(YieldItemBase yItem)
Definition
catchingresultbasic.c:15
CatchingResultBasic::m_Owner
EntityAI m_Owner
Definition
catchingresultbasic.c:3
CatchingResultBasic::GetYieldItemParticleId
int GetYieldItemParticleId()
Definition
catchingresultbasic.c:20
EntityAI
Definition
inventoryitem.c:2
Math
Definition
enmath.c:7
ParticleList
Definition
particlelist.c:12
YieldItemBase
Definition
catchyielditembase.c:2
vector
Definition
enconvert.c:119
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Daten
3_game
systems
animalcatching
catchingresultbasic.c
Generated by
1.16.1