Repository navigation
Expand file tree
/
Copy pathAccessorySlotsSystem.cs
More file actions
56 lines (44 loc) · 1.91 KB
/
Copy pathAccessorySlotsSystem.cs
File metadata and controls
56 lines (44 loc) · 1.91 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
using CISACTweaks.Common.Configs;
using Terraria.ModLoader;
namespace CISACTweaks;
using Player = Terraria.Player;
public sealed class AccessorySlotSystem : ModSystem
{
/*// To see how this config option was added, see ExampleModConfig.cs
public override bool IsLoadingEnabled(Mod mod)
{
return ModContent.GetInstance<MyModConfig>().ExtraSlotsToggle;
}*/
public override void Load()
{
On.Terraria.Player.IsAValidEquipmentSlotForIteration += On_IsAValidEquipmentSlotForIteration;
On.Terraria.Player.CanMasterModeAccessoryBeShown += On_CanMasterModeAccessoryBeShown;
On.Terraria.Player.CanDemonHeartAccessoryBeShown += On_CanDemonHeartAccessoryBeShown;
}
public override void Unload()
{
On.Terraria.Player.IsAValidEquipmentSlotForIteration -= On_IsAValidEquipmentSlotForIteration;
On.Terraria.Player.CanMasterModeAccessoryBeShown -= On_CanMasterModeAccessoryBeShown;
On.Terraria.Player.CanDemonHeartAccessoryBeShown -= On_CanDemonHeartAccessoryBeShown;
}
private bool On_CanMasterModeAccessoryBeShown(On.Terraria.Player.orig_CanMasterModeAccessoryBeShown orig, Player self)
{
return true || orig.Invoke(self);
}
private bool On_CanDemonHeartAccessoryBeShown(On.Terraria.Player.orig_CanDemonHeartAccessoryBeShown orig, Player self)
{
return true || orig.Invoke(self);
}
private bool On_IsAValidEquipmentSlotForIteration(On.Terraria.Player.orig_IsAValidEquipmentSlotForIteration orig, Player self, int slot)
{
bool shouldBeValid = false;
if (ModContent.GetInstance<MainConfig>().MasterSlotToggle) {
shouldBeValid |= slot is 8;
}
if (ModContent.GetInstance<MainConfig>().DemonSlotToggle) {
shouldBeValid |= slot is 9;
}
if (slot is 10) return true;
return shouldBeValid | orig.Invoke(self, slot);
}
}