diff options
Diffstat (limited to 'settings.js')
-rw-r--r-- | settings.js | 136 |
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 |