94 lines
5.1 KiB
Plaintext
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"]
|
|
; } |