Compare commits

...

4 Commits

55 changed files with 2022 additions and 293 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 692 B

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Mega_Man_3_Topman_Asset_Grab.png-ee0c2a41f62387abc451b1a8212f4676.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/environment/blocks/Mega_Man_3_Topman_Asset_Grab.png"
dest_files=[ "res://.import/Mega_Man_3_Topman_Asset_Grab.png-ee0c2a41f62387abc451b1a8212f4676.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Planting-Grounds-For-Basic.png-48b5c6d5ee7249e4ac85f61e28d73029.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/environment/blocks/Planting-Grounds-For-Basic.png"
dest_files=[ "res://.import/Planting-Grounds-For-Basic.png-48b5c6d5ee7249e4ac85f61e28d73029.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Deko_Plants_Sprite_Sheet.png-f067c3e18377ae129b10565f72c4255a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/environment/decor/Deko_Plants_Sprite_Sheet.png"
dest_files=[ "res://.import/Deko_Plants_Sprite_Sheet.png-f067c3e18377ae129b10565f72c4255a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Roots_And_Leafs.png-f6fc38556570fe29c021e9f188aa8405.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/environment/decor/Roots_And_Leafs.png"
dest_files=[ "res://.import/Roots_And_Leafs.png-f6fc38556570fe29c021e9f188aa8405.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/glass.png-745834525a9b5546c44d2aa3dc6f78e7.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/environment/decor/glass.png"
dest_files=[ "res://.import/glass.png-745834525a9b5546c44d2aa3dc6f78e7.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

After

Width:  |  Height:  |  Size: 132 B

View File

@ -118,11 +118,14 @@ _global_script_class_icons={
config/name="Blobby"
run/main_scene="res://src/UserInterface/Screens/MainMenu/MainScreen.tscn"
run/low_processor_mode=true
config/icon="res://icon.png"
[audio]
default_bus_layout="res://src/Sounds/default_bus_layout.tres"
output_latency=32
output_latency.web=128
[autoload]
@ -139,7 +142,7 @@ settings/fps/force_fps=60
window/size/width=640
window/size/height=360
window/size/test_width=1240
window/size/test_width=1280
window/size/test_height=720
window/stretch/mode="2d"
window/stretch/aspect="expand"
@ -312,8 +315,8 @@ ui_click={
[physics]
common/physics_fps=120
common/physics_jitter_fix=0.8
2d/thread_model=0
2d/use_bvh=false
2d/cell_size=100
common/physics_interpolation=true
common/enable_object_picking=false
@ -323,8 +326,17 @@ common/enable_object_picking=false
2d/options/use_nvidia_rect_flicker_workaround=true
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0
2d/snapping/use_gpu_pixel_snap=true
threads/thread_model=2
quality/reflections/texture_array_reflections=false
quality/reflections/high_quality_ggx=false
2d/options/use_software_skinning=false
gles3/shaders/shader_compilation_mode=2
gles3/shaders/shader_compilation_mode.mobile=2
gles3/shaders/shader_compilation_mode.web=2
gles3/shaders/max_simultaneous_compiles.web=2
gles3/shaders/shader_cache_size_mb.mobile=256
gles3/shaders/shader_cache_size_mb.web=256
quality/depth/hdr=false
environment/default_environment="res://default_env.tres"
environment/2d/use_nvidia_rect_flicker_workaround=true

View File

@ -345,7 +345,7 @@ states/wallsliding/node = SubResource( 96 )
states/wallsliding/position = Vector2( 1795.45, 770.152 )
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "runToJump", "jumping", SubResource( 148 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ), "running", "turnToRun", SubResource( 203 ), "running", "ducking", SubResource( 161 ), "falling", "landStretching", SubResource( 220 ), "landStretching", "idling", SubResource( 221 ), "landStretching", "walking", SubResource( 222 ), "jumpStretching", "jumping", SubResource( 224 ), "ducking", "jumpStretching", SubResource( 225 ), "idling", "jumpStretching", SubResource( 226 ), "walking", "jumpStretching", SubResource( 229 ) ]
start_node = "idling"
graph_offset = Vector2( 1124.54, -315.431 )
graph_offset = Vector2( 642.54, -299.431 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
@ -4385,7 +4385,7 @@ texture = SubResource( 62 )
offset = Vector2( 1, 0 )
hframes = 6
vframes = 6
frame = 5
frame = 6
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo="
}

View File

@ -30,12 +30,13 @@ tracks/0/keys = {
"values": [ Vector2( 1, 1 ), Vector2( 1.05, 1 ), Vector2( 1.1, 1.05 ), Vector2( 1.05, 1.1 ) ]
}
[node name="Caterpillar" type="KinematicBody2D" groups=["harmful"]]
[node name="Caterpillar" type="KinematicBody2D" groups=["frogfood", "harmful"]]
scale = Vector2( 0.747749, 0.572926 )
collision_layer = 2
collision_layer = 258
collision_mask = 9
collision/safe_margin = 0.001
script = ExtResource( 2 )
killable = false
[node name="enemy" type="Sprite" parent="."]
position = Vector2( 0, -3.49085 )

View File

@ -16,6 +16,7 @@ onready var invincible_shader = preload("res://src/Actors/Blobby/InvincibleShade
# Is given in blocks
export var frog_number := 0
export var vision_distance := 6.0
export var vision_angle := 180.0
export var attack_jump_range := 6.0
export var aggressive_to_player := false
export var loose_target_seconds := 3.0
@ -254,7 +255,7 @@ func detect_food() -> void:
var ray_angle_to_facing = vision_raycast.cast_to.angle_to(orientation.cast_to)
vision_raycast.force_raycast_update()
var collider = vision_raycast.get_collider()
if abs(ray_angle_to_facing) < PI / 3 && collider != null && collider.is_in_group("frogfood"):
if abs(ray_angle_to_facing) < deg2rad(vision_angle) && collider != null && collider.is_in_group("frogfood"):
target_lost_timer.stop()
target = collider
food_target = collider

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=51 format=2]
[gd_scene load_steps=50 format=2]
[ext_resource path="res://assets/enemy/froshler.png" type="Texture" id=1]
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.gd" type="Script" id=2]
@ -433,9 +433,6 @@ extents = Vector2( 12, 0.75 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 18.2143, 13.5955 )
[sub_resource type="RectangleShape2D" id=59]
extents = Vector2( 12, 15 )
[sub_resource type="RectangleShape2D" id=60]
extents = Vector2( 12, 0.53125 )
@ -444,6 +441,8 @@ collision_layer = 2
collision_mask = 184
collision/safe_margin = 0.002
script = ExtResource( 2 )
vision_distance = 16.0
attack_jump_range = 10.0
[node name="Statemachine" type="Node2D" parent="."]
script = ExtResource( 3 )
@ -520,7 +519,7 @@ physics_process_parent = true
[node name="FeelerRayCast" type="RayCast2D" parent="."]
enabled = true
cast_to = Vector2( 0, -1 )
collision_mask = 281
collision_mask = 25
collide_with_areas = true
[node name="Orientation" type="RayCast2D" parent="."]
@ -543,9 +542,10 @@ collision_mask = 41
collide_with_areas = true
[node name="VisionRayCast" type="RayCast2D" parent="."]
visible = false
enabled = true
cast_to = Vector2( 0, -1 )
collision_mask = 297
collision_mask = 256
collide_with_areas = true
[node name="EnemyBody" type="CollisionShape2D" parent="."]
@ -602,17 +602,10 @@ one_shot = true
wait_time = 0.3
one_shot = true
[node name="JumpCollisionBody" type="KinematicBody2D" parent="."]
collision_layer = 0
collision_mask = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="JumpCollisionBody"]
position = Vector2( 0, -6 )
shape = SubResource( 59 )
[node name="RideCollisionBody" type="KinematicBody2D" parent="."]
position = Vector2( 0, -7 )
collision_layer = 2
collision_mask = 16
[node name="CollisionShape2D" type="CollisionShape2D" parent="RideCollisionBody"]
shape = SubResource( 60 )

View File

@ -118,6 +118,8 @@ func set_wallet(value) -> void:
gsr.wallet = value
SaveManager.save_default()
func get_wallet() -> int:
return gsr.wallet
func reinstate() -> void:
if gsr.input_map.size() <= 1:

View File

@ -140,8 +140,8 @@ texture = ExtResource( 317 )
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 316 )
volume_db = -10.0
pitch_scale = 1.1
volume_db = -15.0
pitch_scale = 1.09
bus = "Effects"
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -1,21 +1,61 @@
[gd_scene load_steps=14 format=2]
[gd_scene load_steps=16 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3]
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=7]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=9]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=10]
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=11]
[ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" id=12]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=6]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=7]
[ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" id=8]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=10]
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=11]
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=12]
[sub_resource type="Shader" id=15]
code = "shader_type canvas_item;
uniform vec4 in_color:hint_color;
uniform vec4 out_color:hint_color;
uniform float in_out:hint_range(0.,1.)=0.;
uniform float position:hint_range(-1.5,1.) = 0.856;
uniform vec2 size = vec2(16., 16.);
void fragment(){
vec2 a = (1./SCREEN_PIXEL_SIZE) / size;
vec2 uv=UV;
uv *= a;
vec2 i_uv = floor(uv);
vec2 f_uv = fract(uv);
float wave = max(0.,i_uv.x/(a.x) - position);
vec2 center = f_uv*2.-1.;
float circle = length(center);
circle = 1. - step(wave,circle);
vec4 color = mix(in_color, out_color, step(0.5, in_out));
COLOR=vec4(circle) * color;
}"
[sub_resource type="ShaderMaterial" id=16]
shader = SubResource( 15 )
shader_param/in_color = Color( 0, 0, 0, 1 )
shader_param/out_color = Color( 0, 0, 0, 0.568627 )
shader_param/in_out = 0.0
shader_param/position = -1.5
shader_param/size = Vector2( 32, 32 )
[sub_resource type="TileSet" id=5]
0/name = "platform-plants.png 0"
0/texture = ExtResource( 3 )
0/texture = ExtResource( 7 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 16, 0, 256, 16 )
@ -37,17 +77,29 @@
0/z_index = 0
[node name="LevelTemplate" type="Node2D"]
script = ExtResource( 10 )
script = ExtResource( 9 )
__meta__ = {
"_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ]
}
[node name="SignalManager" parent="." instance=ExtResource( 7 )]
[node name="SignalManager" parent="." instance=ExtResource( 5 )]
[node name="SceneAudio" parent="." instance=ExtResource( 6 )]
[node name="SceneAudio" parent="." instance=ExtResource( 3 )]
[node name="LevelState" parent="." instance=ExtResource( 9 )]
[node name="TransitionLayer" type="CanvasLayer" parent="."]
visible = false
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
material = SubResource( 16 )
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="LevelState" parent="." instance=ExtResource( 1 )]
unique_name_in_owner = true
[node name="Label" type="Label" parent="."]
@ -55,29 +107,26 @@ margin_left = -100.0
margin_top = 21.0
margin_right = 109.0
margin_bottom = 62.0
custom_fonts/font = ExtResource( 12 )
custom_fonts/font = ExtResource( 8 )
text = "< = Rescue Pod
0/10 sests occupied"
align = 1
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
[node name="UserInterface" parent="." instance=ExtResource( 4 )]
unique_name_in_owner = true
visible = false
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
wait_time = 20.0
[node name="WhatAreFrog" parent="." instance=ExtResource( 4 )]
[node name="WhatAreFrog" parent="." instance=ExtResource( 2 )]
position = Vector2( 121, 103 )
[node name="BlobbyCam" parent="." instance=ExtResource( 5 )]
[node name="BlobbyCam" parent="." instance=ExtResource( 6 )]
unique_name_in_owner = true
drag_margin_bottom = 0.3
fixed_position = true
[node name="TileMap" type="TileMap" parent="."]
unique_name_in_owner = true
tile_set = ExtResource( 1 )
tile_set = ExtResource( 10 )
cell_size = Vector2( 16, 16 )
cell_quadrant_size = 3
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
@ -85,10 +134,10 @@ collision_layer = 8
collision_mask = 8
bake_navigation = true
format = 1
tile_data = PoolIntArray( 65522, 5, 65540, 65523, 5, 10, 65524, 5, 10, 65525, 5, 10, 65526, 5, 10, 65527, 5, 10, 65528, 5, 10, 65529, 5, 10, 65530, 5, 10, 65531, 5, 10, 65532, 5, 10, 65533, 5, 10, 65534, 5, 10, 65535, 5, 10, 0, 5, 10, 1, 5, 10, 2, 5, 10, 3, 5, 10, 4, 5, 10, 5, 5, 10, 6, 5, 10, 7, 5, 10, 8, 5, 10, 9, 5, 10, 10, 5, 10, 11, 5, 10, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 16, 5, 10, 17, 5, 10, 18, 5, 10, 19, 5, 10, 131058, 5, 7, 196594, 5, 7, 262130, 5, 7, 327666, 5, 7, 393202, 5, 7, 458738, 5, 7, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 2, 458767, 5, 2, 458768, 5, 2, 458769, 5, 2, 458770, 5, 2, 458771, 5, 3 )
tile_data = PoolIntArray( 65522, 5, 65540, 65523, 5, 10, 65524, 5, 10, 65525, 5, 10, 65526, 5, 10, 65527, 5, 10, 65528, 5, 10, 65529, 5, 10, 65530, 5, 10, 65531, 5, 10, 65532, 5, 10, 65533, 5, 10, 65534, 5, 10, 65535, 5, 10, 0, 5, 10, 1, 5, 10, 2, 5, 10, 3, 5, 10, 4, 5, 10, 5, 5, 10, 6, 5, 10, 7, 5, 10, 8, 5, 10, 9, 5, 10, 10, 5, 10, 11, 5, 10, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 16, 5, 10, 17, 5, 10, 18, 5, 10, 19, 5, 10, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 2, 458767, 5, 2, 458768, 5, 2, 458769, 5, 2, 458770, 5, 2, 458771, 5, 3 )
[node name="DropThroughPlatforms" type="TileMap" parent="."]
tile_set = ExtResource( 2 )
tile_set = ExtResource( 11 )
cell_size = Vector2( 16, 16 )
format = 1
@ -99,7 +148,7 @@ format = 1
[node name="LevelAmbiance" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource( 11 )
stream = ExtResource( 12 )
volume_db = -14.994
autoplay = true
bus = "Music"

View File

@ -6,10 +6,6 @@ onready var signal_manager := get_tree().root.get_child(4).get_node("%SignalMana
onready var unactivatable_timer := $Timer
var activatable = true
func _input(event: InputEvent) -> void:
if activatable && Input.is_action_just_released("interact"):
selfActivate()
func selfActivate():
@ -20,7 +16,9 @@ func selfActivate():
signal_manager.emit_signal("unlocked", "gateblock")
func _on_ActivatorArea_area_entered(area:Area2D) -> void:
func _on_ActivatorArea_body_entered(body: Node) -> void:
if(!body.is_in_group("player") && !body.is_in_group("frog")):
return
$Highlight.visible = true
if activatable:
selfActivate()

View File

@ -104,7 +104,8 @@ anims/onning = SubResource( 13 )
[node name="ActivatorArea" type="Area2D" parent="."]
unique_name_in_owner = true
collision_layer = 32
collision_layer = 0
collision_mask = 3
monitorable = false
[node name="ActivatorAreaShape" type="CollisionShape2D" parent="ActivatorArea"]
@ -115,6 +116,5 @@ shape = SubResource( 18 )
wait_time = 0.333
one_shot = true
[connection signal="area_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_area_entered"]
[connection signal="area_exited" from="ActivatorArea" to="." method="_on_ActivatorArea_area_exited"]
[connection signal="body_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_body_entered"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View File

@ -28,6 +28,7 @@ func selfActivate():
func _on_ActivatorArea_area_entered(area:Area2D) -> void:
$Label.visible = true
$Label.text = "Orbs in Wallet: " + str(level_state.check_balance())
$Highlight.visible = true
activatable = true

View File

@ -26,6 +26,7 @@ z_index = -1
script = ExtResource( 2 )
[node name="Highlight" type="TextureRect" parent="."]
visible = false
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
@ -37,13 +38,14 @@ margin_bottom = 34.0
texture = SubResource( 22 )
[node name="Label" type="Label" parent="."]
margin_left = -18.0
visible = false
margin_left = -32.0
margin_top = -30.0
margin_right = 48.0
margin_right = 78.0
margin_bottom = -16.0
rect_scale = Vector2( 0.590909, 0.627907 )
custom_fonts/font = ExtResource( 3 )
text = "[purchase]"
text = "Orbs in wallet: 999"
[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 0, -4 )

View File

@ -0,0 +1,137 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://assets/environment/decor/glass.png" type="Texture" id=1]
[ext_resource path="res://assets/environment/decor/Roots_And_Leafs.png" type="Texture" id=2]
[sub_resource type="TileSet" id=1]
0/name = "glass.png 0"
0/texture = ExtResource( 1 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 32, 0, 16, 16 )
0/tile_mode = 0
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_one_way = false
0/shape_one_way_margin = 0.0
0/shapes = [ ]
0/z_index = 0
1/name = "glass.png 1"
1/texture = ExtResource( 1 )
1/tex_offset = Vector2( 0, 0 )
1/modulate = Color( 1, 1, 1, 1 )
1/region = Rect2( 48, 16, 16, 16 )
1/tile_mode = 0
1/occluder_offset = Vector2( 0, 0 )
1/navigation_offset = Vector2( 0, 0 )
1/shape_offset = Vector2( 0, 0 )
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
1/shape_one_way = false
1/shape_one_way_margin = 0.0
1/shapes = [ ]
1/z_index = 0
2/name = "glass.png 2"
2/texture = ExtResource( 1 )
2/tex_offset = Vector2( 0, 0 )
2/modulate = Color( 1, 1, 1, 1 )
2/region = Rect2( 8, 0, 16, 16 )
2/tile_mode = 0
2/occluder_offset = Vector2( 0, 0 )
2/navigation_offset = Vector2( 0, 0 )
2/shape_offset = Vector2( 0, 0 )
2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
2/shape_one_way = false
2/shape_one_way_margin = 0.0
2/shapes = [ ]
2/z_index = 0
3/name = "glass.png 3"
3/texture = ExtResource( 1 )
3/tex_offset = Vector2( 0, 0 )
3/modulate = Color( 1, 1, 1, 1 )
3/region = Rect2( 8, 16, 16, 16 )
3/tile_mode = 0
3/occluder_offset = Vector2( 0, 0 )
3/navigation_offset = Vector2( 0, 0 )
3/shape_offset = Vector2( 0, 0 )
3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
3/shape_one_way = false
3/shape_one_way_margin = 0.0
3/shapes = [ ]
3/z_index = 0
4/name = "Roots_And_Leafs.png 4"
4/texture = ExtResource( 2 )
4/tex_offset = Vector2( 0, 0 )
4/modulate = Color( 1, 1, 1, 1 )
4/region = Rect2( 0, 0, 16, 16 )
4/tile_mode = 0
4/occluder_offset = Vector2( 0, 0 )
4/navigation_offset = Vector2( 0, 0 )
4/shape_offset = Vector2( 0, 0 )
4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
4/shape_one_way = false
4/shape_one_way_margin = 0.0
4/shapes = [ ]
4/z_index = 0
5/name = "Roots_And_Leafs.png 5"
5/texture = ExtResource( 2 )
5/tex_offset = Vector2( 0, 0 )
5/modulate = Color( 1, 1, 1, 1 )
5/region = Rect2( 16, 0, 16, 16 )
5/tile_mode = 0
5/occluder_offset = Vector2( 0, 0 )
5/navigation_offset = Vector2( 0, 0 )
5/shape_offset = Vector2( 0, 0 )
5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
5/shape_one_way = false
5/shape_one_way_margin = 0.0
5/shapes = [ ]
5/z_index = 0
6/name = "Roots_And_Leafs.png 6"
6/texture = ExtResource( 2 )
6/tex_offset = Vector2( 0, 0 )
6/modulate = Color( 1, 1, 1, 1 )
6/region = Rect2( 32, 0, 16, 16 )
6/tile_mode = 0
6/occluder_offset = Vector2( 0, 0 )
6/navigation_offset = Vector2( 0, 0 )
6/shape_offset = Vector2( 0, 0 )
6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
6/shape_one_way = false
6/shape_one_way_margin = 0.0
6/shapes = [ ]
6/z_index = 0
7/name = "Roots_And_Leafs.png 7"
7/texture = ExtResource( 2 )
7/tex_offset = Vector2( 0, 0 )
7/modulate = Color( 1, 1, 1, 1 )
7/region = Rect2( 0, 16, 16, 16 )
7/tile_mode = 0
7/occluder_offset = Vector2( 0, 0 )
7/navigation_offset = Vector2( 0, 0 )
7/shape_offset = Vector2( 0, 0 )
7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
7/shape_one_way = false
7/shape_one_way_margin = 0.0
7/shapes = [ ]
7/z_index = 0
8/name = "Roots_And_Leafs.png 8"
8/texture = ExtResource( 2 )
8/tex_offset = Vector2( 0, 0 )
8/modulate = Color( 1, 1, 1, 1 )
8/region = Rect2( 16, 16, 16, 16 )
8/tile_mode = 0
8/occluder_offset = Vector2( 0, 0 )
8/navigation_offset = Vector2( 0, 0 )
8/shape_offset = Vector2( 0, 0 )
8/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
8/shape_one_way = false
8/shape_one_way_margin = 0.0
8/shapes = [ ]
8/z_index = 0
[node name="GlassAndRoots" type="TileMap"]
tile_set = SubResource( 1 )
cell_size = Vector2( 16, 16 )
format = 1

View File

@ -100,9 +100,10 @@ func grass_wave_update(delta: float) -> void:
# print(displacement_coeff.x)
# saved_coeff = displacement_coeff.x
for polygon in get_children():
displacement_coeff.x = clamp(displacement_coeff.x, -max_displacement, max_displacement)
if polygon is Polygon2D:
polygon.material.set_shader_param("displacement_coefficient_x",
clamp(displacement_coeff.x, -max_displacement, max_displacement))
displacement_coeff.x)
break
last_distance = Vector2(distance, v_distance)

View File

@ -1,6 +1,47 @@
[gd_resource type="TileSet" load_steps=18 format=2]
[gd_resource type="TileSet" load_steps=33 format=2]
[ext_resource path="res://assets/environment/blocks/Planting-Grounds-For-Basic.png" type="Texture" id=1]
[ext_resource path="res://assets/environment/blocks/BasicTileSet.png" type="Texture" id=2]
[ext_resource path="res://assets/environment/blocks/Mega_Man_3_Topman_Asset_Grab.png" type="Texture" id=3]
[sub_resource type="ConvexPolygonShape2D" id=37]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=38]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=39]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=40]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=41]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=42]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=50]
points = PoolVector2Array( 16, 16, 16, 16, 4, 14, 2, 12, 0, 0, 16, 0 )
[sub_resource type="ConvexPolygonShape2D" id=51]
points = PoolVector2Array( 0, 0, 0, 0, 16, 0, 14, 12, 12, 14, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=45]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=46]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=47]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=48]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="ConvexPolygonShape2D" id=49]
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
[sub_resource type="NavigationPolygon" id=21]
vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
@ -176,3 +217,125 @@ outlines = [ PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) ]
7/shape_one_way_margin = 0.0
7/shapes = [ ]
7/z_index = 0
15/name = "Mega_Man_3_Topman_Asset_Grab.png 15"
15/texture = ExtResource( 3 )
15/tex_offset = Vector2( 0, 0 )
15/modulate = Color( 1, 1, 1, 1 )
15/region = Rect2( 0, 0, 64, 64 )
15/tile_mode = 2
15/autotile/icon_coordinate = Vector2( 2, 1 )
15/autotile/tile_size = Vector2( 16, 16 )
15/autotile/spacing = 0
15/autotile/occluder_map = [ ]
15/autotile/navpoly_map = [ ]
15/autotile/priority_map = [ ]
15/autotile/z_index_map = [ ]
15/occluder_offset = Vector2( 0, 0 )
15/navigation_offset = Vector2( 0, 0 )
15/shape_offset = Vector2( 0, 0 )
15/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
15/shape = SubResource( 37 )
15/shape_one_way = false
15/shape_one_way_margin = 1.0
15/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 37 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 1, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 38 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 2, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 39 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 3, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 40 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 0, 1 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 41 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 1, 1 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 42 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 3, 1 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 50 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 2, 1 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 51 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
15/z_index = 0
16/name = "Planting-Grounds-For-Basic.png 16"
16/texture = ExtResource( 1 )
16/tex_offset = Vector2( 0, 0 )
16/modulate = Color( 1, 1, 1, 1 )
16/region = Rect2( 64, 0, 80, 16 )
16/tile_mode = 2
16/autotile/icon_coordinate = Vector2( 0, 0 )
16/autotile/tile_size = Vector2( 16, 16 )
16/autotile/spacing = 0
16/autotile/occluder_map = [ ]
16/autotile/navpoly_map = [ ]
16/autotile/priority_map = [ ]
16/autotile/z_index_map = [ ]
16/occluder_offset = Vector2( 0, 0 )
16/navigation_offset = Vector2( 0, 0 )
16/shape_offset = Vector2( 0, 0 )
16/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
16/shape = SubResource( 45 )
16/shape_one_way = false
16/shape_one_way_margin = 1.0
16/shapes = [ {
"autotile_coord": Vector2( 3, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 45 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 2, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 46 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 1, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 47 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 48 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 4, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 49 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
16/z_index = 0

View File

@ -88,10 +88,10 @@ shader = SubResource( 1 )
shader_param/global_transform = null
shader_param/viewport_transform = null
shader_param/n_lights = 0
shader_param/default_light_color = Color( 1, 0.94902, 0.74902, 1 )
shader_param/default_light_color = null
shader_param/light_level = 0.0
shader_param/offset_modifier = 0.48
shader_param/n_light_bands = 13
shader_param/will_smooth_shade = true
shader_param/offset_modifier = 1.0
shader_param/n_light_bands = 7
shader_param/will_smooth_shade = false
shader_param/band_decay_rate = 0.5
shader_param/light_strength_modifier = 1.0

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -125,6 +125,9 @@ unique_name_in_owner = true
position = Vector2( -70, 1 )
scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )
@ -152,7 +155,7 @@ format = 1
[node name="ElevatorButton" parent="." instance=ExtResource( 10 )]
position = Vector2( 832, 310 )
elevator_time = 5
elevator_time = 15
[node name="Portal" parent="." instance=ExtResource( 11 )]
position = Vector2( 832, 368 )

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=26 format=2]
[gd_scene load_steps=30 format=2]
[ext_resource path="res://src/Contraptions/Rope/RopeAnchor.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=2]
@ -20,6 +20,8 @@
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=18]
[ext_resource path="res://src/Actors/Friendlies/BoundFrog.gd" type="Script" id=19]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=20]
[ext_resource path="res://src/UserInterface/TutorialComboThingy.tscn" type="PackedScene" id=21]
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=22]
[sub_resource type="Shader" id=55]
code = "shader_type canvas_item;
@ -88,6 +90,62 @@ shader_param/size = Vector2( 32, 32 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=54]
[sub_resource type="Shader" id=15]
code = "shader_type canvas_item;
uniform sampler2D noise_tex_normal;
uniform sampler2D noise_tex;
uniform float progress : hint_range(0.0, 1.0);
uniform float scale : hint_range(0.0, 100.0);
uniform float strength = 1.0;
// If your sprite doesn't have enough space and the explosion gets clipped,
// you can uncomment this and adjust the scale
void vertex() {
VERTEX *= scale;
UV *= scale;
UV -= (scale - 1.0) / 2.0;
}
void fragment() {
vec2 direction = texture(noise_tex_normal, UV).xy; // We're using normal map as direction
direction -= 0.5; // Since our normal map is a texture, it ranges from 0.0 to 1.0...
direction *= 2.0; // ...so we're going to make it range from -1.0 to 1.0.
direction = direction * strength * progress;
// UV for exploded texture
vec2 tex_size = 1.0 / TEXTURE_PIXEL_SIZE; // Real texture size in pixels
vec2 uv = floor(UV * tex_size) / (tex_size - 1.0); // Pixelate UV to snap pixels
uv = uv - direction; // Distort UV
// Texture with exploded UV
vec4 tex = texture(TEXTURE, uv);
// Dissolve alpha
float dissolve = texture(noise_tex, UV).x;
dissolve = step(progress, dissolve);
tex.a *= dissolve;
// Border (in case the edge of your sprite stretches, otherwise you can remove this block)
vec2 border_uv = uv * 2.0 - 1.0;
border_uv = clamp(abs(border_uv), 0.0, 1.0);
float border = max(border_uv.x, border_uv.y);
border = ceil(1.0 - border);
tex.a *= border;
COLOR = tex;
}"
[sub_resource type="ShaderMaterial" id=57]
resource_local_to_scene = true
shader = SubResource( 15 )
shader_param/progress = 0.0
shader_param/scale = 1.0
shader_param/strength = 0.1
shader_param/noise_tex_normal = ExtResource( 22 )
shader_param/noise_tex = ExtResource( 22 )
[node name="LevelTemplate" type="Node2D"]
script = ExtResource( 20 )
__meta__ = {
@ -215,6 +273,28 @@ position = Vector2( 48, 91 )
position = Vector2( 207, -4 )
z_index = -1
[node name="TutorialComboThingy" parent="." instance=ExtResource( 21 )]
visible = false
position = Vector2( -45, -46 )
action1 = "duck"
action2 = "jump"
goal_state = "ducking"
tutorial_text = "Duck and Jump to fall through"
press_limit = 1
[node name="Button1" parent="TutorialComboThingy" index="1"]
material = SubResource( 57 )
[node name="Button2" parent="TutorialComboThingy" index="2"]
material = SubResource( 57 )
[node name="Label" parent="TutorialComboThingy/TextureRect" index="0"]
margin_left = -126.0
margin_right = 7.0
[node name="CollisionShape2D" parent="TutorialComboThingy/StartTutorialArea" index="0"]
position = Vector2( 5, 86 )
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[connection signal="child_exiting_tree" from="BoundFrog/WhatAreFrog" to="BoundFrog" method="_on_WhatAreFrog_child_exiting_tree"]
[connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"]
@ -227,3 +307,4 @@ z_index = -1
[editable path="Blobby"]
[editable path="Flyer"]
[editable path="BoundFrog/RopeAnchor"]
[editable path="TutorialComboThingy"]

View File

@ -1,7 +1,6 @@
[gd_scene load_steps=26 format=2]
[gd_scene load_steps=25 format=2]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1]
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=2]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
@ -135,7 +134,7 @@ death_sound_1 = null
death_sound_2 = null
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 9
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )
@ -230,13 +229,6 @@ elevator_time = 16
position = Vector2( 16, 112 )
next_scene = "res://src/Levels/Level 2.tscn"
[node name="LevelAmbiance" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource( 2 )
volume_db = -14.994
autoplay = true
bus = "Music"
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"]

File diff suppressed because one or more lines are too long

View File

@ -981,6 +981,7 @@ __meta__ = {
"_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ]
}
level_music = "res://assets/music/The Laboratory (LOOP).wav"
[node name="SignalManager" parent="." instance=ExtResource( 6 )]
@ -1009,6 +1010,9 @@ unique_name_in_owner = true
position = Vector2( -88, 96 )
scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )

View File

@ -86,6 +86,7 @@ shader_param/size = Vector2( 32, 32 )
[node name="Level 4" type="Node2D"]
script = ExtResource( 10 )
level_music = "res://assets/music/The Laboratory (LOOP).wav"
[node name="SignalManager" parent="." instance=ExtResource( 2 )]
@ -119,7 +120,7 @@ position = Vector2( -183, 111 )
scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 6
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )

View File

@ -185,7 +185,7 @@ position = Vector2( -45, -5.96046e-08 )
scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 8
frame = 5
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=17 format=2]
[gd_scene load_steps=19 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
@ -11,7 +11,9 @@
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=10]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/Environment/GlassAndRoots.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Environment/Plants/DecorPlant.tscn" type="PackedScene" id=14]
[sub_resource type="Shader" id=15]
code = "shader_type canvas_item;
@ -146,6 +148,10 @@ tile_set = SubResource( 5 )
cell_size = Vector2( 16, 16 )
format = 1
[node name="DecorPlants" parent="." instance=ExtResource( 14 )]
[node name="GlassAndRoots" parent="." instance=ExtResource( 12 )]
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
position = Vector2( 208, 102 )
elevator_time = 10

View File

@ -41,7 +41,7 @@ resource_name = "LowPassFilter"
cutoff_hz = 3000.0
[resource]
bus/0/volume_db = -20.0
bus/0/volume_db = -6.93575
bus/1/name = "Music"
bus/1/solo = false
bus/1/mute = false

View File

@ -43,16 +43,16 @@ resource_name = "Redlight"
length = 3.33
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("../HUDOverlay:color")
tracks/0/path = NodePath("../../HUDOverlay:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1.7 ),
"times": PoolRealArray( 0, 1.66 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Color( 0, 0, 0, 0 ), Color( 0.478431, 0, 0, 0.207843 ) ]
"values": [ Color( 0, 0, 0, 0 ), Color( 1, 0, 0, 0.117647 ) ]
}
[node name="HUD" type="Control"]

View File

@ -38,7 +38,9 @@ func check_goal_state() -> void:
$TextureRect2.visible = false
$TextureRect3.visible = false
$AudioStreamPlayer.play()
$AnimationPlayer.play("cease_4_exist")
$AnimationPlayer.play("cease_4_exist")
else:
queue_free()
func _ready() -> void:
# Should save itself into the progress dictionary upon creation

View File

@ -15,8 +15,6 @@ var level_time := 0.0
func _ready() -> void:
GlobalState.gsr.last_played_level = levelName
SaveManager.save_default()
if GlobalState.get_level_completed(levelName):
GlobalState.set_level_completed(levelName, false)
signal_manager.connect("level_completed", self, "_on_level_completed")
signal_manager.connect("player_died", self, "player_dying")
@ -39,12 +37,11 @@ func set_currency(value: int) -> void:
signal_manager.emit_signal("currency_updated")
func get_currency() -> int:
return GlobalState.gsr.wallet + currency
return currency
func set_deaths(value: int) -> void:
deaths = value
func set_dead(value: bool) -> void:
is_dead = value
@ -96,7 +93,7 @@ func spend_currency(cost: int) -> bool:
# TODO member that
if OS.is_debug_build():
return true
if get_currency() < cost:
if check_balance() < cost:
return false
var remainder = currency - cost
if remainder >= 0:
@ -107,6 +104,9 @@ func spend_currency(cost: int) -> bool:
GlobalState.set_wallet(GlobalState.gsr.wallet + remainder)
return true
func check_balance() -> int:
var balance = currency + GlobalState.get_wallet()
return balance
func _on_level_completed():
#if(OS.is_debug_build()):