-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTrophy.cs
137 lines (122 loc) · 4.48 KB
/
Trophy.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using MelonLoader;
using BTD_Mod_Helper;
using Trophy;
using BTD_Mod_Helper.Api.ModOptions;
using UnityEngine;
using BTD_Mod_Helper.Extensions;
using Il2CppAssets.Scripts.Unity;
using Il2CppAssets.Scripts.Unity.UI_New.InGame;
using Il2CppAssets.Scripts.Data.TrophyStore;
using Il2CppAssets.Scripts.Data;
using System.Collections.Generic;
using System.Linq;
using BTD_Mod_Helper.Api.Enums;
using System;
[assembly: MelonInfo(typeof(Trophy.Trophy), ModHelperData.Name, ModHelperData.Version, ModHelperData.RepoOwner)]
[assembly: MelonGame("Ninja Kiwi", "BloonsTD6")]
namespace Trophy
{
public class Trophy : BloonsTD6Mod
{
private readonly ModSettingHotkey trophiesButton = new ModSettingHotkey(KeyCode.U, HotkeyModifier.None)
{
displayName = "Give Trophies",
requiresRestart = false,
icon = VanillaSprites.TrophyIcon
};
private readonly ModSettingHotkey giveMonkeyMoney = new ModSettingHotkey(KeyCode.B, HotkeyModifier.None)
{
displayName = "Give Monkey Money",
requiresRestart = false,
icon = VanillaSprites.PileOMonkeyMoneyShop
};
private readonly ModSettingHotkey unlockAllItems = new ModSettingHotkey(KeyCode.X, HotkeyModifier.None)
{
displayName = "Unlock All Trophy Items",
requiresRestart = false,
icon = VanillaSprites.WinningTrophy
};
private readonly ModSettingHotkey resetMonkeyMoney = new ModSettingHotkey(KeyCode.L, HotkeyModifier.None)
{
displayName = "Reset Monkey Money To 0",
requiresRestart = false,
icon = VanillaSprites.HalfCashIcon
};
private readonly ModSettingDouble monkeyMoneyAmount = new ModSettingDouble(1.0)
{
displayName = "Monkey Money Amount",
min = 1,
max = 2147483646,
slider = false
};
private readonly ModSettingInt trophyAmount = new ModSettingInt(1)
{
displayName = "Trophy Amount",
min = 1,
max = 2147483646,
slider = false
};
public override void OnUpdate()
{
base.OnUpdate();
if (Game.instance == null || GameExt.GetBtd6Player(Game.instance) == null)
{
return;
}
var player = GameExt.GetBtd6Player(Game.instance);
if (giveMonkeyMoney.JustPressed())
{
if (player != null)
{
GameExt.AddMonkeyMoney(Game.instance, Convert.ToInt32(monkeyMoneyAmount.GetValue()));
MelonLogger.Msg($"Gained {monkeyMoneyAmount.GetValue()} monkey money!");
}
else
{
MelonLogger.Warning("either u aint loaded in or something broke \\u{1F62D}");
}
}
if (resetMonkeyMoney.JustPressed())
{
if (player != null)
{
GameExt.SetMonkeyMoney(Game.instance, 0);
MelonLogger.Msg("Reset monkey money to 0!");
}
else
{
MelonLogger.Warning("either u aint loaded in or something broke \\u{1F62D}");
}
}
if (trophiesButton.JustPressed())
{
if (player != null)
{
player.GainTrophies(Convert.ToInt32(trophyAmount.GetValue()), "event", null);
MelonLogger.Msg($"Gained {trophyAmount.GetValue()} trophies!");
}
else
{
MelonLogger.Warning("either u aint loaded in or something broke \\u{1F62D}");
}
}
if (unlockAllItems.JustPressed())
{
TrophyStoreItems items = GameData.Instance.trophyStoreItems;
List<TrophyStoreItem> itemList = items.storeItems.ToList();
if (player != null)
{
foreach (TrophyStoreItem item in itemList)
{
player.AddTrophyStoreItem(item.name);
MelonLogger.Msg($"Added {item.name} to your inventory!");
}
}
else
{
MelonLogger.Warning("either u aint loaded in or something broke \\u{1F62D}");
}
}
}
}
}