[gd_scene load_steps=26 format=2] [ext_resource path="res://maps/map.gd" type="Script" id=1] [ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=2] [ext_resource path="res://graphics/backgrounds/abyss.png" type="Texture" id=3] [ext_resource path="res://shaders/water_ripple.gdshader" type="Shader" id=4] [ext_resource path="res://audio/music/moon_trail.mp3" type="AudioStream" id=5] [ext_resource path="res://graphics/tiles/abyss.png" type="Texture" id=6] [ext_resource path="res://objects/Camera2D.tscn" type="PackedScene" id=7] [ext_resource path="res://objects/player/player_scholar.tscn" type="PackedScene" id=8] [ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=9] [ext_resource path="res://graphics/particles/bubble.png" type="Texture" id=10] [ext_resource path="res://objects/enemy/mine.tscn" type="PackedScene" id=11] [ext_resource path="res://scripts/random_spawner.gd" type="Script" id=12] [ext_resource path="res://objects/environment/bubble/bubble.tscn" type="PackedScene" id=13] [sub_resource type="CanvasItemMaterial" id=12] blend_mode = 3 [sub_resource type="ShaderMaterial" id=1] shader = ExtResource( 4 ) shader_param/offset = 0.5 shader_param/speed = 1.0 shader_param/waves = 32.0 shader_param/color_amount = 0.3 [sub_resource type="Shader" id=9] code = "shader_type canvas_item; uniform vec4 distortion_color: hint_color = vec4(1.0, 0.0, 1.0, 1.0); uniform float frames = 4.0; float rand(float co){ return fract(sin(dot(vec2(co, 0.0) ,vec2(12.9898,78.233))) * 43758.5453); } void vertex() { VERTEX.x /= frames; VERTEX.y /= 2.0; } void fragment() { COLOR = texture(TEXTURE, vec2(UV.x / frames + COLOR.r, UV.y / 2.0)); }" [sub_resource type="ShaderMaterial" id=10] shader = SubResource( 9 ) shader_param/distortion_color = Color( 1, 0, 1, 1 ) shader_param/frames = 4.0 [sub_resource type="Gradient" id=11] interpolation_mode = 1 offsets = PoolRealArray( 0, 0.25, 0.5, 0.75 ) colors = PoolColorArray( 0, 0, 0, 1, 0.25, 0, 0, 1, 0.501961, 0, 0, 1, 0.75, 0, 0, 1 ) [sub_resource type="RectangleShape2D" id=7] extents = Vector2( 4, 320 ) [sub_resource type="RectangleShape2D" id=8] extents = Vector2( 128, 4 ) [sub_resource type="ConvexPolygonShape2D" id=2] points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) [sub_resource type="ConvexPolygonShape2D" id=3] points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) [sub_resource type="ConvexPolygonShape2D" id=4] points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) [sub_resource type="ConvexPolygonShape2D" id=5] points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) [sub_resource type="TileSet" id=6] 0/name = "abyss" 0/texture = ExtResource( 6 ) 0/tex_offset = Vector2( 0, 0 ) 0/modulate = Color( 1, 1, 1, 1 ) 0/region = Rect2( 0, 0, 32, 40 ) 0/tile_mode = 2 0/autotile/icon_coordinate = Vector2( 0, 0 ) 0/autotile/tile_size = Vector2( 8, 8 ) 0/autotile/spacing = 0 0/autotile/occluder_map = [ ] 0/autotile/navpoly_map = [ ] 0/autotile/priority_map = [ ] 0/autotile/z_index_map = [ ] 0/occluder_offset = Vector2( 0, 0 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) 0/shape = SubResource( 2 ) 0/shape_one_way = false 0/shape_one_way_margin = 1.0 0/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 2 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 1 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 3 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 1 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 4 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 1 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 5 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 0/z_index = 0 [node name="Map" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 1 ) target_time_any = 60 target_time_100 = 120 music = ExtResource( 5 ) [node name="Camera2D" parent="." instance=ExtResource( 7 )] scroll_h = false scroll_v = true respawn_h = false [node name="BubbleSpawner" type="Node2D" parent="Camera2D"] position = Vector2( 0, 192 ) script = ExtResource( 12 ) scene = ExtResource( 13 ) extents = Rect2( 0, 0, 256, 8 ) [node name="BackgroundLayer" type="CanvasLayer" parent="."] layer = -50 [node name="Sprite" type="Sprite" parent="BackgroundLayer"] texture = ExtResource( 3 ) centered = false [node name="EffectLayer" type="CanvasLayer" parent="."] layer = 50 follow_viewport_enable = true [node name="Depth1" type="ColorRect" parent="EffectLayer"] material = SubResource( 12 ) anchor_right = 1.0 anchor_bottom = 1.0 margin_top = 192.0 margin_bottom = 192.0 color = Color( 0.784314, 0.784314, 0.784314, 1 ) [node name="Depth2" type="ColorRect" parent="EffectLayer"] material = SubResource( 12 ) anchor_right = 1.0 anchor_bottom = 1.0 margin_top = 384.0 margin_bottom = 384.0 color = Color( 0.768627, 0.556863, 0.556863, 1 ) [node name="WaterRipple" type="ColorRect" parent="EffectLayer"] material = SubResource( 1 ) anchor_right = 1.0 anchor_bottom = 1.0 margin_bottom = 384.0 color = Color( 0.054902, 0.0666667, 0.329412, 1 ) [node name="Bubbles" type="CPUParticles2D" parent="EffectLayer"] visible = false material = SubResource( 10 ) position = Vector2( 128, 200 ) lifetime = 13.0 local_coords = false texture = ExtResource( 10 ) emission_shape = 2 emission_rect_extents = Vector2( 128, 0 ) direction = Vector2( 0, -1 ) spread = 0.0 gravity = Vector2( 0, 0 ) initial_velocity = 16.0 color_initial_ramp = SubResource( 11 ) [node name="HUD" parent="." instance=ExtResource( 2 )] song_name = "@Moon Trail" [node name="Player" parent="." instance=ExtResource( 8 )] position = Vector2( 16, 56 ) [node name="LevelBorders" type="StaticBody2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="LevelBorders"] position = Vector2( -4, 256 ) shape = SubResource( 7 ) [node name="CollisionShape2D2" type="CollisionShape2D" parent="LevelBorders"] position = Vector2( 260, 256 ) shape = SubResource( 7 ) [node name="CollisionShape2D3" type="CollisionShape2D" parent="LevelBorders"] position = Vector2( 128, 580 ) shape = SubResource( 8 ) [node name="Tilemaps" type="Node2D" parent="."] [node name="Ground" type="TileMap" parent="Tilemaps"] tile_set = SubResource( 6 ) cell_size = Vector2( 8, 8 ) format = 1 tile_data = PoolIntArray( 393233, 0, 196608, 458752, 0, 65536, 458753, 0, 65537, 458754, 0, 65537, 458755, 0, 65537, 458756, 0, 65537, 458757, 0, 65537, 458758, 0, 65538, 458769, 0, 196608, 458770, 0, 0, 458771, 0, 0, 524302, 0, 0, 524303, 0, 0, 524305, 0, 196608, 589835, 0, 0, 589841, 0, 196608, 655368, 0, 0, 655377, 0, 196608, 720913, 0, 196608, 786449, 0, 196608, 851976, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 0, 0, 851980, 0, 0, 851981, 0, 0, 851982, 0, 0, 851983, 0, 0, 851984, 0, 0, 851985, 0, 0, 851986, 0, 0, 851987, 0, 0, 917511, 0, 0, 917512, 0, 0, 917513, 0, 0, 917514, 0, 0, 917515, 0, 0, 917516, 0, 0, 917517, 0, 0, 917518, 0, 0, 917519, 0, 0, 917520, 0, 0, 917521, 0, 0, 917522, 0, 0, 983048, 0, 0, 983049, 0, 0, 983050, 0, 0, 983051, 0, 0, 983052, 0, 0, 983053, 0, 0, 983054, 0, 0, 983055, 0, 0, 983056, 0, 0, 983057, 0, 0, 983058, 0, 0, 1048586, 0, 0, 1048587, 0, 0, 1048588, 0, 0, 1048589, 0, 0, 1048590, 0, 0, 1048591, 0, 0, 1048592, 0, 0, 1048593, 0, 0, 1114124, 0, 0, 1114125, 0, 0, 1114126, 0, 0, 1114127, 0, 0, 1114128, 0, 0 ) [node name="Ladders" type="Node2D" parent="."] [node name="Ladder" parent="Ladders" instance=ExtResource( 9 )] position = Vector2( 136, 48 ) scale = Vector2( 1, 7 ) [node name="Enemies" type="Node2D" parent="."] [node name="Mines" type="Node2D" parent="Enemies"] [node name="Mine" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 96, 32 ) [node name="Mine2" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 120, 32 ) [node name="Mine3" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 144, 24 ) [node name="Mine4" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 72, 48 )