Compare commits
No commits in common. "a32e99cf420ab1fcc564977b469102ee55044e66" and "37b702f94a238b8c88c35a09d80a63321f07cd3c" have entirely different histories.
a32e99cf42
...
37b702f94a
|
Before Width: | Height: | Size: 755 B After Width: | Height: | Size: 692 B |
|
Before Width: | Height: | Size: 1.6 KiB |
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 23 KiB |
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 27 KiB |
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 165 B After Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 176 B After Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 176 B After Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 342 B |
@ -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
|
|
||||||
|
Before Width: | Height: | Size: 135 B After Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 122 B |
@ -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
|
||||||
|
|||||||
@ -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="
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -6,6 +6,10 @@ onready var signal_manager := get_tree().root.get_child(4).get_node("%SignalMana
|
|||||||
onready var unactivatable_timer := $Timer
|
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():
|
||||||
@ -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()
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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
|
|
||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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"]
|
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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 )
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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()):
|
||||||
|
|||||||