Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл ActionFishingNew.c

См. исходные тексты.

Структуры данных

class  FishingActionData
 
class  ActionFishingNew
 

Функции

override void CreateActionComponent ()
 
override void EndActionComponent ()
 
void HandleFishingResultSuccess ()
 
void HandleFishingResultFailure ()
 
override void OnStateChange (int pOldState, int pCurrentState)
 

Переменные

FishingActionData m_ActionDataFishing
 
ref array< stringm_JunkTypes
 

Функции

◆ CreateActionComponent()

override void CreateActionComponent ( )
39 {
41 m_ActionData.m_ActionComponent = new CAContinuousRepeatFishing(3.0);
42 }
Definition CAContinuousRepeatFishing.c:2
proto native void EnableStateChangeCallback()
enables state change callback OnStateChange

Перекрестные ссылки EnableStateChangeCallback().

◆ EndActionComponent()

override void EndActionComponent ( )
45 {
46 m_ActionDataFishing = FishingActionData.Cast(m_ActionData);
47
49 {
50 super.EndActionComponent();
51 return;
52 }
53
55 {
57 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
59 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_FINISH);
60 }
62 {
64 if (action.HasAlternativeInterrupt())
65 {
66 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_FINISH);
67 }
68 else
69 {
70 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
71 }
72
73 m_Canceled = true;
74 return;
75 }
76 else
77 {
79 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
81 SetCommand(DayZPlayerConstants.CMD_ACTIONINT_FINISH);
82 }
83
85 }
FishingActionData m_ActionDataFishing
bool m_Canceled
Definition SmptAnimMeta.c:16
Definition ActionContinuousBase.c:133
ref ActionBase m_Action
Definition ActionBase.c:27
int m_State
Definition ActionBase.c:31
Definition ActionFishingNew.c:2
int m_FishingResult
Definition ActionFishingNew.c:11
Definition EntityAI.c:95
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
const int UA_FINISHED
Definition constants.c:436
const int UA_CANCEL
Definition constants.c:437

Перекрестные ссылки ActionData::m_Action, m_ActionDataFishing, m_Canceled, FishingActionData::m_FishingResult, ActionData::m_State, UA_CANCEL и UA_FINISHED.

◆ HandleFishingResultFailure()

void HandleFishingResultFailure ( )
143 {
144 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
145 {
147 m_ActionDataFishing.InitBait(ItemBase.Cast(m_ActionDataFishing.m_MainItem.FindAttachmentBySlotName("Hook")));
148
149 if (Math.RandomFloatInclusive(0.0,1.0) > m_ActionDataFishing.FISHING_HOOK_LOSS) //loss of worm only
150 {
152 {
155 }
156 }
157 else //loss of the entire hook
158 {
160 }
161
163 }
164 }
ItemBase m_MainItem
Definition ActionBase.c:28
PlayerBase m_Player
Definition ActionBase.c:33
ItemBase m_Bait
Definition ActionFishingNew.c:13
const float FISHING_HOOK_LOSS
Definition ActionFishingNew.c:5
const float FISHING_DAMAGE
Definition ActionFishingNew.c:6
bool IsBaitEmptyHook()
Definition ActionFishingNew.c:21
void InitBait(ItemBase item)
Definition ActionFishingNew.c:15
Definition InventoryItem.c:731
Definition EnMath.c:7
proto native CGame GetGame()
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Definition EnMath.c:106

Перекрестные ссылки FishingActionData::FISHING_DAMAGE, FishingActionData::FISHING_HOOK_LOSS, GetGame(), FishingActionData::InitBait(), FishingActionData::IsBaitEmptyHook(), m_ActionDataFishing, FishingActionData::m_Bait, ActionData::m_MainItem, ActionData::m_Player и Math::RandomFloatInclusive().

Используется в OnStateChange().

◆ HandleFishingResultSuccess()

void HandleFishingResultSuccess ( )
88 {
89 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
90 {
92
94 m_ActionDataFishing.InitBait(ItemBase.Cast(m_ActionDataFishing.m_MainItem.FindAttachmentBySlotName("Hook")));
95
97 {
100 }
101 else
102 {
104 }
105
106 float rnd = Math.RandomFloatInclusive(0.0, 1.0);
108 {
110 fish = ItemBase.Cast(GetGame().CreateObjectEx("Mackerel",m_ActionDataFishing.m_Player.GetPosition(), ECE_PLACE_ON_SURFACE));
111 else
112 fish = ItemBase.Cast(GetGame().CreateObjectEx("Carp",m_ActionDataFishing.m_Player.GetPosition(), ECE_PLACE_ON_SURFACE));
113 }
114 else
115 {
117 {
118 string junkType = m_JunkTypes.Get(Math.RandomInt(0, m_JunkTypes.Count()));
119 fish = ItemBase.Cast(GetGame().CreateObjectEx(junkType, m_ActionDataFishing.m_Player.GetPosition(), ECE_PLACE_ON_SURFACE));
120 fish.SetHealth("", "Health", fish.GetMaxHealth("", "Health") * 0.1);
121 }
122 }
123
124 if (fish)
125 {
126 //Print("---Caught something: " + fish + "---");
127 fish.SetWet(0.3);
128 if (fish.HasQuantity())
129 {
130 float coef = Math.RandomFloatInclusive(0.5, 1.0);
131 float item_quantity = fish.GetQuantityMax() * coef;
133 fish.SetQuantity( item_quantity );
134 fish.InsertAgent(eAgents.CHOLERA);
135 }
136 }
137
139 }
140 }
ref array< string > m_JunkTypes
Definition ActionFishingNew.c:30
const int ECE_PLACE_ON_SURFACE
Definition CentralEconomy.c:37
eAgents
Definition EAgents.c:3
const float FISHING_GARBAGE_CHANCE
Definition ActionFishingNew.c:7
bool m_IsSurfaceSea
Definition ActionFishingNew.c:9
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
static proto float Round(float f)
Returns mathematical round of value.

Перекрестные ссылки ECE_PLACE_ON_SURFACE, FishingActionData::FISHING_DAMAGE, FishingActionData::FISHING_GARBAGE_CHANCE, GetGame(), FishingActionData::InitBait(), FishingActionData::IsBaitEmptyHook(), m_ActionDataFishing, FishingActionData::m_Bait, FishingActionData::m_IsSurfaceSea, m_JunkTypes, ActionData::m_MainItem, ActionData::m_Player, Math::RandomFloatInclusive(), Math::RandomInt() и Math::Round().

Используется в OnStateChange().

◆ OnStateChange()

override void OnStateChange ( int pOldState,
int pCurrentState )
167 {
169 {
171 {
173 }
175 {
177 }
178 }
179 }
void HandleFishingResultFailure()
Definition ActionFishingNew.c:142
void HandleFishingResultSuccess()
Definition ActionFishingNew.c:87
static const int STATE_NONE
undef state - not running anymore
Definition human.c:349
static const int STATE_LOOP_END2
Definition human.c:355
static const int STATE_LOOP_END
Definition human.c:354

Перекрестные ссылки HandleFishingResultFailure(), HandleFishingResultSuccess(), m_ActionDataFishing, FishingActionData::m_FishingResult, STATE_LOOP_END, STATE_LOOP_END2 и STATE_NONE.

Переменные

◆ m_ActionDataFishing

◆ m_JunkTypes

ref array<string> m_JunkTypes
Инициализатор
= {
"Wellies_Black",
"Wellies_Brown",
"Wellies_Green",
"Wellies_Grey",
"Pot"
}
30 {
31 "Wellies_Black",
32 "Wellies_Brown",
33 "Wellies_Green",
34 "Wellies_Grey",
35 "Pot"
36 };

Используется в HandleFishingResultSuccess().