blob: e90b0655a4bb1b932c247c82d1233dec67dd4cc2 (
plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
using UnityEngine;
using UnityEngine.UI;
public class DOTUpgradeCard : UpgradeCard
{
[SerializeField]
private int bleedAmount;
[SerializeField]
private int burnAmount;
[SerializeField]
private int poisonAmount;
[SerializeField]
private GameObject bleedUI;
[SerializeField]
private GameObject burnUI;
[SerializeField]
private GameObject poisonUI;
[SerializeField]
private GameObject stunDmgUI;
[SerializeField]
private Text bleedText;
[SerializeField]
private Text burnText;
[SerializeField]
private Text poisonText;
[SerializeField]
private Text stunDmgText;
[SerializeField]
private int bonusDamageOnBleed;
[SerializeField]
private int bonusDamageOnBurn;
[SerializeField]
private int bonusDamageOnPoison;
[SerializeField]
private int bonusDamageOnStun;
[SerializeField]
private float poisonSlowPercent;
[SerializeField]
private float burnSpeedDamagePercentBonus;
[SerializeField]
private float bleedingCritChance;
[SerializeField]
private float bleedPop;
[SerializeField]
private float burnPop;
[SerializeField]
private float poisonPop;
public override void Upgrade()
{
base.Upgrade();
GameManager.instance.dotTick += new Vector3(bleedAmount, burnAmount, poisonAmount);
MonsterManager.instance.bonusDamageOnBleed += bonusDamageOnBleed;
MonsterManager.instance.bonusDamageOnBurn += bonusDamageOnBurn;
MonsterManager.instance.bonusDamageOnPoison += bonusDamageOnPoison;
MonsterManager.instance.bonusDamageOnStun += bonusDamageOnStun;
MonsterManager.instance.poisonSlowPercent += poisonSlowPercent;
MonsterManager.instance.burnSpeedDamagePercentBonus += burnSpeedDamagePercentBonus;
MonsterManager.instance.bleedingCritChance += bleedingCritChance;
MonsterManager.instance.bleedPop += bleedPop;
MonsterManager.instance.burnPop += burnPop;
MonsterManager.instance.poisonPop += poisonPop;
if (bleedAmount > 0 || bonusDamageOnBleed > 0)
{
bleedUI.SetActive(value: true);
bleedText.text = GameManager.instance.dotTick.x + " \n (+" + (1 + MonsterManager.instance.bonusDamageOnBleed) + ")";
}
if (burnAmount > 0 || bonusDamageOnBurn > 0 || burnSpeedDamagePercentBonus > 0f)
{
burnUI.SetActive(value: true);
string text = GameManager.instance.dotTick.y + " \n (+" + (1 + MonsterManager.instance.bonusDamageOnBurn) + ")";
if (MonsterManager.instance.burnSpeedDamagePercentBonus > 0f)
{
text = text + "\n" + Mathf.FloorToInt(0.01f + MonsterManager.instance.burnSpeedDamagePercentBonus) + "xSlow%";
}
burnText.text = text;
}
if (poisonAmount > 0 || bonusDamageOnPoison > 0)
{
poisonUI.SetActive(value: true);
poisonText.text = GameManager.instance.dotTick.z + " \n (+" + (1 + MonsterManager.instance.bonusDamageOnPoison) + ")";
}
if (bonusDamageOnStun > 0)
{
stunDmgUI.SetActive(value: true);
stunDmgText.text = "+" + MonsterManager.instance.bonusDamageOnStun;
}
}
}
|