forked from Exxo-Avalon/AvalonTesting
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAvalonGlobalItemInstance.cs
More file actions
84 lines (79 loc) · 2.61 KB
/
AvalonGlobalItemInstance.cs
File metadata and controls
84 lines (79 loc) · 2.61 KB
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
using System.Collections.Generic;
using Terraria;
using Terraria.ID;
using Terraria.Localization;
using Terraria.ModLoader;
using Terraria.Utilities;
namespace Avalon;
public class AvalonGlobalItemInstance : GlobalItem
{
public override bool InstancePerEntity => true;
public int HealStamina { get; set; }
public bool Tome { get; set; }
public bool UpdateInvisibleVanity { get; set; }
public bool WasWiring { get; set; }
public bool TomeMaterial { get; set; }
public override GlobalItem Clone(Item item, Item itemClone)
{
var clone = (AvalonGlobalItemInstance)base.Clone(item, itemClone);
clone.HealStamina = HealStamina;
clone.WasWiring = WasWiring;
clone.Tome = Tome;
clone.TomeMaterial = TomeMaterial;
return clone;
}
public override void ModifyTooltips(Item item, List<TooltipLine> tooltips)
{
TooltipLine? tooltipLine = tooltips.Find(x => x.Name == "ItemName" && x.Mod == "Terraria");
TooltipLine? lineKnockback = tooltips.Find(x => x.Name == "Knockback" && x.Mod == "Terraria");
TooltipLine? lineSpeed = tooltips.Find(x => x.Name == "Speed" && x.Mod == "Terraria");
if (lineKnockback != null &&
LanguageManager.Instance.ActiveCulture.LegacyId == (int)GameCulture.CultureName.English)
{
if (item.knockBack is > 0f and < 1.5f)
{
lineKnockback.Text = "Puny knockback";
}
if (item.knockBack > 15f)
{
lineKnockback.Text = "Absurd knockback";
}
if (item.knockBack > 17f)
{
lineKnockback.Text = "Ridiculous knockback";
}
if (item.knockBack > 19f)
{
lineKnockback.Text = "Godly knockback";
}
if (item.type == ItemID.BatBat)
{
lineKnockback.Text = lineKnockback.Text.Replace("knockback", "knockbat");
}
}
if (lineSpeed == null)
{
return;
}
if (LanguageManager.Instance.ActiveCulture.LegacyId != (int)GameCulture.CultureName.English)
{
return;
}
if (item.useAnimation <= 5f)
{
lineSpeed.Text = "Lightning speed";
}
if (item.useAnimation >= 58f)
{
lineSpeed.Text = "Slowpoke speed";
}
}
public override bool? PrefixChance(Item item, int pre, UnifiedRandom rand)
{
if (item.IsArmor() && pre == -3)
{
return true;
}
return base.PrefixChance(item, pre, rand);
}
}