Compare commits

..

No commits in common. "a32e99cf420ab1fcc564977b469102ee55044e66" and "37b702f94a238b8c88c35a09d80a63321f07cd3c" have entirely different histories.

55 changed files with 293 additions and 2022 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,35 +0,0 @@
[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.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1,35 +0,0 @@
[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.

Before

Width:  |  Height:  |  Size: 27 KiB

View File

@ -1,35 +0,0 @@
[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.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,35 +0,0 @@
[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: 177 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

View File

@ -1,35 +0,0 @@
[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: 135 B

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 122 B

View File

@ -118,14 +118,11 @@ _global_script_class_icons={
config/name="Blobby" config/name="Blobby"
run/main_scene="res://src/UserInterface/Screens/MainMenu/MainScreen.tscn" run/main_scene="res://src/UserInterface/Screens/MainMenu/MainScreen.tscn"
run/low_processor_mode=true
config/icon="res://icon.png" config/icon="res://icon.png"
[audio] [audio]
default_bus_layout="res://src/Sounds/default_bus_layout.tres" default_bus_layout="res://src/Sounds/default_bus_layout.tres"
output_latency=32
output_latency.web=128
[autoload] [autoload]
@ -142,7 +139,7 @@ settings/fps/force_fps=60
window/size/width=640 window/size/width=640
window/size/height=360 window/size/height=360
window/size/test_width=1280 window/size/test_width=1240
window/size/test_height=720 window/size/test_height=720
window/stretch/mode="2d" window/stretch/mode="2d"
window/stretch/aspect="expand" window/stretch/aspect="expand"
@ -315,8 +312,8 @@ ui_click={
[physics] [physics]
common/physics_fps=120 common/physics_fps=120
common/physics_jitter_fix=0.8
2d/thread_model=0 2d/thread_model=0
2d/use_bvh=false
2d/cell_size=100 2d/cell_size=100
common/physics_interpolation=true common/physics_interpolation=true
common/enable_object_picking=false common/enable_object_picking=false
@ -326,17 +323,8 @@ common/enable_object_picking=false
2d/options/use_nvidia_rect_flicker_workaround=true 2d/options/use_nvidia_rect_flicker_workaround=true
quality/intended_usage/framebuffer_allocation=0 quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0 quality/intended_usage/framebuffer_allocation.mobile=0
2d/snapping/use_gpu_pixel_snap=true
threads/thread_model=2 threads/thread_model=2
quality/reflections/texture_array_reflections=false
quality/reflections/high_quality_ggx=false
2d/options/use_software_skinning=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 quality/depth/hdr=false
environment/default_environment="res://default_env.tres" environment/default_environment="res://default_env.tres"
environment/2d/use_nvidia_rect_flicker_workaround=true 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 ) 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 ) ] 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" start_node = "idling"
graph_offset = Vector2( 642.54, -299.431 ) graph_offset = Vector2( 1124.54, -315.431 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=48] [sub_resource type="AnimationNodeStateMachinePlayback" id=48]
@ -4385,7 +4385,7 @@ texture = SubResource( 62 )
offset = Vector2( 1, 0 ) offset = Vector2( 1, 0 )
hframes = 6 hframes = 6
vframes = 6 vframes = 6
frame = 6 frame = 5
__meta__ = { __meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo=" "_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo="
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,61 +1,21 @@
[gd_scene load_steps=16 format=2] [gd_scene load_steps=14 format=2]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=1] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.tscn" type="PackedScene" id=2] [ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=3] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=4] [ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.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=5]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=6] [ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=6]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=7] [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=7]
[ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" id=8] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9] [ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=9]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=10] [ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" 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=11]
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=12] [ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" 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] [sub_resource type="TileSet" id=5]
0/name = "platform-plants.png 0" 0/name = "platform-plants.png 0"
0/texture = ExtResource( 7 ) 0/texture = ExtResource( 3 )
0/tex_offset = Vector2( 0, 0 ) 0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 ) 0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 16, 0, 256, 16 ) 0/region = Rect2( 16, 0, 256, 16 )
@ -77,29 +37,17 @@ shader_param/size = Vector2( 32, 32 )
0/z_index = 0 0/z_index = 0
[node name="LevelTemplate" type="Node2D"] [node name="LevelTemplate" type="Node2D"]
script = ExtResource( 9 ) script = ExtResource( 10 )
__meta__ = { __meta__ = {
"_edit_horizontal_guides_": [ 464.0 ], "_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ] "_edit_vertical_guides_": [ 2880.0 ]
} }
[node name="SignalManager" parent="." instance=ExtResource( 5 )] [node name="SignalManager" parent="." instance=ExtResource( 7 )]
[node name="SceneAudio" parent="." instance=ExtResource( 3 )] [node name="SceneAudio" parent="." instance=ExtResource( 6 )]
[node name="TransitionLayer" type="CanvasLayer" parent="."] [node name="LevelState" parent="." instance=ExtResource( 9 )]
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 unique_name_in_owner = true
[node name="Label" type="Label" parent="."] [node name="Label" type="Label" parent="."]
@ -107,26 +55,29 @@ margin_left = -100.0
margin_top = 21.0 margin_top = 21.0
margin_right = 109.0 margin_right = 109.0
margin_bottom = 62.0 margin_bottom = 62.0
custom_fonts/font = ExtResource( 8 ) custom_fonts/font = ExtResource( 12 )
text = "< = Rescue Pod text = "< = Rescue Pod
0/10 sests occupied" 0/10 sests occupied"
align = 1 align = 1
[node name="UserInterface" parent="." instance=ExtResource( 4 )] [node name="UserInterface" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true unique_name_in_owner = true
visible = false visible = false
[node name="WhatAreFrog" parent="." instance=ExtResource( 2 )] [node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
wait_time = 20.0
[node name="WhatAreFrog" parent="." instance=ExtResource( 4 )]
position = Vector2( 121, 103 ) position = Vector2( 121, 103 )
[node name="BlobbyCam" parent="." instance=ExtResource( 6 )] [node name="BlobbyCam" parent="." instance=ExtResource( 5 )]
unique_name_in_owner = true unique_name_in_owner = true
drag_margin_bottom = 0.3 drag_margin_bottom = 0.3
fixed_position = true fixed_position = true
[node name="TileMap" type="TileMap" parent="."] [node name="TileMap" type="TileMap" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
tile_set = ExtResource( 10 ) tile_set = ExtResource( 1 )
cell_size = Vector2( 16, 16 ) cell_size = Vector2( 16, 16 )
cell_quadrant_size = 3 cell_quadrant_size = 3
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
@ -134,10 +85,10 @@ collision_layer = 8
collision_mask = 8 collision_mask = 8
bake_navigation = true bake_navigation = true
format = 1 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, 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, 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 )
[node name="DropThroughPlatforms" type="TileMap" parent="."] [node name="DropThroughPlatforms" type="TileMap" parent="."]
tile_set = ExtResource( 11 ) tile_set = ExtResource( 2 )
cell_size = Vector2( 16, 16 ) cell_size = Vector2( 16, 16 )
format = 1 format = 1
@ -148,7 +99,7 @@ format = 1
[node name="LevelAmbiance" type="AudioStreamPlayer" parent="."] [node name="LevelAmbiance" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
stream = ExtResource( 12 ) stream = ExtResource( 11 )
volume_db = -14.994 volume_db = -14.994
autoplay = true autoplay = true
bus = "Music" bus = "Music"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,47 +1,6 @@
[gd_resource type="TileSet" load_steps=33 format=2] [gd_resource type="TileSet" load_steps=18 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/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] [sub_resource type="NavigationPolygon" id=21]
vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
@ -217,125 +176,3 @@ outlines = [ PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) ]
7/shape_one_way_margin = 0.0 7/shape_one_way_margin = 0.0
7/shapes = [ ] 7/shapes = [ ]
7/z_index = 0 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/global_transform = null
shader_param/viewport_transform = null shader_param/viewport_transform = null
shader_param/n_lights = 0 shader_param/n_lights = 0
shader_param/default_light_color = null shader_param/default_light_color = Color( 1, 0.94902, 0.74902, 1 )
shader_param/light_level = 0.0 shader_param/light_level = 0.0
shader_param/offset_modifier = 1.0 shader_param/offset_modifier = 0.48
shader_param/n_light_bands = 7 shader_param/n_light_bands = 13
shader_param/will_smooth_shade = false shader_param/will_smooth_shade = true
shader_param/band_decay_rate = 0.5 shader_param/band_decay_rate = 0.5
shader_param/light_strength_modifier = 1.0 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,9 +125,6 @@ unique_name_in_owner = true
position = Vector2( -70, 1 ) position = Vector2( -70, 1 )
scale = Vector2( 0.878906, 0.936025 ) scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 ) parameters/playback = SubResource( 6 )
@ -155,7 +152,7 @@ format = 1
[node name="ElevatorButton" parent="." instance=ExtResource( 10 )] [node name="ElevatorButton" parent="." instance=ExtResource( 10 )]
position = Vector2( 832, 310 ) position = Vector2( 832, 310 )
elevator_time = 15 elevator_time = 5
[node name="Portal" parent="." instance=ExtResource( 11 )] [node name="Portal" parent="." instance=ExtResource( 11 )]
position = Vector2( 832, 368 ) position = Vector2( 832, 368 )

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=30 format=2] [gd_scene load_steps=26 format=2]
[ext_resource path="res://src/Contraptions/Rope/RopeAnchor.tscn" type="PackedScene" id=1] [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] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=2]
@ -20,8 +20,6 @@
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=18] [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/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/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] [sub_resource type="Shader" id=55]
code = "shader_type canvas_item; code = "shader_type canvas_item;
@ -90,62 +88,6 @@ shader_param/size = Vector2( 32, 32 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=54] [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"] [node name="LevelTemplate" type="Node2D"]
script = ExtResource( 20 ) script = ExtResource( 20 )
__meta__ = { __meta__ = {
@ -273,28 +215,6 @@ position = Vector2( 48, 91 )
position = Vector2( 207, -4 ) position = Vector2( 207, -4 )
z_index = -1 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="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="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"] [connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"]
@ -307,4 +227,3 @@ position = Vector2( 5, 86 )
[editable path="Blobby"] [editable path="Blobby"]
[editable path="Flyer"] [editable path="Flyer"]
[editable path="BoundFrog/RopeAnchor"] [editable path="BoundFrog/RopeAnchor"]
[editable path="TutorialComboThingy"]

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=25 format=2] [gd_scene load_steps=26 format=2]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1] [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/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/Actors/Blobby/Blobby.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5] [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
@ -134,7 +135,7 @@ death_sound_1 = null
death_sound_2 = null death_sound_2 = null
[node name="BlobbySprite" parent="Blobby" index="5"] [node name="BlobbySprite" parent="Blobby" index="5"]
frame = 7 frame = 9
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 ) parameters/playback = SubResource( 6 )
@ -229,6 +230,13 @@ elevator_time = 16
position = Vector2( 16, 112 ) position = Vector2( 16, 112 )
next_scene = "res://src/Levels/Level 2.tscn" 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="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"] [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,7 +981,6 @@ __meta__ = {
"_edit_horizontal_guides_": [ 464.0 ], "_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ] "_edit_vertical_guides_": [ 2880.0 ]
} }
level_music = "res://assets/music/The Laboratory (LOOP).wav"
[node name="SignalManager" parent="." instance=ExtResource( 6 )] [node name="SignalManager" parent="." instance=ExtResource( 6 )]
@ -1010,9 +1009,6 @@ unique_name_in_owner = true
position = Vector2( -88, 96 ) position = Vector2( -88, 96 )
scale = Vector2( 0.878906, 0.936025 ) scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 7
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 ) parameters/playback = SubResource( 6 )

View File

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

View File

@ -185,7 +185,7 @@ position = Vector2( -45, -5.96046e-08 )
scale = Vector2( 0.878906, 0.936025 ) scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"] [node name="BlobbySprite" parent="Blobby" index="5"]
frame = 5 frame = 8
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 ) 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=19 format=2] [gd_scene load_steps=17 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2] [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
@ -11,9 +11,7 @@
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=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://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/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/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] [sub_resource type="Shader" id=15]
code = "shader_type canvas_item; code = "shader_type canvas_item;
@ -148,10 +146,6 @@ tile_set = SubResource( 5 )
cell_size = Vector2( 16, 16 ) cell_size = Vector2( 16, 16 )
format = 1 format = 1
[node name="DecorPlants" parent="." instance=ExtResource( 14 )]
[node name="GlassAndRoots" parent="." instance=ExtResource( 12 )]
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )] [node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
position = Vector2( 208, 102 ) position = Vector2( 208, 102 )
elevator_time = 10 elevator_time = 10

View File

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

View File

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

View File

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

View File

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