Warcraft III resources & community, 2003–2006 · archived

ForEachAbilityOnUnit

not rated
Submitted by PitzerMikeExecution0 downloads
ForEachAbilityOnUnit: Executes the specified callback function for every ability a unit has
GetEnumAbility: Used to refer to the enumerated ability in the callback function
LoadDatabase: Initializes the ability database, call this at map initialization

The database is made up from a precompiled list of Blizzard abilities (which would possibly require an update when new patches are released), custom abilities made in the Ability Editor are registered dynamically, you don't need to take care of that.

NOTE - POSSIBLE ERROR SOURCE: if the max trigger execution time depends on the CPU of your machine, the LoadDatabase function might fail on low-end-systems, therefore you would need to add a bunch of additional TriggerSleepAction(0) statements

Source

//============================================================================================================ 
//
// For more JASS scripts, visit us at http://www.wc3JASS.com
//
//============================================================================================================ 

function H2I takes handle H returns integer
return H
return 0
endfunction

function AbilityCache takes nothing returns gamecache
return InitGameCache("AbilityCache.w3v")
endfunction

function NextLetter takes integer CurNr returns integer
if CurNr < 35 then
  return CurNr + 1
endif
return 0
endfunction

function Combination2DebugIdInteger takes integer I1, integer I2, integer I3, integer I4 returns integer
local integer result
if I1 < 10 then
  set result = (I1 + 48) * 256
else
  set result = (I1 + 55) * 256
endif
if I2 < 10 then
  set result = (result + I2 + 48) * 256
else
  set result = (result + I2 + 55) * 256
endif
if I3 < 10 then
  set result = (result + I3 + 48) * 256
else

  set result = (result + I3 + 55) * 256
endif
if I4 < 10 then
  return result + I4 + 48
else
  return result + I4 + 55
endif
endfunction

function InitCustom takes integer StartAt returns nothing
local gamecache g = AbilityCache()
local integer second = StartAt
local integer third = 0
local integer fourth = 0
local integer notcount = 0
local integer curabil = 0
local integer count = GetStoredInteger(g,"AbilityCount","Database")
loop
  exitwhen notcount > 33
  set curabil = Combination2DebugIdInteger(10,second,third,fourth)
  if GetObjectName(curabil) != "Default string" then // ability exists
    set count = count + 1
    call StoreInteger(g,"AbilitySet","Database" + I2S(count),curabil)
    set notcount = 0
  else
    set notcount = notcount + 1
  endif
  set fourth = NextLetter(fourth)
  if fourth == 0 then
    set third = NextLetter(third)
    if third == 0 then
      call TriggerSleepAction(0)
      set second = NextLetter(second)
      if second == 0 then
        return
      endif
    endif
  endif
endloop
if count > 0 then
  call StoreInteger(g,"AbilityCount","Database",count)
endif
endfunction

function InitStandard takes nothing returns nothing
local gamecache c = AbilityCache()
call StoreInteger(c,"AbilitySet","Database1",1095262842)
call StoreInteger(c,"AbilitySet","Database2",1095262562)
call StoreInteger(c,"AbilitySet","Database3",1095265652)
call StoreInteger(c,"AbilitySet","Database4",1095268197)
call StoreInteger(c,"AbilitySet","Database5",1095660404)
call StoreInteger(c,"AbilitySet","Database6",1095660391)
call StoreInteger(c,"AbilitySet","Database7",1095660401)
call StoreInteger(c,"AbilitySet","Database8",1095660407)
call StoreInteger(c,"AbilitySet","Database9",1095726967)
call StoreInteger(c,"AbilitySet","Database10",1095721842)
call StoreInteger(c,"AbilitySet","Database11",1095724393)
call StoreInteger(c,"AbilitySet","Database12",1095726955)
call StoreInteger(c,"AbilitySet","Database13",1095262830)
call StoreInteger(c,"AbilitySet","Database14",1095263859)
call StoreInteger(c,"AbilitySet","Database15",1095263346)
call StoreInteger(c,"AbilitySet","Database16",1095266424)
call StoreInteger(c,"AbilitySet","Database17",1096115042)
call StoreInteger(c,"AbilitySet","Database18",1096116589)
call StoreInteger(c,"AbilitySet","Database19",1096117363)
call StoreInteger(c,"AbilitySet","Database20",1096119411)
call StoreInteger(c,"AbilitySet","Database21",1095656033)
call StoreInteger(c,"AbilitySet","Database22",1095656296)
call StoreInteger(c,"AbilitySet","Database23",1095656562)
call StoreInteger(c,"AbilitySet","Database24",1095660393)
call StoreInteger(c,"AbilitySet","Database25",1096114542)
call StoreInteger(c,"AbilitySet","Database26",1096115299)
call StoreInteger(c,"AbilitySet","Database27",1096115312)
call StoreInteger(c,"AbilitySet","Database28",1096114549)
call StoreInteger(c,"AbilitySet","Database29",1095066998)
call StoreInteger(c,"AbilitySet","Database30",1095068013)
call StoreInteger(c,"AbilitySet","Database31",1095069026)
call StoreInteger(c,"AbilitySet","Database32",1095069029)
call StoreInteger(c,"AbilitySet","Database33",1096119148)
call StoreInteger(c,"AbilitySet","Database34",1096114550)
call StoreInteger(c,"AbilitySet","Database35",1096115059)
call StoreInteger(c,"AbilitySet","Database36",1096116590)
call StoreInteger(c,"AbilitySet","Database37",1095721836)
call StoreInteger(c,"AbilitySet","Database38",1095722353)
call StoreInteger(c,"AbilitySet","Database39",1095722611)
call StoreInteger(c,"AbilitySet","Database40",1095725926)
call StoreInteger(c,"AbilitySet","Database41",1095066994)
call StoreInteger(c,"AbilitySet","Database42",1095067246)
call StoreInteger(c,"AbilitySet","Database43",1095065960)
call StoreInteger(c,"AbilitySet","Database44",1095070833)
call StoreInteger(c,"AbilitySet","Database45",1096115314)
call StoreInteger(c,"AbilitySet","Database46",1096115300)
call StoreInteger(c,"AbilitySet","Database47",1096115809)
call StoreInteger(c,"AbilitySet","Database48",1096115829)
call StoreInteger(c,"AbilitySet","Database49",1096115822)
call StoreInteger(c,"AbilitySet","Database50",1095262582)
call StoreInteger(c,"AbilitySet","Database51",1095262824)
call StoreInteger(c,"AbilitySet","Database52",1095267426)
call StoreInteger(c,"AbilitySet","Database53",1095267427)
call StoreInteger(c,"AbilitySet","Database54",1095657068)
call StoreInteger(c,"AbilitySet","Database55",1095657057)
call StoreInteger(c,"AbilitySet","Database56",1095660655)
call StoreInteger(c,"AbilitySet","Database57",1095658867)
call StoreInteger(c,"AbilitySet","Database58",1095262564)
call StoreInteger(c,"AbilitySet","Database59",1095263347)
call StoreInteger(c,"AbilitySet","Database60",1095264354)
call StoreInteger(c,"AbilitySet","Database61",1095266917)
call StoreInteger(c,"AbilitySet","Database62",1095656038)
call StoreInteger(c,"AbilitySet","Database63",1095656546)
call StoreInteger(c,"AbilitySet","Database64",1095656552)
call StoreInteger(c,"AbilitySet","Database65",1095656806)
call StoreInteger(c,"AbilitySet","Database66",1095656559)
call StoreInteger(c,"AbilitySet","Database67",1095657588)
call StoreInteger(c,"AbilitySet","Database68",1095656289)
call StoreInteger(c,"AbilitySet","Database69",1095660134)
call StoreInteger(c,"AbilitySet","Database70",1095263841)
call StoreInteger(c,"AbilitySet","Database71",1095070580)
call StoreInteger(c,"AbilitySet","Database72",1095070566)
call StoreInteger(c,"AbilitySet","Database73",1095065970)
call StoreInteger(c,"AbilitySet","Database74",1095721317)
call StoreInteger(c,"AbilitySet","Database75",1095725669)
call StoreInteger(c,"AbilitySet","Database76",1095725928)
call StoreInteger(c,"AbilitySet","Database77",1095726963)
call StoreInteger(c,"AbilitySet","Database78",1095723127)
call StoreInteger(c,"AbilitySet","Database79",1095723128)
call StoreInteger(c,"AbilitySet","Database80",1095725943)
call StoreInteger(c,"AbilitySet","Database81",1095726692)
call StoreInteger(c,"AbilitySet","Database82",1095066220)
call StoreInteger(c,"AbilitySet","Database83",1095067243)
call StoreInteger(c,"AbilitySet","Database84",1095070568)
call StoreInteger(c,"AbilitySet","Database85",1095070582)
call StoreInteger(c,"AbilitySet","Database86",1095655778)
call StoreInteger(c,"AbilitySet","Database87",1095656306)
call StoreInteger(c,"AbilitySet","Database88",1095657587)
call StoreInteger(c,"AbilitySet","Database89",1095660653)
call StoreInteger(c,"AbilitySet","Database90",1095656807)
call StoreInteger(c,"AbilitySet","Database91",1095656307)
call StoreInteger(c,"AbilitySet","Database92",1095656241)
call StoreInteger(c,"AbilitySet","Database93",1095656242)
call StoreInteger(c,"AbilitySet","Database94",1095656243)
call StoreInteger(c,"AbilitySet","Database95",1095660135)
call StoreInteger(c,"AbilitySet","Database96",1095657265)
call StoreInteger(c,"AbilitySet","Database97",1095657266)
call StoreInteger(c,"AbilitySet","Database98",1095657267)
call StoreInteger(c,"AbilitySet","Database99",1095660409)
call StoreInteger(c,"AbilitySet","Database100",1095660337)
call StoreInteger(c,"AbilitySet","Database101",1095660338)
call StoreInteger(c,"AbilitySet","Database102",1095660339)
call StoreInteger(c,"AbilitySet","Database103",1095656549)
call StoreInteger(c,"AbilitySet","Database104",1095656497)
call StoreInteger(c,"AbilitySet","Database105",1095656498)
call StoreInteger(c,"AbilitySet","Database106",1095656499)
call StoreInteger(c,"AbilitySet","Database107",1095657827)
call StoreInteger(c,"AbilitySet","Database108",1095660399)
call StoreInteger(c,"AbilitySet","Database109",1095658605)
call StoreInteger(c,"AbilitySet","Database110",1095661155)
call StoreInteger(c,"AbilitySet","Database111",1095657838)
call StoreInteger(c,"AbilitySet","Database112",1397647726)
call StoreInteger(c,"AbilitySet","Database113",1095657058)
call StoreInteger(c,"AbilitySet","Database114",1095657060)
call StoreInteger(c,"AbilitySet","Database115",1094936164)
call StoreInteger(c,"AbilitySet","Database116",1094936115)
call StoreInteger(c,"AbilitySet","Database117",1095656560)
call StoreInteger(c,"AbilitySet","Database118",1095660131)
call StoreInteger(c,"AbilitySet","Database119",1095660083)
call StoreInteger(c,"AbilitySet","Database120",1095070562)
call StoreInteger(c,"AbilitySet","Database121",1095660142)
call StoreInteger(c,"AbilitySet","Database122",1095656547)
call StoreInteger(c,"AbilitySet","Database123",1397646435)
call StoreInteger(c,"AbilitySet","Database124",1095660396)
call StoreInteger(c,"AbilitySet","Database125",1095059820)
call StoreInteger(c,"AbilitySet","Database126",1095071337)
call StoreInteger(c,"AbilitySet","Database127",1397646705)
call StoreInteger(c,"AbilitySet","Database128",1397646436)
call StoreInteger(c,"AbilitySet","Database129",1095658863)
call StoreInteger(c,"AbilitySet","Database130",1095069793)
call StoreInteger(c,"AbilitySet","Database131",1095661421)
call StoreInteger(c,"AbilitySet","Database132",1095263073)
call StoreInteger(c,"AbilitySet","Database133",1095656050)
call StoreInteger(c,"AbilitySet","Database134",1098019687)
call StoreInteger(c,"AbilitySet","Database135",1096904043)
call StoreInteger(c,"AbilitySet","Database136",1098019697)
call StoreInteger(c,"AbilitySet","Database137",1098019696)
call StoreInteger(c,"AbilitySet","Database138",1095660386)
call StoreInteger(c,"AbilitySet","Database139",1095657591)
call StoreInteger(c,"AbilitySet","Database140",1098019703)
call StoreInteger(c,"AbilitySet","Database141",1095657592)
call StoreInteger(c,"AbilitySet","Database142",1095724147)
call StoreInteger(c,"AbilitySet","Database143",1095656294)
call StoreInteger(c,"AbilitySet","Database144",1097032802)
call StoreInteger(c,"AbilitySet","Database145",1097032808)
call StoreInteger(c,"AbilitySet","Database146",1097033062)
call StoreInteger(c,"AbilitySet","Database147",1095725618)
call StoreInteger(c,"AbilitySet","Database148",1095725619)
call StoreInteger(c,"AbilitySet","Database149",1095725874)
call StoreInteger(c,"AbilitySet","Database150",1095726898)
call StoreInteger(c,"AbilitySet","Database151",1095656300)
call StoreInteger(c,"AbilitySet","Database152",1096901741)
call StoreInteger(c,"AbilitySet","Database153",1097753709)
call StoreInteger(c,"AbilitySet","Database154",1094935661)
call StoreInteger(c,"AbilitySet","Database155",1094935602)
call StoreInteger(c,"AbilitySet","Database156",1096901235)
call StoreInteger(c,"AbilitySet","Database157",1096902753)
call StoreInteger(c,"AbilitySet","Database158",1095655798)
call StoreInteger(c,"AbilitySet","Database159",1096903794)
call StoreInteger(c,"AbilitySet","Database160",1096903788)
call StoreInteger(c,"AbilitySet","Database161",1096905588)
call StoreInteger(c,"AbilitySet","Database162",1094934884)
call StoreInteger(c,"AbilitySet","Database163",1096904051)
call StoreInteger(c,"AbilitySet","Database164",1096903986)
call StoreInteger(c,"AbilitySet","Database165",1094934893)
call StoreInteger(c,"AbilitySet","Database166",1096905835)
call StoreInteger(c,"AbilitySet","Database167",1094935137)
call StoreInteger(c,"AbilitySet","Database168",1094934883)
call StoreInteger(c,"AbilitySet","Database169",1094934902)
call StoreInteger(c,"AbilitySet","Database170",1396924773)
call StoreInteger(c,"AbilitySet","Database171",1096904753)
call StoreInteger(c,"AbilitySet","Database172",1096904754)
call StoreInteger(c,"AbilitySet","Database173",1096904755)
call StoreInteger(c,"AbilitySet","Database174",1096904756)
call StoreInteger(c,"AbilitySet","Database175",1097818482)
call StoreInteger(c,"AbilitySet","Database176",1096901234)
call StoreInteger(c,"AbilitySet","Database177",1096905580)
call StoreInteger(c,"AbilitySet","Database178",1094934900)
call StoreInteger(c,"AbilitySet","Database179",1096903522)
call StoreInteger(c,"AbilitySet","Database180",1096906341)
call StoreInteger(c,"AbilitySet","Database181",1096906593)
call StoreInteger(c,"AbilitySet","Database182",1096970086)
call StoreInteger(c,"AbilitySet","Database183",1094935150)
call StoreInteger(c,"AbilitySet","Database184",1094935144)
call StoreInteger(c,"AbilitySet","Database185",1095656040)
call StoreInteger(c,"AbilitySet","Database186",1095655986)
call StoreInteger(c,"AbilitySet","Database187",1096971372)
call StoreInteger(c,"AbilitySet","Database188",1398961260)
call StoreInteger(c,"AbilitySet","Database189",1096970854)
call StoreInteger(c,"AbilitySet","Database190",1096971115)
call StoreInteger(c,"AbilitySet","Database191",1398961003)
call StoreInteger(c,"AbilitySet","Database192",1094935147)
call StoreInteger(c,"AbilitySet","Database193",1096967283)
call StoreInteger(c,"AbilitySet","Database194",1096967276)
call StoreInteger(c,"AbilitySet","Database195",1096968051)
call StoreInteger(c,"AbilitySet","Database196",1096968044)
call StoreInteger(c,"AbilitySet","Database197",1096968045)
call StoreInteger(c,"AbilitySet","Database198",1095656044)
call StoreInteger(c,"AbilitySet","Database199",1094935162)
call StoreInteger(c,"AbilitySet","Database200",1096969327)
call StoreInteger(c,"AbilitySet","Database201",1094935148)
call StoreInteger(c,"AbilitySet","Database202",1094935138)
call StoreInteger(c,"AbilitySet","Database203",1094935139)
call StoreInteger(c,"AbilitySet","Database204",1094935142)
call StoreInteger(c,"AbilitySet","Database205",1095656053)
call StoreInteger(c,"AbilitySet","Database206",1095262837)
call StoreInteger(c,"AbilitySet","Database207",1095721589)
call StoreInteger(c,"AbilitySet","Database208",1095066229)
call StoreInteger(c,"AbilitySet","Database209",1096114805)
call StoreInteger(c,"AbilitySet","Database210",1095197301)
call StoreInteger(c,"AbilitySet","Database211",1096971634)
call StoreInteger(c,"AbilitySet","Database212",1096971570)
call StoreInteger(c,"AbilitySet","Database213",1096971571)
call StoreInteger(c,"AbilitySet","Database214",1096971573)
call StoreInteger(c,"AbilitySet","Database215",1096967284)
call StoreInteger(c,"AbilitySet","Database216",1097032046)
call StoreInteger(c,"AbilitySet","Database217",1097035314)
call StoreInteger(c,"AbilitySet","Database218",1094935406)
call StoreInteger(c,"AbilitySet","Database219",1096971630)
call StoreInteger(c,"AbilitySet","Database220",1097102947)
call StoreInteger(c,"AbilitySet","Database221",1399023666)
call StoreInteger(c,"AbilitySet","Database222",1399023669)
call StoreInteger(c,"AbilitySet","Database223",1399023668)
call StoreInteger(c,"AbilitySet","Database224",1399023667)
call StoreInteger(c,"AbilitySet","Database225",1097166435)
call StoreInteger(c,"AbilitySet","Database226",1097033828)
call StoreInteger(c,"AbilitySet","Database227",1094935393)
call StoreInteger(c,"AbilitySet","Database228",1094935414)
call StoreInteger(c,"AbilitySet","Database229",1094935346)
call StoreInteger(c,"AbilitySet","Database230",1094935347)
call StoreInteger(c,"AbilitySet","Database231",1094935404)
call StoreInteger(c,"AbilitySet","Database232",1097033829)
call StoreInteger(c,"AbilitySet","Database233",1399021873)
call StoreInteger(c,"AbilitySet","Database234",1399021874)
call StoreInteger(c,"AbilitySet","Database235",1399021875)
call StoreInteger(c,"AbilitySet","Database236",1399021876)
call StoreInteger(c,"AbilitySet","Database237",1399021877)
call StoreInteger(c,"AbilitySet","Database238",1399021878)
call StoreInteger(c,"AbilitySet","Database239",1097033836)
call StoreInteger(c,"AbilitySet","Database240",1094935400)
call StoreInteger(c,"AbilitySet","Database241",1094935397)
call StoreInteger(c,"AbilitySet","Database242",1097034854)
call StoreInteger(c,"AbilitySet","Database243",1094935415)
call StoreInteger(c,"AbilitySet","Database244",1097035111)
call StoreInteger(c,"AbilitySet","Database245",1097035878)
call StoreInteger(c,"AbilitySet","Database246",1097035634)
call StoreInteger(c,"AbilitySet","Database247",1097035617)
call StoreInteger(c,"AbilitySet","Database248",1097035624)
call StoreInteger(c,"AbilitySet","Database249",1097035570)
call StoreInteger(c,"AbilitySet","Database250",1097035571)
call StoreInteger(c,"AbilitySet","Database251",1094939504)
call StoreInteger(c,"AbilitySet","Database252",1097036393)
call StoreInteger(c,"AbilitySet","Database253",1399026281)
call StoreInteger(c,"AbilitySet","Database254",1094935410)
call StoreInteger(c,"AbilitySet","Database255",1094935412)
call StoreInteger(c,"AbilitySet","Database256",1097036403)
call StoreInteger(c,"AbilitySet","Database257",1094935411)
call StoreInteger(c,"AbilitySet","Database258",1097038179)
call StoreInteger(c,"AbilitySet","Database259",1097035385)
call StoreInteger(c,"AbilitySet","Database260",1094935417)
call StoreInteger(c,"AbilitySet","Database261",1396925233)
call StoreInteger(c,"AbilitySet","Database262",1094935651)
call StoreInteger(c,"AbilitySet","Database263",1097098337)
call StoreInteger(c,"AbilitySet","Database264",1097690744)
call StoreInteger(c,"AbilitySet","Database265",1097690746)
call StoreInteger(c,"AbilitySet","Database266",1097098595)
call StoreInteger(c,"AbilitySet","Database267",1097098598)
call StoreInteger(c,"AbilitySet","Database268",1097102385)
call StoreInteger(c,"AbilitySet","Database269",1098150517)
call StoreInteger(c,"AbilitySet","Database270",1097102439)
call StoreInteger(c,"AbilitySet","Database271",1095660658)
call StoreInteger(c,"AbilitySet","Database272",1097300342)
call StoreInteger(c,"AbilitySet","Database273",1097102451)
call StoreInteger(c,"AbilitySet","Database274",1097102446)
call StoreInteger(c,"AbilitySet","Database275",1097098614)
call StoreInteger(c,"AbilitySet","Database276",1094935670)
call StoreInteger(c,"AbilitySet","Database277",1097102957)
call StoreInteger(c,"AbilitySet","Database278",1094935653)
call StoreInteger(c,"AbilitySet","Database279",1097098088)
call StoreInteger(c,"AbilitySet","Database280",1097098094)
call StoreInteger(c,"AbilitySet","Database281",1097099635)
call StoreInteger(c,"AbilitySet","Database282",1097102189)
call StoreInteger(c,"AbilitySet","Database283",1094935667)
call StoreInteger(c,"AbilitySet","Database284",1094935666)
call StoreInteger(c,"AbilitySet","Database285",1097101929)
call StoreInteger(c,"AbilitySet","Database286",1097101935)
call StoreInteger(c,"AbilitySet","Database287",1399091823)
call StoreInteger(c,"AbilitySet","Database288",1098146928)
call StoreInteger(c,"AbilitySet","Database289",1097163124)
call StoreInteger(c,"AbilitySet","Database290",1097164658)
call StoreInteger(c,"AbilitySet","Database291",1095656814)
call StoreInteger(c,"AbilitySet","Database292",1097166451)
call StoreInteger(c,"AbilitySet","Database293",1094935918)
call StoreInteger(c,"AbilitySet","Database294",1097166452)
call StoreInteger(c,"AbilitySet","Database295",1097164653)
call StoreInteger(c,"AbilitySet","Database296",1097166450)
call StoreInteger(c,"AbilitySet","Database297",1097166455)
call StoreInteger(c,"AbilitySet","Database298",1097167980)
call StoreInteger(c,"AbilitySet","Database299",1097167974)
call StoreInteger(c,"AbilitySet","Database300",1094935926)
call StoreInteger(c,"AbilitySet","Database301",1094935923)
call StoreInteger(c,"AbilitySet","Database302",1097169000)
call StoreInteger(c,"AbilitySet","Database303",1095657081)
call StoreInteger(c,"AbilitySet","Database304",1097228645)
call StoreInteger(c,"AbilitySet","Database305",1097228594)
call StoreInteger(c,"AbilitySet","Database306",1094936166)
call StoreInteger(c,"AbilitySet","Database307",1097228907)
call StoreInteger(c,"AbilitySet","Database308",1097228916)
call StoreInteger(c,"AbilitySet","Database309",1097228898)
call StoreInteger(c,"AbilitySet","Database310",1094939494)
call StoreInteger(c,"AbilitySet","Database311",1094939449)
call StoreInteger(c,"AbilitySet","Database312",1094939448)
call StoreInteger(c,"AbilitySet","Database313",1094939447)
call StoreInteger(c,"AbilitySet","Database314",1097232228)
call StoreInteger(c,"AbilitySet","Database315",1098344034)
call StoreInteger(c,"AbilitySet","Database316",1094936162)
call StoreInteger(c,"AbilitySet","Database317",1097231467)
call StoreInteger(c,"AbilitySet","Database318",1097231457)
call StoreInteger(c,"AbilitySet","Database319",1094936179)
call StoreInteger(c,"AbilitySet","Database320",1095657075)
call StoreInteger(c,"AbilitySet","Database321",1094936178)
call StoreInteger(c,"AbilitySet","Database322",1094936172)
call StoreInteger(c,"AbilitySet","Database323",1097233256)
call StoreInteger(c,"AbilitySet","Database324",1097233018)
call StoreInteger(c,"AbilitySet","Database325",1097235065)
call StoreInteger(c,"AbilitySet","Database326",1094936161)
call StoreInteger(c,"AbilitySet","Database327",1094936114)
call StoreInteger(c,"AbilitySet","Database328",1094936181)
call StoreInteger(c,"AbilitySet","Database329",1097232993)
call StoreInteger(c,"AbilitySet","Database330",1097232946)
call StoreInteger(c,"AbilitySet","Database331",1097232994)
call StoreInteger(c,"AbilitySet","Database332",1094936174)
call StoreInteger(c,"AbilitySet","Database333",1094935394)
call StoreInteger(c,"AbilitySet","Database334",1097295983)
call StoreInteger(c,"AbilitySet","Database335",1097167976)
call StoreInteger(c,"AbilitySet","Database336",1097296996)
call StoreInteger(c,"AbilitySet","Database337",1097298529)
call StoreInteger(c,"AbilitySet","Database338",1097300324)
call StoreInteger(c,"AbilitySet","Database339",1097300322)
call StoreInteger(c,"AbilitySet","Database340",1098085227)
call StoreInteger(c,"AbilitySet","Database341",1097757547)
call StoreInteger(c,"AbilitySet","Database342",1097359730)
call StoreInteger(c,"AbilitySet","Database343",1095657569)
call StoreInteger(c,"AbilitySet","Database344",1097364076)
call StoreInteger(c,"AbilitySet","Database345",1097364019)
call StoreInteger(c,"AbilitySet","Database346",1097364018)
call StoreInteger(c,"AbilitySet","Database347",1097360737)
call StoreInteger(c,"AbilitySet","Database348",1097754725)
call StoreInteger(c,"AbilitySet","Database349",1097754673)
call StoreInteger(c,"AbilitySet","Database350",1097754674)
call StoreInteger(c,"AbilitySet","Database351",1097365348)
call StoreInteger(c,"AbilitySet","Database352",1094936695)
call StoreInteger(c,"AbilitySet","Database353",1094936694)
call StoreInteger(c,"AbilitySet","Database354",1097363052)
call StoreInteger(c,"AbilitySet","Database355",1095263602)
call StoreInteger(c,"AbilitySet","Database356",1094936696)
call StoreInteger(c,"AbilitySet","Database357",1097033844)
call StoreInteger(c,"AbilitySet","Database358",1094936941)
call StoreInteger(c,"AbilitySet","Database359",1094937968)
call StoreInteger(c,"AbilitySet","Database360",1097428336)
call StoreInteger(c,"AbilitySet","Database361",1097428582)
call StoreInteger(c,"AbilitySet","Database362",1094936934)
call StoreInteger(c,"AbilitySet","Database363",1097430643)
call StoreInteger(c,"AbilitySet","Database364",1095331446)
call StoreInteger(c,"AbilitySet","Database365",1097884011)
call StoreInteger(c,"AbilitySet","Database366",1097428846)
call StoreInteger(c,"AbilitySet","Database367",1097427054)
call StoreInteger(c,"AbilitySet","Database368",1097426286)
call StoreInteger(c,"AbilitySet","Database369",1097430382)
call StoreInteger(c,"AbilitySet","Database370",1098282348)
call StoreInteger(c,"AbilitySet","Database371",1097623924)
call StoreInteger(c,"AbilitySet","Database372",1097626472)
call StoreInteger(c,"AbilitySet","Database373",1094937715)
call StoreInteger(c,"AbilitySet","Database374",1097623921)
call StoreInteger(c,"AbilitySet","Database375",1097625441)
call StoreInteger(c,"AbilitySet","Database376",1399615329)
call StoreInteger(c,"AbilitySet","Database377",1399615282)
call StoreInteger(c,"AbilitySet","Database378",1399615283)
call StoreInteger(c,"AbilitySet","Database379",1098148976)
call StoreInteger(c,"AbilitySet","Database380",1097625443)
call StoreInteger(c,"AbilitySet","Database381",1097688166)
call StoreInteger(c,"AbilitySet","Database382",1097689453)
call StoreInteger(c,"AbilitySet","Database383",1094937961)
call StoreInteger(c,"AbilitySet","Database384",1094937906)
call StoreInteger(c,"AbilitySet","Database385",1094937907)
call StoreInteger(c,"AbilitySet","Database386",1097690227)
call StoreInteger(c,"AbilitySet","Database387",1097687668)
call StoreInteger(c,"AbilitySet","Database388",1097687602)
call StoreInteger(c,"AbilitySet","Database389",1097690722)
call StoreInteger(c,"AbilitySet","Database390",1097687652)
call StoreInteger(c,"AbilitySet","Database391",1097687650)
call StoreInteger(c,"AbilitySet","Database392",1097688684)
call StoreInteger(c,"AbilitySet","Database393",1094937958)
call StoreInteger(c,"AbilitySet","Database394",1097688420)
call StoreInteger(c,"AbilitySet","Database395",1097688428)
call StoreInteger(c,"AbilitySet","Database396",1097689452)
call StoreInteger(c,"AbilitySet","Database397",1097689443)
call StoreInteger(c,"AbilitySet","Database398",1095658866)
call StoreInteger(c,"AbilitySet","Database399",1097689454)
call StoreInteger(c,"AbilitySet","Database400",1094937967)
call StoreInteger(c,"AbilitySet","Database401",1097688940)
call StoreInteger(c,"AbilitySet","Database402",1097688946)
call StoreInteger(c,"AbilitySet","Database403",1097690998)
call StoreInteger(c,"AbilitySet","Database404",1097753973)
call StoreInteger(c,"AbilitySet","Database405",1097753906)
call StoreInteger(c,"AbilitySet","Database406",1097753716)
call StoreInteger(c,"AbilitySet","Database407",1095660133)
call StoreInteger(c,"AbilitySet","Database408",1094938226)
call StoreInteger(c,"AbilitySet","Database409",1094807155)
call StoreInteger(c,"AbilitySet","Database410",1097757552)
call StoreInteger(c,"AbilitySet","Database411",1097228651)
call StoreInteger(c,"AbilitySet","Database412",1095655787)
call StoreInteger(c,"AbilitySet","Database413",1097230706)
call StoreInteger(c,"AbilitySet","Database414",1097230696)
call StoreInteger(c,"AbilitySet","Database415",1097230703)
call StoreInteger(c,"AbilitySet","Database416",1097230702)
call StoreInteger(c,"AbilitySet","Database417",1097230709)
call StoreInteger(c,"AbilitySet","Database418",1095659617)
call StoreInteger(c,"AbilitySet","Database419",1094938721)
call StoreInteger(c,"AbilitySet","Database420",1095659625)
call StoreInteger(c,"AbilitySet","Database421",1097887078)
call StoreInteger(c,"AbilitySet","Database422",1097886055)
call StoreInteger(c,"AbilitySet","Database423",1097886070)
call StoreInteger(c,"AbilitySet","Database424",1097888616)
call StoreInteger(c,"AbilitySet","Database425",1097885816)
call StoreInteger(c,"AbilitySet","Database426",1097889894)
call StoreInteger(c,"AbilitySet","Database427",1097888883)
call StoreInteger(c,"AbilitySet","Database428",1097887593)
call StoreInteger(c,"AbilitySet","Database429",1097886841)
call StoreInteger(c,"AbilitySet","Database430",1094938745)
call StoreInteger(c,"AbilitySet","Database431",1097887603)
call StoreInteger(c,"AbilitySet","Database432",1094938739)
call StoreInteger(c,"AbilitySet","Database433",1097888562)
call StoreInteger(c,"AbilitySet","Database434",1098342770)
call StoreInteger(c,"AbilitySet","Database435",1094938742)
call StoreInteger(c,"AbilitySet","Database436",1097886068)
call StoreInteger(c,"AbilitySet","Database437",1097888359)
call StoreInteger(c,"AbilitySet","Database438",1097885490)
call StoreInteger(c,"AbilitySet","Database439",1094938741)
call StoreInteger(c,"AbilitySet","Database440",1094939238)
call StoreInteger(c,"AbilitySet","Database441",1094939239)
call StoreInteger(c,"AbilitySet","Database442",1098015081)
call StoreInteger(c,"AbilitySet","Database443",1094939236)
call StoreInteger(c,"AbilitySet","Database444",1095917932)
call StoreInteger(c,"AbilitySet","Database445",1098015094)
call StoreInteger(c,"AbilitySet","Database446",1097691750)
call StoreInteger(c,"AbilitySet","Database447",1094939246)
call StoreInteger(c,"AbilitySet","Database448",1095660082)
call StoreInteger(c,"AbilitySet","Database449",1098015346)
call StoreInteger(c,"AbilitySet","Database450",1098016106)
call StoreInteger(c,"AbilitySet","Database451",1094939242)
call StoreInteger(c,"AbilitySet","Database452",1094939186)
call StoreInteger(c,"AbilitySet","Database453",1098016110)
call StoreInteger(c,"AbilitySet","Database454",1097364080)
call StoreInteger(c,"AbilitySet","Database455",1098016112)
call StoreInteger(c,"AbilitySet","Database456",1098018914)
call StoreInteger(c,"AbilitySet","Database457",1098018924)
call StoreInteger(c,"AbilitySet","Database458",1098018925)
call StoreInteger(c,"AbilitySet","Database459",1098019691)
call StoreInteger(c,"AbilitySet","Database460",1094939243)
call StoreInteger(c,"AbilitySet","Database461",1094939499)
call StoreInteger(c,"AbilitySet","Database462",1098019700)
call StoreInteger(c,"AbilitySet","Database463",1098016612)
call StoreInteger(c,"AbilitySet","Database464",1098016620)
call StoreInteger(c,"AbilitySet","Database465",1098017901)
call StoreInteger(c,"AbilitySet","Database466",1095267425)
call StoreInteger(c,"AbilitySet","Database467",1098018407)
call StoreInteger(c,"AbilitySet","Database468",1098016118)
call StoreInteger(c,"AbilitySet","Database469",1098018657)
call StoreInteger(c,"AbilitySet","Database470",1098015026)
call StoreInteger(c,"AbilitySet","Database471",1094939185)
call StoreInteger(c,"AbilitySet","Database472",1094939247)
call StoreInteger(c,"AbilitySet","Database473",1098018659)
call StoreInteger(c,"AbilitySet","Database474",1098018609)
call StoreInteger(c,"AbilitySet","Database475",1098018610)
call StoreInteger(c,"AbilitySet","Database476",1098080611)
call StoreInteger(c,"AbilitySet","Database477",1098080620)
call StoreInteger(c,"AbilitySet","Database478",1097621869)
call StoreInteger(c,"AbilitySet","Database479",1094939489)
call StoreInteger(c,"AbilitySet","Database480",1098081395)
call StoreInteger(c,"AbilitySet","Database481",1098081383)
call StoreInteger(c,"AbilitySet","Database482",1098081330)
call StoreInteger(c,"AbilitySet","Database483",1098081331)
call StoreInteger(c,"AbilitySet","Database484",1098082660)
call StoreInteger(c,"AbilitySet","Database485",1098085732)
call StoreInteger(c,"AbilitySet","Database486",1097167726)
call StoreInteger(c,"AbilitySet","Database487",1097167730)
call StoreInteger(c,"AbilitySet","Database488",1097169253)
call StoreInteger(c,"AbilitySet","Database489",1094939758)
call StoreInteger(c,"AbilitySet","Database490",1098082413)
call StoreInteger(c,"AbilitySet","Database491",1400072301)
call StoreInteger(c,"AbilitySet","Database492",1097361764)
call StoreInteger(c,"AbilitySet","Database493",1094939507)
call StoreInteger(c,"AbilitySet","Database494",1094939496)
call StoreInteger(c,"AbilitySet","Database495",1094939508)
call StoreInteger(c,"AbilitySet","Database496",1095660392)
call StoreInteger(c,"AbilitySet","Database497",1094939497)
call StoreInteger(c,"AbilitySet","Database498",1094939501)
call StoreInteger(c,"AbilitySet","Database499",1094939500)
call StoreInteger(c,"AbilitySet","Database500",1098083425)
call StoreInteger(c,"AbilitySet","Database501",1098083439)
call StoreInteger(c,"AbilitySet","Database502",1094939511)
call StoreInteger(c,"AbilitySet","Database503",1098084463)
call StoreInteger(c,"AbilitySet","Database504",1098084196)
call StoreInteger(c,"AbilitySet","Database505",1098085232)
call StoreInteger(c,"AbilitySet","Database506",1098084452)
call StoreInteger(c,"AbilitySet","Database507",1098084473)
call StoreInteger(c,"AbilitySet","Database508",1098084468)
call StoreInteger(c,"AbilitySet","Database509",1098084467)
call StoreInteger(c,"AbilitySet","Database510",1098084456)
call StoreInteger(c,"AbilitySet","Database511",1098084401)
call StoreInteger(c,"AbilitySet","Database512",1098084402)
call StoreInteger(c,"AbilitySet","Database513",1098084403)
call StoreInteger(c,"AbilitySet","Database514",1098084404)
call StoreInteger(c,"AbilitySet","Database515",1098084405)
call StoreInteger(c,"AbilitySet","Database516",1098084406)
call StoreInteger(c,"AbilitySet","Database517",1098084449)
call StoreInteger(c,"AbilitySet","Database518",1098084457)
call StoreInteger(c,"AbilitySet","Database519",1098084460)
call StoreInteger(c,"AbilitySet","Database520",1098085476)
call StoreInteger(c,"AbilitySet","Database521",1098085473)
call StoreInteger(c,"AbilitySet","Database522",1098085486)
call StoreInteger(c,"AbilitySet","Database523",1098085480)
call StoreInteger(c,"AbilitySet","Database524",1098080817)
call StoreInteger(c,"AbilitySet","Database525",1098080818)
call StoreInteger(c,"AbilitySet","Database526",1098080819)
call StoreInteger(c,"AbilitySet","Database527",1098083440)
call StoreInteger(c,"AbilitySet","Database528",1094940517)
call StoreInteger(c,"AbilitySet","Database529",1098151029)
call StoreInteger(c,"AbilitySet","Database530",1400009844)
call StoreInteger(c,"AbilitySet","Database531",1098146165)
call StoreInteger(c,"AbilitySet","Database532",1095660641)
call StoreInteger(c,"AbilitySet","Database533",1095660648)
call StoreInteger(c,"AbilitySet","Database534",1095660594)
call StoreInteger(c,"AbilitySet","Database535",1094934888)
call StoreInteger(c,"AbilitySet","Database536",1094939746)
call StoreInteger(c,"AbilitySet","Database537",1094939747)
call StoreInteger(c,"AbilitySet","Database538",1094939698)
call StoreInteger(c,"AbilitySet","Database539",1098146919)
call StoreInteger(c,"AbilitySet","Database540",1098150768)
call StoreInteger(c,"AbilitySet","Database541",1098151777)
call StoreInteger(c,"AbilitySet","Database542",1098149740)
call StoreInteger(c,"AbilitySet","Database543",1098214516)
call StoreInteger(c,"AbilitySet","Database544",1094940001)
call StoreInteger(c,"AbilitySet","Database545",1098213478)
call StoreInteger(c,"AbilitySet","Database546",1400203366)
call StoreInteger(c,"AbilitySet","Database547",1094940006)
call StoreInteger(c,"AbilitySet","Database548",1098212207)
call StoreInteger(c,"AbilitySet","Database549",1098215027)
call StoreInteger(c,"AbilitySet","Database550",1396930145)
call StoreInteger(c,"AbilitySet","Database551",1094940272)
call StoreInteger(c,"AbilitySet","Database552",1098280551)
call StoreInteger(c,"AbilitySet","Database553",1098342766)
call StoreInteger(c,"AbilitySet","Database554",1098347123)
call StoreInteger(c,"AbilitySet","Database555",1098347111)
call StoreInteger(c,"AbilitySet","Database556",1098347112)
call StoreInteger(c,"AbilitySet","Database557",1095661419)
call StoreInteger(c,"AbilitySet","Database558",1098344545)
call StoreInteger(c,"AbilitySet","Database559",1098344498)
call StoreInteger(c,"AbilitySet","Database560",1098278254)
call StoreInteger(c,"AbilitySet","Database561",1094940275)
call StoreInteger(c,"AbilitySet","Database562",1098347120)
call StoreInteger(c,"AbilitySet","Database563",1098343778)
call StoreInteger(c,"AbilitySet","Database564",1094940514)
call StoreInteger(c,"AbilitySet","Database565",1095328049)
call StoreInteger(c,"AbilitySet","Database566",1095328051)
call StoreInteger(c,"AbilitySet","Database567",1095328052)
call StoreInteger(c,"AbilitySet","Database568",1095328054)
call StoreInteger(c,"AbilitySet","Database569",1095333941)
call StoreInteger(c,"AbilitySet","Database570",1095333937)
call StoreInteger(c,"AbilitySet","Database571",1095333938)
call StoreInteger(c,"AbilitySet","Database572",1095332657)
call StoreInteger(c,"AbilitySet","Database573",1095332659)
call StoreInteger(c,"AbilitySet","Database574",1095332660)
call StoreInteger(c,"AbilitySet","Database575",1095332662)
call StoreInteger(c,"AbilitySet","Database576",1095330097)
call StoreInteger(c,"AbilitySet","Database577",1095330099)
call StoreInteger(c,"AbilitySet","Database578",1095330100)
call StoreInteger(c,"AbilitySet","Database579",1095330102)
call StoreInteger(c,"AbilitySet","Database580",1095333997)
call StoreInteger(c,"AbilitySet","Database581",1095328109)
call StoreInteger(c,"AbilitySet","Database582",1095330157)
call StoreInteger(c,"AbilitySet","Database583",1095332717)
call StoreInteger(c,"AbilitySet","Database584",1095329645)
call StoreInteger(c,"AbilitySet","Database585",1095332973)
call StoreInteger(c,"AbilitySet","Database586",1095331437)
call StoreInteger(c,"AbilitySet","Database587",1095328097)
call StoreInteger(c,"AbilitySet","Database588",1095328116)
call StoreInteger(c,"AbilitySet","Database589",1095332918)
call StoreInteger(c,"AbilitySet","Database590",1095332921)
call StoreInteger(c,"AbilitySet","Database591",1095332963)
call StoreInteger(c,"AbilitySet","Database592",1095332966)
call StoreInteger(c,"AbilitySet","Database593",1095332967)
call StoreInteger(c,"AbilitySet","Database594",1095332968)
call StoreInteger(c,"AbilitySet","Database595",1095332969)
call StoreInteger(c,"AbilitySet","Database596",1095332970)
call StoreInteger(c,"AbilitySet","Database597",1095332971)
call StoreInteger(c,"AbilitySet","Database598",1095332972)
call StoreInteger(c,"AbilitySet","Database599",1095332974)
call StoreInteger(c,"AbilitySet","Database600",1095333473)
call StoreInteger(c,"AbilitySet","Database601",1095328363)
call StoreInteger(c,"AbilitySet","Database602",1095328364)
call StoreInteger(c,"AbilitySet","Database603",1095328359)
call StoreInteger(c,"AbilitySet","Database604",1095328372)
call StoreInteger(c,"AbilitySet","Database605",1095328354)
call StoreInteger(c,"AbilitySet","Database606",1095328358)
call StoreInteger(c,"AbilitySet","Database607",1095328370)
call StoreInteger(c,"AbilitySet","Database608",1095328371)
call StoreInteger(c,"AbilitySet","Database609",1095328360)
call StoreInteger(c,"AbilitySet","Database610",1095328633)
call StoreInteger(c,"AbilitySet","Database611",1095328817)
call StoreInteger(c,"AbilitySet","Database612",1095328818)
call StoreInteger(c,"AbilitySet","Database613",1095328819)
call StoreInteger(c,"AbilitySet","Database614",1095328820)
call StoreInteger(c,"AbilitySet","Database615",1095328821)
call StoreInteger(c,"AbilitySet","Database616",1095329638)
call StoreInteger(c,"AbilitySet","Database617",1095329653)
call StoreInteger(c,"AbilitySet","Database618",1095329133)
call StoreInteger(c,"AbilitySet","Database619",1095329074)
call StoreInteger(c,"AbilitySet","Database620",1095329380)
call StoreInteger(c,"AbilitySet","Database621",1095329382)
call StoreInteger(c,"AbilitySet","Database622",1095329394)
call StoreInteger(c,"AbilitySet","Database623",1095329397)
call StoreInteger(c,"AbilitySet","Database624",1095329384)
call StoreInteger(c,"AbilitySet","Database625",1095329395)
call StoreInteger(c,"AbilitySet","Database626",1095330162)
call StoreInteger(c,"AbilitySet","Database627",1095333239)
call StoreInteger(c,"AbilitySet","Database628",1095329388)
call StoreInteger(c,"AbilitySet","Database629",1095329389)
call StoreInteger(c,"AbilitySet","Database630",1095329391)
call StoreInteger(c,"AbilitySet","Database631",1095329390)
call StoreInteger(c,"AbilitySet","Database632",1095329381)
call StoreInteger(c,"AbilitySet","Database633",1095329400)
call StoreInteger(c,"AbilitySet","Database634",1095329377)
call StoreInteger(c,"AbilitySet","Database635",1095330158)
call StoreInteger(c,"AbilitySet","Database636",1095330925)
call StoreInteger(c,"AbilitySet","Database637",1095330928)
call StoreInteger(c,"AbilitySet","Database638",1095330918)
call StoreInteger(c,"AbilitySet","Database639",1095330865)
call StoreInteger(c,"AbilitySet","Database640",1095330866)
call StoreInteger(c,"AbilitySet","Database641",1095331187)
call StoreInteger(c,"AbilitySet","Database642",1095656051)
call StoreInteger(c,"AbilitySet","Database643",1095328870)
call StoreInteger(c,"AbilitySet","Database644",1095328610)
call StoreInteger(c,"AbilitySet","Database645",1095328878)
call StoreInteger(c,"AbilitySet","Database646",1095329378)
call StoreInteger(c,"AbilitySet","Database647",1095329636)
call StoreInteger(c,"AbilitySet","Database648",1095334498)
call StoreInteger(c,"AbilitySet","Database649",1095331682)
call StoreInteger(c,"AbilitySet","Database650",1095330924)
call StoreInteger(c,"AbilitySet","Database651",1095330914)
call StoreInteger(c,"AbilitySet","Database652",1095332706)
call StoreInteger(c,"AbilitySet","Database653",1095331938)
call StoreInteger(c,"AbilitySet","Database654",1097887538)
call StoreInteger(c,"AbilitySet","Database655",1095331428)
call StoreInteger(c,"AbilitySet","Database656",1098016108)
call StoreInteger(c,"AbilitySet","Database657",1098017900)
call StoreInteger(c,"AbilitySet","Database658",1095332713)
call StoreInteger(c,"AbilitySet","Database659",1095331699)
call StoreInteger(c,"AbilitySet","Database660",1095332719)
call StoreInteger(c,"AbilitySet","Database661",1098084213)
call StoreInteger(c,"AbilitySet","Database662",1095328614)
call StoreInteger(c,"AbilitySet","Database663",1095328623)
call StoreInteger(c,"AbilitySet","Database664",1095328877)
call StoreInteger(c,"AbilitySet","Database665",1095328865)
call StoreInteger(c,"AbilitySet","Database666",1095328866)
call StoreInteger(c,"AbilitySet","Database667",1095332961)
call StoreInteger(c,"AbilitySet","Database668",1095328873)
call StoreInteger(c,"AbilitySet","Database669",1095328883)
call StoreInteger(c,"AbilitySet","Database670",1095787625)
call StoreInteger(c,"AbilitySet","Database671",1095329841)
call StoreInteger(c,"AbilitySet","Database672",1095329842)
call StoreInteger(c,"AbilitySet","Database673",1095329843)
call StoreInteger(c,"AbilitySet","Database674",1095329889)
call StoreInteger(c,"AbilitySet","Database675",1095329890)
call StoreInteger(c,"AbilitySet","Database676",1095788593)
call StoreInteger(c,"AbilitySet","Database677",1095788594)
call StoreInteger(c,"AbilitySet","Database678",1095788595)
call StoreInteger(c,"AbilitySet","Database679",1095329911)
call StoreInteger(c,"AbilitySet","Database680",1095332727)
call StoreInteger(c,"AbilitySet","Database681",1095330156)
call StoreInteger(c,"AbilitySet","Database682",1095333425)
call StoreInteger(c,"AbilitySet","Database683",1095333426)
call StoreInteger(c,"AbilitySet","Database684",1095333493)
call StoreInteger(c,"AbilitySet","Database685",1095333484)
call StoreInteger(c,"AbilitySet","Database686",1095331121)
call StoreInteger(c,"AbilitySet","Database687",1095331122)
call StoreInteger(c,"AbilitySet","Database688",1095331186)
call StoreInteger(c,"AbilitySet","Database689",1095789938)
call StoreInteger(c,"AbilitySet","Database690",1095789927)
call StoreInteger(c,"AbilitySet","Database691",1095331949)
call StoreInteger(c,"AbilitySet","Database692",1095332468)
call StoreInteger(c,"AbilitySet","Database693",1095332461)
call StoreInteger(c,"AbilitySet","Database694",1095332462)
call StoreInteger(c,"AbilitySet","Database695",1095332451)
call StoreInteger(c,"AbilitySet","Database696",1095332453)
call StoreInteger(c,"AbilitySet","Database697",1095332449)
call StoreInteger(c,"AbilitySet","Database698",1095791201)
call StoreInteger(c,"AbilitySet","Database699",1095332720)
call StoreInteger(c,"AbilitySet","Database700",1095332705)
call StoreInteger(c,"AbilitySet","Database701",1095791457)
call StoreInteger(c,"AbilitySet","Database702",1095332976)
call StoreInteger(c,"AbilitySet","Database703",1095328100)
call StoreInteger(c,"AbilitySet","Database704",1095328612)
call StoreInteger(c,"AbilitySet","Database705",1095328353)
call StoreInteger(c,"AbilitySet","Database706",1095328118)
call StoreInteger(c,"AbilitySet","Database707",1095328114)
call StoreInteger(c,"AbilitySet","Database708",1095328101)
call StoreInteger(c,"AbilitySet","Database709",1095328117)
call StoreInteger(c,"AbilitySet","Database710",1095333238)
call StoreInteger(c,"AbilitySet","Database711",1095330931)
call StoreInteger(c,"AbilitySet","Database712",1095334003)
call StoreInteger(c,"AbilitySet","Database713",1095328110)
call StoreInteger(c,"AbilitySet","Database714",1095332467)
call StoreInteger(c,"AbilitySet","Database715",1095332466)
call StoreInteger(c,"AbilitySet","Database716",1095329142)
call StoreInteger(c,"AbilitySet","Database717",1095331192)
call StoreInteger(c,"AbilitySet","Database718",1095331176)
call StoreInteger(c,"AbilitySet","Database719",1095331170)
call StoreInteger(c,"AbilitySet","Database720",1095328365)
call StoreInteger(c,"AbilitySet","Database721",1095332728)
call StoreInteger(c,"AbilitySet","Database722",1095332658)
call StoreInteger(c,"AbilitySet","Database723",1095332460)
call StoreInteger(c,"AbilitySet","Database724",1095331954)
call StoreInteger(c,"AbilitySet","Database725",1095332716)
call StoreInteger(c,"AbilitySet","Database726",1095331948)
call StoreInteger(c,"AbilitySet","Database727",1095331889)
call StoreInteger(c,"AbilitySet","Database728",1095331890)
call StoreInteger(c,"AbilitySet","Database729",1095331891)
call StoreInteger(c,"AbilitySet","Database730",1095331892)
call StoreInteger(c,"AbilitySet","Database731",1095331893)
call StoreInteger(c,"AbilitySet","Database732",1095331894)
call StoreInteger(c,"AbilitySet","Database733",1095329647)
call StoreInteger(c,"AbilitySet","Database734",1095330933)
call StoreInteger(c,"AbilitySet","Database735",1095332470)
call StoreInteger(c,"AbilitySet","Database736",1095328867)
call StoreInteger(c,"AbilitySet","Database737",1095333730)
call StoreInteger(c,"AbilitySet","Database738",1095331183)
call StoreInteger(c,"AbilitySet","Database739",1095328628)
call StoreInteger(c,"AbilitySet","Database740",1095332457)
call StoreInteger(c,"AbilitySet","Database741",1095332722)
call StoreInteger(c,"AbilitySet","Database742",1096969328)
call StoreInteger(c,"AbilitySet","Database743",1095331958)
call StoreInteger(c,"AbilitySet","Database744",1098085477)
call StoreInteger(c,"AbilitySet","Database745",1097688419)
call StoreInteger(c,"AbilitySet","Database746",1098082419)
call StoreInteger(c,"AbilitySet","Database747",1095659634)
call StoreInteger(c,"AbilitySet","Database748",1095660385)
call StoreInteger(c,"AbilitySet","Database749",1095660403)
call StoreInteger(c,"AbilitySet","Database750",1095660389)
call StoreInteger(c,"AbilitySet","Database751",1098016116)
call StoreInteger(c,"AbilitySet","Database752",1095331188)
call StoreInteger(c,"AbilitySet","Database753",1098084450)
call StoreInteger(c,"AbilitySet","Database754",1095332452)
call StoreInteger(c,"AbilitySet","Database755",1095332962)
call StoreInteger(c,"AbilitySet","Database756",1095328886)
call StoreInteger(c,"AbilitySet","Database757",1095332709)
call StoreInteger(c,"AbilitySet","Database758",1095331943)
call StoreInteger(c,"AbilitySet","Database759",1095331955)
call StoreInteger(c,"AbilitySet","Database760",1095329383)
call StoreInteger(c,"AbilitySet","Database761",1095791212)
call StoreInteger(c,"AbilitySet","Database762",1095791218)
call StoreInteger(c,"AbilitySet","Database763",1095332450)
call StoreInteger(c,"AbilitySet","Database764",1098084464)
call StoreInteger(c,"AbilitySet","Database765",1096115315)
call StoreInteger(c,"AbilitySet","Database766",1095792500)
call StoreInteger(c,"AbilitySet","Database767",1095333222)
call StoreInteger(c,"AbilitySet","Database768",1095328816)
call StoreInteger(c,"AbilitySet","Database769",1095328621)
call StoreInteger(c,"AbilitySet","Database770",1095331194)
call StoreInteger(c,"AbilitySet","Database771",1095329402)
call StoreInteger(c,"AbilitySet","Database772",1095328880)
call StoreInteger(c,"AbilitySet","Database773",1095331190)
call StoreInteger(c,"AbilitySet","Database774",1095331960)
call StoreInteger(c,"AbilitySet","Database775",1095328868)
call StoreInteger(c,"AbilitySet","Database776",1095328824)
call StoreInteger(c,"AbilitySet","Database777",1095328823)
call StoreInteger(c,"AbilitySet","Database778",1095330938)
call StoreInteger(c,"AbilitySet","Database779",1095329912)
call StoreInteger(c,"AbilitySet","Database780",1095328122)
call StoreInteger(c,"AbilitySet","Database781",1095332472)
call StoreInteger(c,"AbilitySet","Database782",1095328376)
call StoreInteger(c,"AbilitySet","Database783",1095332984)
call StoreInteger(c,"AbilitySet","Database784",1095333741)
call StoreInteger(c,"AbilitySet","Database785",1095332712)
call StoreInteger(c,"AbilitySet","Database786",1095316077)
call StoreInteger(c,"AbilitySet","Database787",1095329656)
call StoreInteger(c,"AbilitySet","Database788",1095329900)
call StoreInteger(c,"AbilitySet","Database789",1095332730)
call StoreInteger(c,"AbilitySet","Database790",1095331962)
call StoreInteger(c,"AbilitySet","Database791",1095329399)
call StoreInteger(c,"AbilitySet","Database792",1095329396)
call StoreInteger(c,"AbilitySet","Database793",1095330936)
call StoreInteger(c,"AbilitySet","Database794",1095328627)
call StoreInteger(c,"AbilitySet","Database795",1095328620)
call StoreInteger(c,"AbilitySet","Database796",1095333939)
call StoreInteger(c,"AbilitySet","Database797",1095333940)
call StoreInteger(c,"AbilitySet","Database798",1095333995)
call StoreInteger(c,"AbilityCount","Database",798)
endfunction

function LoadDatabase takes nothing returns nothing
call InitStandard()
call TriggerSleepAction(0)
// 0 = 0 A = 10 x = 65 in this custom ASCII-sort-of-system
call InitCustom(0) //WE generated abilities start at A000
call TriggerSleepAction(0)
call InitCustom(65) //WEU special abilities start at Ax00
endfunction

function GetUnitAbilities takes unit U returns integer
local gamecache g = AbilityCache()
local string ptr = I2S(H2I(U))
local integer i = 1
local integer max = GetStoredInteger(g,"AbilityCount","Database")
local integer count = GetStoredInteger(g,"AbilityCount",ptr)
loop
  exitwhen i > max
  if GetUnitAbilityLevel(U,GetStoredInteger(g,"AbilitySet","Database" + I2S(i))) > 0 then
    set count = count + 1
    call StoreInteger(g,"AbilitySet",ptr + I2S(count),GetStoredInteger(g,"AbilitySet","Database" + I2S(i)))
  endif
  set i = i + 1
endloop
if count > 0 then
  call StoreInteger(g,"AbilityCount",ptr,count)
endif
return H2I(U)
endfunction

function FlushUnitAbilities takes unit U returns nothing
local gamecache g = AbilityCache()
local string setname = I2S(H2I(U))
local integer max = GetStoredInteger(g,"AbilityCount",setname)
local integer i = 1
loop
  exitwhen i > max
  call FlushStoredInteger(g,"AbilitySet",setname + I2S(i))
  set i = i + 1
endloop
call FlushStoredInteger(g,"AbilityCount",setname)
endfunction

function GetEnumAbility takes nothing returns integer
return GetStoredInteger(AbilityCache(),"AbilityEnum","EnumAbility")
endfunction

function ForEachAbilityOnUnit takes unit U, code Callback returns nothing
local gamecache gc = AbilityCache()
local string setname = I2S(GetUnitAbilities(U))
local integer i = 1
local integer max = GetStoredInteger(gc,"AbilityCount",setname)
local group g = CreateGroup()
call GroupAddUnit(g,U) // used to dispatch the callback function without losing the scope
loop
  exitwhen i > max
  call StoreInteger(gc,"AbilityEnum","EnumAbility",GetStoredInteger(gc,"AbilitySet",setname + I2S(i)))
  call ForGroup(g,Callback)
  set i = i + 1
endloop
call FlushStoredInteger(gc,"AbilityEnum","EnumAbility")
call FlushUnitAbilities(U)
call DestroyGroup(g)
set g = null
endfunction

Comments

0

No comments.