forked from hajsdfgj/modular-overhaul
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProfessionState.cs
53 lines (42 loc) · 1.25 KB
/
ProfessionState.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
namespace DaLion.Overhaul.Modules.Professions;
#region using directives
using System.Collections.Generic;
using DaLion.Overhaul.Modules.Professions.Events.GameLoop.UpdateTicked;
using StardewValley.Monsters;
#endregion using directives
/// <summary>The runtime state variables for PRFS.</summary>
internal sealed class ProfessionState
{
private int _rageCounter;
private Monster? _lastDesperadoTarget;
internal int BruteRageCounter
{
get => this._rageCounter;
set
{
this._rageCounter = value switch
{
>= 100 => 100,
<= 0 => 0,
_ => value,
};
}
}
internal int SpelunkerLadderStreak { get; set; }
internal int DemolitionistExcitedness { get; set; }
internal int[] PiperBuffs { get; } = new int[12];
internal Monster? LastDesperadoTarget
{
get => this._lastDesperadoTarget;
set
{
this._lastDesperadoTarget = value;
if (value is not null)
{
EventManager.Enable<DesperadoQuickshotUpdateTickedEvent>();
}
}
}
internal Queue<ISkill> SkillsToReset { get; } = new();
internal bool UsedStatueToday { get; set; }
}