aboutsummaryrefslogtreecommitdiff
path: root/settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'settings.js')
-rw-r--r--settings.js136
1 files changed, 136 insertions, 0 deletions
diff --git a/settings.js b/settings.js
new file mode 100644
index 0000000..20cb769
--- /dev/null
+++ b/settings.js
@@ -0,0 +1,136 @@
+import { @Vigilant, @ButtonProperty, @SwitchProperty, @SelectorProperty } from 'Vigilance'
+
+@Vigilant("Coleweight")
+class Settings {
+ @ButtonProperty({
+ name: "Change tracker position",
+ description: "Move the location of the tracker.",
+ category: "General",
+ placeholder: "Open"
+ })
+ moveLocation() {
+ ChatLib.command("cw move coleweight", true);
+ }
+
+ @SwitchProperty({
+ name: "Coleweight tracker",
+ description: "Enables the Coleweight tracker.",
+ category: "General"
+ })
+ cwToggle = true;
+
+ @SwitchProperty({
+ name: "Rank chat",
+ description: "Enables the Coleweight rank message after a name in chat.",
+ category: "General"
+ })
+ rankChat = true;
+
+ @SwitchProperty({
+ name: "Rank everywhere",
+ description: "Enables showing Coleweight rank everywhere. (instead of just in crystal hollows)",
+ category: "General"
+ })
+ rankEverywhere = false;
+
+ @SwitchProperty({
+ name: "Track griefers",
+ description: "Check lobbies for griefers (on join and when new players join.)",
+ category: "General"
+ })
+ trackGriefers = true;
+
+ @SwitchProperty({
+ name: "Claiming",
+ description: "Enables lobby claiming (/claim).",
+ category: "General"
+ })
+ claiming = true;
+
+ @SwitchProperty({
+ name: "Timer",
+ description: "Toggles visibility of CHollows timer",
+ category: "General"
+ })
+ timerVisible = false;
+
+ @SwitchProperty({
+ name: "Show powdertracker",
+ description: "If the tracker overlay should be visible.",
+ category: "Powdertracker"
+ })
+ trackerVisible = false;
+
+ @SwitchProperty({
+ name: "Show totals",
+ description: "If the tracker should show the total amount.",
+ category: "Powdertracker"
+ })
+ showTotals = true;
+
+ @SwitchProperty({
+ name: "Show rates",
+ description: "If the tracker should show the estimated rates per hour.",
+ category: "Powdertracker"
+ })
+ showRates = true;
+
+ @SelectorProperty({
+ name: "Alignment",
+ description: "Sets the alignment of the tracker.",
+ category: "Powdertracker",
+ options: ["Left", "Right", "Center"]
+ })
+ trackerAlignment = 0;
+
+ @ButtonProperty({
+ name: "Change tracker position",
+ description: "Move the location of the tracker.",
+ category: "Powdertracker",
+ placeholder: "Open"
+ })
+ moveLocation() {
+ ChatLib.command("cw move powdertracker", true);
+ }
+
+ constructor() {
+ this.initialize(this);
+ this.registerListener("Rank chat", value => {
+ this.rankChat = value;
+ })
+ this.registerListener("Rank everywhere", value => {
+ this.rankEverywhere = value;
+ })
+ this.registerListener("Track griefers", value => {
+ this.trackGriefers = value;
+ })
+ this.registerListener("Claiming", value => {
+ this.claiming = value;
+ })
+ this.registerListener("Timer", value => {
+ this.timerVisible = value;
+ })
+ this.registerListener("Show powdertracker", value => {
+ this.trackerVisible = value;
+ this.sync();
+ })
+ this.registerListener("Show totals", value => {
+ this.showTotals = value;
+ this.sync();
+ })
+ this.registerListener("Show rates", value => {
+ this.showRates = value;
+ this.sync();
+ })
+ this.registerListener("Alignment", value => {
+ this.trackerAlignment = value;
+ this.sync();
+ })
+ }
+
+ sync() {
+ ChatLib.command("cw powdertrackersync", true);
+ }
+}
+
+export default new Settings() \ No newline at end of file