-- ----------------------------------------------------------------- -- Init -- ----------------------------------------------------------------- local function prog_init() initModels() sound_playMusic("music/rybky10.ogg") local pokus = getRestartCount() -- ------------------------------------------------------------- local function prog_init_room() local pom1, pom2, pomb1, pomb2 = 0, 0, false, false room.posl = 2 pom1 = 0 local rand1 = random(pokus + 1) if isIn(rand1, {0, 2, 4, 10, 20, 30, 50}) then addv(random(30), "tru-v-nasly") addm(7, "tru-m-co") if random(2) == 1 then addv(10 + random(6), "tru-v-poklad") else addv(10 + random(6), "tru-v-gral") end if random(5) == 1 then addm(7, "tru-m-zrada") end pom1 = 1 elseif isIn(rand1, {1, 3, 5, 11, 43}) then addv(random(30), "tru-v-vkupe") if random(3) > 0 then addm(8, "tru-m-zrada") end pom1 = 1 end if pom1 == 1 then addm(10 + random(10), "tru-m-oznamit") if pokus < 3 or random(6) > 0 then addv(5 + random(5), "tru-v-stacit") addm(7 + random(6), "tru-m-zpochybnit") end addv(8 + random(9), "tru-v-nejspis") if random(2) == 1 then addm(9, "tru-m-nejistota") end end return function() if no_dialog() and isReady(small) and isReady(big) then pom1 = room.posl while pom1 == room.posl do pom1 = random(4) end room.posl = pom1 switch(pom1){ [0] = function() addm(500 + random(1000), "tru-m-truhla"..random(2)) addv(10 + random(14), "tru-v-truhla"..random(2)) end, [1] = function() addm(500 + random(1000), "tru-m-vzit"..random(3)) addv(10, "tru-v-vzit"..random(3)) end, [2] = function() addv(500 + random(1000), "tru-v-zrak") end, [3] = function() addm(500 + random(1000), "tru-m-trpyt") end, } end end end -- ------------------------------------------------------------- local function prog_init_drahokamy() local pom1, pom2, pomb1, pomb2 = 0, 0, false, false local gems = {} for pom1 = 1, 10 do gem = getModelsTable()[pom1] gems[pom1] = gem gem.glob = -random(100) end return function() for key, gem in pairs(gems) do gem.glob = gem.glob + 1 if isIn(gem.glob, {1, 2, 3}) then gem.afaze = gem.afaze + 1 elseif isIn(gem.glob, {4, 5, 6}) then gem.afaze = gem.afaze - 1 elseif gem.glob == 7 then gem.glob = -random(100) - 10 end gem:updateAnim() end end end -- ------------------------------------------------------------- local function prog_init_prsten() local pom1, pom2, pomb1, pomb2 = 0, 0, false, false prsten.afaze = 3 prsten:updateAnim() return function() switch(prsten.afaze){ [0] = function() if random(5) < 2 then prsten.afaze = 3 else prsten.afaze = 1 end end, [1] = function() if random(4) < 2 then prsten.afaze = 0 else prsten.afaze = 2 end end, [2] = function() if random(3) < 2 then prsten.afaze = 1 end end, [4] = function() if random(5) < 2 then prsten.afaze = 3 else prsten.afaze = 5 end end, [5] = function() if random(4) < 2 then prsten.afaze = 4 end end, [3] = function() switch(random(20)){ [1] = function() prsten.afaze = 0 end, [2] = function() prsten.afaze = 4 end, } end, } prsten:updateAnim() end end -- ------------------------------------------------------------- local function prog_init_koruna1() local pom1, pom2, pomb1, pomb2 = 0, 0, false, false koruna1.blesk = 0 return function() switch(koruna1.blesk){ [0] = function() switch(random(20)){ [1] = function() koruna1.blesk = 1 koruna1.afaze = 1 end, [2] = function() koruna1.blesk = 1 koruna1.afaze = 4 end, } end, [1] = function() switch(koruna1.afaze){ [1] = function() koruna1.afaze = 2 end, [2] = function() koruna1.afaze = 3 end, [3] = function() koruna1.blesk = 2 end, [4] = function() koruna1.afaze = 5 end, [5] = function() koruna1.blesk = 2 end, } end, [2] = function() switch(koruna1.afaze){ [1] = function() koruna1.afaze = 0 end, [0] = function() koruna1.blesk = 0 end, [2] = function() koruna1.afaze = 1 end, [3] = function() koruna1.afaze = 2 end, [4] = function() koruna1.afaze = 0 end, [5] = function() koruna1.afaze = 4 end, } end, } koruna1:updateAnim() end end -- ------------------------------------------------------------- local function prog_init_koruna2() local pom1, pom2, pomb1, pomb2 = 0, 0, false, false koruna2.blesk = 0 return function() switch(koruna2.blesk){ [0] = function() switch(random(20)){ [1] = function() koruna2.blesk = 1 koruna2.afaze = 1 end, [2] = function() koruna2.blesk = 1 koruna2.afaze = 4 end, } end, [1] = function() switch(koruna2.afaze){ [1] = function() koruna2.afaze = 2 end, [2] = function() koruna2.afaze = 3 end, [3] = function() koruna2.blesk = 2 end, [4] = function() koruna2.afaze = 5 end, [5] = function() koruna2.blesk = 2 end, } end, [2] = function() switch(koruna2.afaze){ [1] = function() koruna2.afaze = 0 end, [0] = function() koruna2.blesk = 0 end, [2] = function() koruna2.afaze = 1 end, [3] = function() koruna2.afaze = 2 end, [4] = function() koruna2.afaze = 0 end, [5] = function() koruna2.afaze = 4 end, } end, } koruna2:updateAnim() end end -- -------------------- local update_table = {} local subinit subinit = prog_init_room() if subinit then table.insert(update_table, subinit) end subinit = prog_init_drahokamy() if subinit then table.insert(update_table, subinit) end subinit = prog_init_prsten() if subinit then table.insert(update_table, subinit) end subinit = prog_init_koruna1() if subinit then table.insert(update_table, subinit) end subinit = prog_init_koruna2() if subinit then table.insert(update_table, subinit) end return update_table end local update_table = prog_init() -- ----------------------------------------------------------------- -- Update -- ----------------------------------------------------------------- function prog_update() for key, subupdate in pairs(update_table) do subupdate() end end