Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс ActionFishingNew
+ Граф наследования:ActionFishingNew:

Закрытые члены

void ActionFishingNew ()
 
override void CreateConditionComponents ()
 
override bool HasTarget ()
 
override bool HasAlternativeInterrupt ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override ActionData CreateActionData ()
 
override bool SetupAction (PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=null)
 
override void OnFinishProgressServer (ActionData action_data)
 
override void OnFinishProgressClient (ActionData action_data)
 
override void OnStartClient (ActionData action_data)
 
override void OnStartServer (ActionData action_data)
 
override void OnEndClient (ActionData action_data)
 
override void OnEndServer (ActionData action_data)
 
override void WriteToContext (ParamsWriteContext ctx, ActionData action_data)
 
override bool ReadFromContext (ParamsReadContext ctx, out ActionReciveData action_recive_data)
 
int EvaluateFishingResult (ActionData action_data)
 
- Закрытые члены унаследованные от ActionContinuousBase
void OnStartAnimationLoopServer (ActionData action_data)
 
void OnStartAnimationLoopClient (ActionData action_data)
 
void OnEndAnimationLoopServer (ActionData action_data)
 
void OnEndAnimationLoopClient (ActionData action_data)
 
void OnFinishProgressServer (ActionData action_data)
 
void OnFinishProgressClient (ActionData action_data)
 

Закрытые данные

const string ALLOWED_WATER_SURFACES = string.Format("%1|%2", UAWaterType.SEA, UAWaterType.FRESH)
 

Подробное описание

Конструктор(ы)

◆ ActionFishingNew()

void ActionFishingNew ( )
inlineprivate
187 {
190 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_FISHING;
191 m_FullBody = true;
192 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
193 m_Text = "#start_fishing";
194 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
float m_SpecialtyWeight
Definition ActionBase.c:68
int m_StanceMask
Definition ActionBase.c:53
int m_CommandUID
Definition AnimatedActionBase.c:135
m_CallbackClass
Definition AnimatedActionBase.c:137
Definition EntityAI.c:95
Definition ActionConstants.c:119
const float PRECISE_MEDIUM
Definition ActionConstants.c:124
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки AnimatedActionBase::m_CallbackClass, AnimatedActionBase::m_CommandUID, m_FullBody, m_SpecialtyWeight, m_StanceMask, m_Text и UASoftSkillsWeight::PRECISE_MEDIUM.

Методы

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate
213 {
214 ItemBase bait;
216
217 if (rod)
218 bait = ItemBase.Cast(rod.FindAttachmentBySlotName("Hook"));
219
220 if (bait && !bait.IsRuined())
221 return true;
222
223 return false;
224 }
Definition FishingRod_Base.c:2
Definition InventoryItem.c:731

◆ CreateActionData()

override ActionData CreateActionData ( )
inlineprivate
227 {
229 return actionData;
230 }
Definition ActionFishingNew.c:2

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
inlineprivate
197 {
200 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
const string ALLOWED_WATER_SURFACES
Definition ActionFishingNew.c:184
Definition CCINonRuined.c:2
Definition CCTWaterSurface.c:2
Definition ActionConstants.c:105
const float BASEBUILDING
Definition ActionConstants.c:111

Перекрестные ссылки ALLOWED_WATER_SURFACES, UAMaxDistances::BASEBUILDING, m_ConditionItem и m_ConditionTarget.

◆ EvaluateFishingResult()

int EvaluateFishingResult ( ActionData action_data)
inlineprivate
316 {
317 if (action_data.m_Player.IsQuickFishing())
318 return 1;
319
321 float rnd = fad.m_Player.GetRandomGeneratorSyncManager().GetRandom01(RandomGeneratorSyncUsage.RGSGeneric);
322 float daytimeModifier = 1;
323 float hookModifier = 1;
324 float chance;
325
326 daytimeModifier = GetGame().GetDayTime();
327 if ((daytimeModifier > 18 && daytimeModifier < 22) || (daytimeModifier > 5 && daytimeModifier < 9))
328 {
329 daytimeModifier = 1;
330 }
331 else
332 {
333 daytimeModifier = 0.5;
334 }
335
336 //fishing with an empty hook
337 if (fad.IsBaitEmptyHook())
338 {
339 hookModifier = 0.05;
340 }
341
342 chance = 1 - (((fad.FISHING_SUCCESS * daytimeModifier) + fad.m_RodQualityModifier)) * hookModifier;
343
344 if (rnd > chance)
345 {
346 return 1;
347 }
348 else if (rnd < fad.FISHING_BAIT_LOSS && !fad.IsBaitEmptyHook()) // restricts the loss of an empty hook (low chance is enough)
349 {
350 return 0;
351 }
352
353 return -1;
354 }
RandomGeneratorSyncUsage
Definition RandomGeneratorSyncManager.c:2
proto native CGame GetGame()

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

Используется в OnFinishProgressClient() и OnFinishProgressServer().

◆ HasAlternativeInterrupt()

override bool HasAlternativeInterrupt ( )
inlineprivate
208 {
209 return true;
210 }

◆ HasTarget()

override bool HasTarget ( )
inlineprivate
203 {
204 return true;
205 }

Используется в ReadFromContext() и WriteToContext().

◆ OnEndClient()

override void OnEndClient ( ActionData action_data)
inlineprivate
280 {
282 rod.AnimateFishingRod(false);
283 }

◆ OnEndServer()

override void OnEndServer ( ActionData action_data)
inlineprivate
285 {
287 rod.AnimateFishingRod(false);
288 }

◆ OnFinishProgressClient()

override void OnFinishProgressClient ( ActionData action_data)
inlineprivate
263 {
264 action_data.m_Callback.InternalCommand(DayZPlayerConstants.CMD_ACTIONINT_ACTION);
266 }
int EvaluateFishingResult(ActionData action_data)
Definition ActionFishingNew.c:315
int m_FishingResult
Definition ActionFishingNew.c:11

Перекрестные ссылки EvaluateFishingResult() и FishingActionData::m_FishingResult.

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)
inlineprivate
257 {
258 action_data.m_Callback.InternalCommand(DayZPlayerConstants.CMD_ACTIONINT_ACTION);
260 }

Перекрестные ссылки EvaluateFishingResult() и FishingActionData::m_FishingResult.

◆ OnStartClient()

override void OnStartClient ( ActionData action_data)
inlineprivate
269 {
271 rod.AnimateFishingRod(true);
272 }

◆ OnStartServer()

override void OnStartServer ( ActionData action_data)
inlineprivate
274 {
276 rod.AnimateFishingRod(true);
277 }

◆ ReadFromContext()

override bool ReadFromContext ( ParamsReadContext ctx,
out ActionReciveData action_recive_data )
inlineprivate
301 {
302 super.ReadFromContext(ctx, action_recive_data);
303
304 if (HasTarget())
305 {
307 if (!ctx.Read(cursor_position))
308 return false;
309
310 action_recive_data.m_Target.SetCursorHitPos(cursor_position);
311 }
312 return true;
313 }
override bool HasTarget()
Definition ActionFishingNew.c:202
Definition EnConvert.c:106

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

◆ SetupAction()

override bool SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = null )
inlineprivate
233 {
234 if (super.SetupAction(player, target, item, action_data, extra_data))
235 {
236 vector cursorPosition = action_data.m_Target.GetCursorHitPos();
238 cursorPosition = player.GetPosition();
239
240 if (GetGame().SurfaceIsSea(cursorPosition[0], cursorPosition[2]))
241 {
243 }
244
246 if (rod)
247 {
248 FishingActionData.Cast(action_data).m_RodQualityModifier = rod.GetFishingEffectivityBonus();
249 FishingActionData.Cast(action_data).InitBait(ItemBase.Cast(action_data.m_MainItem.FindAttachmentBySlotName("Hook")));
250 }
251 return true;
252 }
253 return false;
254 }
bool m_IsSurfaceSea
Definition ActionFishingNew.c:9
float m_RodQualityModifier
Definition ActionFishingNew.c:12
void InitBait(ItemBase item)
Definition ActionFishingNew.c:15
static const vector Zero
Definition EnConvert.c:110

Перекрестные ссылки GetGame(), FishingActionData::InitBait(), FishingActionData::m_IsSurfaceSea, FishingActionData::m_RodQualityModifier и vector::Zero.

◆ WriteToContext()

override void WriteToContext ( ParamsWriteContext ctx,
ActionData action_data )
inlineprivate
291 {
292 super.WriteToContext(ctx, action_data);
293
294 if (HasTarget())
295 {
296 ctx.Write(action_data.m_Target.GetCursorHitPos());
297 }
298 }

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

Поля

◆ ALLOWED_WATER_SURFACES

const string ALLOWED_WATER_SURFACES = string.Format("%1|%2", UAWaterType.SEA, UAWaterType.FRESH)
private

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


Объявления и описания членов класса находятся в файле: