diff --git a/autoloads/game.gd b/autoloads/game.gd index 538e826..443ef4b 100644 --- a/autoloads/game.gd +++ b/autoloads/game.gd @@ -49,7 +49,9 @@ var can_pause: bool = true var can_restart: bool = true var current_palette: String = "default" var still_playing: bool = false - +# demo hack marathon mode +var marathon_mode: bool = true +var next_level: PackedScene func _ready(): pause_mode = Node.PAUSE_MODE_PROCESS diff --git a/maps/boss/boss1_arena.gd b/maps/boss/boss1_arena.gd index ca40972..a66c67a 100644 --- a/maps/boss/boss1_arena.gd +++ b/maps/boss/boss1_arena.gd @@ -30,4 +30,7 @@ func _on_Boss1_entered_phase(phase): func _on_ExitTimer_timeout(): Game.save_boss() - Game.change_map(load("res://menus/level_select_scholar.tscn")) + if Game.marathon_mode: + Game.change_map(next_level) + else: + Game.change_map(load("res://menus/level_select_scholar.tscn")) diff --git a/maps/boss/boss1_arena.tscn b/maps/boss/boss1_arena.tscn index e5fb68f..dc4b540 100644 --- a/maps/boss/boss1_arena.tscn +++ b/maps/boss/boss1_arena.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=2] +[gd_scene load_steps=18 format=2] [ext_resource path="res://objects/enemy/boss/scrump.tscn" type="PackedScene" id=1] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=2] @@ -16,12 +16,14 @@ [ext_resource path="res://tilesets/t_ladders.tres" type="TileSet" id=14] [ext_resource path="res://shaders/can_stain.tres" type="Material" id=15] [ext_resource path="res://objects/lore/boss/the_scrump.tscn" type="PackedScene" id=16] +[ext_resource path="res://maps/level_select.tscn" type="PackedScene" id=17] [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 7 ) music = ExtResource( 11 ) lore_entries = [ ExtResource( 16 ) ] +next_level = ExtResource( 17 ) [node name="HUD" parent="." instance=ExtResource( 6 )] song_name = "♫Klystron" diff --git a/maps/graveyard.tscn b/maps/graveyard.tscn index cfffd0b..487851f 100644 --- a/maps/graveyard.tscn +++ b/maps/graveyard.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=27 format=2] +[gd_scene load_steps=28 format=2] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=1] [ext_resource path="res://maps/map.gd" type="Script" id=2] @@ -26,12 +26,14 @@ [ext_resource path="res://objects/lore/graveyard/woeful_soul.tscn" type="PackedScene" id=24] [ext_resource path="res://objects/lore/graveyard/graveyard.tscn" type="PackedScene" id=25] [ext_resource path="res://objects/lore/graveyard/artificial_soul.tscn" type="PackedScene" id=26] +[ext_resource path="res://maps/station.tscn" type="PackedScene" id=27] [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 2 ) music = ExtResource( 11 ) lore_entries = [ ExtResource( 25 ), ExtResource( 26 ), ExtResource( 23 ), ExtResource( 24 ) ] +next_level = ExtResource( 27 ) [node name="Background" type="CanvasLayer" parent="."] layer = -1 diff --git a/maps/hills_scholar.tscn b/maps/hills_scholar.tscn index 6d76db3..141dbd0 100644 --- a/maps/hills_scholar.tscn +++ b/maps/hills_scholar.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=31 format=2] +[gd_scene load_steps=32 format=2] [ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=1] [ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=2] @@ -30,6 +30,7 @@ [ext_resource path="res://scripts/has_splash.gd" type="Script" id=28] [ext_resource path="res://objects/lore/hills/speccy.tscn" type="PackedScene" id=29] [ext_resource path="res://objects/lore/hills/sg.tscn" type="PackedScene" id=30] +[ext_resource path="res://maps/graveyard.tscn" type="PackedScene" id=31] [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 @@ -38,6 +39,7 @@ target_time_any = 70 target_time_100 = 180 music = ExtResource( 3 ) lore_entries = [ ExtResource( 25 ), ExtResource( 24 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 30 ), ExtResource( 29 ) ] +next_level = ExtResource( 31 ) [node name="CanvasLayer" type="CanvasLayer" parent="."] layer = -2 diff --git a/maps/map.gd b/maps/map.gd index b387449..f7f7f70 100644 --- a/maps/map.gd +++ b/maps/map.gd @@ -6,6 +6,7 @@ export var target_time_any = 0 export var target_time_100 = 0 export (AudioStream) var music export (Array, PackedScene) var lore_entries = [] +export var next_level: PackedScene #Bonuses var time_bonus = true @@ -13,6 +14,7 @@ var life_bonus = true var collectible_bonus = false func _ready(): + Game.next_level = next_level get_tree().paused = true Game.can_pause = false Fade.fade_in(0.4) diff --git a/maps/station.tscn b/maps/station.tscn index 775b92d..8073da4 100644 --- a/maps/station.tscn +++ b/maps/station.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=36 format=2] +[gd_scene load_steps=37 format=2] [ext_resource path="res://maps/station.gd" type="Script" id=1] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=2] @@ -33,6 +33,7 @@ [ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=31] [ext_resource path="res://ui/theme.tres" type="Theme" id=32] [ext_resource path="res://graphics/hatch/hatch.png" type="Texture" id=33] +[ext_resource path="res://maps/boss/boss1_arena.tscn" type="PackedScene" id=34] [sub_resource type="Animation" id=2] resource_name = "open" @@ -58,6 +59,7 @@ pause_mode = 1 script = ExtResource( 1 ) music = ExtResource( 9 ) lore_entries = [ ExtResource( 30 ), ExtResource( 29 ), ExtResource( 25 ) ] +next_level = ExtResource( 34 ) [node name="Camera2D" parent="." instance=ExtResource( 6 )] diff --git a/menus/results.gd b/menus/results.gd index bff4c6d..f8c104e 100644 --- a/menus/results.gd +++ b/menus/results.gd @@ -2,7 +2,7 @@ extends Node const Text3D = preload("res://objects/hud/3d_text.tscn") const SubmitScore = preload("res://menus/submit_score.tscn") -const LevelSelect := preload("res://menus/level_select_scholar.tscn") +const LevelSelect := preload("res://maps/level_select.tscn") onready var shards: Node2D = $ShardsAndBonuses/Shards onready var score = $Score @@ -51,9 +51,9 @@ func final_score(): func _on_AnimationPlayer_animation_finished(anim_name): - Fade.fade_out(0.4) - yield(Fade, "fade_finished") - if Debug.is_cheating == false: - SceneManager.change_scene(SubmitScore.instance()) + if Game.marathon_mode: + Game.change_map(Game.next_level) else: + Fade.fade_out(0.4) + yield(Fade, "fade_finished") SceneManager.change_scene(LevelSelect.instance()) diff --git a/objects/environment/exit/exit.gd b/objects/environment/exit/exit.gd index 6e56ec4..febc7d8 100644 --- a/objects/environment/exit/exit.gd +++ b/objects/environment/exit/exit.gd @@ -40,5 +40,4 @@ func _on_player_teleport_finished(): yield(get_tree().create_timer(4.0, false), "timeout") Fade.fade_out(0.4) yield(Fade, "fade_finished") - SceneManager.change_scene(preload("res://menus/results.tscn").instance())