diff --git a/Bit Blaster.yyp b/Bit Blaster.yyp index 92e9147..069a6f5 100644 --- a/Bit Blaster.yyp +++ b/Bit Blaster.yyp @@ -41,6 +41,7 @@ {"id":{"name":"o_blocker_stump","path":"objects/o_blocker_stump/o_blocker_stump.yy",},}, {"id":{"name":"o_blocker","path":"objects/o_blocker/o_blocker.yy",},}, {"id":{"name":"o_camera","path":"objects/o_camera/o_camera.yy",},}, + {"id":{"name":"o_credits","path":"objects/o_credits/o_credits.yy",},}, {"id":{"name":"o_disc","path":"objects/o_disc/o_disc.yy",},}, {"id":{"name":"o_end_screen","path":"objects/o_end_screen/o_end_screen.yy",},}, {"id":{"name":"o_enemy_hurt","path":"objects/o_enemy_hurt/o_enemy_hurt.yy",},}, @@ -52,6 +53,7 @@ {"id":{"name":"o_hud","path":"objects/o_hud/o_hud.yy",},}, {"id":{"name":"o_icebolt","path":"objects/o_icebolt/o_icebolt.yy",},}, {"id":{"name":"o_inputs","path":"objects/o_inputs/o_inputs.yy",},}, + {"id":{"name":"o_mode_menu","path":"objects/o_mode_menu/o_mode_menu.yy",},}, {"id":{"name":"o_new_spell","path":"objects/o_new_spell/o_new_spell.yy",},}, {"id":{"name":"o_parent_enemy","path":"objects/o_parent_enemy/o_parent_enemy.yy",},}, {"id":{"name":"o_parent_hurt","path":"objects/o_parent_hurt/o_parent_hurt.yy",},}, @@ -81,7 +83,9 @@ {"id":{"name":"get_damaged","path":"scripts/get_damaged/get_damaged.yy",},}, {"id":{"name":"get_random_weapon","path":"scripts/get_random_weapon/get_random_weapon.yy",},}, {"id":{"name":"is_dying","path":"scripts/is_dying/is_dying.yy",},}, + {"id":{"name":"load_high_score","path":"scripts/load_high_score/load_high_score.yy",},}, {"id":{"name":"pause_movement","path":"scripts/pause_movement/pause_movement.yy",},}, + {"id":{"name":"save_high_score","path":"scripts/save_high_score/save_high_score.yy",},}, {"id":{"name":"background_music","path":"sounds/background_music/background_music.yy",},}, {"id":{"name":"explosion","path":"sounds/explosion/explosion.yy",},}, {"id":{"name":"hurt_sound","path":"sounds/hurt_sound/hurt_sound.yy",},}, @@ -114,8 +118,11 @@ {"id":{"name":"s_key_back","path":"sprites/s_key_back/s_key_back.yy",},}, {"id":{"name":"s_key_enter","path":"sprites/s_key_enter/s_key_enter.yy",},}, {"id":{"name":"s_key_esc","path":"sprites/s_key_esc/s_key_esc.yy",},}, + {"id":{"name":"s_key_one","path":"sprites/s_key_one/s_key_one.yy",},}, {"id":{"name":"s_key_q","path":"sprites/s_key_q/s_key_q.yy",},}, + {"id":{"name":"s_key_shift","path":"sprites/s_key_shift/s_key_shift.yy",},}, {"id":{"name":"s_key_space","path":"sprites/s_key_space/s_key_space.yy",},}, + {"id":{"name":"s_key_two","path":"sprites/s_key_two/s_key_two.yy",},}, {"id":{"name":"s_key_wasd","path":"sprites/s_key_wasd/s_key_wasd.yy",},}, {"id":{"name":"s_kill_count_1","path":"sprites/s_kill_count_1/s_kill_count_1.yy",},}, {"id":{"name":"s_kill_count","path":"sprites/s_kill_count/s_kill_count.yy",},}, diff --git a/objects/o_credits/Create_0.gml b/objects/o_credits/Create_0.gml new file mode 100644 index 0000000..7a95107 --- /dev/null +++ b/objects/o_credits/Create_0.gml @@ -0,0 +1 @@ +depth = -10000; \ No newline at end of file diff --git a/objects/o_credits/Draw_0.gml b/objects/o_credits/Draw_0.gml new file mode 100644 index 0000000..1594134 --- /dev/null +++ b/objects/o_credits/Draw_0.gml @@ -0,0 +1,41 @@ +var _cam_x = camera_get_view_x(view_camera[0]); +var _cam_w = camera_get_view_width(view_camera[0]); +var _cam_y = camera_get_view_y(view_camera[0]); +var _cam_h = camera_get_view_height(view_camera[0]); + +draw_rectangle_color(_cam_x, _cam_y, _cam_w + _cam_x, _cam_h + _cam_y, c_black, c_black, c_black, c_black, false); +draw_set_halign(fa_left); +draw_set_valign(fa_top); +draw_set_font(fnt_Tiny5); +draw_text_transformed(_cam_x + 10, _cam_y, "Credits", 2, 2, 0); +var pulse = 1 + 0.05 * sin(current_time * 0.01); +draw_sprite_ext(s_key_back, image_index, _cam_x + 610, _cam_y + 45, 0.5 + pulse, 0.5 + pulse, 0, c_white, 1); +draw_text_transformed(_cam_x + 225, _cam_y + 20, "-< Press Backspace to return", pulse, pulse, 0); + +draw_set_halign(fa_center); +// Credit Text Lines +var credit_lines = [ + "Developed by Andrew Trieu", + "Character & Item Sprites by Zerie", + "Tile Set by Butter Milk", + "Spells & Spawner by BDragon1727", + "Explosive Crate by Akonolisa", + "Explosion Animation by Pixel Frog", + "Keyboard Icons by ansdor", + "Fonts by Google Fonts", + "Background Music by David Renda", + "Hit Sound by Homemade_SFX", + "Healing & Item Pickup Sound by Freesound Community", + "Explosion Sound by Ahmed_Abdulaal" +]; + +// Draw each line spaced vertically +var base_y = _cam_y + 80; +var spacing = 20; + +for (var i = 0; i < array_length(credit_lines); i++) { + draw_text_transformed(_cam_x + (_cam_w / 2), base_y + i * spacing, credit_lines[i], 0.5, 0.5, 1); +} + +draw_set_halign(fa_left); +draw_set_valign(fa_top); \ No newline at end of file diff --git a/objects/o_credits/Step_0.gml b/objects/o_credits/Step_0.gml new file mode 100644 index 0000000..71c01e7 --- /dev/null +++ b/objects/o_credits/Step_0.gml @@ -0,0 +1,5 @@ +if global.back_key_pressed { + instance_destroy(); + + instance_create_depth(0, 0, -9000, o_start_menu); +} \ No newline at end of file diff --git a/objects/o_credits/o_credits.yy b/objects/o_credits/o_credits.yy new file mode 100644 index 0000000..c58d59f --- /dev/null +++ b/objects/o_credits/o_credits.yy @@ -0,0 +1,40 @@ +{ + "$GMObject":"", + "%Name":"o_credits", + "eventList":[ + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + ], + "managed":true, + "name":"o_credits", + "overriddenProperties":[], + "parent":{ + "name":"Controllers", + "path":"folders/Controllers.yy", + }, + "parentObjectId":{ + "name":"o_screen_pause", + "path":"objects/o_screen_pause/o_screen_pause.yy", + }, + "persistent":false, + "physicsAngularDamping":0.1, + "physicsDensity":0.5, + "physicsFriction":0.2, + "physicsGroup":1, + "physicsKinematic":false, + "physicsLinearDamping":0.1, + "physicsObject":false, + "physicsRestitution":0.1, + "physicsSensor":false, + "physicsShape":1, + "physicsShapePoints":[], + "physicsStartAwake":true, + "properties":[], + "resourceType":"GMObject", + "resourceVersion":"2.0", + "solid":false, + "spriteId":null, + "spriteMaskId":null, + "visible":true, +} \ No newline at end of file diff --git a/objects/o_end_screen/Draw_0.gml b/objects/o_end_screen/Draw_0.gml index 438d26d..37f680f 100644 --- a/objects/o_end_screen/Draw_0.gml +++ b/objects/o_end_screen/Draw_0.gml @@ -12,6 +12,10 @@ draw_set_valign(fa_middle); draw_set_font(fnt_Tiny5); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 20, "YOU WON!", 4, 4, 0); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "-< Press any key to continue >-", 1, 1, 0); + +draw_set_valign(fa_bottom); +draw_text_transformed(_cam_x + (_cam_w / 2) - 120, _cam_y + _cam_h - 30, "Current Score: " + string(global.current_score), 0.5, 0.5, 0); +draw_text_transformed(_cam_x + (_cam_w / 2) + 120, _cam_y + _cam_h - 30, "High Score: " + string(global.high_score), 0.5, 0.5, 0); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_set_alpha(1); diff --git a/objects/o_end_screen/Step_0.gml b/objects/o_end_screen/Step_0.gml index 6446816..023ed04 100644 --- a/objects/o_end_screen/Step_0.gml +++ b/objects/o_end_screen/Step_0.gml @@ -2,8 +2,14 @@ alpha += alpha_spd; alpha = clamp(alpha, 0, 1); if keyboard_check_pressed(vk_anykey) && alpha >= 1 { - global.enemyRoomMax += 100; - global.enemyActiveMax += 20; + global.enemy_room_max += 100; + global.enemy_active_max += 20; global.first_start = false; + + if (global.current_score >= global.high_score) { + global.high_score = global.current_score; + save_high_score(); + } + room_restart(); } \ No newline at end of file diff --git a/objects/o_game_over/Draw_0.gml b/objects/o_game_over/Draw_0.gml index 6a37d07..84ce112 100644 --- a/objects/o_game_over/Draw_0.gml +++ b/objects/o_game_over/Draw_0.gml @@ -13,6 +13,10 @@ draw_set_font(fnt_Special_Elite); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 20, "YOU DIED", 4, 4, 0); draw_set_font(fnt_Tiny5); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "-< Press any key to resurrect >-", 1, 1, 0); + +draw_set_valign(fa_bottom); +draw_text_transformed(_cam_x + (_cam_w / 2) - 120, _cam_y + _cam_h - 30, "Current Score: " + string(global.current_score), 0.5, 0.5, 0); +draw_text_transformed(_cam_x + (_cam_w / 2) + 120, _cam_y + _cam_h - 30, "High Score: " + string(global.high_score), 0.5, 0.5, 0); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_set_alpha(1); diff --git a/objects/o_game_over/Step_0.gml b/objects/o_game_over/Step_0.gml index 6e29cdf..e2f1099 100644 --- a/objects/o_game_over/Step_0.gml +++ b/objects/o_game_over/Step_0.gml @@ -3,5 +3,13 @@ alpha = clamp(alpha, 0, 1); if keyboard_check_pressed(vk_anykey) && alpha >= 1 { global.first_start = false; + + if (global.current_score >= global.high_score) { + global.high_score = global.current_score; + save_high_score(); + } + + global.current_score = 0; + room_restart() } \ No newline at end of file diff --git a/objects/o_game_over/o_game_over.yy b/objects/o_game_over/o_game_over.yy index 74608ee..ed34fb4 100644 --- a/objects/o_game_over/o_game_over.yy +++ b/objects/o_game_over/o_game_over.yy @@ -13,7 +13,10 @@ "name":"Controllers", "path":"folders/Controllers.yy", }, - "parentObjectId":null, + "parentObjectId":{ + "name":"o_screen_pause", + "path":"objects/o_screen_pause/o_screen_pause.yy", + }, "persistent":false, "physicsAngularDamping":0.1, "physicsDensity":0.5, diff --git a/objects/o_hud/Create_0.gml b/objects/o_hud/Create_0.gml index 5943f44..cda4a20 100644 --- a/objects/o_hud/Create_0.gml +++ b/objects/o_hud/Create_0.gml @@ -1,14 +1,18 @@ depth = -9000; -global.first_start = true; - player_hp = 0; player_max_hp = 0; -global.enemyRoomMax = 100; -global.enemyActiveMax = 20; -global.totalEnemiesSpawned = 0; -global.enemyKillCount = 0; +global.enemy_room_max = 100; +global.enemy_active_max = 20; +global.total_enemies_spawned = 0; +global.kill_count = 0; + +global.first_start = true; +global.current_score = 0; +load_high_score(); + +global.infinite_mode = false; // Weapon pickup global.weapon_notification = ""; diff --git a/objects/o_hud/Draw_0.gml b/objects/o_hud/Draw_0.gml index 35de89e..4d7dbdb 100644 --- a/objects/o_hud/Draw_0.gml +++ b/objects/o_hud/Draw_0.gml @@ -22,8 +22,12 @@ if instance_exists(o_player) && !instance_exists(o_screen_pause) { draw_set_halign(fa_left); draw_set_valign(fa_top); draw_set_font(fnt_Tiny5); - draw_text_transformed(_hud_x + 28, _hud_y + 23, string(global.enemyKillCount) , 0.5, 0.5, 0); - draw_text_transformed(_hud_x + 49, _hud_y + 23, " / " + string(global.enemyRoomMax), 0.5, 0.5, 0); + + draw_text_transformed(_hud_x + 28, _hud_y + 23, string(global.kill_count) , 0.5, 0.5, 0); + + if !global.infinite_mode { + draw_text_transformed(_hud_x + 49, _hud_y + 23, " / " + string(global.enemy_room_max), 0.5, 0.5, 0); + } } // Draw notification if active diff --git a/objects/o_hud/Other_5.gml b/objects/o_hud/Other_5.gml index 2caa5c4..ed79029 100644 --- a/objects/o_hud/Other_5.gml +++ b/objects/o_hud/Other_5.gml @@ -1,5 +1,5 @@ -global.totalEnemiesSpawned = 0; -global.enemyKillCount = 0; +global.total_enemies_spawned = 0; +global.kill_count = 0; global.weapon_notification = ""; global.weapon_notification_timer = 0; \ No newline at end of file diff --git a/objects/o_hud/Step_0.gml b/objects/o_hud/Step_0.gml index 0b08df8..b3ff476 100644 --- a/objects/o_hud/Step_0.gml +++ b/objects/o_hud/Step_0.gml @@ -1,11 +1,3 @@ -if global.first_start { - menu_inst = instance_create_depth(0, 0, -10000, o_start_menu) -} - -if global.start_key_pressed && instance_exists(menu_inst) { - instance_destroy(menu_inst); -} - // Get player's hp if instance_exists(o_player) { player_hp = o_player.hp; @@ -21,6 +13,10 @@ if (global.weapon_notification_timer > 0) { } } -if (global.enemyKillCount >= global.enemyRoomMax) { +if (global.kill_count >= global.enemy_room_max) { + if (global.current_score >= global.high_score) { + global.high_score = global.current_score; + save_high_score(); + } instance_create_depth(0, 0, -10000, o_end_screen); } \ No newline at end of file diff --git a/objects/o_inputs/Create_0.gml b/objects/o_inputs/Create_0.gml index b606dc1..661660c 100644 --- a/objects/o_inputs/Create_0.gml +++ b/objects/o_inputs/Create_0.gml @@ -8,4 +8,7 @@ global.heal_key_pressed = 0; global.start_key_pressed = 0; global.space_key_pressed = 0; global.back_key_pressed = 0; -global.pause_key_pressed = 0; \ No newline at end of file +global.pause_key_pressed = 0; +global.shift_key_pressed = 0; +global.one_key_pressed = 0; +global.two_key_pressed = 0; \ No newline at end of file diff --git a/objects/o_inputs/Step_1.gml b/objects/o_inputs/Step_1.gml index 5a47f1e..2431148 100644 --- a/objects/o_inputs/Step_1.gml +++ b/objects/o_inputs/Step_1.gml @@ -1,10 +1,19 @@ global.start_key_pressed = keyboard_check_pressed(vk_enter); global.space_key_pressed = keyboard_check_pressed(vk_space); -global.back_key_pressed = keyboard_check_pressed(vk_backspace) +global.back_key_pressed = keyboard_check_pressed(vk_backspace); +global.shift_key_pressed = keyboard_check_pressed(vk_shift); +if (!instance_exists(o_start_menu) && !instance_exists(o_tutorial) && !instance_exists(o_credits) && !instance_exists(o_mode_menu)) { + global.pause_key_pressed = keyboard_check_pressed(vk_escape); +} else { + global.pause_key_pressed = false; +} -if instance_exists(o_start_menu) || instance_exists(o_tutorial) { - exit; +global.one_key_pressed = keyboard_check_pressed(ord("1")); +global.two_key_pressed = keyboard_check_pressed(ord("2")); + +if instance_exists(o_start_menu) || instance_exists(o_tutorial) || instance_exists(o_credits) || instance_exists(o_mode_menu) { + exit; } global.right_key = keyboard_check(ord("D")); @@ -13,6 +22,4 @@ global.up_key = keyboard_check(ord("W")); global.down_key = keyboard_check(ord("S")); global.shoot_key = mouse_check_button(mb_left); global.swap_key_pressed = mouse_check_button_pressed(mb_right); -global.heal_key_pressed = keyboard_check(ord("Q")); -global.pause_key_pressed = keyboard_check_pressed(vk_escape); - +global.heal_key_pressed = keyboard_check(ord("Q")); \ No newline at end of file diff --git a/objects/o_mode_menu/Create_0.gml b/objects/o_mode_menu/Create_0.gml new file mode 100644 index 0000000..7a95107 --- /dev/null +++ b/objects/o_mode_menu/Create_0.gml @@ -0,0 +1 @@ +depth = -10000; \ No newline at end of file diff --git a/objects/o_mode_menu/Draw_0.gml b/objects/o_mode_menu/Draw_0.gml new file mode 100644 index 0000000..db55883 --- /dev/null +++ b/objects/o_mode_menu/Draw_0.gml @@ -0,0 +1,40 @@ +var _cam_x = camera_get_view_x(view_camera[0]); +var _cam_w = camera_get_view_width(view_camera[0]); +var _cam_y = camera_get_view_y(view_camera[0]); +var _cam_h = camera_get_view_height(view_camera[0]); + +draw_rectangle_color(_cam_x, _cam_y, _cam_w + _cam_x, _cam_h + _cam_y, c_black, c_black, c_black, c_black, false); +draw_set_halign(fa_left); +draw_set_valign(fa_top); +draw_set_font(fnt_Tiny5); +draw_text_transformed(_cam_x + 10, _cam_y, "Modes", 2, 2, 0); +draw_sprite_ext(s_key_back, image_index, _cam_x + 610, _cam_y + 45, 1.5, 1.5, 0, c_white, 1); +draw_text_transformed(_cam_x + 240, _cam_y + 20, "-< Press Backspace to return", 1, 1, 0); + +draw_set_halign(fa_center); +draw_set_valign(fa_middle); + +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 70, "Gauntlet Rush", 1.5, 1.5, 0); +draw_sprite_ext(s_key_one, image_index, _cam_x + (_cam_w / 2) + 150, _cam_y + (_cam_h / 2) - 55, 2, 2, 0, c_white, 1); +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "Endless Swarm", 1.5, 1.5, 0); +draw_sprite_ext(s_key_two, image_index, _cam_x + (_cam_w / 2) + 160, _cam_y + (_cam_h / 2) + 65, 2, 2, 0, c_white, 1); + +draw_set_alpha(0.7); +draw_set_valign(fa_top); +draw_text_transformed( + _cam_x + (_cam_w / 2), + _cam_y + (_cam_h / 2) - 40, + "Start with 40 enemies and fight through 100 kills.\nEach round increases difficulty. How long can you survive?", + 0.8, 0.8, 0 +); + +draw_text_transformed( + _cam_x + (_cam_w / 2), + _cam_y + (_cam_h / 2) + 80, + "Face as many enemies at once as you can in an endless battle.\nNo kill limit. Healing is rare. Just survive.", + 0.8, 0.8, 0 +); + +draw_set_halign(fa_left); +draw_set_valign(fa_top); +draw_set_alpha(1); \ No newline at end of file diff --git a/objects/o_mode_menu/Step_0.gml b/objects/o_mode_menu/Step_0.gml new file mode 100644 index 0000000..d18f22b --- /dev/null +++ b/objects/o_mode_menu/Step_0.gml @@ -0,0 +1,16 @@ +if global.back_key_pressed { + instance_destroy(); + + instance_create_depth(0, 0, -9000, o_start_menu); +} + +if global.one_key_pressed { + instance_destroy(); +} + +if global.two_key_pressed { + global.infinite_mode = true; + global.enemy_active_max = 100; + + instance_destroy(); +} \ No newline at end of file diff --git a/objects/o_mode_menu/o_mode_menu.yy b/objects/o_mode_menu/o_mode_menu.yy new file mode 100644 index 0000000..d6d7788 --- /dev/null +++ b/objects/o_mode_menu/o_mode_menu.yy @@ -0,0 +1,40 @@ +{ + "$GMObject":"", + "%Name":"o_mode_menu", + "eventList":[ + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, + ], + "managed":true, + "name":"o_mode_menu", + "overriddenProperties":[], + "parent":{ + "name":"Controllers", + "path":"folders/Controllers.yy", + }, + "parentObjectId":{ + "name":"o_screen_pause", + "path":"objects/o_screen_pause/o_screen_pause.yy", + }, + "persistent":false, + "physicsAngularDamping":0.1, + "physicsDensity":0.5, + "physicsFriction":0.2, + "physicsGroup":1, + "physicsKinematic":false, + "physicsLinearDamping":0.1, + "physicsObject":false, + "physicsRestitution":0.1, + "physicsSensor":false, + "physicsShape":1, + "physicsShapePoints":[], + "physicsStartAwake":true, + "properties":[], + "resourceType":"GMObject", + "resourceVersion":"2.0", + "solid":false, + "spriteId":null, + "spriteMaskId":null, + "visible":true, +} \ No newline at end of file diff --git a/objects/o_parent_enemy/Create_0.gml b/objects/o_parent_enemy/Create_0.gml index 9aa76e6..ff317bc 100644 --- a/objects/o_parent_enemy/Create_0.gml +++ b/objects/o_parent_enemy/Create_0.gml @@ -1,4 +1,4 @@ event_inherited(); get_damaged_create(100); -global.totalEnemiesSpawned++; \ No newline at end of file +global.total_enemies_spawned++; \ No newline at end of file diff --git a/objects/o_parent_enemy/Other_7.gml b/objects/o_parent_enemy/Other_7.gml index aa7d418..ad2f82b 100644 --- a/objects/o_parent_enemy/Other_7.gml +++ b/objects/o_parent_enemy/Other_7.gml @@ -1,11 +1,17 @@ if sprite_index == sprites[4] { - global.enemyKillCount++; + global.kill_count++; + global.current_score++; // Drop healing milk var _drop_chance = 10; + + if global.infinite_mode { + _drop_chance = 5; + } + var _chance = irandom(100); - if global.enemyKillCount mod 20 == 0 || _chance <= _drop_chance { + if ((!global.infinite_mode && global.kill_count mod 20 == 0) || _chance <= _drop_chance) { instance_create_depth(x, y, -600, o_potion); } diff --git a/objects/o_pause_menu/Draw_0.gml b/objects/o_pause_menu/Draw_0.gml index 44a1144..7aab8da 100644 --- a/objects/o_pause_menu/Draw_0.gml +++ b/objects/o_pause_menu/Draw_0.gml @@ -11,6 +11,10 @@ draw_set_font(fnt_Tiny5); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 20, "PAUSED", 4, 4, 0); draw_sprite_ext(s_key_esc, image_index, _cam_x + (_cam_w / 2) + 160, _cam_y + (_cam_h / 2) + 60, 1.5, 1.5, 0, c_white, alpha); draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "-< Press ESC to resume", 1, 1, 0); + +draw_set_valign(fa_bottom); +draw_text_transformed(_cam_x + (_cam_w / 2) - 120, _cam_y + _cam_h - 30, "Current Score: " + string(global.current_score), 0.5, 0.5, 0); +draw_text_transformed(_cam_x + (_cam_w / 2) + 120, _cam_y + _cam_h - 30, "High Score: " + string(global.high_score), 0.5, 0.5, 0); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_set_alpha(1); diff --git a/objects/o_player/Other_7.gml b/objects/o_player/Other_7.gml index 4c1dd4e..573b568 100644 --- a/objects/o_player/Other_7.gml +++ b/objects/o_player/Other_7.gml @@ -1,4 +1,8 @@ if sprite_index == sprites[4] { + if (global.current_score >= global.high_score) { + global.high_score = global.current_score; + save_high_score(); + } instance_create_depth(0, 0, -10000, o_game_over); instance_destroy(); } \ No newline at end of file diff --git a/objects/o_player/Step_0.gml b/objects/o_player/Step_0.gml index 4c021a1..e4d08d2 100644 --- a/objects/o_player/Step_0.gml +++ b/objects/o_player/Step_0.gml @@ -9,6 +9,11 @@ var pause_key_pressed = global.pause_key_pressed; // Pause game if pause_key_pressed { + if (global.current_score >= global.high_score) { + global.high_score = global.current_score; + save_high_score(); + } + if !instance_exists(o_pause_menu) { instance_create_depth(0, 0, -10000, o_pause_menu); } else { diff --git a/objects/o_spawner/Step_0.gml b/objects/o_spawner/Step_0.gml index 26e6a58..92725f6 100644 --- a/objects/o_spawner/Step_0.gml +++ b/objects/o_spawner/Step_0.gml @@ -3,8 +3,10 @@ if pause_movement() { exit; } timer++; // Reset when limit reached -if instance_number(o_parent_enemy) >= global.enemyActiveMax || global.totalEnemiesSpawned >= global.enemyRoomMax { - timer = 0; +if !global.infinite_mode { + if instance_number(o_parent_enemy) >= global.enemy_active_max || global.total_enemies_spawned >= global.enemy_room_max { + timer = 0; + } } // Spawn enemy diff --git a/objects/o_start_menu/Create_0.gml b/objects/o_start_menu/Create_0.gml index f3dd95f..c26539f 100644 --- a/objects/o_start_menu/Create_0.gml +++ b/objects/o_start_menu/Create_0.gml @@ -1,3 +1 @@ -alpha = 1; - depth = -9000; \ No newline at end of file diff --git a/objects/o_start_menu/Draw_0.gml b/objects/o_start_menu/Draw_0.gml index 225b470..2753871 100644 --- a/objects/o_start_menu/Draw_0.gml +++ b/objects/o_start_menu/Draw_0.gml @@ -3,22 +3,37 @@ var _cam_w = camera_get_view_width(view_camera[0]); var _cam_y = camera_get_view_y(view_camera[0]); var _cam_h = camera_get_view_height(view_camera[0]); -draw_set_alpha(alpha); draw_rectangle_color(_cam_x, _cam_y, _cam_w + _cam_x, _cam_h + _cam_y, c_green, c_green, c_green, c_green, false); + +draw_set_halign(fa_left); +draw_set_valign(fa_top); +draw_set_font(fnt_Tiny5); +draw_text_transformed(_cam_x + 6, _cam_y + 6, "Quit", 0.5, 0.5, 0); +draw_sprite_ext(s_key_esc, image_index, _cam_x + 38, _cam_y + 19, 0.8, 0.8, 0, c_white, 1); + draw_set_halign(fa_center); draw_set_valign(fa_middle); -draw_set_font(fnt_Tiny5); -draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 40, "Bit Blaster", 4, 4, 0); +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) - 70, "Bit Blaster", 4, 4, 0); var pulse = 1 + 0.05 * sin(current_time * 0.01); if global.first_start { - draw_sprite_ext(s_key_enter, image_index, _cam_x + (_cam_w / 2) + 160, _cam_y + (_cam_h / 2) + 40, 0.5 + pulse, 0.5 + pulse, 0, c_white, 1); - draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 30, "-< Press Enter to start", pulse, pulse, 0); + draw_sprite_ext(s_key_enter, image_index, _cam_x + (_cam_w / 2) + 160, _cam_y + (_cam_h / 2) + 20, 0.5 + pulse, 0.5 + pulse, 0, c_white, 1); + draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 10, "-< Press Enter to start", pulse, pulse, 0); } else { - draw_sprite_ext(s_key_enter, image_index, _cam_x + (_cam_w / 2) + 180, _cam_y + (_cam_h / 2) + 40, 0.5 + pulse, 0.5 + pulse, 0, c_white, 1); - draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 30, "-< Press Enter to continue", pulse, pulse, 0); + draw_sprite_ext(s_key_enter, image_index, _cam_x + (_cam_w / 2) + 180, _cam_y + (_cam_h / 2) + 20, 0.5 + pulse, 0.5 + pulse, 0, c_white, 1); + draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 10, "-< Press Enter to continue", pulse, pulse, 0); } -draw_sprite_ext(s_key_space, image_index, _cam_x + (_cam_w / 2) + 180, _cam_y + (_cam_h / 2) + 80, 1.5, 1.5, 0, c_white, 1); -draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 70, "-< Press Space for tutorial", 1, 1, 0); +draw_sprite_ext(s_key_space, image_index, _cam_x + (_cam_w / 2) + 180, _cam_y + (_cam_h / 2) + 60, 1.5, 1.5, 0, c_white, 1); +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "-< Press Space for tutorial", 1, 1, 0); + +draw_sprite_ext(s_key_space, image_index, _cam_x + (_cam_w / 2) + 180, _cam_y + (_cam_h / 2) + 60, 1.5, 1.5, 0, c_white, 1); +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 50, "-< Press Space for tutorial", 1, 1, 0); + +draw_sprite_ext(s_key_shift, image_index, _cam_x + (_cam_w / 2) + 170, _cam_y + (_cam_h / 2) + 99, 1.5, 1.5, 0, c_white, 1); +draw_text_transformed(_cam_x + (_cam_w / 2), _cam_y + (_cam_h / 2) + 90, "-< Press Shift for credits", 1, 1, 0); + +draw_set_valign(fa_bottom); +draw_text_transformed(_cam_x + (_cam_w / 2) - 120, _cam_y + _cam_h - 30, "Current Score: " + string(global.current_score), 0.5, 0.5, 0); +draw_text_transformed(_cam_x + (_cam_w / 2) + 120, _cam_y + _cam_h - 30, "High Score: " + string(global.high_score), 0.5, 0.5, 0); draw_set_halign(fa_left); draw_set_valign(fa_top); draw_set_alpha(1); diff --git a/objects/o_start_menu/Step_0.gml b/objects/o_start_menu/Step_0.gml index a90fc12..f4e2287 100644 --- a/objects/o_start_menu/Step_0.gml +++ b/objects/o_start_menu/Step_0.gml @@ -1,10 +1,22 @@ if global.start_key_pressed { instance_destroy(); - global.first_start = false; + + instance_create_depth(0, 0, -10000, o_mode_menu); } if global.space_key_pressed { instance_destroy(); instance_create_depth(0, 0, -10000, o_tutorial); -} \ No newline at end of file +} + +if global.shift_key_pressed { + instance_destroy(); + + instance_create_depth(0, 0, -10000, o_credits); +} + +if global.pause_key_pressed { + game_end(); +} + diff --git a/objects/o_tutorial/Create_0.gml b/objects/o_tutorial/Create_0.gml index 5f86c31..81a513d 100644 --- a/objects/o_tutorial/Create_0.gml +++ b/objects/o_tutorial/Create_0.gml @@ -2,17 +2,4 @@ alpha = 1; depth = -10000; -image_speed = 0.2; - -icons = { - wasd: s_key_wasd, - mouse_left: s_mouse_left, - mouse_right: s_mouse_right, - heal: s_key_q, - skeleton: s_key_wasd, - milk: s_key_wasd, - wizard: s_key_wasd, - tree: s_key_wasd, - stump: s_key_wasd, - coal: s_key_wasd, -}; \ No newline at end of file +image_speed = 0.2; \ No newline at end of file diff --git a/rooms/r_main/r_main.yy b/rooms/r_main/r_main.yy index 01f39d5..9c88813 100644 --- a/rooms/r_main/r_main.yy +++ b/rooms/r_main/r_main.yy @@ -555,7 +555,6 @@ {"name":"inst_25E872B4","path":"rooms/r_main/r_main.yy",}, {"name":"inst_273C558B","path":"rooms/r_main/r_main.yy",}, {"name":"inst_1E5EDC41","path":"rooms/r_main/r_main.yy",}, - {"name":"inst_D4F0E87","path":"rooms/r_main/r_main.yy",}, {"name":"inst_67AA71BA","path":"rooms/r_main/r_main.yy",}, {"name":"inst_230551AC","path":"rooms/r_main/r_main.yy",}, {"name":"inst_E5297A1","path":"rooms/r_main/r_main.yy",}, @@ -580,6 +579,7 @@ {"name":"inst_7464C47F","path":"rooms/r_main/r_main.yy",}, {"name":"inst_CEBD4D5","path":"rooms/r_main/r_main.yy",}, {"name":"inst_5281AA3B","path":"rooms/r_main/r_main.yy",}, + {"name":"inst_4600EDA4","path":"rooms/r_main/r_main.yy",}, ], "isDnd":false, "layers":[ @@ -1201,9 +1201,9 @@ {"$GMRInstance":"v2","%Name":"inst_75C62815","colour":4294967295,"frozen":true,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_75C62815","objectId":{"name":"o_new_spell","path":"objects/o_new_spell/o_new_spell.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":91.0,"y":903.0,}, {"$GMRInstance":"v2","%Name":"inst_6D55D55F","colour":4294967295,"frozen":true,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6D55D55F","objectId":{"name":"o_new_spell","path":"objects/o_new_spell/o_new_spell.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1835.0,"y":70.0,}, ],"layers":[],"name":"Spells","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,}, - {"$GMRInstanceLayer":"","%Name":"Instances","depth":-400,"effectEnabled":true,"effectType":null,"gridX":16,"gridY":16,"hierarchyFrozen":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[ - {"$GMRInstance":"v2","%Name":"inst_100DC68","colour":4294967295,"frozen":true,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_100DC68","objectId":{"name":"o_player","path":"objects/o_player/o_player.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":667.0,"y":601.0,}, - {"$GMRInstance":"v2","%Name":"inst_D4F0E87","colour":4294967295,"frozen":true,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_D4F0E87","objectId":{"name":"o_start_menu","path":"objects/o_start_menu/o_start_menu.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":706.0,"y":596.0,}, + {"$GMRInstanceLayer":"","%Name":"Instances","depth":-400,"effectEnabled":true,"effectType":null,"gridX":16,"gridY":16,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[ + {"$GMRInstance":"v2","%Name":"inst_100DC68","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_100DC68","objectId":{"name":"o_player","path":"objects/o_player/o_player.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":667.0,"y":601.0,}, + {"$GMRInstance":"v2","%Name":"inst_4600EDA4","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4600EDA4","objectId":{"name":"o_start_menu","path":"objects/o_start_menu/o_start_menu.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":715.0,"y":596.0,}, ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,}, {"$GMRAssetLayer":"","%Name":"doors_bottom","assets":[ {"$GMRSpriteGraphic":"v1","%Name":"graphic_D78647A","animationSpeed":1.0,"colour":4294967295,"frozen":true,"headPosition":0.0,"ignore":false,"inheritedItemId":null,"inheritItemSettings":false,"name":"graphic_D78647A","resourceType":"GMRSpriteGraphic","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"spriteId":{"name":"s_door_open_bottom","path":"sprites/s_door_open_bottom/s_door_open_bottom.yy",},"x":1421.0,"y":417.0,}, diff --git a/scripts/load_high_score/load_high_score.gml b/scripts/load_high_score/load_high_score.gml new file mode 100644 index 0000000..d62e499 --- /dev/null +++ b/scripts/load_high_score/load_high_score.gml @@ -0,0 +1,16 @@ +function load_high_score() { + if (file_exists("highscore.dat")) { + var _file = file_text_open_read("highscore.dat"); + var _str = file_text_read_string(_file); + file_text_close(_file); + + try { + var score_data = real(_str); + global.high_score = score_data + } catch (_) { + global.high_score = 0; + } + } else { + global.high_score = 0; + } +} \ No newline at end of file diff --git a/scripts/load_high_score/load_high_score.yy b/scripts/load_high_score/load_high_score.yy new file mode 100644 index 0000000..7743023 --- /dev/null +++ b/scripts/load_high_score/load_high_score.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"load_high_score", + "isCompatibility":false, + "isDnD":false, + "name":"load_high_score", + "parent":{ + "name":"Scripts", + "path":"folders/Scripts.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/save_high_score/save_high_score.gml b/scripts/save_high_score/save_high_score.gml new file mode 100644 index 0000000..eafc211 --- /dev/null +++ b/scripts/save_high_score/save_high_score.gml @@ -0,0 +1,5 @@ +function save_high_score() { + var file = file_text_open_write("highscore.dat"); + file_text_write_string(file, global.high_score); + file_text_close(file); +} \ No newline at end of file diff --git a/scripts/save_high_score/save_high_score.yy b/scripts/save_high_score/save_high_score.yy new file mode 100644 index 0000000..55e7cb3 --- /dev/null +++ b/scripts/save_high_score/save_high_score.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"save_high_score", + "isCompatibility":false, + "isDnD":false, + "name":"save_high_score", + "parent":{ + "name":"Scripts", + "path":"folders/Scripts.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/sprites/s_key_one/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png b/sprites/s_key_one/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png new file mode 100644 index 0000000..5a8e13c Binary files /dev/null and b/sprites/s_key_one/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png differ diff --git a/sprites/s_key_one/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png b/sprites/s_key_one/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png new file mode 100644 index 0000000..5a8e13c Binary files /dev/null and b/sprites/s_key_one/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png differ diff --git a/sprites/s_key_one/s_key_one.yy b/sprites/s_key_one/s_key_one.yy new file mode 100644 index 0000000..581ce0c --- /dev/null +++ b/sprites/s_key_one/s_key_one.yy @@ -0,0 +1,92 @@ +{ + "$GMSprite":"", + "%Name":"s_key_one", + "bboxMode":0, + "bbox_bottom":15, + "bbox_left":0, + "bbox_right":15, + "bbox_top":0, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":16, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"e4b37cce-4112-440c-bf18-f80c8eaf44d3","blendMode":0,"displayName":"default","isLocked":false,"name":"e4b37cce-4112-440c-bf18-f80c8eaf44d3","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_key_one", + "nineSlice":null, + "origin":7, + "parent":{ + "name":"Controllers", + "path":"folders/Controllers.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"v1", + "%Name":"s_key_one", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_key_one", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "seqHeight":16.0, + "seqWidth":16.0, + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","path":"sprites/s_key_one/s_key_one.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b34bbd14-09f8-44c3-8a8e-09d213e14ff7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":8, + "yorigin":16, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":16, +} \ No newline at end of file diff --git a/sprites/s_key_shift/7d0532cd-b7a2-4943-a6d8-409109b3b325.png b/sprites/s_key_shift/7d0532cd-b7a2-4943-a6d8-409109b3b325.png new file mode 100644 index 0000000..d3b3473 Binary files /dev/null and b/sprites/s_key_shift/7d0532cd-b7a2-4943-a6d8-409109b3b325.png differ diff --git a/sprites/s_key_shift/layers/7d0532cd-b7a2-4943-a6d8-409109b3b325/3e558524-3828-4a4e-85e4-61924496907b.png b/sprites/s_key_shift/layers/7d0532cd-b7a2-4943-a6d8-409109b3b325/3e558524-3828-4a4e-85e4-61924496907b.png new file mode 100644 index 0000000..d3b3473 Binary files /dev/null and b/sprites/s_key_shift/layers/7d0532cd-b7a2-4943-a6d8-409109b3b325/3e558524-3828-4a4e-85e4-61924496907b.png differ diff --git a/sprites/s_key_shift/s_key_shift.yy b/sprites/s_key_shift/s_key_shift.yy new file mode 100644 index 0000000..cb9d930 --- /dev/null +++ b/sprites/s_key_shift/s_key_shift.yy @@ -0,0 +1,92 @@ +{ + "$GMSprite":"", + "%Name":"s_key_shift", + "bboxMode":0, + "bbox_bottom":15, + "bbox_left":0, + "bbox_right":15, + "bbox_top":0, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"7d0532cd-b7a2-4943-a6d8-409109b3b325","name":"7d0532cd-b7a2-4943-a6d8-409109b3b325","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":16, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"3e558524-3828-4a4e-85e4-61924496907b","blendMode":0,"displayName":"default","isLocked":false,"name":"3e558524-3828-4a4e-85e4-61924496907b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_key_shift", + "nineSlice":null, + "origin":7, + "parent":{ + "name":"Controllers", + "path":"folders/Controllers.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"v1", + "%Name":"s_key_shift", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_key_shift", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "seqHeight":16.0, + "seqWidth":16.0, + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7d0532cd-b7a2-4943-a6d8-409109b3b325","path":"sprites/s_key_shift/s_key_shift.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b79d1ffd-b198-43d6-bc20-c2e807c33296","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":8, + "yorigin":16, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":16, +} \ No newline at end of file diff --git a/sprites/s_key_two/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png b/sprites/s_key_two/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png new file mode 100644 index 0000000..eea67ce Binary files /dev/null and b/sprites/s_key_two/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b.png differ diff --git a/sprites/s_key_two/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png b/sprites/s_key_two/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png new file mode 100644 index 0000000..eea67ce Binary files /dev/null and b/sprites/s_key_two/layers/eeeb533a-7049-4eaa-85c9-e4c2b1683a8b/e4b37cce-4112-440c-bf18-f80c8eaf44d3.png differ diff --git a/sprites/s_key_two/s_key_two.yy b/sprites/s_key_two/s_key_two.yy new file mode 100644 index 0000000..ef09c93 --- /dev/null +++ b/sprites/s_key_two/s_key_two.yy @@ -0,0 +1,92 @@ +{ + "$GMSprite":"", + "%Name":"s_key_two", + "bboxMode":0, + "bbox_bottom":15, + "bbox_left":0, + "bbox_right":15, + "bbox_top":0, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":16, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"e4b37cce-4112-440c-bf18-f80c8eaf44d3","blendMode":0,"displayName":"default","isLocked":false,"name":"e4b37cce-4112-440c-bf18-f80c8eaf44d3","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_key_two", + "nineSlice":null, + "origin":7, + "parent":{ + "name":"Controllers", + "path":"folders/Controllers.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"v1", + "%Name":"s_key_two", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_key_two", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "seqHeight":16.0, + "seqWidth":16.0, + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"eeeb533a-7049-4eaa-85c9-e4c2b1683a8b","path":"sprites/s_key_two/s_key_two.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b34bbd14-09f8-44c3-8a8e-09d213e14ff7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":8, + "yorigin":16, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":16, +} \ No newline at end of file