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

94 lines
5.1 KiB
Plaintext

; function main()
; {
; variable KnowledgeBook kb
; variable index:ability MyAbilities
; variable iterator MyAbilitiesIterator
; variable jsonvalue effects = []
; variable jsonvalue abilityEffect = {}
; variable int idx = 1
; variable int Counter = 1
; variable int Timer = 0
; variable jsonvalue currentAbility = {}
; Me:QueryAbilities[MyAbilities]
; MyAbilities:GetIterator[MyAbilitiesIterator]
; if ${MyAbilitiesIterator:First(exists)}
; {
; do
; {
; if (!${MyAbilitiesIterator.Value.IsAbilityInfoAvailable})
; {
; do
; {
; wait 2
; }
; while (!${MyAbilitiesIterator.Value.IsAbilityInfoAvailable} && ${Timer:Inc} < 1500)
; }
; wait 5
; echo "Exporting (${Counter} / ${MyAbilities.Size}) - ${MyAbilitiesIterator.Value.ToAbilityInfo.Name} (ID: ${MyAbilitiesIterator.Value.ID})"
; currentAbility:SetValue["$$>{
; "ID": "${MyAbilitiesIterator.Value.ID}",
; "Name": "${MyAbilitiesIterator.Value.ToAbilityInfo.Name}",
; "Description": ${MyAbilitiesIterator.Value.ToAbilityInfo.Description.AsJSON~},
; "Level": "${MyAbilitiesIterator.Value.ToAbilityInfo.Class[${Me.SubClass}].Level}",
; "Tier": "${MyAbilitiesIterator.Value.ToAbilityInfo.Tier}",
; "HealthCost": "${MyAbilitiesIterator.Value.ToAbilityInfo.HealthCost}",
; "PowerCost": "${MyAbilitiesIterator.Value.ToAbilityInfo.PowerCost}",
; "DissonanceCost": "${MyAbilitiesIterator.Value.ToAbilityInfo.DissonanceCost}",
; "SavageryCost": "${MyAbilitiesIterator.Value.ToAbilityInfo.SavageryCost}",
; "ConcentrationCost": "${MyAbilitiesIterator.Value.ToAbilityInfo.ConcentrationCost}",
; "MainIconID": "${MyAbilitiesIterator.Value.ToAbilityInfo.MainIconID}",
; "HOIconID": "${MyAbilitiesIterator.Value.ToAbilityInfo.HOIconID}",
; "CastingTime": "${MyAbilitiesIterator.Value.ToAbilityInfo.CastingTime}",
; "RecoveryTime": "${MyAbilitiesIterator.Value.ToAbilityInfo.RecoveryTime}",
; "RecastTime": "${MyAbilitiesIterator.Value.ToAbilityInfo.RecastTime}",
; "MaxDuration": "${MyAbilitiesIterator.Value.ToAbilityInfo.MaxDuration}",
; "NumClasses": "${MyAbilitiesIterator.Value.ToAbilityInfo.NumClasses}",
; "NumEffects": "${MyAbilitiesIterator.Value.ToAbilityInfo.NumEffects}",
; "BackDropIconID": "${MyAbilitiesIterator.Value.ToAbilityInfo.BackDropIconID}",
; "HealthCostPerTick": "${MyAbilitiesIterator.Value.ToAbilityInfo.HealthCostPerTick}",
; "PowerCostPerTick": "${MyAbilitiesIterator.Value.ToAbilityInfo.PowerCostPerTick}",
; "DissonanceCostPerTick": "${MyAbilitiesIterator.Value.ToAbilityInfo.DissonanceCostPerTick}",
; "SavageryCostPerTick": "${MyAbilitiesIterator.Value.ToAbilityInfo.SavageryCostPerTick}",
; "MaxAOETargets": "${MyAbilitiesIterator.Value.ToAbilityInfo.MaxAOETargets}",
; "IsBeneficial": "${MyAbilitiesIterator.Value.ToAbilityInfo.IsBeneficial}",
; "DoesNotExpire": "${MyAbilitiesIterator.Value.ToAbilityInfo.DoesNotExpire}",
; "GroupRestricted": "${MyAbilitiesIterator.Value.ToAbilityInfo.GroupRestricted}",
; "AllowRaid": "${MyAbilitiesIterator.Value.ToAbilityInfo.AllowRaid}",
; "IsBeneficial": "${MyAbilitiesIterator.Value.ToAbilityInfo.IsBeneficial}",
; "EffectRadius": "${MyAbilitiesIterator.Value.ToAbilityInfo.EffectRadius}",
; "TargetType": "${MyAbilitiesIterator.Value.ToAbilityInfo.TargetType}",
; "SpellBookType": "${MyAbilitiesIterator.Value.ToAbilityInfo.SpellBookType}",
; "MinRange": "${MyAbilitiesIterator.Value.ToAbilityInfo.MinRange}",
; "MaxRange": "${MyAbilitiesIterator.Value.ToAbilityInfo.MaxRange}"
; }<$$"]
; for (idx:Set[1] ; ${idx} < ${MyAbilitiesIterator.Value.ToAbilityInfo.NumEffects} ; idx:Inc )
; {
; abilityEffect:SetValue["$$>{
; "PercentSuccess": ${MyAbilitiesIterator.Value.ToAbilityInfo.Effect[${idx}].PercentSuccess},
; "Indentation": ${MyAbilitiesIterator.Value.ToAbilityInfo.Effect[${idx}].Indentation},
; "Description": ${MyAbilitiesIterator.Value.ToAbilityInfo.Effect[${idx}].Description.AsJSON~}
; }<$$"]
; effects:Add["${abilityEffect.AsJSON~}"]
; abilityEffect:Clear
; }
; currentAbility:Set["Effects", "${effects.AsJSON~}"]
; effects:Clear
; kb:AddAbilityFromJSON[currentAbility]
; Counter:Inc
; Timer:Set[0]
; }
; while ${MyAbilitiesIterator:Next(exists)}
; }
; kb:WriteFile["${LavishScript.HomeDirectory}/Scripts/mr/bot/ability_exports/${Me.Name}_${Me.SubClass}.json"]
; }