-
Notifications
You must be signed in to change notification settings - Fork 0
/
RenderBuffs.cs
108 lines (90 loc) · 2.21 KB
/
RenderBuffs.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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Terraria;
using Terraria.Localization;
using Terraria.ModLoader;
namespace LansToggleableBuffs
{
class RenderBuffs
{
static int DrawBuffIcon(int drawBuffText, int i, int x, int y)
{
return Main.DrawBuffIcon(drawBuffText, i, x, y);
}
static bool BuffIsToggable(int id)
{
var mp = Main.LocalPlayer.GetModPlayer<LPlayer>();
for (int i = 0; i < LansToggleableBuffs.instance.getBuffLength(); i++)
{
var buffId = LansToggleableBuffs.instance.getBuff(i).id;
if(buffId == id)
{
if (mp.boughtbuffsavail[i])
{
if (mp.buffsavail[i])
{
return true;
}
}
}
}
return false;
}
// Decompiled code
public static void DrawInterface_Resources_Buffs()
{
Main.recBigList = false;
int num = -1;
int num2 = 11;
int offsetCount = 0;
for (int i = 0; i < Player.MaxBuffs; i++)
{
var buffType = Main.player[Main.myPlayer].buffType[i];
if (buffType > 0)
{
if (!BuffIsToggable(buffType))
{
int b = buffType;
int x = 32 + offsetCount * 38;
int num3 = 76;
if (offsetCount >= num2)
{
x = 32 + Math.Abs(offsetCount % 11) * 38;
num3 += 50 * (offsetCount / 11);
}
num = DrawBuffIcon(num, i, x, num3);
offsetCount++;
}
}
else
{
Main.buffAlpha[i] = 0.4f;
}
}
if (num < 0)
return;
int num4 = Main.player[Main.myPlayer].buffType[num];
if (num4 > 0)
{
var buffName = Lang.GetBuffName(num4);
Main.buffString = Lang.GetBuffDescription(num4);
if (num4 == 26 && Main.expertMode)
Main.buffString = Language.GetTextValue("BuffDescription.WellFed_Expert");
if (num4 == 147)
Main.bannerMouseOver = true;
if (num4 == 94)
{
int num5 = (int)(Main.player[Main.myPlayer].manaSickReduction * 100f) + 1;
Main.buffString = Main.buffString + num5 + "%";
}
int rare = Main.meleeBuff[num4] ? -10 : 0;
BuffLoader.ModifyBuffText(num4, ref buffName, ref Main.buffString, ref rare);
Main.instance.MouseTextHackZoom(buffName, rare);
}
}
}
}