mrbot/bot/bot.iss
2023-12-08 15:07:11 -06:00

178 lines
4.3 KiB
Plaintext

; objectdef CombatHelper
; {
; variable collection:CastStackAbility CastStack
; variable queue:CastStackAbility PrirortyAbilityQueue
; method Initialize(jsonvalueref jsonCastStackConfig)
; {
; CastStack:FromJSON[jsonCastStackConfig]
; }
; member:CastStackAbility CastNextAbility()
; {
; if ${PriorityAbilityQueue.Peek(exists)}
; {
; }
; }
; }
objectdef BotController
{
variable bool IsBotRunning = FALSE
variable bool IsShowingSettings = FALSE
member:string StartButtonText()
{
if ${IsBotRunning}
{
return "Stop"
}
else
{
return "Start"
}
}
member:string SettingsButtonText()
{
if ${IsShowingSettings}
{
return "Hide Settings"
}
else
{
return "Show Settings"
}
}
; member:string GetSettingsCheckBoxes()
; {
; variable jsonvalue checkboxes = "[]"
; variable jsoniterator settingKeysIterator
; setttingKeys:GetIterator[settingsKeyIterator]
; if ${settingKeysIterator:First(exists)}
; {
; echo "items"
; do
; {
; echo "looping"
; checkboxes:Add[$$>
; {
; "type": "checkbox",
; "name": "${settingKeysIterator.Value.key}",
; "content": "${settingKeysIterator.display_name}"
; }
; <$$]
; }
; while ${settingKeysIterator:Next(exists)}
; }
; echo "here ${checkboxes.AsJSON~}"
; return ${checkboxes.AsJSON~}
; }
method Initialize()
{
LGUI2:LoadPackageFile["bot.json"]
}
method Shutdown()
{
LGUI2:UnloadPackageFile["bot.json"]
}
method OnClose()
{
Script:End
}
method OnCloseSettings()
{
IsShowingSettings:Set[FALSE]
LGUI2.Element[mr.bot.settings]:SetVisibility[Hidden]
}
method ToggleBot()
{
IsBotRunning:Set[${IsBotRunning.Not}]
}
method ToggleSettings()
{
if ${IsShowingSettings}
{
LGUI2.Element[mr.bot.settings]:SetVisibility[Hidden]
}
else
{
LGUI2.Element["mr.bot.settings"]:SetVisibility[Visible]
}
IsShowingSettings:Set[${IsShowingSettings.Not}]
}
method Pulse()
{
; if ${IsBotRunning.Not}
; {
; return
; }
; echo "Test: ${settings.IsSettingChecked["test"]}"
; if ${Me.InCombat}
; {
; variable jsoniterator CastStackIterator
; settings.CastStack:GetIterator[CastStackIterator]
; if ${CastStackIterator:First(exists)}
; {
; do
; {
; if ${CastStackIterator.Value.Get["AbilityType"].Equal["Heal"]} && ${Me.Health} < ${CastStackIterator.Value.Get["Percentage"]}
; {
; echo "Casting Heal ${CastStackIterator.Value.Name}"
; return
; }
; elseif ${CastStackIterator.Value.Get["AbilityType"].Equal["Combat"]} && !${AbilityUsed.Element[${CastStackIterator.Value.Get["Name"]}]}
; {
; AbilityUsed:Set[${CastStackIterator.Value.Get["Name"]}, TRUE]
; echo "using Combat ${CastStackIterator.Value.Get["Name"]}"
; return
; }
; elseif ${CastStackIterator.Value.Get["AbilityType"].Equal["CA"]} && !${AbilityUsed.Element[${CastStackIterator.Value.Get["Name"]}]}
; {
; AbilityUsed:Set[${CastStackIterator.Value.Get["Name"]}, TRUE]
; echo "using CA ${CastStackIterator.Value.Get["Name"]}"
; return
; }
; else
; {
; }
; }
; while ${CastStackIterator:Next(exists)}
; }
; }
}
}
#include "settings_controller.iss"
variable(global) BotController MRBotController
variable(global) SettingsController MRSettingsController
function main()
{
while 1
{
MRBotController:Pulse
wait 5
}
}