1 2-- ----------------------------------------------------------------- 3-- Init 4-- ----------------------------------------------------------------- 5local function prog_init() 6 initModels() 7 sound_playMusic("music/rybky03.ogg") 8 local pokus = getRestartCount() 9 10 11 -- ------------------------------------------------------------- 12 local function prog_init_room() 13 local pom1, pom2, pomb1, pomb2 = 0, 0, false, false 14 15 room.osneh = 0 16 room.okach = 0 17 room.okoh = 0 18 room.oanim = 0 19 20 return function() 21 if isReady(small) and isReady(big) and no_dialog() then 22 if room.oanim == 1 then 23 room.oanim = 3 24 addm(random(50) + 20, "odp-m-predmet") 25 switch(random(4)){ 26 [0] = function() 27 addv(5, "odp-v-pozadi") 28 end, 29 [1] = function() 30 addv(5, "odp-v-pohni") 31 end, 32 default = function() 33 addv(5, "odp-v-coja") 34 planSet(big, "xichtit", 1) 35 adddel(random(20) + 15) 36 planSet(big, "xichtit", 0) 37 addv(3, "odp-v-nestacim") 38 end, 39 } 40 elseif room.osneh == 0 and big:isLeft() and small:isLeft() and random(1000) < 2 then 41 addv(5, "odp-v-snehulak") 42 addm(random(10), "odp-m-blaznis") 43 room.osneh = 1 44 if room.oanim == 0 and random(100) < 60 then 45 room.oanim = 1 46 end 47 elseif room.okoh == 0 and math.abs(xdist(kohoutek, big)) <= 1 and random(1000) < 3 then 48 addm(10, "odp-m-kohout") 49 addv(10, "odp-v-vtip") 50 room.okoh = 1 51 elseif room.okach == 0 and random(1000) < 1 then 52 addv(100, "odp-v-kachna") 53 addm(5, "odp-m-zda" ..random(2)) 54 room.okach = 1 55 if room.oanim == 0 and random(100) < 90 then 56 room.oanim = 1 57 end 58 end 59 end 60 end 61 end 62 63 -- ------------------------------------------------------------- 64 local function prog_init_big() 65 local pom1, pom2, pomb1, pomb2 = 0, 0, false, false 66 local xicht = 0 67 68 big.xichtit = 0 69 70 return function() 71 if big.xichtit == 1 then 72 xicht = random(9) 73 else 74 xicht = 0 75 end 76 if xicht ~= 0 then 77 big:useSpecialAnim("head_all", xicht) 78 end 79 80 end 81 end 82 83 -- -------------------- 84 local update_table = {} 85 local subinit 86 subinit = prog_init_room() 87 if subinit then 88 table.insert(update_table, subinit) 89 end 90 subinit = prog_init_big() 91 if subinit then 92 table.insert(update_table, subinit) 93 end 94 return update_table 95end 96local update_table = prog_init() 97 98 99-- ----------------------------------------------------------------- 100-- Update 101-- ----------------------------------------------------------------- 102function prog_update() 103 for key, subupdate in pairs(update_table) do 104 subupdate() 105 end 106end 107 108