UNPKG

matrix-engine

Version:

basic_timeline improved, VT func setup vide html element id with name arg.- DISABLE RAYCAST DEBUG TEST [2.3.3] Fix for GUI win desktop [2.3.0] DestrucMesh solution & loading convex objs for physics BASIC, SpriteAnimation CPU/texture solution added, Improv

1,313 lines (1,095 loc) 469 kB
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict"; var _visualJs = require("visual-js"); /** * @description Filename : funny-slot.js Game Template with Visual JS support slot prototype 0.1 FUNNY3 AllRights Nikola Lukic 2016 januar Copyright 2016, zlatnaspirala@gmail.com All rights reserved. @note Audio disabled fix must come from visualjs source. */ (0, _visualJs.ActivateModifiers)(); window.onresize = function (e) { if (_visualJs.sys.DOM.RESIZE_TYPE == 'DIAMETRIC') { _visualJs.sys.DOM.c.width = _visualJs.sys.MATH.CONVERT.PER_TO_PIX(_visualJs.sys.DOM.W_PIX); _visualJs.sys.DOM.c.height = _visualJs.sys.MATH.CONVERT.PER_TO_PIY(_visualJs.sys.DOM.H_PIX); } console.log("GLOBAL EVENT : ONRESIZE "); }; // ONLY FOR DEV window.sys = _visualJs.sys; var OSCILLATOR = _visualJs.sys.MATH.OSCILLATOR; // initial vjs3 stuff _visualJs.sys.DOM.CREATE_SURFACE("SURF", "HELLO_WORLD", 99.4, 99.4, "DIAMETRIC"); HELLO_WORLD.ENGINE.EXIT_EDIT_MODE(); _visualJs.APPLICATION.EDITOR = false; //NOW HELLO_WORLD IS OBJECT WITH ONE CANVAS TAG HELLO_WORLD.ENGINE.CREATE_MODUL("STARTER"); HELLO_WORLD.ENGINE.CREATE_MODUL("SLOT"); HELLO_WORLD.ENGINE.CREATE_MODUL("LOADING"); var LOADING_MODULE = HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE('LOADING'); var SLOT_MODULE = HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE('SLOT'); function CREATE_LOADING_BLOCKS(EVENTS_) { // LOADING BLOCK if (EVENTS_ == false) { LOADING_MODULE.NEW_OBJECT('LOAD_BLOCK1', 0, 0, 50, 50); LOADING_MODULE.GAME_OBJECTS.ACCESS('LOAD_BLOCK1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.loadingBlock, 121212121212, 'no', 1, 11, 1, 1, 1); LOADING_MODULE.NEW_OBJECT('LOAD_BLOCK2', 50, 0, 50, 50); LOADING_MODULE.GAME_OBJECTS.ACCESS('LOAD_BLOCK2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.loadingBlock, 121212121212, 'no', 1, 11, 1, 1, 1); LOADING_MODULE.NEW_OBJECT('LOAD_BLOCK3', 0, 50, 50, 50); LOADING_MODULE.GAME_OBJECTS.ACCESS('LOAD_BLOCK3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.loadingBlock, 121212121212, 'no', 1, 11, 1, 1, 1); LOADING_MODULE.NEW_OBJECT('LOAD_BLOCK4', 50, 50, 50, 50); LOADING_MODULE.GAME_OBJECTS.ACCESS('LOAD_BLOCK4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.loadingBlock, 121212121212, 'no', 1, 11, 1, 1, 1); LOAD_BLOCK1.DRAG = false; LOAD_BLOCK2.DRAG = false; LOAD_BLOCK3.DRAG = false; LOAD_BLOCK4.DRAG = false; } if (EVENTS_ == true) { LOAD_BLOCK1.TAP = LOAD_BLOCK2.TAP = LOAD_BLOCK3.TAP = LOAD_BLOCK4.TAP = function () { LOAD_BLOCK1.POSITION.TRANSLATE(-50, -50); LOAD_BLOCK2.POSITION.TRANSLATE(150, -50); LOAD_BLOCK3.POSITION.TRANSLATE(-50, 150); LOAD_BLOCK4.POSITION.TRANSLATE(150, 150); LOAD_BLOCK4.POSITION.ON_TARGET_POSITION = function () { LOADING_MODULE.DESTROY_OBJECT("LOAD_BLOCK1"); LOADING_MODULE.DESTROY_OBJECT("LOAD_BLOCK2"); LOADING_MODULE.DESTROY_OBJECT("LOAD_BLOCK3"); LOADING_MODULE.DESTROY_OBJECT("LOAD_BLOCK4"); }; }; LOAD_BLOCK1.TAP(); } } _visualJs.sys.SCRIPT.LOAD("res/animations/resource.js").then(() => { CREATE_LOADING_BLOCKS(false); loadFunnySlotGamePlay(); }); function loadFunnySlotGamePlay() { var SLOT_PLAYER = { BALANCE: 1000, NICKNAME: 'noname' }; var SYMBOLS_REEL1 = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4]; var SYMBOLS_REEL2 = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4]; var SYMBOLS_REEL3 = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4]; window.__REELS = { SYMBOLS_REEL1, SYMBOLS_REEL2, SYMBOLS_REEL3 }; var SYMBOLS_REEL1_REZ = { rez: ['character1', 'character2', 'character3', 'character4', 'character4', 'character4'] }; var SYMBOLS_REEL2_REZ = { rez: ['character1', 'character2', 'character3', 'character4', 'character4'] }; var SYMBOLS_REEL3_REZ = { rez: ['character1', 'character2', 'character3', 'character4', 'character4', 'character4', 'character4'] }; var WIN_PROCEDURE = null; var PROCEDURE_SPIN = function () {}; var character4 = 10, character3 = 15, character2 = 50, character1 = 200; var REELS_OPTIONS = { SYMBOL_HEIGHT: 16, REEL_SPEED: 3.5, REELS_MARGIN: 1.5, // range 0.1 to 3.0 REEL1_POSITION_X: 17, REEL2_POSITION_X: 43, REEL3_POSITION_X: 69, REEL1_STOPED: true, // read only for you REEL2_STOPED: true, // read only for you REEL3_STOPED: true, // read only for you REEL_MAX_Y: 70 + 2, // read only for you TOP: 0 // read only for you }; var CLONE_TOP1 = 0; var CLONE_TOP2 = 0; var CLONE_TOP3 = 0; var RESULTS = { R1: 1, R2: 1, R3: 1 }; var SPIN_STOP; var SLOT_MASHINE = { BET_VALUE: { VALUE: 1, MIN: 1, MAX: 9 }, SPIN: false, STOP_ON_RESULT: false }; CONFIGURE_SLOT_FROM_SERVER_or_LOCAL(); function CALCULATOR(spin, BET) { var win = 0; var rez1 = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL1.length - 1); var rez2 = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL2.length - 1); var rez3 = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL3.length - 1); if (SYMBOLS_REEL1_REZ.rez[rez1].toString() == SYMBOLS_REEL2_REZ.rez[rez2].toString() && SYMBOLS_REEL1_REZ.rez[rez1].toString() == SYMBOLS_REEL3_REZ.rez[rez3].toString()) { eval(' win = ' + SYMBOLS_REEL1_REZ.rez[rez1] + ' * BET; '); console.log('WINNIG COMBINATION ! reel id:', rez1, ' BET : ', BET); console.log('WINNIG COMBINATION : for :', rez1, ' BET : ', BET, ' WIN IS :', win); // socket.emit("COMBINATION" , rez1 , rez2 , rez3 , win ); } else { win = 0; } if (typeof rez1 != 'undefined' && typeof rez2 != 'undefined' && typeof rez3 != 'undefined') { _visualJs.sys.DEBUG.LOG('SPIN r1 :', rez1, rez2, rez3); RESULTS.R1 = rez1; RESULTS.R2 = rez2; RESULTS.R3 = rez3; RESULTS.WIN = win; var win = win; setTimeout(function () { SPIN_STOP(win); }, 4000); } else { _visualJs.sys.DEBUG.WARRING('server data empty or something very wrong!'); } } // CHANGE PROGRAM ROOT NAME (canvas name) HELLO_WORLD.ENGINE.KEYBOARD.ACTION_ON_KEY_DOWN = function () { if (this.LAST_CAPTURE_CHAR == ' ') { //SPACE WAS PRESSED PROCEDURE_SPIN(); } }; function CONFIGURE_SLOT_FROM_SERVER_or_LOCAL() { PROCEDURE_SPIN = function () { if (SLOT_MASHINE.SPIN == false) { REELS_OPTIONS.REEL1_STOPED = false; REELS_OPTIONS.REEL2_STOPED = false; REELS_OPTIONS.REEL3_STOPED = false; //client side done ; remove this if you wanna set this on server for profesional game SET_BALANCE(SLOT_PLAYER.BALANCE - SLOT_MASHINE.BET_VALUE.VALUE); //GAME_SERVER.emit("SPIN" , SLOT_MASHINE.BET_VALUE.VALUE ); CALCULATOR('SPIN', SLOT_MASHINE.BET_VALUE.VALUE); SLOT_MASHINE.SPIN = true; symbol10.POSITION.SET_SPEED(0.25); Csymbol10.POSITION.SET_SPEED(0.25); symbol20.POSITION.SET_SPEED(0.25); Csymbol20.POSITION.SET_SPEED(0.25); symbol30.POSITION.SET_SPEED(0.25); Csymbol30.POSITION.SET_SPEED(0.25); symbol10.POSITION.TRANSLATE_BY_Y(-1000); Csymbol10.POSITION.TRANSLATE_BY_Y(-1000); setTimeout(function () { symbol20.POSITION.TRANSLATE_BY_Y(-1000); Csymbol20.POSITION.TRANSLATE_BY_Y(-1000); setTimeout(function () { symbol30.POSITION.TRANSLATE_BY_Y(-1000); Csymbol30.POSITION.TRANSLATE_BY_Y(-1000); }, 200); }, 200); // audio_object_start_reel1.play(); setTimeout(function () { setNormalSpeed(1); symbol10.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); Csymbol10.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); }, 1000); setTimeout(function () { //audio_object_start_reel2.play() setNormalSpeed(2); symbol20.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); Csymbol20.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); }, 1200); setTimeout(function () { //audio_object_start_reel3.play() // audio_object_spin.play(); setNormalSpeed(3); symbol30.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); Csymbol30.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); }, 1400); } }; function CREATE_REEL(modulname, SYMBOLS_RES, REEL_ID, HEIGHT_OF_SYMBOL, _X) { var SYMBOLS = SYMBOLS_RES; for (var r = 0; r < SYMBOLS_RES.length; r++) { var TOP = 18.5 + r * (HEIGHT_OF_SYMBOL + REELS_OPTIONS.REELS_MARGIN); var local_id_generator = 1243 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(10, 10000); local_id_generator += r; HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE(modulname).NEW_OBJECT('symbol' + REEL_ID + r, _X, TOP, 13.5, HEIGHT_OF_SYMBOL); if (r == 0) { window['symbol' + REEL_ID + '0'].IA_FIRST_IN_REEL = true; REELS_OPTIONS.TOP = TOP; } else { window['symbol' + REEL_ID + '0'].GROUP.ADD(window['symbol' + REEL_ID + r].NAME); } window['symbol' + REEL_ID + r].CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, SYMBOLS_RES[r], local_id_generator, 'no', 1, 11, 1, 1, 1); window['symbol' + REEL_ID + r].DRAG = false; } // clone var startPositionForClone = HEIGHT_OF_SYMBOL * SYMBOLS_RES.length + REELS_OPTIONS.REELS_MARGIN * SYMBOLS_RES.length; for (var r = 0; r < SYMBOLS_RES.length; r++) { var TOP = 18.5 + r * (HEIGHT_OF_SYMBOL + REELS_OPTIONS.REELS_MARGIN); var local_id_generator = 5687; local_id_generator += r; HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE(modulname).NEW_OBJECT('Csymbol' + REEL_ID + r, _X, TOP - startPositionForClone, 13.5, HEIGHT_OF_SYMBOL); if (r == 0) { window['Csymbol' + REEL_ID + '0'].IA_FIRST_IN_REEL = true; window['CLONE_TOP' + REEL_ID] = TOP - startPositionForClone; } else { window['Csymbol' + REEL_ID + '0'].GROUP.ADD(window['Csymbol' + REEL_ID + r].NAME); } window['Csymbol' + REEL_ID + r].CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, SYMBOLS_RES[r], local_id_generator, 'no', 1, 11, 1, 1, 1); window['Csymbol' + REEL_ID + r].DRAG = false; } } // CREATE SYMBOLS OBJECTS CREATE_REEL('SLOT', SYMBOLS_REEL1, 1, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL1_POSITION_X); CREATE_REEL('SLOT', SYMBOLS_REEL2, 2, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL2_POSITION_X); CREATE_REEL('SLOT', SYMBOLS_REEL3, 3, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL3_POSITION_X); //BACKGROUND SLOT_MODULE.NEW_OBJECT('background', 0, 0, 100, 100); SLOT_MODULE.GAME_OBJECTS.ACCESS('background').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBG, 171398232226547041, 'no', 1, 11, 1, 1, 1); background.DRAG = false; // RABIT SLOT_MODULE.NEW_OBJECT('RABIT', REELS_OPTIONS.REEL1_POSITION_X + 5, 85.4, 7, 9); SLOT_MODULE.GAME_OBJECTS.ACCESS('RABIT').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.SlotRabit, 23355634344265254656, 'no', 1, 11, 1, 1, 1); // TREE SLOT_MODULE.NEW_OBJECT('tree1', -6, 45.4, 15, 46); SLOT_MODULE.GAME_OBJECTS.ACCESS('tree1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.trees1, 54265254656, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('tree2', 36, 55.4, 2, 46); SLOT_MODULE.GAME_OBJECTS.ACCESS('tree2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, RESOURCE.trees1, 345642546254625, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('tree3', 61, 55.4, 5, 46); SLOT_MODULE.GAME_OBJECTS.ACCESS('tree3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.trees1, 56554665625546, 'no', 1, 11, 1, 1, 1); //FOX SLOT_MODULE.NEW_OBJECT('FOX', 120, 89, 12, 12); SLOT_MODULE.GAME_OBJECTS.ACCESS('FOX').CREATE_ANIMATION(SURF, 'LOOP', 0, RESOURCE.slotFox, 12121212121223333, 'no', 1, 11, 1, 1, 1); FOX.POSITION.thrust = 0.5; FOX.POSITION.TRANSLATE_BY_X(-50); if (typeof audio_object_rabithide !== 'undefined') audio_object_rabithide.play(); RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 3, 120); FOX.POSITION.ON_TARGET_POSITION = function () { FOX.POSITION.SET_POSITION(120, 83, 'DIAMETRIC'); // audio_object_rabitup.play(); RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 3, 77); setTimeout(function () { if (typeof audio_object_rabithide !== 'undefined') audio_object_rabithide.play(); RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 5, 120); FOX.POSITION.TRANSLATE_BY_X(-50); }, 10000); }; SLOT_MODULE.NEW_OBJECT('tree4', 90, 55.4, 10, 50); SLOT_MODULE.GAME_OBJECTS.ACCESS('tree4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 1, RESOURCE.trees1, 45625245, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('tree5', 97, 26, 5, 56); SLOT_MODULE.GAME_OBJECTS.ACCESS('tree5').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 4, RESOURCE.trees1, 5426525, 'no', 1, 11, 1, 1, 1); tree1.DRAG = false; tree2.DRAG = false; tree3.DRAG = false; tree4.DRAG = false; tree5.DRAG = false; // SUN SLOT_MODULE.NEW_OBJECT('sun', 2, 1, 8, 8); SLOT_MODULE.GAME_OBJECTS.ACCESS('sun').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.SlotSun, 78657856, 'no', 1, 11, 1, 10, 1); sun.DIMENSION.HEIGHT = sun.DIMENSION.WIDTH; sun.DRAG = false; sun.ROTATE_DIRECTION = 'left'; sun.ON_UPDATE = function () { if (sun.ROTATE_DIRECTION == 'left') { if (sun.ANIMATION.ROTATE.ANGLE > 180) { sun.ROTATE_DIRECTION = 'right'; } sun.ANIMATION.ROTATE.ANGLE++; } else { if (sun.ANIMATION.ROTATE.ANGLE < -180) { sun.ROTATE_DIRECTION = 'left'; } sun.ANIMATION.ROTATE.ANGLE--; } }; //CLOUDS SLOT_MODULE.NEW_OBJECT('clouds1', 2.26, 8.62, 17, 16); SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 1, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); var cloud1_movementX = new OSCILLATOR(-20, 120, 0.1); var cloud1_movementY = new OSCILLATOR(-5, 0, 0.05); clouds1.ON_UPDATE = function () { this.POSITION.TRANSLATE_BY_X(cloud1_movementX.UPDATE()); this.POSITION.TRANSLATE_BY_Y(cloud1_movementY.UPDATE()); }; SLOT_MODULE.NEW_OBJECT('clouds2', 12.26, 8.62, 17, 16); SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 3, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); var cloud2_movementX = new OSCILLATOR(20, 90, 0.06); var cloud2_movementY = new OSCILLATOR(-5, 0, 0.08); clouds2.ON_UPDATE = function () { this.POSITION.TRANSLATE_BY_X(cloud2_movementX.UPDATE()); this.POSITION.TRANSLATE_BY_Y(cloud2_movementY.UPDATE()); }; ///////////////////// //Mobile optimezer //////////////////// if (NOMOBILE == 1) { SLOT_MODULE.NEW_OBJECT('clouds3', 12.26, 8.62, 17, 16); SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); var cloud3_movementX = new OSCILLATOR(0, 95, 0.09); var cloud3_movementY = new OSCILLATOR(-15, 0, 0.01); clouds3.ON_UPDATE = function () { this.POSITION.TRANSLATE_BY_X(cloud3_movementX.UPDATE()); this.POSITION.TRANSLATE_BY_Y(cloud3_movementY.UPDATE()); }; SLOT_MODULE.NEW_OBJECT('clouds4', 92.26, 8.62, 17, 16); SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); var cloud4_movementX = new OSCILLATOR(0, 100, 0.1); var cloud4_movementY = new OSCILLATOR(-15, 0, 0.02); cloud4_movementX.value = 92; clouds4.ON_UPDATE = function () { this.POSITION.TRANSLATE_BY_X(cloud4_movementX.UPDATE()); this.POSITION.TRANSLATE_BY_Y(cloud4_movementY.UPDATE()); }; } //Buttons SLOT_MODULE.NEW_OBJECT('BET', 12, 83.5, 14, 16); SLOT_MODULE.GAME_OBJECTS.ACCESS('BET').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.wbutton, 171222132226547221, 'no', 1, 11, 1, 1, 1); BET.DRAG = false; SLOT_MODULE.NEW_OBJECT('BET_MINUS', 0, 87, 13, 13); SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_MINUS').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 3, RESOURCE.wbutton, 171277732226547221, 'no', 1, 11, 1, 1, 1); BET_MINUS.DRAG = false; SLOT_MODULE.NEW_OBJECT('BET_PLUS', 25.2, 87, 13, 13); SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_PLUS').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 4, RESOURCE.wbutton, 171222156726547221, 'no', 1, 11, 1, 1, 1); BET_PLUS.DRAG = false; BET_PLUS.TAP = function () { if (SLOT_MASHINE.BET_VALUE.VALUE + 1 <= SLOT_MASHINE.BET_VALUE.MAX) { SLOT_MASHINE.BET_VALUE.VALUE++; BET_VALUE.ANIMATION.CURRENT_FRAME = SLOT_MASHINE.BET_VALUE.VALUE; } // audio_object_bet_btns.play(); BET_PLUS.ANIMATION.ROTATE.ANGLE = 5; setTimeout(function () { BET_PLUS.ANIMATION.ROTATE.ANGLE = 0; }, 250); }; BET_MINUS.TAP = function () { if (SLOT_MASHINE.BET_VALUE.VALUE - 1 >= SLOT_MASHINE.BET_VALUE.MIN) { SLOT_MASHINE.BET_VALUE.VALUE--; BET_VALUE.ANIMATION.CURRENT_FRAME = SLOT_MASHINE.BET_VALUE.VALUE; } // audio_object_bet_btns.play(); BET_MINUS.ANIMATION.ROTATE.ANGLE = -5; setTimeout(function () { BET_MINUS.ANIMATION.ROTATE.ANGLE = 0; }, 250); }; var ROT15 = new OSCILLATOR(-10, 10, 1); SLOT_MODULE.NEW_OBJECT('BET_VALUE', 20.8, 87, 3.8, 5.1); SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_VALUE').CREATE_ANIMATION(SURF, 'DRAW_FRAME', SLOT_MASHINE.BET_VALUE.VALUE, RESOURCE.numbers2, 123451345, 'no', 1, 11, 1, 1, 1); BET_VALUE.DRAG = false; BET.TOUCH_MOVE = function () { if (BET.EFFECTS.ZOOM.STATUS_FOR_IN == false && BET.EFFECTS.ZOOM.STATUS_FOR_OUT == false) { this.EFFECTS.ZOOM.VALUE = 0.29; this.EFFECTS.ZOOM.IN(80); BET.EFFECTS.ZOOM.ZOOM_IN_FINISHED = function () { BET.EFFECTS.ZOOM.OUT(90); }; } BET_VALUE.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); }; //ORBIT MOVEMNET var MONEY_orbitX = new OSCILLATOR(-10, 10, 0.2); var MONEY_orbitY = new OSCILLATOR(-10, 10, 0.2); MONEY_orbitY.value = 0; var MONEY_SIZE_EFFECT = new OSCILLATOR(50, 200, 5); var MONEY_SIZE_EFFECT2 = new OSCILLATOR(40, 100, 5); SLOT_MODULE.NEW_OBJECT('MONEY_WIN', -38.8, 46.4, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.money_penny, 1212121, 'no', 1, 11, 1, 1, 1); MONEY_WIN.CREATE_PARTICLE('FONTAN'); ///////////////////// //Mobile optimezer //////////////////// if (NOMOBILE == 1) { SLOT_MODULE.NEW_OBJECT('MONEY_WIN2', -38.8, -46.4, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN2').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.money_penny, 1212121, 'no', 1, 11, 1, 1, 1); MONEY_WIN2.CREATE_PARTICLE('FONTAN'); SLOT_MODULE.NEW_OBJECT('MONEY_WIN3', 138.8, 46.4, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN3').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.money_penny, 1212121, 'no', 1, 11, 1, 1, 1); MONEY_WIN3.CREATE_PARTICLE('FONTAN'); MONEY_WIN.PARTICLE.settings.bounceLevel = _visualJs.VIEW.H(100); MONEY_WIN2.PARTICLE.settings.bounceLevel = _visualJs.VIEW.H(99); MONEY_WIN3.PARTICLE.settings.bounceLevel = _visualJs.VIEW.H(98); } //bet value btns SLOT_MODULE.NEW_OBJECT('Wchar', -84.8, 46.4, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('Wchar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 1, RESOURCE.imagesFont1, 1713221226547221, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('Ichar', -96.8, 36, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('Ichar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 4, RESOURCE.imagesFont1, 17132212321221, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('Nchar', -108.8, 46.4, 15, 15); SLOT_MODULE.GAME_OBJECTS.ACCESS('Nchar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 16, RESOURCE.imagesFont1, 1713221212221, 'no', 1, 11, 1, 1, 1); Wchar.DRAG = false; Ichar.DRAG = false; Nchar.DRAG = false; if (NOMOBILE == 0) { Wchar.POSITION.SET_SPEED(4); Ichar.POSITION.SET_SPEED(4); Nchar.POSITION.SET_SPEED(4); } Wchar.ON_UPDATE = function () {}; function setupChars(obj_, indexFrame, wh, ATACH) { if (wh) { obj_.DIMENSION.WIDTH = obj_.DIMENSION.HEIGHT; } else { obj_.DIMENSION.HEIGHT = obj_.DIMENSION.WIDTH; } if (typeof ATACH !== 'undefined') { obj_.TAP = ATACH; } if (indexFrame == 'A') { obj_.ANIMATION.CURRENT_FRAME = 0; } else if (indexFrame == 'B') { obj_.ANIMATION.CURRENT_FRAME = 1; } else if (indexFrame == 'C') { obj_.ANIMATION.CURRENT_FRAME = 2; } else if (indexFrame == 'D') { obj_.ANIMATION.CURRENT_FRAME = 3; } else if (indexFrame == 'E') { obj_.ANIMATION.CURRENT_FRAME = 4; } else if (indexFrame == 'F') { obj_.ANIMATION.CURRENT_FRAME = 5; } else if (indexFrame == 'G') { obj_.ANIMATION.CURRENT_FRAME = 6; } else if (indexFrame == 'H') { obj_.ANIMATION.CURRENT_FRAME = 7; } else if (indexFrame == 'I') { obj_.ANIMATION.CURRENT_FRAME = 8; } else if (indexFrame == 'J') { obj_.ANIMATION.CURRENT_FRAME = 9; } else if (indexFrame == 'K') { obj_.ANIMATION.CURRENT_FRAME = 10; } else if (indexFrame == 'L') { obj_.ANIMATION.CURRENT_FRAME = 11; } else if (indexFrame == 'M') { obj_.ANIMATION.CURRENT_FRAME = 12; } else if (indexFrame == 'N') { obj_.ANIMATION.CURRENT_FRAME = 13; } else if (indexFrame == 'O') { obj_.ANIMATION.CURRENT_FRAME = 14; } else if (indexFrame == 'P') { obj_.ANIMATION.CURRENT_FRAME = 15; } else if (indexFrame == 'Q') { obj_.ANIMATION.CURRENT_FRAME = 16; } else if (indexFrame == 'R') { obj_.ANIMATION.CURRENT_FRAME = 17; } else if (indexFrame == 'S') { obj_.ANIMATION.CURRENT_FRAME = 18; } else if (indexFrame == 'T') { obj_.ANIMATION.CURRENT_FRAME = 19; } else if (indexFrame == 'U') { obj_.ANIMATION.CURRENT_FRAME = 20; } else if (indexFrame == 'V') { obj_.ANIMATION.CURRENT_FRAME = 21; } else if (indexFrame == 'W') { obj_.ANIMATION.CURRENT_FRAME = 22; } else if (indexFrame == 'X') { obj_.ANIMATION.CURRENT_FRAME = 23; } else if (indexFrame == 'Y') { obj_.ANIMATION.CURRENT_FRAME = 24; } else if (indexFrame == 'Z') { obj_.ANIMATION.CURRENT_FRAME = 25; } else if (indexFrame == 'plus') { obj_.ANIMATION.CURRENT_FRAME = 26; } } setupChars(Wchar, 'W'); setupChars(Ichar, 'I'); setupChars(Nchar, 'N'); // SPIN SLOT_MODULE.NEW_OBJECT('char1', 65, 83, 15, 12); SLOT_MODULE.GAME_OBJECTS.ACCESS('char1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 15, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('char2', 71, 83, 15, 12); SLOT_MODULE.GAME_OBJECTS.ACCESS('char2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 15, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('char3', 77, 83, 15, 12); SLOT_MODULE.GAME_OBJECTS.ACCESS('char3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 16, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); SLOT_MODULE.NEW_OBJECT('char4', 83, 83, 15, 12); SLOT_MODULE.GAME_OBJECTS.ACCESS('char4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 11, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); char1.TOUCH_MOVE = function () { char1.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); }; char2.TOUCH_MOVE = function () { char2.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); }; char3.TOUCH_MOVE = function () { char3.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); }; char4.TOUCH_MOVE = function () { char4.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); }; setupChars(char1, 'S', true, PROCEDURE_SPIN); setupChars(char2, 'P', true, PROCEDURE_SPIN); setupChars(char3, 'I', true, PROCEDURE_SPIN); setupChars(char4, 'N', true, PROCEDURE_SPIN); function setNormalSpeed(index) { eval('var n = symbol' + index + '0.POSITION.SET_SPEED(REELS_OPTIONS.REEL_SPEED);'); eval('var n = Csymbol' + index + '0.POSITION.SET_SPEED(REELS_OPTIONS.REEL_SPEED);'); } setNormalSpeed(1); setNormalSpeed(2); setNormalSpeed(3); function MEHANIC(OBJ, index) { var index = index; OBJ.POSITION.BAYPASS_FIRST = true; OBJ.POSITION.ON_TARGET_POSITION = function () { if (OBJ.POSITION.BAYPASS_FIRST == true) { OBJ.POSITION.BAYPASS_FIRST = false; } else { var NEW_LOCATION = window['CLONE_TOP' + index] - (__REELS['SYMBOLS_REEL' + index].length - 3) * (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN); eval(' OBJ.POSITION.SET_POSITION( REELS_OPTIONS.REEL' + index + "_POSITION_X , NEW_LOCATION , 'DIAMETRIC'); "); OBJ.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); if (OBJ == Csymbol10) { console.log('CLONE JE POMEREN'); } } }; } //start up position MEHANIC(symbol10, 1); MEHANIC(Csymbol10, 1); MEHANIC(symbol20, 2); MEHANIC(Csymbol20, 2); MEHANIC(symbol30, 3); MEHANIC(Csymbol30, 3); //BALANCE SLOT_MODULE.NEW_OBJECT('balance_Table', 42, 85, 13, 14); SLOT_MODULE.GAME_OBJECTS.ACCESS('balance_Table').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBalance, 234234234, 'no', 1, 11, 1, 1, 1); balance_Table.CREATE_TEXTBOX(SLOT_PLAYER.BALANCE, 2, '#000000', 'white'); balance_Table.TEXTBOX.font = '44px Verdana'; balance_Table.TEXTBOX.textBaseline = 'middle'; balance_Table.DRAG = false; balance_Table.TYPE_OF_GAME_OBJECT = 'ANIMATION_TEXT_BOX'; balance_Table.TEXTBOX.BACKGROUND_OPACITY = 0; balance_Table.ON_UPDATE = function () { if (_visualJs.VIEW.H() > 1000) { balance_Table.TEXTBOX.font = '54px Verdana'; } else if (_visualJs.VIEW.H() > 600) { balance_Table.TEXTBOX.font = '44px Verdana'; } else if (_visualJs.VIEW.H() > 360) { balance_Table.TEXTBOX.font = '24px Verdana'; } else { balance_Table.TEXTBOX.font = '20px Verdana'; } }; var SET_BALANCE = function (newB, win_show) { SLOT_PLAYER.BALANCE = newB; balance_Table.TEXTBOX.TEXT = SLOT_PLAYER.BALANCE; if (typeof win_show != 'undefined') { win_sum.TEXTBOX.TEXT = 'WIN \n' + RESULTS.WIN; win_sum.TYPE_OF_GAME_OBJECT = 'ANIMATION_TEXT_BOX'; } }; //win SLOT_MODULE.NEW_OBJECT('win_sum', 40, 65, 15, 19); SLOT_MODULE.GAME_OBJECTS.ACCESS('win_sum').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBalance, 456456456456, 'no', 1, 11, 1, 1, 1); win_sum.CREATE_TEXTBOX('0', 2, '#000000', 'white'); win_sum.TEXTBOX.font = '34px Verdana'; win_sum.TEXTBOX.textBaseline = 'middle'; win_sum.DRAG = false; win_sum.TYPE_OF_GAME_OBJECT = 'NO_RENDER'; win_sum.TEXTBOX.BACKGROUND_OPACITY = 0; //SLOT_MODULE.NEW_OBJECT('LOAD_BLOCK4', 50 , 50 , 50 ,50); window['IS_IT_LOADED_ALL'] = function () { setTimeout(function () { if (_visualJs.sys.RES.SUM_OF_LOADED_IMAGES > 909) { CREATE_LOADING_BLOCKS(true); } else { IS_IT_LOADED_ALL(); } }, 250); }; IS_IT_LOADED_ALL(); SPIN_STOP = function (win) { SLOT_MASHINE.STOP_ON_RESULT = true; window['symbol1' + RESULTS.R1].ON_UPDATE = function () { if (SLOT_MASHINE.SPIN == true) { var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; if (window['symbol1' + RESULTS.R1].POSITION.y > distance - REELS_OPTIONS.REELS_MARGIN && window['symbol1' + RESULTS.R1].POSITION.y < distance + REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL1_STOPED == false) { // audio_object_stop.play(); if (RESULTS.R1 == 0) { window['symbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, distance, 'DIAMETRIC'); } else if (RESULTS.R1 == 1) { window['symbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, REELS_OPTIONS.TOP, 'DIAMETRIC'); } else { window['symbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, REELS_OPTIONS.TOP - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R1 - 1), 'DIAMETRIC'); } if (RESULTS.R1 > 2) { window['Csymbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, Csymbol10.POSITION.y + REELS_OPTIONS.REELS_MARGIN * (SYMBOLS_REEL1.length - 2), 'DIAMETRIC'); } else if (RESULTS.R2 == 2) { window['Csymbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, Csymbol10.POSITION.y + REELS_OPTIONS.REELS_MARGIN, 'DIAMETRIC'); } if (RESULTS.R1 < SYMBOLS_REEL1.length - 1) { window['Csymbol10'].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, symbol10.POSITION.y - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * SYMBOLS_REEL1.length, 'DIAMETRIC'); } this.ON_UPDATE = function () {}; REELS_OPTIONS.REEL1_STOPED = true; } } }; window['symbol2' + RESULTS.R2].ON_UPDATE = function () { if (SLOT_MASHINE.SPIN == true) { var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; if (window['symbol2' + RESULTS.R2].POSITION.y > distance - REELS_OPTIONS.REELS_MARGIN && window['symbol2' + RESULTS.R2].POSITION.y < distance + REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL1_STOPED == true) { // audio_object_stop.play(); if (RESULTS.R2 == 0) { window['symbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, distance, 'DIAMETRIC'); } else if (RESULTS.R2 == 1) { window['symbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, REELS_OPTIONS.TOP, 'DIAMETRIC'); } else { window['symbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, REELS_OPTIONS.TOP - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R2 - 1), 'DIAMETRIC'); } if (RESULTS.R2 > 2) { window['Csymbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, Csymbol20.POSITION.y + REELS_OPTIONS.REELS_MARGIN * (SYMBOLS_REEL2.length - 2), 'DIAMETRIC'); } else if (RESULTS.R2 == 2) { window['Csymbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, Csymbol20.POSITION.y + REELS_OPTIONS.REELS_MARGIN, 'DIAMETRIC'); } if (RESULTS.R2 < SYMBOLS_REEL2.length - 1) { window['Csymbol20'].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, symbol20.POSITION.y - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * SYMBOLS_REEL2.length, 'DIAMETRIC'); } REELS_OPTIONS.REEL2_STOPED = true; this.ON_UPDATE = function () {}; } } }; window['symbol3' + RESULTS.R3].ON_UPDATE = function () { if (SLOT_MASHINE.SPIN == true) { var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; if (window['symbol3' + RESULTS.R3].POSITION.y > distance - 2 * REELS_OPTIONS.REELS_MARGIN && window['symbol3' + RESULTS.R3].POSITION.y < distance + 2 * REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL2_STOPED == true) { // audio_object_stop.play(); if (RESULTS.R3 == 0) { window['symbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, distance, 'DIAMETRIC'); } else if (RESULTS.R3 == 1) { window['symbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, REELS_OPTIONS.TOP, 'DIAMETRIC'); } else { console.log('>>>>>>>>>>>>>>>' + REELS_OPTIONS.SYMBOL_HEIGHT * (RESULTS.R3 - 1)); window['symbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, REELS_OPTIONS.TOP - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R3 - 1), 'DIAMETRIC'); } if (RESULTS.R3 > 2) { window['Csymbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, Csymbol30.POSITION.y + REELS_OPTIONS.REELS_MARGIN * (SYMBOLS_REEL3.length - 2), 'DIAMETRIC'); } else if (RESULTS.R3 == 2) { window['Csymbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, Csymbol30.POSITION.y + REELS_OPTIONS.REELS_MARGIN, 'DIAMETRIC'); } if (RESULTS.R3 < SYMBOLS_REEL3.length - 1) { window['Csymbol30'].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, symbol30.POSITION.y - (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * SYMBOLS_REEL3.length, 'DIAMETRIC'); } console.log('ALL REELS ARE STOPED !'); REELS_OPTIONS.REEL3_STOPED = true; // not important for now this.ON_UPDATE = function () {}; SLOT_MASHINE.SPIN = false; ON_SPIN_STOP(win); } } }; }; function ON_SPIN_STOP(win) { console.log(' WIN is : ' + win); if (win > 0) { window['symbol1' + RESULTS.R1].ANIMATION.TYPE = 'LOOP'; window['symbol2' + RESULTS.R2].ANIMATION.TYPE = 'LOOP'; window['symbol3' + RESULTS.R3].ANIMATION.TYPE = 'LOOP'; WIN_PROCEDURE(); } else {} } if (NOMOBILE == 1) { WIN_PROCEDURE = function () { Wchar.POSITION.TRANSLATE(20, 40); Ichar.POSITION.TRANSLATE(40, 40); Nchar.POSITION.TRANSLATE(60, 40); MONEY_WIN.POSITION.TRANSLATE(1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 40)); MONEY_WIN2.POSITION.TRANSLATE(1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 40)); MONEY_WIN3.POSITION.TRANSLATE(1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(10, 90), 1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 40)); setTimeout(function () { SET_BALANCE(SLOT_PLAYER.BALANCE + RESULTS.WIN, true); MONEY_WIN.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN2.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN3.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); setTimeout(function () { MONEY_WIN.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN2.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN3.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN.ON_UPDATE = function () { MONEY_WIN.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT.UPDATE(); MONEY_WIN.ON_UPDATE = MONEY_WIN.ROTATE.ROTATE_ARROUNT_CENTER; }; setTimeout(function () { //LEAVE MEMORY MONEY_WIN.PARTICLE.settings.particleSize = 21; MONEY_WIN2.PARTICLE.settings.particleSize = 21; MONEY_WIN3.PARTICLE.settings.particleSize = 21; MONEY_WIN.ON_UPDATE = function () {}; MONEY_WIN2.ON_UPDATE = function () {}; MONEY_WIN3.ON_UPDATE = function () {}; MONEY_WIN.POSITION.TRANSLATE(_visualJs.sys.MATH.RANDOM_INT_FROM_TO(120, 150), _visualJs.sys.MATH.RANDOM_INT_FROM_TO(-120, 150)); MONEY_WIN2.POSITION.TRANSLATE(_visualJs.sys.MATH.RANDOM_INT_FROM_TO(120, 150), _visualJs.sys.MATH.RANDOM_INT_FROM_TO(120, -50)); MONEY_WIN3.POSITION.TRANSLATE(_visualJs.sys.MATH.RANDOM_INT_FROM_TO(120, 150), _visualJs.sys.MATH.RANDOM_INT_FROM_TO(-120, -50)); Wchar.POSITION.TRANSLATE(-84.8, 46.4); Ichar.POSITION.TRANSLATE(-96.8, 46.4); Nchar.POSITION.TRANSLATE(-108.8, 46.4); win_sum.TYPE_OF_GAME_OBJECT = 'NO_RENDER'; }, 4200); window['symbol1' + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; window['symbol1' + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; window['symbol1' + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; window['symbol1' + RESULTS.R1].ANIMATION.TYPE = 'DRAW_FRAME'; window['symbol2' + RESULTS.R2].ANIMATION.TYPE = 'DRAW_FRAME'; window['symbol3' + RESULTS.R3].ANIMATION.TYPE = 'DRAW_FRAME'; }, 3200); MONEY_WIN2.ON_UPDATE = function () { MONEY_WIN2.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT2.UPDATE(); MONEY_WIN2.ON_UPDATE = MONEY_WIN2.ROTATE.ROTATE_ARROUNT_CENTER; }; MONEY_WIN3.ON_UPDATE = function () { MONEY_WIN3.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT2.UPDATE(); MONEY_WIN3.ON_UPDATE = MONEY_WIN3.ROTATE.ROTATE_ARROUNT_CENTER; }; }, 1200); }; } else { WIN_PROCEDURE = function () { Wchar.POSITION.TRANSLATE(20, 40); Ichar.POSITION.TRANSLATE(40, 40); Nchar.POSITION.TRANSLATE(60, 40); MONEY_WIN.POSITION.TRANSLATE(1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 40)); window['symbol1' + RESULTS.R1].ANIMATION.TYPE = 'LOOP'; window['symbol2' + RESULTS.R2].ANIMATION.TYPE = 'LOOP'; window['symbol3' + RESULTS.R3].ANIMATION.TYPE = 'LOOP'; setTimeout(function () { SET_BALANCE(SLOT_PLAYER.BALANCE + RESULTS.WIN, true); MONEY_WIN.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); setTimeout(function () { MONEY_WIN.PARTICLE.settings.gravity = _visualJs.sys.MATH.RANDOM_INT_FROM_TO(1, 10); MONEY_WIN.ON_UPDATE = function () { MONEY_WIN.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT.UPDATE(); MONEY_WIN.ON_UPDATE = MONEY_WIN.ROTATE.ROTATE_ARROUNT_CENTER; }; setTimeout(function () { //LEAVE MEMORY MONEY_WIN.PARTICLE.settings.particleSize = 21; MONEY_WIN.ON_UPDATE = function () {}; MONEY_WIN.POSITION.TRANSLATE(_visualJs.sys.MATH.RANDOM_INT_FROM_TO(120, 150), _visualJs.sys.MATH.RANDOM_INT_FROM_TO(-120, 150)); Wchar.POSITION.TRANSLATE(-84.8, 46.4); Ichar.POSITION.TRANSLATE(-96.8, 46.4); Nchar.POSITION.TRANSLATE(-108.8, 46.4); win_sum.TYPE_OF_GAME_OBJECT = 'NO_RENDER'; }, 4200); window['symbol1' + RESULTS.R1].ANIMATION.TYPE = 'DRAW_FRAME'; window['symbol2' + RESULTS.R2].ANIMATION.TYPE = 'DRAW_FRAME'; window['symbol3' + RESULTS.R3].ANIMATION.TYPE = 'DRAW_FRAME'; window['symbol1' + RESULTS.R1].ANIMATION.CURRENT_FRAME = 2; window['symbol2' + RESULTS.R2].ANIMATION.CURRENT_FRAME = 2; window['symbol3' + RESULTS.R3].ANIMATION.CURRENT_FRAME = 2; }, 3200); }, 1200); }; } } } },{"visual-js":40}],2:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Emitter = Emitter; /** * Initialize a new `Emitter`. * * @api public */ function Emitter(obj) { if (obj) return mixin(obj); } /** * Mixin the emitter properties. * * @param {Object} obj * @return {Object} * @api private */ function mixin(obj) { for (var key in Emitter.prototype) { obj[key] = Emitter.prototype[key]; } return obj; } /** * Listen on the given `event` with `fn`. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) { this._callbacks = this._callbacks || {}; (this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn); return this; }; /** * Adds an `event` listener that will be invoked a single * time then automatically removed. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.once = function (event, fn) { function on() { this.off(event, on); fn.apply(this, arguments); } on.fn = fn; this.on(event, on); return this; }; /** * Remove the given callback for `event` or all * registered callbacks. * * @param {String} event * @param {Function} fn * @return {Emitter} * @api public */ Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) { this._callbacks = this._callbacks || {}; // all if (0 == arguments.length) { this._callbacks = {}; return this; } // specific event var callbacks = this._callbacks['$' + event]; if (!callbacks) return this; // remove all handlers if (1 == arguments.length) { delete this._callbacks['$' + event]; return this; } // remove specific handler var cb; for (var i = 0; i < callbacks.length; i++) { cb = callbacks[i]; if (cb === fn || cb.fn === fn) { callbacks.splice(i, 1); break; } } // Remove event specific arrays for event types that no // one is subscribed for to avoid memory leak. if (callbacks.length === 0) { delete this._callbacks['$' + event]; } return this; }; /** * Emit `event` with the given args. * * @param {String} event * @param {Mixed} ... * @return {Emitter} */ Emitter.prototype.emit = function (event) { this._callbacks = this._callbacks || {}; var args = new Array(arguments.length - 1), callbacks = this._callbacks['$' + event]; for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } if (callbacks) { callbacks = callbacks.slice(0); for (var i = 0, len = callbacks.length; i < len; ++i) { callbacks[i].apply(this, args); } } return this; }; // alias used for reserved events (protected method) Emitter.prototype.emitReserved = Emitter.prototype.emit; /** * Return array of callbacks for `event`. * * @param {String} event * @return {Array} * @api public */ Emitter.prototype.listeners = function (event) { this._callbacks = this._callbacks || {}; return this._callbacks['$' + event] || []; }; /** * Check if this emitter has `event` handlers. * * @param {String} event * @return {Boolean} * @api public */ Emitter.prototype.hasListeners = function (event) { return !!this.listeners(event).length; }; },{}],3:[function(require,module,exports){ 'use strict' exports.byteLength = byteLength exports.toByteArray = toByteArray exports.fromByteArray = fromByteArray var lookup = [] var revLookup = [] var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' for (var i = 0, len = code.length; i < len; ++i) { lookup[i] = code[i] revLookup[code.charCodeAt(i)] = i } // Support decoding URL-safe base64 strings, as Node.js does. // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)] = 62 revLookup['_'.charCodeAt(0)] = 63 function getLens (b64) { var len = b64.length if (len % 4 > 0) { throw new Error('Invalid string. Length must be a multiple of 4') } // Trim off extra bytes after placeholder bytes are found // See: https://github.com/beatgammit/base64-js/issues/42 var validLen = b64.indexOf('=') if (validLen === -1) validLen = len var placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4) return [validLen, placeHoldersLen] } // base64 is 4/3 + up to two characters of the original data function byteLength (b64) { var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function _byteLength (b64, validLen, placeHoldersLen) { return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function toByteArray (b64) { var tmp var lens = getLens(b64) var validLen = lens[0] var placeHoldersLen = lens[1] var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) var curByte = 0 // if there are placeholders, only get up to the last complete 4 chars var len = placeHoldersLen > 0 ? validLen - 4 : validLen var i for (i = 0; i < len; i += 4) { tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] arr[curByte++] = (tmp >> 16) & 0xFF arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 2) { tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) arr[curByte++] = tmp & 0xFF } if (placeHoldersLen === 1) { tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) arr[curByte++] = (tmp >> 8) & 0xFF arr[curByte++] = tmp & 0xFF } return arr } function tripletToBase64 (num) { return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] } function encodeChunk (uint8, start, end) { var tmp var output = [] for (var i = start; i < end; i += 3) { tmp = ((uint8[i] << 16) & 0xFF0000) + ((uint8[i + 1] << 8) & 0xFF00) + (uint8[i + 2] & 0xFF) output.push(tripletToBase64(tmp)) } return output.join('') } function fromByteArray (uint8) { var tmp var len = uint8.length var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes var parts = [] var maxChunkLength = 16383 // must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) } // pad the end with zeros, but make sure to not forget the extra bytes if (extraBytes === 1) { tmp = uint8[len - 1] parts.push( lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3F] + '==' ) } else if (extraBytes === 2) { tmp = (uint8[len - 2] << 8) + uint8[len - 1] parts.push( lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3F] + lookup[(tmp << 2) & 0x3F] + '=' ) } return parts.join('') } },{}],4:[function(require,module,exports){ (function (Buffer){(function (){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh <https://feross.org> * @license MIT */ /* eslint-disable no-proto */ 'use strict' var base64 = require('base64-js') var ieee754 = require('ieee754') exports.Buffer = Buffer exports.SlowBuffer = SlowBuffer exports.INSPECT_MAX_BYTES = 50 var K_MAX_LENGTH = 0x7fffffff exports.kMaxLength = K_MAX_LENGTH /** * If `Buffer.TYPED_ARRAY_SUPPORT`: * === true Use Uint8Array implementation (fastest) * === false Print warning and recommend using `buffer` v4.x which has an Object * implementation (most compatible, even IE6) * * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, * Opera 11.6+, iOS 4.2+. * * We report that the browser does not support typed arrays if the are not subclassable * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support * for __proto__ and has a buggy typed array implementation. */ Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') { console.error( 'This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' ) } function typedArraySupport () { // Can typed array instances can be augmented? try { var arr = new Uint8Array(1) arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } } return arr.foo() === 42 } catch (e) { return false } } Object.defineProperty(Buffer.prototype, 'parent', { enumerable: true, get: function () { if (!Buffer.isBuffer(this)) return undefined return this.buffer } }) Object.defineProperty(Buffer.prototype, 'offset', { enumerable: true, get: function () { if (!Buffer.isBuffer(this)) return undefined return this.byteOffset } }) function createBuffer (length) { if (length > K_MAX_LENGTH) { throw new RangeError('The value "' + length + '" is invalid for option "size"') }