summaryrefslogtreecommitdiff
path: root/GameCode/DOTUpgradeCard.cs
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;
		}
	}
}