Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- setTimeout(function() {
- // DEOBFUSCATION
- var SPRITE = yolo1492;
- var client = yolo1476;
- var RECIPES = yolo1491;
- var world = yolo1556;
- var WORLD = yolo1438;
- user.show_spectators = user.yolo1609;
- get_mouse_pos = yolo1608;
- ctx = yolo1540;
- var OBFUSCATOR_FN = _0x97e8;
- var WORLD_FAST_UNITS_ARR_NAME = "yolo1519";
- var USER_UID_VAR_NAME = OBFUSCATOR_FN("0x3b2");
- var UPDATE_INV_BUTTONS_FN_NAME = OBFUSCATOR_FN("0x483");
- var SELECT_CRAFT_FN_NAME = OBFUSCATOR_FN("0x49c");
- var CLIENT_SELECT_INV_FN_NAME = OBFUSCATOR_FN("0x4aa");
- var DRAW_UI_INVENTORY_FN_NAME = "yolo1433";
- var GAME_TRIGGER_KEYUP_FN_NAME = OBFUSCATOR_FN("0x588");
- var CLIENT_BUILD_STOP_FN_NAME = OBFUSCATOR_FN("0x46f");
- var CLIENT_DELETE_INV_FN_NAME = OBFUSCATOR_FN("0x4ac");
- var CLIENT_SOCKET_VAR_NAME = OBFUSCATOR_FN("0x450");
- var GAME_DRAW_UI_FN_NAME = OBFUSCATOR_FN("0x584");
- var CLIENT_GET_TIME_FN_NAME = OBFUSCATOR_FN("0x484")
- // END DEOBFUSCATION
- var unique_index_counter = 500;
- var find_unique_index = function() {
- while(sprite[unique_index_counter] != null) {
- unique_index_counter++;
- }
- return unique_index_counter;
- };
- var create_help = function() {
- var title = 'HELP MENU';
- var title_font = "bold 40px Baloo Paaji";
- var letter_font = "bold 35px Baloo Paaji";
- var msg_font = "30px Baloo Paaji";
- var title_font_height = 40 * 1.1;
- var letter_font_height = 35 * 1.1;
- var msg_font_height = 30 * 1.1;
- var help_messages = [
- [ 'H', 'Open Help - open this help menu' ],
- [ 'Y', 'Open Map - open the larger map' ],
- [ 'U', 'Open Recipes - show all recipes' ],
- [ 'R', 'Auto-Feed - auto-eat food when low' ],
- [ 'T', 'Auto-Book - auto-equip book on craft' ],
- [ 'P', 'Show Spectators - only in hunger games' ],
- [ 'L', 'Fast-Delete - no warning on deleting items' ],
- [ 'C', 'Clock - toggle the clock' ],
- [ '*', 'Type "-swap 1 2" to swap slots 1 and 2' ],
- [ '*', 'Type "-remap F 1" to have slot 1 bound to F' ],
- [ '*', 'Type "-unmapall" to clear all remaps' ]
- ];
- var edge_padding_x = 5;
- var top_edge_padding_y = 15;
- var bot_edge_padding_y = 3;
- var title_padding_extra_y = 5;
- var line_padding_y = 3;
- var letter_msg_padding = 3;
- var temp_canv = document.createElement("canvas");
- var temp_ctx = temp_canv.getContext("2d");
- var longest_letter = 0;
- var longest_msg = 0;
- var total_height = top_edge_padding_y + title_font_height + title_padding_extra_y;
- for(var i = 0; i < help_messages.length; i++)
- {
- total_height += line_padding_y;
- temp_ctx.font = letter_font;
- var letter_metrics = temp_ctx.measureText(help_messages[i][0]);
- temp_ctx.font = msg_font;
- var msg_metrics = temp_ctx.measureText(help_messages[i][1]);
- longest_letter = Math.max(longest_letter, letter_metrics.width);
- longest_msg = Math.max(longest_msg, msg_metrics.width);
- total_height += Math.max(msg_font_height, letter_font_height);
- }
- total_height += bot_edge_padding_y;
- var total_width = edge_padding_x + longest_letter + letter_msg_padding + longest_msg + edge_padding_x;
- temp_canv.width = total_width;
- temp_canv.height = total_height;
- temp_ctx.globalAlpha = .5;
- round_rect(temp_ctx, 0, 0, temp_canv.width, temp_canv.height, 10);
- fill_path(temp_ctx, "#000");
- temp_ctx.globalAlpha = 1.0;
- temp_ctx.textAlign = 'left';
- temp_ctx.fillStyle = '#FFF';
- temp_ctx.font = title_font;
- temp_ctx.fillText(title, (temp_canv.width / 2) - (temp_ctx.measureText(title).width / 2), top_edge_padding_y + title_font_height / 2);
- temp_ctx.textAlign = 'left';
- var y = top_edge_padding_y + title_font_height + title_padding_extra_y;
- for(var i = 0; i < help_messages.length; i++) {
- y += line_padding_y;
- var x = edge_padding_x;
- temp_ctx.font = letter_font;
- temp_ctx.fillText(help_messages[i][0], x, y + letter_font_height / 2)
- x += longest_letter + letter_msg_padding;
- temp_ctx.font = msg_font;
- temp_ctx.fillText(help_messages[i][1], x, y + msg_font_height / 2);
- y += Math.max(letter_font_height, msg_font_height)
- }
- return temp_canv
- }
- function create_arrow_back(color) {
- var bknd_canv = document.createElement("canvas");
- var bknd_ctx = bknd_canv.getContext("2d");
- // todo make an arrow
- bknd_ctx.font = "20px Baloo Paaji";
- bknd_canv.width = bknd_ctx.measureText("BACK").width + 2;
- bknd_canv.height = 24;
- bknd_ctx.font = "20px Baloo Paaji";
- bknd_ctx.textAlign = 'center';
- bknd_ctx.fillStyle = color;
- bknd_ctx.fillText('BACK', bknd_canv.width / 2, bknd_canv.height / 2);
- return bknd_canv;
- }
- function create_arrow_next(color) {
- var bknd_canv = document.createElement("canvas");
- var bknd_ctx = bknd_canv.getContext("2d");
- // todo make an arrow
- bknd_ctx.font = "20px Baloo Paaji";
- bknd_canv.width = bknd_ctx.measureText("NEXT").width + 2;
- bknd_canv.height = 24;
- bknd_ctx.font = "20px Baloo Paaji";
- bknd_ctx.textAlign = 'center';
- bknd_ctx.fillStyle = color;
- bknd_ctx.fillText('NEXT', bknd_canv.width / 2, bknd_canv.height / 2);
- return bknd_canv;
- }
- var cntr = 0;
- var PAGES = [];
- PAGES["CATEGORIES_1"] = cntr++;
- PAGES["PICKAXES"] = cntr++;
- PAGES["SWORDS"] = cntr++;
- PAGES["SPEARS"] = cntr++;
- PAGES["HAMMERS"] = cntr++;
- PAGES["PLACEABLES"] = cntr++;
- PAGES["WALLS"] = cntr++;
- PAGES["SPIKES"] = cntr++;
- PAGES["DOORS"] = cntr++;
- PAGES["FOOD_HEALING"] = cntr++;
- PAGES["HELMETS"] = cntr++;
- PAGES["WEARABLES"] = cntr++;
- PAGES["MISCELLANEOUS"] = cntr++;
- PAGES["CRAFTING_ITEMS"] = cntr++;
- // All the create_recipe_page_ functions return [ canvas, buttons ]
- // ex. [ img, [ { page_num, translate: {x, y}, width, height, normal, hovered, pushed, contains(x,y) }, ... ]
- // returns canvas
- var __create_category_button = function(img, text, font, font_height, bknd_color, bknd_opacity, text_color) {
- var edge_padding_x = 3;
- var edge_padding_y = 3;
- var img_text_spacing_x = 3;
- var roundedness = 10;
- var bknd_canv = document.createElement("canvas");
- var bknd_ctx = bknd_canv.getContext("2d");
- bknd_ctx.font = font
- var text_metric = bknd_ctx.measureText(text);
- bknd_canv.width = edge_padding_x + img.width + img_text_spacing_x + text_metric.width + edge_padding_x;
- bknd_canv.height = edge_padding_y + Math.max(font_height, img.height) + edge_padding_y;
- if(bknd_color != null) {
- bknd_ctx.globalAlpha = bknd_opacity;
- round_rect(bknd_ctx, 0, 0, bknd_canv.width, bknd_canv.height, roundedness);
- fill_path(bknd_ctx, bknd_color);
- bknd_ctx.globalAlpha = 1;
- }
- bknd_ctx.font = font;
- bknd_ctx.fillStyle = text_color;
- bknd_ctx.drawImage(img, edge_padding_x, edge_padding_y);
- bknd_ctx.fillText(text, edge_padding_x + img.width + img_text_spacing_x, edge_padding_y + img.height / 2);
- return bknd_canv;
- }
- function __ext_create_button(normal, hovered, pushed) {
- var res = { translate: { x: 0, y: 0 } }
- res.normal = normal;
- res.hovered = hovered;
- res.pushed = pushed;
- res.width = res.normal.width;
- res.height = res.normal.height;
- res.contains = function(x, y) {
- return x >= this.translate.x && y >= this.translate.y && x <= (this.translate.x + this.width) && y <= (this.translate.y + this.height);
- };
- return res;
- }
- // returns { translate: {x, y}, width, height, normal, hovered, pushed, contains(x,y) }
- var create_category_button = function(img, text) {
- var font = '24px Baloo Paaji';
- var font_height = 24;
- var text_color = '#FFF';
- var hovered_background_color = '#000';
- var pushed_background_color = '#000';
- var hovered_background_opacity = 0.4;
- var pushed_background_opacity = 0.8;
- var res = {
- translate: { x: 0, y: 0 }
- }
- res.normal = CTI(__create_category_button(img, text, font, font_height, null, 0, text_color));
- res.width = res.normal.width;
- res.height = res.normal.height;
- res.hovered = CTI(__create_category_button(img, text, font, font_height, hovered_background_color, hovered_background_opacity, text_color));
- res.pushed = CTI(__create_category_button(img, text, font, font_height, pushed_background_color, pushed_background_opacity, text_color));
- res.contains = function(x, y) {
- return x >= this.translate.x && y >= this.translate.y && x <= (this.translate.x + this.width) && y <= (this.translate.y + this.height);
- };
- return res;
- }
- // categories, in the form [ { page_num, img, category_name }, ... ]
- // returns [ canvas, context2d, buttons ]
- var __create_recipe_page_categories = function(categories, prev_category_page_num, next_category_page_num) {
- var columns = 3;
- var left_edge_padding_x = 5;
- var right_edge_padding_x = 5;
- var top_edge_padding_y = 15;
- var bot_edge_padding_y = 10;
- var title_below_padding_y = 5;
- var row_padding_y = 5;
- var title_font = "bold 40px Baloo Paaji";
- var title_font_height = 44;
- var category_font = "24px Baloo Paaji";
- var category_font_height = 24;
- var category_img_text_padding_x = 5;
- var padding_y_before_pagination = 8;
- var column_padding_x = 5;
- var prev_button = __ext_create_button(sprite[SPRITE.ARROW_BACK][0], sprite[SPRITE.ARROW_BACK][1], sprite[SPRITE.ARROW_BACK][2]);
- var next_button = __ext_create_button(sprite[SPRITE.ARROW_NEXT][0], sprite[SPRITE.ARROW_NEXT][1], sprite[SPRITE.ARROW_NEXT][2]);
- var title = 'CATEGORIES';
- var bknd_canv = document.createElement("canvas");
- var bknd_ctx = bknd_canv.getContext("2d");
- var title = 'CATEGORIES'
- bknd_ctx.font = title_font;
- var title_width = bknd_ctx.measureText(title).width;
- bknd_ctx.font = category_font;
- var row_height_prev = 0;
- var max_column_width = 0;
- var total_height = top_edge_padding_y + title_font_height + title_below_padding_y;
- for(var i = 0; i < categories.length; i++) {
- if(i != 0 && i % columns == 0) {
- total_height += row_padding_y + row_height_prev;
- row_height_prev = 0;
- }
- var cat_width = categories[i].img.width + category_img_text_padding_x + bknd_ctx.measureText(categories[i].category_name).width;
- max_column_width = Math.max(max_column_width, cat_width);
- row_height_prev = Math.max(row_height_prev, categories[i].img.height);
- }
- total_height += row_padding_y + row_height_prev;
- if(prev_category_page_num != null || next_category_page_num != null) {
- total_height += padding_y_before_pagination + Math.max(prev_button.height, next_button.height);
- }
- total_height += bot_edge_padding_y;
- var total_width = left_edge_padding_x + max_column_width * columns + column_padding_x * (columns - 1) + right_edge_padding_x;
- bknd_canv.width = total_width;
- bknd_canv.height = total_height;
- bknd_ctx.globalAlpha = 0.5;
- round_rect(bknd_ctx, 0, 0, bknd_canv.width, bknd_canv.height, 10);
- fill_path(bknd_ctx, '#000');
- bknd_ctx.globalAlpha = 1;
- bknd_ctx.font = title_font;
- bknd_ctx.fillStyle = '#FFF';
- var title_metr = bknd_ctx.measureText(title);
- bknd_ctx.fillText(title, bknd_canv.width / 2 - title_metr.width / 2, top_edge_padding_y + title_font_height / 2);
- var buttons = []
- bknd_ctx.font = category_font;
- var y = top_edge_padding_y + title_font_height + title_below_padding_y;
- var x = left_edge_padding_x;
- row_height_prev = 0;
- for(var i = 0; i < categories.length; i++) {
- if(i != 0 && i % columns == 0) {
- y += row_padding_y + row_height_prev;
- x = left_edge_padding_x;
- }
- var but = create_category_button(categories[i].img, categories[i].category_name);
- but.page_num = categories[i].page_num;
- but.translate.x = x;
- but.translate.y = y;
- buttons[buttons.length] = but;
- row_height_prev = Math.max(row_height_prev, categories[i].img.height);
- x += max_column_width + column_padding_x;
- }
- y += row_padding_y + row_height_prev;
- if(prev_category_page_num != null) {
- prev_button.translate.x = left_edge_padding_x;
- prev_button.translate.y = total_height - prev_button.height - bot_edge_padding_y;
- buttons[button.length] = prev_button;
- }
- if(next_category_page_num != null) {
- next_button.translate.x = total_width - next_button.width - right_edge_padding_x;
- next_button.translate.y = total_height - next_button.height - bot_edge_padding_y;
- buttons[buttons.length] = next_button;
- }
- return [ bknd_canv, bknd_ctx, buttons ];
- }
- var create_recipe_page_categories_1 = function() {
- var tmp = __create_recipe_page_categories([
- { page_num: PAGES.PICKAXES, img: sprite[SPRITE.INV_PICK_WOOD][1], category_name: "Pickaxes" },
- { page_num: PAGES.SWORDS, img: sprite[SPRITE.INV_SWORD][1], category_name: "Swords" },
- { page_num: PAGES.SPEARS, img: sprite[SPRITE.INV_SPEAR][1], category_name: "Spears" },
- { page_num: PAGES.HAMMERS, img: sprite[SPRITE.INV_HAMMER][1], category_name: "Hammers" },
- { page_num: PAGES.PLACEABLES, img: sprite[SPRITE.INV_FIRE][1], category_name: "Placeables" },
- { page_num: PAGES.WALLS, img: sprite[SPRITE.INV_WALL][1], category_name: "Walls" },
- { page_num: PAGES.SPIKES, img: sprite[SPRITE.INV_SPIKE][1], category_name: "Spikes" },
- { page_num: PAGES.DOORS, img: sprite[SPRITE.INV_DOOR_WOOD_CLOSE][1], category_name: "Doors" },
- { page_num: PAGES.FOOD_HEALING, img: sprite[SPRITE.INV_COOKED_MEAT][1], category_name: "Food & Healing" },
- { page_num: PAGES.HELMETS, img: sprite[SPRITE.INV_STONE_HELMET][1], category_name: "Helmets" },
- { page_num: PAGES.WEARABLES, img: sprite[SPRITE.INV_EARMUFFS][1], category_name: "Wearables" },
- { page_num: PAGES.MISCELLANEOUS, img: sprite[SPRITE.INV_LOCK][1], category_name: "Misc" },
- { page_num: PAGES.CRAFTING_ITEMS, img: sprite[SPRITE.INV_PAPER][1], category_name: "Crafting Items" },
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- function get_amount_as_img(amount) {
- if(!sprite[SPRITE.COUNTER][amount]) {
- sprite[SPRITE.COUNTER][amount] = create_text(scale, "x" + amount, 20, "#FFF");
- }
- return sprite[SPRITE.COUNTER][amount];
- }
- // accepts string, int, [ { ingredients: [ { img, amount }, ... ], result: { img, amount } ]
- // returns [ canvas, context2d, buttons ]
- function __create_recipe_page_leaf(title, category_page_num, recipes) {
- var bknd_canv = document.createElement("canvas");
- var bknd_ctx = bknd_canv.getContext("2d");
- var title_font = "bold 40px Baloo Paaji";
- var title_font_height = 44;
- var title_below_padding_y = 0;
- var plus_font = "45px Baloo Paaji";
- var plus_y_offset = 12;
- var plus_y_height = 24;
- var plus_x_padding_left = 3;
- var plus_x_padding_right = 3;
- var plus_width = 26;
- var equal_font = plus_font;
- var equal_y_offset = 12;
- var equal_y_height = 16;
- var equal_x_padding_left = 3;
- var equal_x_padding_right = 3;
- var equal_width = 22;
- var top_edge_padding_y = 15;
- var left_edge_padding_x = 10;
- var bot_edge_padding_y = 10;
- var right_edge_padding_x = 5;
- var padding_above_arrow_back = 8;
- var arrow_back_width = sprite[SPRITE.ARROW_BACK][0].width;
- var arrow_back_height = sprite[SPRITE.ARROW_BACK][0].height;
- var row_padding_y = 5;
- var total_height = top_edge_padding_y + title_font_height + title_below_padding_y;
- bknd_ctx.font = title_font;
- var max_row_width = left_edge_padding_x + bknd_ctx.measureText(title).width + right_edge_padding_x;
- var row_heights = []
- for(var i = 0; i < recipes.length; i++) {
- if(i != 0) {
- total_height += row_padding_y;
- }
- var row_height = 0;
- var row_width = left_edge_padding_x;
- for(var j = 0; j < recipes[i].ingredients.length; j++) {
- if(j != 0) {
- row_width += plus_x_padding_left + plus_width + plus_x_padding_right;
- }
- var ing = recipes[i].ingredients[j];
- row_width += ing.img.width;
- row_height = Math.max(row_height, ing.img.height);
- }
- row_width += equal_x_padding_left + equal_width + equal_x_padding_right;
- row_width += recipes[i].result.img.width + right_edge_padding_x;
- row_height = Math.max(row_height, recipes[i].result.img.height);
- total_height += row_height;
- row_heights[i] = row_height;
- max_row_width = Math.max(max_row_width, row_width);
- }
- total_height += padding_above_arrow_back + arrow_back_height + bot_edge_padding_y;
- bknd_canv.width = max_row_width;
- bknd_canv.height = total_height;
- bknd_ctx.globalAlpha = 0.5;
- round_rect(bknd_ctx, 0, 0, bknd_canv.width, bknd_canv.height, 10);
- fill_path(bknd_ctx, '#000');
- bknd_ctx.globalAlpha = 1;
- bknd_ctx.font = title_font;
- bknd_ctx.fillStyle = '#FFF';
- bknd_ctx.fillText(title, bknd_canv.width / 2 - bknd_ctx.measureText(title).width / 2, top_edge_padding_y + title_font_height / 2);
- var y = top_edge_padding_y + title_font_height + title_below_padding_y;
- for(var i = 0; i < recipes.length; i++) {
- if(i != 0) {
- y += row_padding_y;
- }
- var row_height = row_heights[i];
- var x = left_edge_padding_x;
- for(var j = 0; j < recipes[i].ingredients.length; j++) {
- if(j != 0) {
- x += plus_x_padding_left;
- bknd_ctx.font = plus_font;
- bknd_ctx.fillText("+", x, y + row_height / 2 + plus_y_offset);
- x += plus_width + plus_x_padding_right;
- }
- var ing = recipes[i].ingredients[j];
- var ingImgY = y + (row_height - ing.img.height) / 2;
- bknd_ctx.drawImage(ing.img, x, ingImgY)
- if(ing.amount != 1) {
- var amtAsImg = get_amount_as_img(ing.amount);
- bknd_ctx.drawImage(amtAsImg, x + ing.img.width - amtAsImg.width - 5, ingImgY + ing.img.height - amtAsImg.height - 5);
- }
- x += ing.img.width;
- }
- bknd_ctx.font = equal_font;
- x += equal_x_padding_left;
- bknd_ctx.fillText("=", x, y + row_height / 2 + equal_y_offset);
- x += equal_width + equal_x_padding_right;
- var resImgY = y + (row_height - recipes[i].result.img.height) / 2;
- bknd_ctx.drawImage(recipes[i].result.img, x, resImgY);
- if(recipes[i].result.amount != 1) {
- var resAmtAsImg = get_amount_as_img(recipes[i].result.amount);
- bknd_ctx.drawImage(resAmtAsImg, x + recipes[i].result.img.width - resAmtAsImg.width - 5, resImgY + recipes[i].result.img.height - resAmtAsImg.height - 5);
- }
- y += row_height;
- }
- var buttons = []
- y += padding_above_arrow_back;
- buttons[buttons.length] = {
- page_num: category_page_num,
- translate: { x: left_edge_padding_x, y: y + arrow_back_height/2 },
- width: arrow_back_width,
- height: arrow_back_height,
- normal: sprite[SPRITE.ARROW_BACK][0],
- hovered: sprite[SPRITE.ARROW_BACK][1],
- pushed: sprite[SPRITE.ARROW_BACK][2],
- contains: function(x, y) { return x >= this.translate.x && y >= this.translate.y && x <= this.translate.x + this.width && y <= this.translate.y + this.height; }
- };
- return [ bknd_canv, bknd_ctx, buttons ];
- }
- var create_recipe_page_pickaxes = function() {
- var tmp = __create_recipe_page_leaf('PICKAXES', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WOOD][1], amount: 15 }
- ],
- result: { img: sprite[SPRITE.INV_PICK_WOOD][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_PICK_WOOD][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 60 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_PICK][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_PICK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 60 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 40 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_PICK_GOLD][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_PICK_GOLD][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 100 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 60 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_PICK_DIAMOND][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_PICK_DIAMOND][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 90 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 60 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_PICK_AMETHYST][1], amount: 1 }
- }
- ])
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_swords = function() {
- var tmp = __create_recipe_page_leaf('SWORDS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 60 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_SWORD][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_SWORD][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 80 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 60 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_SWORD_GOLD][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_SWORD_GOLD][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 100 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 80 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_SWORD_DIAMOND][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_SWORD_DIAMOND][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 130 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 80 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_SWORD_AMETHYST][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_spears = function() {
- var tmp = __create_recipe_page_leaf('SPEARS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 80 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_SPEAR][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_SPEAR][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 120 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 50 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 40 }
- ],
- result: { img: sprite[SPRITE.INV_GOLD_SPEAR][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD_SPEAR][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 250 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 80 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_DIAMOND_SPEAR][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND_SPEAR][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 120 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 100 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_AMETHYST_SPEAR][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_hammers = function() {
- var tmp = __create_recipe_page_leaf('HAMMERS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 90 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 50 }
- ],
- result: { img: sprite[SPRITE.INV_HAMMER][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_HAMMER][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 160 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 120 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 80 }
- ],
- result: { img: sprite[SPRITE.INV_HAMMER_GOLD][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_HAMMER_GOLD][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 200 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 150 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 80 }
- ],
- result: { img: sprite[SPRITE.INV_HAMMER_DIAMOND][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_HAMMER_DIAMOND][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 250 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 160 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 60 }
- ],
- result: { img: sprite[SPRITE.INV_HAMMER_AMETHYST][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_placeables = function() {
- var tmp = __create_recipe_page_leaf('PLACEABLES', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WOOD][1], amount: 30 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 5 }
- ],
- result: { img: sprite[SPRITE.INV_FIRE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_FIRE][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 40 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 10 },
- ],
- result: { img: sprite[SPRITE.INV_BIG_FIRE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WOOD][1], amount: 40 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_WORK][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 60 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 20 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 10 },
- ],
- result: { img: sprite[SPRITE.INV_CHEST][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 150 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 100 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 50 },
- ],
- result: { img: sprite[SPRITE.INV_FURNACE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 50 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 40 },
- ],
- result: { img: sprite[SPRITE.INV_RESURRECTION][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WOOD][1], amount: 200 },
- ],
- result: { img: sprite[SPRITE.INV_TOTEM][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_walls = function() {
- var tmp = __create_recipe_page_leaf('WALLS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_WALL][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_STONE_WALL][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_GOLD_WALL][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_DIAMOND_WALL][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 20 },
- ],
- result: { img: sprite[SPRITE.INV_AMETHYST_WALL][1], amount: 1 }
- },
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_spikes = function() {
- var tmp = __create_recipe_page_leaf('SPIKES', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 20 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 15 }
- ],
- result: { img: sprite[SPRITE.INV_SPIKE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 35 }
- ],
- result: { img: sprite[SPRITE.INV_STONE_SPIKE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 15 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_GOLD_SPIKE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 15 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_DIAMOND_SPIKE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_AMETHYST_WALL][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 15 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_AMETHYST_SPIKE][1], amount: 1 }
- },
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_doors = function() {
- var tmp = __create_recipe_page_leaf('DOORS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 60 },
- ],
- result: { img: sprite[SPRITE.INV_DOOR_WOOD_CLOSE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DOOR_WOOD_CLOSE][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 60 }
- ],
- result: { img: sprite[SPRITE.INV_DOOR_STONE_CLOSE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DOOR_STONE_CLOSE][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 60 }
- ],
- result: { img: sprite[SPRITE.INV_DOOR_GOLD_CLOSE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DOOR_GOLD_CLOSE][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_DOOR_DIAMOND_CLOSE][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DOOR_DIAMOND_CLOSE][1], amount: 1 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_DOOR_AMETHYST_CLOSE][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_food_healing = function() {
- var tmp = __create_recipe_page_leaf('FOOD / HEALING', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_FIRE][1], amount: 1 },
- { img: sprite[SPRITE.INV_MEAT][1], amount: 1 },
- ],
- result: { img: sprite[SPRITE.INV_COOKED_MEAT][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_FIRE][1], amount: 1 },
- { img: sprite[SPRITE.INV_PLANT][1], amount: 3 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 20 }
- ],
- result: { img: sprite[SPRITE.INV_SEED][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 3 },
- ],
- result: { img: sprite[SPRITE.INV_BANDAGE][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_helmets = function() {
- var tmp = __create_recipe_page_leaf('HELMETS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 100 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 150 },
- ],
- result: { img: sprite[SPRITE.INV_STONE_HELMET][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE_HELMET][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 120 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 180 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 100 },
- ],
- result: { img: sprite[SPRITE.INV_GOLD_HELMET][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD_HELMET][1], amount: 1 },
- { img: sprite[SPRITE.INV_STONE][1], amount: 200 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 100 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 160 },
- ],
- result: { img: sprite[SPRITE.INV_DIAMOND_HELMET][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND_HELMET][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 200 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 160 },
- { img: sprite[SPRITE.INV_AMETHYST][1], amount: 100 },
- ],
- result: { img: sprite[SPRITE.INV_AMETHYST_HELMET][0], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_wearables = function() {
- var tmp = __create_recipe_page_leaf('WEARABLES', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_FUR][1], amount: 8 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 4 }
- ],
- result: { img: sprite[SPRITE.INV_EARMUFFS][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_EARMUFFS][1], amount: 1 },
- { img: sprite[SPRITE.INV_FUR][1], amount: 5 },
- { img: sprite[SPRITE.INV_FUR_WOLF][1], amount: 10 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 6 }
- ],
- result: { img: sprite[SPRITE.INV_COAT][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_COAT][1], amount: 1 },
- { img: sprite[SPRITE.INV_FUR_WINTER][1], amount: 20 },
- { img: sprite[SPRITE.INV_BLUE_CORD][1], amount: 10 }
- ],
- result: { img: sprite[SPRITE.INV_CAP_SCARF][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_PAPER][1], amount: 5 },
- { img: sprite[SPRITE.INV_FUR][1], amount: 5, },
- { img: sprite[SPRITE.INV_CORD][1], amount: 4, }
- ],
- result: { img: sprite[SPRITE.INV_EXPLORER_HAT][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_FUR_WOLF][1], amount: 5 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 10 }
- ],
- result: { img: sprite[SPRITE.INV_BAG][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_FUR_WOLF][1], amount: 5 },
- { img: sprite[SPRITE.INV_PAPER][1], amount: 5 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 5 }
- ],
- result: { img: sprite[SPRITE.INV_BOOK][1], amount: 1 }
- },
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_misc = function() {
- var tmp = __create_recipe_page_leaf('MISCELLANEOUS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 10 }
- ],
- result: { img: sprite[SPRITE.INV_LOCK][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_GOLD][1], amount: 40 }
- ],
- result: { img: sprite[SPRITE.INV_LOCKPICK][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- var create_recipe_page_crafting_items = function() {
- var tmp = __create_recipe_page_leaf('CRAFTING ITEMS', PAGES.CATEGORIES_1, [
- {
- ingredients: [
- { img: sprite[SPRITE.INV_FIRE][1], amount: 1 },
- { img: sprite[SPRITE.INV_WOOD][1], amount: 30 }
- ],
- result: { img: sprite[SPRITE.INV_PAPER][1], amount: 1 }
- },
- {
- ingredients: [
- { img: sprite[SPRITE.INV_WORK][1], amount: 1 },
- { img: sprite[SPRITE.INV_DIAMOND][1], amount: 1 },
- { img: sprite[SPRITE.INV_CORD][1], amount: 1 }
- ],
- result: { img: sprite[SPRITE.INV_BLUE_CORD][1], amount: 1 }
- }
- ]);
- var bknd_canv = tmp[0];
- var bknd_ctx = tmp[1];
- var buttons = tmp[2];
- return [ CTI(bknd_canv), buttons ];
- }
- SPRITE["AUTO_BOOK"] = find_unique_index();
- sprite[SPRITE.AUTO_BOOK] = create_text(1, "Auto-Book", 25, "#FFF", void 0, void 0, "#000", 5, 140);
- SPRITE["EXT_HELP"] = find_unique_index();
- sprite[SPRITE.EXT_HELP] = CTI(create_help());
- SPRITE["ARROW_NEXT"] = find_unique_index();
- sprite[SPRITE.ARROW_NEXT] = [ CTI(create_arrow_next('#c3c3c3')), CTI(create_arrow_next('#d3d3d3')), CTI(create_arrow_next('#FFF')) ];
- SPRITE["ARROW_BACK"] = find_unique_index();
- sprite[SPRITE.ARROW_BACK] = [ CTI(create_arrow_back('#c3c3c3')), CTI(create_arrow_back('#d3d3d3')), CTI(create_arrow_back('#FFF')) ];
- SPRITE["RECIPE_LIST"] = find_unique_index();
- sprite[SPRITE.RECIPE_LIST] = [];
- sprite[SPRITE.RECIPE_LIST][PAGES.CATEGORIES_1] = create_recipe_page_categories_1();
- sprite[SPRITE.RECIPE_LIST][PAGES.PICKAXES] = create_recipe_page_pickaxes();
- sprite[SPRITE.RECIPE_LIST][PAGES.SWORDS] = create_recipe_page_swords();
- sprite[SPRITE.RECIPE_LIST][PAGES.SPEARS] = create_recipe_page_spears();
- sprite[SPRITE.RECIPE_LIST][PAGES.HAMMERS] = create_recipe_page_hammers();
- sprite[SPRITE.RECIPE_LIST][PAGES.PLACEABLES] = create_recipe_page_placeables();
- sprite[SPRITE.RECIPE_LIST][PAGES.WALLS] = create_recipe_page_walls();
- sprite[SPRITE.RECIPE_LIST][PAGES.SPIKES] = create_recipe_page_spikes();
- sprite[SPRITE.RECIPE_LIST][PAGES.DOORS] = create_recipe_page_doors();
- sprite[SPRITE.RECIPE_LIST][PAGES.FOOD_HEALING] = create_recipe_page_food_healing();
- sprite[SPRITE.RECIPE_LIST][PAGES.HELMETS] = create_recipe_page_helmets();
- sprite[SPRITE.RECIPE_LIST][PAGES.WEARABLES] = create_recipe_page_wearables();
- sprite[SPRITE.RECIPE_LIST][PAGES.MISCELLANEOUS] = create_recipe_page_misc();
- sprite[SPRITE.RECIPE_LIST][PAGES.CRAFTING_ITEMS] = create_recipe_page_crafting_items();
- user.ext_help = {
- enabled: false,
- translate: {
- x: 0,
- y: 0
- }
- }
- user.ext_recipes = {
- enabled: false,
- current_page: sprite[SPRITE.RECIPE_LIST][PAGES.CATEGORIES_1],
- hovered_button: false,
- mouse_is_down: false,
- translate: {
- x: 0,
- y: 0
- },
- on_disable: function() {
- this.hovered_button = false;
- this.current_page = sprite[SPRITE.RECIPE_LIST][PAGES.CATEGORIES_1];
- },
- trigger_mouseup: function(evt) {
- this.mouse_is_down = false;
- if(this.enabled && this.hovered_button) {
- this.current_page = sprite[SPRITE.RECIPE_LIST][this.hovered_button.page_num];
- this.translate.x = can.width / 2 - this.current_page[0].width / 2;
- this.translate.y = can.height / 2 - this.current_page[0].height / 2;
- }
- },
- trigger_mousedown: function(evt) {
- this.mouse_is_down = true;
- },
- trigger_mousemove: function(evt) {
- if(this.enabled) {
- this.hovered_button = false;
- var buttons = this.current_page[1];
- var mousepos = get_mouse_pos(game.can, evt);
- var adjX = mousepos.x - this.translate.x;
- var adjY = mousepos.y - this.translate.y;
- for(var i = 0; i < buttons.length; i++) {
- var but = buttons[i];
- if(but.contains(adjX, adjY)) {
- this.hovered_button = but;
- return;
- }
- }
- }
- },
- draw_buttons: function() {
- if(this.enabled) {
- var buttons = this.current_page[1];
- for(var i = 0; i < buttons.length; i++) {
- var img = buttons[i].normal;
- if(buttons[i] == this.hovered_button) {
- if(this.mouse_is_down) {
- img = buttons[i].pushed;
- }else {
- img = buttons[i].hovered;
- }
- }
- ctx.drawImage(img, this.translate.x + buttons[i].translate.x, this.translate.y + buttons[i].translate.y);
- }
- }
- },
- register_listeners: function() {
- var me = this;
- window.addEventListener("mouseup", function() { me.trigger_mouseup.apply(me, arguments) }, false);
- window.addEventListener("mousemove", function() { me.trigger_mousemove.apply(me, arguments) }, false);
- window.addEventListener("mousedown", function() { me.trigger_mousedown.apply(me, arguments) }, false);
- }
- };
- user.auto_book = {
- enabled: false,
- translate: {
- x: 0,
- y: 0
- },
- equip_book: function() {
- if(this.enabled) {
- if(user.inv.n[INV.BOOK]) {
- var thePlayer = world[WORLD_FAST_UNITS_ARR_NAME][user[USER_UID_VAR_NAME]];
- if(thePlayer.right != INV.BOOK) {
- client[CLIENT_SELECT_INV_FN_NAME](INV.BOOK, user.inv.find_item(INV.BOOK));
- }
- }
- }
- }
- }
- var oldGameUpdate = game.update;
- game.update = function() {
- oldGameUpdate.apply(this);
- user.auto_book.translate.x = game.leaderboard.translate.x - sprite[SPRITE.AUTO_BOOK].width - 10;
- user.auto_book.translate.y = user.show_spectators.translate.y + sprite[SPRITE.SHOW_SPECTATORS].height + 5;
- user.ext_fast_delete.translate.x = game.leaderboard.translate.x - sprite[SPRITE.EXT_FAST_DELETE].width - 10;
- user.ext_fast_delete.translate.y = user.auto_book.translate.y + sprite[SPRITE.AUTO_BOOK].height + 5;
- user.ext_help.translate.x = can.width / 2 - sprite[SPRITE.EXT_HELP].width / 2;
- user.ext_help.translate.y = can.height / 2 - sprite[SPRITE.EXT_HELP].height / 2;
- user.ext_recipes.translate.x = can.width / 2 - user.ext_recipes.current_page[0].width / 2;
- user.ext_recipes.translate.y = can.height / 2 - user.ext_recipes.current_page[0].height / 2;
- user.ext_clock.translate.x = can.width - user.ext_clock.radius * 2 - 10;
- user.ext_clock.translate.y = game.leaderboard.translate.y + game.leaderboard.img.height + 10;
- };
- function draw_ext_help() {
- if(user.ext_help.enabled) {
- ctx.drawImage(sprite[SPRITE.EXT_HELP], user.ext_help.translate.x, user.ext_help.translate.y);
- }
- }
- function draw_ext_auto_book() {
- if(user.auto_book.enabled) {
- ctx.drawImage(sprite[SPRITE.AUTO_BOOK], user.auto_book.translate.x, user.auto_book.translate.y);
- }
- }
- function draw_ext_recipes() {
- if(user.ext_recipes.enabled) {
- ctx.drawImage(user.ext_recipes.current_page[0], user.ext_recipes.translate.x, user.ext_recipes.translate.y);
- user.ext_recipes.draw_buttons();
- }
- }
- var oldGameDrawUI = game[GAME_DRAW_UI_FN_NAME];
- game[GAME_DRAW_UI_FN_NAME] = function() {
- oldGameDrawUI.apply(this, arguments);
- draw_ext_auto_book();
- draw_ext_fast_delete();
- draw_ext_help();
- draw_ext_recipes();
- draw_ext_clock();
- };
- var my_trigger_key_up = function(c) {
- var keycode = c.keyCode;
- if(user.keycodes_to_mapped_keycodes[keycode])
- keycode = user.keycodes_to_mapped_keycodes[keycode];
- if (!user.chat.open) {
- if(keycode == 84) {
- user.auto_book.enabled = !user.auto_book.enabled;
- }else if(keycode == 72) {
- user.ext_help.enabled = !user.ext_help.enabled;
- if(user.ext_help.enabled) {
- user.ext_recipes.enabled = false;
- }
- }else if(keycode == 85) {
- user.ext_recipes.enabled = !user.ext_recipes.enabled;
- if(user.ext_recipes.enabled) {
- user.ext_help.enabled = false;
- }else {
- user.ext_recipes.on_disable();
- }
- }else if(keycode == 67) {
- user.ext_clock.enabled = !user.ext_clock.enabled;
- }
- }
- };
- user.craft.do_craft = function(recipeID) {
- var recipe = RECIPES[recipeID];
- this.id = recipeID;
- this.crafting = true;
- if((user.auto_book.enabled && user.inv.n[INV.BOOK]) || world[WORLD_FAST_UNITS_ARR_NAME][user[USER_UID_VAR_NAME]].right == INV.BOOK) {
- this.timeout.max_speed = recipe.time * 3;
- }else {
- this.timeout.max_speed = recipe.time;
- }
- this.id2 = recipe.id2;
- for (var counter = 0; counter < recipe.r.length; counter++) {
- var resource = recipe.r[counter];
- user.inv.decrease(resource[0], resource[1], user.inv.find_item(resource[0]));
- }
- game[UPDATE_INV_BUTTONS_FN_NAME]()
- };
- window.addEventListener("keyup", my_trigger_key_up, false);
- user.ext_recipes.register_listeners();
- var oldSelectCraft = client[SELECT_CRAFT_FN_NAME];
- client[SELECT_CRAFT_FN_NAME] = function()
- {
- if(user.weapon.timeout.v != 0 && user.inv.n[INV.BOOK]) {
- var alertMsg = "You can't equip your book right now."
- user.alert.text ? user.alert.list.push(alertMsg) : user.alert.text = alertMsg;
- return;
- }
- user.auto_book.equip_book();
- oldSelectCraft.apply(this, arguments);
- };
- // rearrange inventory
- user.inventory_index_to_mapped_index = []
- for(var index = 0; index < 13; index++) {
- user.inventory_index_to_mapped_index[index] = index;
- }
- user.keycodes_to_mapped_keycodes = {} // contains things like: { 68: 96 }
- SPRITE["SLOT_NUMBERS_MAPPED"] = find_unique_index();
- sprite[SPRITE.SLOT_NUMBERS_MAPPED] = {};
- sprite[SPRITE.SLOT_NUMBERS_MAPPED][9] = create_text(1, '0', 12, "#FFF");
- sprite[SPRITE.SLOT_NUMBERS_MAPPED][10] = create_text(1, 'P', 12, "#FFF");
- user.load_keycode_mapping = function() {
- var keycode_mapping_cookie = Cookies.get("starveio_ext_keymap");
- if(keycode_mapping_cookie) {
- user.keycodes_to_mapped_keycodes = {};
- var tmp = keycode_mapping_cookie.split(",");
- for(var i = 0; i < tmp.length; i++) {
- var tmp_map = tmp[i].split("-");
- var mapped_from = parseInt(tmp_map[0])
- var mapped_to = parseInt(tmp_map[1]);
- user.keycodes_to_mapped_keycodes[mapped_from] = mapped_to;
- if(mapped_to >= '1'.charCodeAt(0) && mapped_to <= '9'.charCodeAt(0)) {
- var slot_index;
- if(mapped_to == 'P'.charCodeAt(0))
- slot_index = 10;
- else if(mapped_to == '0'.charCodeAt(0))
- slot_index = 9;
- else
- slot_index = mapped_to - '1'.charCodeAt(0);
- var mapped_from_char = String.fromCharCode(mapped_from);
- sprite[SPRITE.SLOT_NUMBERS_MAPPED][slot_index] = create_text(1, mapped_from_char, 12, "#FFF");
- }
- }
- }
- }
- user.save_keycode_mapping = function() {
- var res = "";
- var first = true;
- for(var key in user.keycodes_to_mapped_keycodes) {
- if(!first)
- res += ",";
- else
- first = false;
- var tmp = user.keycodes_to_mapped_keycodes[key];
- res += key.toString() + "-" + tmp.toString();
- }
- Cookies.set("starveio_ext_keymap", res);
- }
- user.load_keycode_mapping();
- function better_draw_amount(amount, loc, pushed) {
- var amount_as_img = get_amount_as_img(amount)
- var x = loc.x + 70 - amount_as_img.width - 5 * scale;
- var y = loc.y + 75 - amount_as_img.height - 5 * scale;
- if(pushed) {
- y += 5 * scale;
- }
- ctx.drawImage(amount_as_img, x, y);
- }
- function better_draw_slot(slot_index, loc, pushed) {
- var img;
- if(sprite[SPRITE.SLOT_NUMBERS_MAPPED][slot_index]) {
- img = sprite[SPRITE.SLOT_NUMBERS_MAPPED][slot_index];
- }else {
- img = sprite[SPRITE.SLOT_NUMBER][slot_index];
- }
- var x = loc.x + 5 * scale;
- var y = loc.y + 5 * scale;
- if(pushed) {
- y += 5 * scale;
- }
- ctx.drawImage(img, x, y);
- }
- user.inv.hotbar_button_locations = []
- for(var tmp_counter = 0; tmp_counter < 13; tmp_counter++) {
- user.inv.hotbar_button_locations[tmp_counter] = { x: 0, y: 0 };
- }
- game[UPDATE_INV_BUTTONS_FN_NAME] = function() {
- var user_inventory = user.inv;
- for(var index = 0; index < user_inventory.max; index++) {
- if(!user_inventory.hotbar_button_locations[index])
- user_inventory.hotbar_button_locations[index] = { x: 0, y: 0 }
- // it uses images width/height per element, which makes no sense if the elements
- // are ever not the same height and requires we already have items in our inventory.
- // we just use the constant width/height of 70x75
- user_inventory.hotbar_button_locations[index].x = (10 + 70) * index + game.gauges.img.width + 10;
- user_inventory.hotbar_button_locations[index].y = can.height - 75 - 10;
- }
- // now we update the can_select based on what we just determined. However the little
- // "plus" buttons are indexed by the item that they are "plusing" which means we
- // need to adjust based on our remapped items
- for(var index = 0; index < user_inventory.can_select.length; index++) {
- var true_index_of_this_index = -1; // for positioning the button
- for(var index2 = 0; index2 < user.inventory_index_to_mapped_index.length; index2++) {
- if(user.inventory_index_to_mapped_index[index2] == index) {
- true_index_of_this_index = index2;
- break;
- }
- }
- var cs_translate = user_inventory.can_select[index].info.translate;
- cs_translate.x = user_inventory.hotbar_button_locations[true_index_of_this_index].x;
- cs_translate.y = user_inventory.hotbar_button_locations[true_index_of_this_index].y;
- var pb_translate = this.plus_buttons[user_inventory.can_select[index].id].info.translate;
- var true_but_loc = user_inventory.hotbar_button_locations[true_index_of_this_index];
- pb_translate.x = true_but_loc.x + 18;
- pb_translate.y = true_but_loc.y - 35 - 6; // again 35 is height of plus button
- }
- }
- // force recalculate after building bag
- var oldClientBuildStop = client[CLIENT_BUILD_STOP_FN_NAME];
- client[CLIENT_BUILD_STOP_FN_NAME] = function(c) {
- oldClientBuildStop.apply(client, [ c ]);
- if(c == INV.BAG) {
- game[UPDATE_INV_BUTTONS_FN_NAME].apply(game, []);
- }
- }
- window[DRAW_UI_INVENTORY_FN_NAME] = function() {
- var user_inventory = user.inv;
- var user_fast_unit = world[WORLD_FAST_UNITS_ARR_NAME][user[USER_UID_VAR_NAME]];
- if(!user_fast_unit)
- return;
- var user_can_select = user_inventory.can_select;
- for(var index = 0; index < user_inventory.max; index++) {
- var item_to_draw = user_can_select[user.inventory_index_to_mapped_index[index]];
- var loc = user_inventory.hotbar_button_locations[index];
- if(!item_to_draw) {
- // draw the empty slot
- var empty_slot_img = sprite[SPRITE.EMPTY_SLOT][2];
- ctx.drawImage(empty_slot_img, loc.x, loc.y);
- continue;
- }
- var equipped_or_selected = false;
- if(user.right == item_to_draw.id || (user.clothe == item_to_draw.id && user.clothe > 0)) {
- equipped_or_selected = true;
- ctx.drawImage(item_to_draw.info.img[2], loc.x, loc.y);
- }else {
- ctx.drawImage(item_to_draw.info.img[item_to_draw.info.state], loc.x, loc.y);
- }
- var amount_of_item = user_inventory.n[item_to_draw.id];
- if(amount_of_item > 1) {
- better_draw_amount(amount_of_item, loc, equipped_or_selected);
- }
- if(amount_of_item > 0) {
- better_draw_slot(index, loc, equipped_or_selected);
- }
- var user_chest = user.chest;
- if(user_chest.open && (user_chest.id < 0 || user_chest.id == item_to_draw.id) && !(user_chest.lock && user_chest.pid != user.id)) {
- game.plus_buttons[item_to_draw.id].draw(ctx);
- }
- var user_furnace = user.furnace;
- if(user_furnace.open && item_to_draw.id == INV.WOOD) {
- game.plus_buttons[item_to_draw.id].draw(ctx);
- }
- }
- };
- function ext_try_command(spl_by_spaces) {
- if(spl_by_spaces[0] == "-swap") {
- if(spl_by_spaces.length != 3)
- return false;
- var num1 = parseInt(spl_by_spaces[1]);
- var num2 = parseInt(spl_by_spaces[2]);
- if(isNaN(num1) || isNaN(num2)) {
- return false;
- }
- if(num1 < 1 || num2 < 1 || num1 > user.inv.max || num2 > user.inv.max)
- return false;
- var num1_mapped = user.inventory_index_to_mapped_index[num1 - 1]
- var num2_mapped = user.inventory_index_to_mapped_index[num2 - 1]
- user.inventory_index_to_mapped_index[num1 - 1] = num2_mapped;
- user.inventory_index_to_mapped_index[num2 - 1] = num1_mapped;
- game[UPDATE_INV_BUTTONS_FN_NAME]();
- return true;
- }else if(spl_by_spaces[0] == "-remap")
- {
- if(spl_by_spaces.length != 3)
- return false;
- var let1 = spl_by_spaces[1].toUpperCase();
- var let2 = spl_by_spaces[2].toUpperCase();
- if(let1.length != 1 || let2.length != 1)
- return false;
- var mapped_from = let1.toUpperCase().charCodeAt(0);
- var mapped_to = let2.toUpperCase().charCodeAt(0);
- if((mapped_to >= '0'.charCodeAt(0) && mapped_to <= '9'.charCodeAt(0)) || mapped_to == 'P'.charCodeAt(0)) {
- var slot_index;
- if(mapped_to == 'P'.charCodeAt(0))
- slot_index = 10;
- else if(mapped_to == '0'.charCodeAt(0))
- slot_index = 9;
- else
- slot_index = mapped_to - '1'.charCodeAt(0);
- var mapped_from_char = String.fromCharCode(mapped_from);
- sprite[SPRITE.SLOT_NUMBERS_MAPPED][slot_index] = create_text(1, mapped_from_char, 12, "#FFF");
- }
- if(mapped_to == keyboard.LEFT) {
- keyboard.LEFT = mapped_from;
- return true;
- }else if(mapped_to == keyboard.RIGHT) {
- keyboard.RIGHT = mapped_from;
- return true;
- }else if(mapped_to == keyboard.TOP) {
- keyboard.TOP = mapped_from;
- return true;
- }else if(mapped_to == keyboard.BOTTOM) {
- keyboard.BOTTOM = mapped_from;
- return true;
- }
- user.keycodes_to_mapped_keycodes[mapped_from] = mapped_to;
- user.save_keycode_mapping();
- return true;
- }else if(spl_by_spaces[0] == "-unmapall") {
- if(spl_by_spaces.length != 1)
- return false;
- sprite[SPRITE.SLOT_NUMBERS_MAPPED] = {}
- user.keycodes_to_mapped_keycodes = {}
- user.save_keycode_mapping();
- return true;
- }
- return false;
- }
- window.removeEventListener("keyup", game[GAME_TRIGGER_KEYUP_FN_NAME], false)
- function new_game_trigger_keyup(c) {
- var keycode = c.keyCode;
- if(user.keycodes_to_mapped_keycodes[keycode])
- keycode = user.keycodes_to_mapped_keycodes[keycode];
- if (user.chat.open && keycode == 27) {
- user.chat.quit();
- }else if(keycode == 13) {
- var txt = user.chat.input.value;
- var spl = txt.split(" ");
- if(!ext_try_command(spl))
- user.chat.run();
- else
- user.chat.quit();
- }else if(!user.chat.open) {
- if(keycode === 82) {
- user.auto_feed.enabled = !user.auto_feed.enabled;
- }else if(80 === keycode && world.mode === WORLD.MODE_HUNGER_GAMES && !user.spectator)
- {
- user.show_spectators.enabled = !user.show_spectators.enabled;
- }else if(keycode == 'L'.charCodeAt(0)) {
- user.ext_fast_delete.enabled = !user.ext_fast_delete.enabled;
- }else
- {
- if(('0'.charCodeAt(0) <= keycode && '9'.charCodeAt(0) >= keycode) || keycode == 'P'.charCodeAt(0)) {
- if(user.craft.id < 0) {
- var slot_index;
- if(keycode == 'P'.charCodeAt(0))
- slot_index = 10;
- else if(keycode == '0'.charCodeAt(0))
- slot_index = 9;
- else
- slot_index = keycode - '1'.charCodeAt(0);
- var inv_index = user.inventory_index_to_mapped_index[slot_index];
- var item = user.inv.can_select[inv_index];
- if(item)
- client[CLIENT_SELECT_INV_FN_NAME](item.id, inv_index);
- }
- }else if(keycode == 89)
- user.bigmap = !user.bigmap;
- }
- }
- keyboard.up(c);
- }
- window.addEventListener("keyup", new_game_trigger_keyup, false);
- // this is a direct copy+paste of lines 15044-15058, except replacing this with game and commenting the one referencing keyup. This way i dont have to deobfuscate as much
- game[_0x97e8("0x546")] = function() {
- window[_0x97e8("0x52d")](_0x97e8("0x551"), this[_0x97e8("0x54a")], !1);
- window[_0x97e8("0x52d")](_0x97e8("0x538"), this[_0x97e8("0x54f")], !1);
- window.addEventListener(_0x97e8("0x550"), this[_0x97e8("0x54d")], !1);
- //window[_0x97e8("0x52d")]("keyup", this[_0x97e8("0x588")], !1);
- window.addEventListener(_0x97e8("0x58d"), this[_0x97e8("0x589")], !1)
- }
- ;
- game[_0x97e8("0x547")] = function() {
- window.removeEventListener("mousedown", this[_0x97e8("0x54a")], !1);
- window[_0x97e8("0x552")](_0x97e8("0x538"), this[_0x97e8("0x54f")], !1);
- window[_0x97e8("0x552")](_0x97e8("0x550"), this[_0x97e8("0x54d")], !1);
- //window[_0x97e8("0x552")](_0x97e8("0x58e"), this.yolo1525, !1);
- window[_0x97e8("0x552")](_0x97e8("0x58d"), this[_0x97e8("0x589")], !1)
- }
- // alert on delete inventory
- SPRITE["EXT_FAST_DELETE"] = find_unique_index();
- sprite[SPRITE.EXT_FAST_DELETE] = create_text(1, "Fast-Delete", 25, "#FFF", void 0, void 0, "#000", 5, 140);
- user.ext_fast_delete = { enabled: false, translate: { x: 0, y: 0 } };
- function draw_ext_fast_delete() {
- if(user.ext_fast_delete.enabled) {
- ctx.drawImage(sprite[SPRITE.EXT_FAST_DELETE], user.ext_fast_delete.translate.x, user.ext_fast_delete.translate.y);
- }
- }
- var actual_delete_inv = client[CLIENT_DELETE_INV_FN_NAME];
- client[CLIENT_DELETE_INV_FN_NAME] = function(c, f) {
- if(user.ext_fast_delete.enabled) {
- actual_delete_inv.apply(client, [c, f])
- return;
- }
- // we use setTimeout to ensure the context menu isn't brought up
- setTimeout(function() {
- swal({
- title: "Are you sure?",
- text: "You will not be able to recover this item!",
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: "Yes, delete it!",
- closeOnConfirm: true
- },
- function(){
- actual_delete_inv.apply(client, [ c, f ]);
- });
- }, 5);
- };
- // clock
- user.ext_clock = {
- enabled: true,
- translate: { x: 0, y: 0 },
- last_time: -1,
- last_transition_time: -1,
- extrapolated_transition_time: -1,
- radius: 50,
- time_per_half_day_ms: 1000 * 60 * 4
- }
- function init_clock() {
- var img = new Image();
- img.onload = function() {
- var clock_index = find_unique_index();
- SPRITE["EXT_CLOCK"] = clock_index;
- sprite[SPRITE.EXT_CLOCK] = img;
- }
- img.src = 'http://www.clker.com/cliparts/Y/F/q/S/J/O/dabnite-th.png';
- var canv = document.createElement("canvas");
- var ctx = canv.getContext("2d");
- canv.width = 8;
- canv.height = 8;
- ctx.fillStyle = "#FFF";
- ctx.strokeStyle = "#000";
- ctx.lineWidth = 1;
- ctx.beginPath();
- ctx.ellipse(4, 4, 3, 3, 0, 0, Math.PI * 2, false);
- ctx.fill();
- ctx.stroke();
- var img2 = new Image();
- img2.onload = function() {
- var my_index = find_unique_index();
- SPRITE["EXT_CLOCK_MARKER"] = my_index;
- sprite[SPRITE.EXT_CLOCK_MARKER] = img2;
- }
- img2.src = canv.toDataURL("image/png");
- }
- init_clock();
- var old_get_time = client[CLIENT_GET_TIME_FN_NAME];
- client[CLIENT_GET_TIME_FN_NAME] = function(c) {
- if(c != world.time) {
- var now = new Date().getTime();
- user.ext_clock.last_time = c;
- user.ext_clock.last_transition_time = now;
- user.ext_clock.extrapolated_transition_time = now + user.ext_clock.time_per_half_day_ms;
- }
- old_get_time.apply(this, [ c ]);
- };
- function draw_ext_clock() {
- if(!("EXT_CLOCK" in SPRITE))
- return; // clock not yet loaded
- if(!("EXT_CLOCK_MARKER" in SPRITE))
- return; // clock marker not yet loaded
- if(!user.ext_clock.enabled)
- return;
- if(user.ext_clock.extrapolated_transition_time < 0)
- return;
- var now = new Date().getTime();
- var time_since_transition = now - user.ext_clock.last_transition_time;
- var perc_progress_to_next;
- if(time_since_transition >= user.ext_clock.time_per_half_day_ms) {
- perc_progress_to_next = 1;
- }else {
- perc_progress_to_next = time_since_transition / user.ext_clock.time_per_half_day_ms;
- }
- var x = 0;
- var y = 0;
- if(user.ext_clock.last_time == SPRITE.DAY) {
- if(perc_progress_to_next < 0.5) {
- var ang = perc_progress_to_next * Math.PI;
- x = -Math.cos(ang);
- y = -Math.sin(ang);
- }else {
- var ang = (1.0 - perc_progress_to_next) * Math.PI;
- x = Math.cos(ang);
- y = -Math.sin(ang);
- }
- }else {
- if(perc_progress_to_next < 0.5) {
- var ang = perc_progress_to_next * Math.PI;
- x = Math.cos(ang);
- y = Math.sin(ang);
- }else {
- var ang = (1.0 - perc_progress_to_next) * Math.PI;
- x = -Math.cos(ang);
- y = Math.sin(ang);
- }
- }
- x = user.ext_clock.radius + x * user.ext_clock.radius - 4;
- y = user.ext_clock.radius + y * user.ext_clock.radius - 4;
- ctx.drawImage(sprite[SPRITE.EXT_CLOCK], user.ext_clock.translate.x, user.ext_clock.translate.y);
- ctx.drawImage(sprite[SPRITE.EXT_CLOCK_MARKER], user.ext_clock.translate.x + x, user.ext_clock.translate.y + y);
- }
- }, 2000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement