feat: new platform&deco tiles, fix bounce super jump, frog anim fix, blobby anim fix
This commit is contained in:
parent
93578d4896
commit
f46808740c
BIN
assets/contraption/drop-through-platform.aseprite
Normal file
BIN
assets/contraption/drop-through-platform.aseprite
Normal file
Binary file not shown.
BIN
assets/contraption/drop-through-platform.png
Normal file
BIN
assets/contraption/drop-through-platform.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 776 B |
35
assets/contraption/drop-through-platform.png.import
Normal file
35
assets/contraption/drop-through-platform.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/drop-through-platform.png-43ec027b4021bf7add492948799b7c3c.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/contraption/drop-through-platform.png"
|
||||
dest_files=[ "res://.import/drop-through-platform.png-43ec027b4021bf7add492948799b7c3c.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
|
||||
BIN
assets/environment/blocks/BasicTileSet.aseprite
Normal file
BIN
assets/environment/blocks/BasicTileSet.aseprite
Normal file
Binary file not shown.
BIN
assets/environment/blocks/BasicTileSet.png
Normal file
BIN
assets/environment/blocks/BasicTileSet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
35
assets/environment/blocks/BasicTileSet.png.import
Normal file
35
assets/environment/blocks/BasicTileSet.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/BasicTileSet.png-04d4931c2faae497a949588d0e9937bb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/environment/blocks/BasicTileSet.png"
|
||||
dest_files=[ "res://.import/BasicTileSet.png-04d4931c2faae497a949588d0e9937bb.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
|
||||
BIN
assets/environment/decor/platform-plants.aseprite
Normal file
BIN
assets/environment/decor/platform-plants.aseprite
Normal file
Binary file not shown.
BIN
assets/environment/decor/platform-plants.png
Normal file
BIN
assets/environment/decor/platform-plants.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
35
assets/environment/decor/platform-plants.png.import
Normal file
35
assets/environment/decor/platform-plants.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/platform-plants.png-96350e262143adfad190cbcaf19c9adf.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/environment/decor/platform-plants.png"
|
||||
dest_files=[ "res://.import/platform-plants.png-96350e262143adfad190cbcaf19c9adf.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
|
||||
@ -5,3 +5,4 @@
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
tonemap_mode = 2
|
||||
|
||||
@ -96,6 +96,10 @@ config/name="Blobby"
|
||||
run/main_scene="res://src/UserInterface/Screens/MainMenu/MainScreen.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[audio]
|
||||
|
||||
default_bus_layout="res://src/Sounds/default_bus_layout.tres"
|
||||
|
||||
[autoload]
|
||||
|
||||
GlobalState="*res://src/Autoload/GlobalState.tscn"
|
||||
|
||||
@ -10,14 +10,15 @@ const PhysicsConst = preload("res://src/Utilities/Physic/PhysicsConst.gd")
|
||||
|
||||
const FLOOR_NORMAL := Vector2.UP
|
||||
|
||||
var stomp_feedback := 1400
|
||||
var reset_stomp_time := 0.108
|
||||
var stomp_time := 0.108
|
||||
var stomp_feedback := 1400 * 60
|
||||
var stomp_time := 0.2
|
||||
var init_stomp_time := 0.2
|
||||
var inair_velocity := 21
|
||||
var wallslide_threshold := 1000
|
||||
var base_floor_friction := 0.5
|
||||
var initial_velocity_dependence := 0.7
|
||||
var floor_friction := base_floor_friction
|
||||
# TODO Mixing Vectors and ints is questionable
|
||||
var max_velocity := {
|
||||
"walk": 120, "run": 160, "jump": Vector2(120, 420), "fall": Vector2(120, 420), "walljump": 200, "idle": 12000, "duck": 160
|
||||
}
|
||||
@ -30,7 +31,7 @@ var init_acceleration_force := {
|
||||
# newtonmeters is the unit
|
||||
var acceleration_force := {
|
||||
"walk": Vector2(1800, 1350),
|
||||
"fall": Vector2(1800, 0),
|
||||
"fall": Vector2(1800, 1050),
|
||||
"jump": Vector2(1800, 0),
|
||||
"idle": Vector2(1800, 1233),
|
||||
"duck": Vector2(500, 1300),
|
||||
|
||||
@ -260,11 +260,13 @@ func calculate_jump_velocity(
|
||||
#TODO Single out stomping and make betta
|
||||
#TODO too much force intially and too high with frog jump
|
||||
if stomping:
|
||||
additive_jump_force += stomp_feedback / delta
|
||||
# additive_jump_force += stomp_feedback
|
||||
stomp_time -= delta
|
||||
# print(stomp_time)
|
||||
if stomp_time <= 0:
|
||||
stomp_time = reset_stomp_time
|
||||
# print("stomping over")
|
||||
stomping = false
|
||||
stomp_time = init_stomp_time
|
||||
|
||||
if state != "jump":
|
||||
linear_velocity.y = PhysicsFunc.two_step_euler(
|
||||
@ -273,6 +275,8 @@ func calculate_jump_velocity(
|
||||
mass,
|
||||
delta
|
||||
)
|
||||
# print(acceleration_force[state].y)
|
||||
# print(linear_velocity.y)
|
||||
|
||||
if !Input.is_action_pressed("jump") && !stomping:
|
||||
# Smooth transition from jumping to falling
|
||||
@ -301,6 +305,7 @@ func calculate_jump_velocity(
|
||||
|
||||
if is_correct_airstrafe_input():
|
||||
linear_velocity = execute_airstrafe(linear_velocity, delta, direction)
|
||||
# print(linear_velocity.y)
|
||||
return linear_velocity
|
||||
|
||||
|
||||
@ -412,6 +417,7 @@ func calculate_slope_rotation(onfloor: bool) -> float:
|
||||
|
||||
# TODO could be expanded with a parameter about what got stomped
|
||||
func stomp() -> void:
|
||||
# print("stomping")
|
||||
stomping = true
|
||||
|
||||
# TOD lose_power_up function
|
||||
|
||||
@ -1173,7 +1173,7 @@ tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.5424, 10.5016 ) ]
|
||||
"values": [ Vector2( 12, 10.502 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("../BlobbySkin/CollisionPolygon2D:position")
|
||||
@ -1197,7 +1197,7 @@ tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11, 10.525 ) ]
|
||||
"values": [ Vector2( 12, 10.525 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("../BlobbyBody:position")
|
||||
@ -1209,7 +1209,7 @@ tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0.5, -10.481 ) ]
|
||||
"values": [ Vector2( 0, -10.481 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast1:position")
|
||||
@ -1221,7 +1221,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.5, -13 ) ]
|
||||
"values": [ Vector2( -12, -13 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -1233,7 +1233,7 @@ tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.5, -5 ) ]
|
||||
"values": [ Vector2( -12, -5 ) ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position")
|
||||
@ -1245,7 +1245,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11.5, -13 ) ]
|
||||
"values": [ Vector2( 12, -13 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -1257,7 +1257,7 @@ tracks/8/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11.5, -5 ) ]
|
||||
"values": [ Vector2( 12, -5 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath(".:offset")
|
||||
@ -1310,7 +1310,7 @@ tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.5424, 10.5016 ) ]
|
||||
"values": [ Vector2( 12, 10.502 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("../BlobbySkin/CollisionPolygon2D:position")
|
||||
@ -1334,7 +1334,7 @@ tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11, 10.525 ) ]
|
||||
"values": [ Vector2( 12, 10.525 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("../BlobbyBody:position")
|
||||
@ -1346,7 +1346,7 @@ tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -0.5, -10.481 ) ]
|
||||
"values": [ Vector2( 0, -10.481 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast1:position")
|
||||
@ -1358,7 +1358,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -11, -13 ) ]
|
||||
"values": [ Vector2( -12, -13 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -1370,7 +1370,7 @@ tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -11.5, -5 ) ]
|
||||
"values": [ Vector2( -12, -5 ) ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position")
|
||||
@ -1382,7 +1382,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.5, -13 ) ]
|
||||
"values": [ Vector2( 12, -13 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -1394,7 +1394,7 @@ tracks/8/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.5, -5 ) ]
|
||||
"values": [ Vector2( 12, -5 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath(".:offset")
|
||||
@ -1494,7 +1494,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -13.0423, -10.6856 ) ]
|
||||
"values": [ Vector2( -13, -10.686 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -1506,7 +1506,7 @@ tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -13.0423, -1.94163 ) ]
|
||||
"values": [ Vector2( -13, -1.942 ) ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -1518,7 +1518,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -1.94163 ) ]
|
||||
"values": [ Vector2( 13, -1.942 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position")
|
||||
@ -1530,7 +1530,7 @@ tracks/8/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -10.6856 ) ]
|
||||
"values": [ Vector2( 13, -10.686 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath(".:offset")
|
||||
@ -1855,7 +1855,7 @@ tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -10.6856 ) ]
|
||||
"values": [ Vector2( 12, -10.686 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -1867,7 +1867,7 @@ tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -1.94163 ) ]
|
||||
"values": [ Vector2( 12, -1.942 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -1891,7 +1891,7 @@ tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -13.0423, -10.6856 ) ]
|
||||
"values": [ Vector2( -12, -10.686 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("../BlobbySkin/CollisionPolygon2D:shape:extents")
|
||||
@ -1903,7 +1903,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.9698, 8.9748 ) ]
|
||||
"values": [ Vector2( 12, 8.975 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../BlobbySkin/CollisionPolygon2D:position")
|
||||
@ -1927,7 +1927,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.971, 8.99662 ) ]
|
||||
"values": [ Vector2( 12, 8.997 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../BlobbyBody:position")
|
||||
@ -1992,7 +1992,7 @@ tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -10.6856 ) ]
|
||||
"values": [ Vector2( 12, -10.686 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -2004,7 +2004,7 @@ tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.0235, -1.94163 ) ]
|
||||
"values": [ Vector2( 12, -1.942 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -2016,7 +2016,7 @@ tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -13.0423, -1.94163 ) ]
|
||||
"values": [ Vector2( -12, -1.942 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast1:position")
|
||||
@ -2028,7 +2028,7 @@ tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -13.0423, -10.6856 ) ]
|
||||
"values": [ Vector2( -12, -10.686 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("../BlobbySkin/CollisionPolygon2D:shape:extents")
|
||||
@ -2040,7 +2040,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.9698, 8.9748 ) ]
|
||||
"values": [ Vector2( 12, 8.975 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../BlobbySkin/CollisionPolygon2D:position")
|
||||
@ -2064,7 +2064,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12.971, 8.99662 ) ]
|
||||
"values": [ Vector2( 12, 8.997 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../BlobbyBody:position")
|
||||
@ -2140,7 +2140,7 @@ tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11.9889, 9.98094 ) ]
|
||||
"values": [ Vector2( 12, 9.981 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("../BlobbyBody:position")
|
||||
@ -2277,7 +2277,7 @@ tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 11.9889, 9.98094 ) ]
|
||||
"values": [ Vector2( 12, 9.981 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("../BlobbyBody:position")
|
||||
@ -2425,7 +2425,7 @@ tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.0201, 10.5337 ) ]
|
||||
"values": [ Vector2( 11, 10.534 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("../BlobbyBody:position")
|
||||
@ -2449,7 +2449,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.012, -12.8494 ) ]
|
||||
"values": [ Vector2( -11, -12.849 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -2461,7 +2461,7 @@ tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.012, -5.91313 ) ]
|
||||
"values": [ Vector2( -11, -5.913 ) ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position")
|
||||
@ -2562,7 +2562,7 @@ tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.0201, 10.5337 ) ]
|
||||
"values": [ Vector2( 11, 10.534 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("../BlobbyBody:position")
|
||||
@ -2586,7 +2586,7 @@ tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.012, -12.8494 ) ]
|
||||
"values": [ Vector2( -11, -12.849 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("../WallRaycasts/LeftWallRaycast/Left_Wallcast2:position")
|
||||
@ -2598,7 +2598,7 @@ tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -10.012, -5.91313 ) ]
|
||||
"values": [ Vector2( -11, -5.913 ) ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast1:position")
|
||||
@ -2610,7 +2610,7 @@ tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.0805, -12.8494 ) ]
|
||||
"values": [ Vector2( 11, -12.849 ) ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("../WallRaycasts/RightWallRaycast/Right_Wallcast2:position")
|
||||
@ -2622,7 +2622,7 @@ tracks/8/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 10.0805, -5.91313 ) ]
|
||||
"values": [ Vector2( 11, -5.913 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath(".:offset")
|
||||
@ -4362,21 +4362,18 @@ collision_mask = 40
|
||||
[node name="SlopeRaycastLeft" type="RayCast2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( -9, 0 )
|
||||
enabled = true
|
||||
cast_to = Vector2( 0, 24 )
|
||||
collision_mask = 8
|
||||
|
||||
[node name="SlopeRaycast" type="RayCast2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
enabled = true
|
||||
cast_to = Vector2( 0, 16 )
|
||||
collision_mask = 8
|
||||
|
||||
[node name="SlopeRaycastRight" type="RayCast2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 10, 0 )
|
||||
enabled = true
|
||||
cast_to = Vector2( 0, 24 )
|
||||
collision_mask = 8
|
||||
|
||||
|
||||
@ -108,7 +108,7 @@ func execute_movement(delta: float) -> void:
|
||||
velocity.x = velocity.x * 0.8
|
||||
velocity.y = velocity.y * 0.8
|
||||
was_restricted = true
|
||||
velocity = move_and_slide(velocity, FLOOR_NORMAL, false, 4, 0.785398,false)
|
||||
velocity = move_and_slide(velocity, FLOOR_NORMAL, false, 4, 0.785398, false)
|
||||
if(is_on_floor()):
|
||||
velocity = Vector2(0,0)
|
||||
|
||||
@ -154,7 +154,7 @@ func search_next_target():
|
||||
if(target != null && !weakref(target).get_ref()):
|
||||
return
|
||||
detect_food()
|
||||
if(food_target == null):
|
||||
if(food_target == null && is_bound):
|
||||
detect_player()
|
||||
|
||||
|
||||
@ -246,7 +246,7 @@ func detect_player() -> void:
|
||||
|
||||
func sleeping() -> Vector2:
|
||||
jump_timer.stop()
|
||||
detect_player()
|
||||
# detect_player()
|
||||
return velocity
|
||||
|
||||
|
||||
@ -356,24 +356,25 @@ func consider_jump_landing_space(v: Vector2) -> Vector2:
|
||||
collider = check_feeler(Vector2(jump_distance * get_facing_direction(), - jump_height/2))
|
||||
if((!is_jump_path_safe(v, global_position) || collider != null) && can_reverse_facing_direction()):
|
||||
# Can be printed when frog would jump into a wall too
|
||||
print("no safe landing space found")
|
||||
print("at wall or no safe landing spot")
|
||||
return Vector2(0,0)
|
||||
return v
|
||||
|
||||
|
||||
func consider_jumping_on_top() -> Vector2:
|
||||
var collider = check_feeler(Vector2(42 * get_facing_direction(),0))
|
||||
# 0 just for tile coordinate calculation
|
||||
var facing = 0 if get_facing_direction() >= 0 else - 1
|
||||
if (collider == null):
|
||||
return Vector2(0,0)
|
||||
var local_position = tilemap.to_local(feeler_raycast.get_collision_point())
|
||||
var map_position = tilemap.world_to_map(local_position)
|
||||
var tile_position = Vector2(map_position.x + facing, map_position.y)
|
||||
var tile_position = Vector2(map_position.x + facing, map_position.y - 1)
|
||||
# TODO Here the climb height of frog is limited to one constantly
|
||||
var cell_id = tilemap.get_cell(tile_position.x, tile_position.y - 2)
|
||||
var cell_id = tilemap.get_cell(tile_position.x, tile_position.y - 1)
|
||||
if (cell_id != -1 &&
|
||||
#TODO 9 is the navigation tile, but thats subject to change!
|
||||
cell_id != 8):
|
||||
#TODO 0 is the navigation tile, but thats subject to change!
|
||||
cell_id != 7):
|
||||
return Vector2(0,0)
|
||||
var tile_upper_left_corner = tilemap.to_global(tilemap.map_to_world(tile_position))
|
||||
var tile_upper_right_corner = Vector2(tile_upper_left_corner.x + tilemap.cell_size.x, tile_upper_left_corner.y)
|
||||
@ -391,7 +392,8 @@ func consider_jumping_on_top() -> Vector2:
|
||||
if(abs(rad2deg(jump_angle)) < 78):
|
||||
return correct_jump_direction(velocity_for_jump_distance(default_jump_distance/2, abs(deg2rad(80))))
|
||||
else:
|
||||
return velocity_for_jump_distance(10, abs(deg2rad(45))) * -1 * facing
|
||||
var v = velocity_for_jump_distance(block_size/1.5, abs(deg2rad(45)))
|
||||
return Vector2(v.x * -1 * get_facing_direction(), v.y)
|
||||
|
||||
|
||||
# Tries to shorten the jump, so that it lands in a tiles center
|
||||
|
||||
@ -108,7 +108,7 @@ tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"update": 1,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
|
||||
@ -138,7 +138,7 @@ tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"update": 1,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
|
||||
@ -280,7 +280,7 @@ tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"update": 1,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
|
||||
@ -310,7 +310,7 @@ tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"update": 1,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
|
||||
@ -412,14 +412,14 @@ states/idleHappy/position = Vector2( -58.7619, 98.0433 )
|
||||
states/idleMean/node = SubResource( 20 )
|
||||
states/idleMean/position = Vector2( 451.952, 98.0432 )
|
||||
states/liftOff/node = SubResource( 23 )
|
||||
states/liftOff/position = Vector2( 184, -12 )
|
||||
states/liftOff/position = Vector2( 184.223, -12 )
|
||||
states/midJumping/node = SubResource( 26 )
|
||||
states/midJumping/position = Vector2( 184.091, -141 )
|
||||
states/sleeping/node = SubResource( 54 )
|
||||
states/sleeping/position = Vector2( 176.896, 205.619 )
|
||||
states/sleeping/position = Vector2( 177.848, 205.619 )
|
||||
transitions = [ "idleHappy", "liftOff", SubResource( 27 ), "liftOff", "midJumping", SubResource( 28 ), "idleMean", "liftOff", SubResource( 29 ), "midJumping", "liftOff", SubResource( 30 ), "liftOff", "idleMean", SubResource( 31 ), "liftOff", "idleHappy", SubResource( 32 ), "idleHappy", "sleeping", SubResource( 55 ), "idleMean", "sleeping", SubResource( 56 ), "sleeping", "idleHappy", SubResource( 57 ), "sleeping", "idleMean", SubResource( 58 ) ]
|
||||
start_node = "idleHappy"
|
||||
graph_offset = Vector2( -375, -158 )
|
||||
graph_offset = Vector2( -379, -204 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=11]
|
||||
|
||||
@ -427,15 +427,15 @@ graph_offset = Vector2( -375, -158 )
|
||||
extents = Vector2( 12, 9 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 12, 1.5 )
|
||||
extents = Vector2( 11, 1.875 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 18.2143, 13.5955 )
|
||||
|
||||
[node name="WhatAreFrog" type="KinematicBody2D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 57
|
||||
collision/safe_margin = 0.001
|
||||
collision_mask = 185
|
||||
collision/safe_margin = 0.002
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Statemachine" type="Node2D" parent="."]
|
||||
@ -494,10 +494,10 @@ active = true
|
||||
root_motion_track = NodePath(".:frame")
|
||||
parameters/playback = SubResource( 11 )
|
||||
parameters/idleHappy/blend_position = 1.0
|
||||
parameters/idleMean/blend_position = 1.0
|
||||
parameters/idleMean/blend_position = 1.2434
|
||||
parameters/liftOff/blend_position = 1.0
|
||||
parameters/midJumping/blend_position = 1.0
|
||||
parameters/sleeping/blend_position = 1.0
|
||||
parameters/sleeping/blend_position = -0.00214911
|
||||
|
||||
[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."]
|
||||
position = Vector2( 954, 0 )
|
||||
@ -509,7 +509,7 @@ physics_process_parent = true
|
||||
[node name="FeelerRayCast" type="RayCast2D" parent="."]
|
||||
enabled = true
|
||||
cast_to = Vector2( 0, -1 )
|
||||
collision_mask = 280
|
||||
collision_mask = 281
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="Orientation" type="RayCast2D" parent="."]
|
||||
@ -521,14 +521,14 @@ collide_with_bodies = false
|
||||
position = Vector2( -10, 6 )
|
||||
enabled = true
|
||||
cast_to = Vector2( -5, 0 )
|
||||
collision_mask = 40
|
||||
collision_mask = 41
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="Right_Wallcast" type="RayCast2D" parent="."]
|
||||
position = Vector2( 10, 6 )
|
||||
enabled = true
|
||||
cast_to = Vector2( 5, 0 )
|
||||
collision_mask = 40
|
||||
collision_mask = 41
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="VisionRayCast" type="RayCast2D" parent="."]
|
||||
@ -556,7 +556,7 @@ input_pickable = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
|
||||
position = Vector2( 0, -1 )
|
||||
position = Vector2( 0, -0.875 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="EnemySkin" type="Area2D" parent="."]
|
||||
|
||||
@ -17,6 +17,7 @@ func _ready() -> void:
|
||||
else:
|
||||
printerr("StateMachine -> State: " + state + " has no matching method in parent.")
|
||||
push_error("StateMachine -> State: " + state + " has no matching method in parent.")
|
||||
# _animation_logic()
|
||||
|
||||
|
||||
# Game logic consequences of state
|
||||
@ -28,6 +29,7 @@ func _state_logic(delta):
|
||||
|
||||
func _get_transition(_delta):
|
||||
parent.get_node("StateLabel").text = self.state
|
||||
_set_blendspaces_direction()
|
||||
_animation_logic()
|
||||
var new_state
|
||||
if parent.target == null:
|
||||
@ -49,16 +51,21 @@ func _exit_state(_previous_state, _new_state):
|
||||
pass
|
||||
|
||||
func _animation_logic():
|
||||
_set_blendspaces_direction()
|
||||
var animation = "sleeping"
|
||||
if parent.is_on_floor():
|
||||
if(parent.is_hurt):
|
||||
anim_state_playback.travel("sleeping")
|
||||
animation = "sleeping"
|
||||
elif (parent.is_bound):
|
||||
anim_state_playback.travel("idleMean")
|
||||
animation = "idleMean"
|
||||
else:
|
||||
anim_state_playback.travel("idleHappy")
|
||||
else:
|
||||
anim_state_playback.travel("midJumping")
|
||||
animation = "idleHappy"
|
||||
# The frog is lifted from the ground slightly when blobby stands on him for whatever reason
|
||||
elif state != "sleeping":
|
||||
animation = "midJumping"
|
||||
if anim_state_playback.get_current_node() != animation:
|
||||
print(anim_state_playback.get_current_node())
|
||||
print(animation)
|
||||
anim_state_playback.travel(animation)
|
||||
|
||||
|
||||
func _set_blendspaces_direction():
|
||||
@ -69,3 +76,4 @@ func _set_blendspaces_direction():
|
||||
anim_tree.set("parameters/idleMean/blend_position", value)
|
||||
anim_tree.set("parameters/liftOff/blend_position", value)
|
||||
anim_tree.set("parameters/midJumping/blend_position", value)
|
||||
anim_tree.set("parameters/sleeping/blend_position", value)
|
||||
|
||||
135
src/Contraptions/DropThroughPlatforms.tres
Normal file
135
src/Contraptions/DropThroughPlatforms.tres
Normal file
@ -0,0 +1,135 @@
|
||||
[gd_resource type="TileSet" load_steps=14 format=2]
|
||||
|
||||
[ext_resource path="res://assets/contraption/drop-through-platform.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=1]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=2]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=3]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=4]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=5]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=6]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=7]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=8]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=9]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=10]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=11]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=12]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
2/name = "drop-through-platform.png 2"
|
||||
2/texture = ExtResource( 1 )
|
||||
2/tex_offset = Vector2( 0, 0 )
|
||||
2/modulate = Color( 1, 1, 1, 1 )
|
||||
2/region = Rect2( 16, 0, 192, 16 )
|
||||
2/tile_mode = 2
|
||||
2/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||
2/autotile/tile_size = Vector2( 16, 16 )
|
||||
2/autotile/spacing = 0
|
||||
2/autotile/occluder_map = [ ]
|
||||
2/autotile/navpoly_map = [ ]
|
||||
2/autotile/priority_map = [ ]
|
||||
2/autotile/z_index_map = [ ]
|
||||
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 = SubResource( 1 )
|
||||
2/shape_one_way = true
|
||||
2/shape_one_way_margin = 1.0
|
||||
2/shapes = [ {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 1 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 1, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 2 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 3 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 3, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 4 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 4, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 5 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 5, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 6 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 7 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 8 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 8, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 9 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 9, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 10 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 10, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 11 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 11, 0 ),
|
||||
"one_way": true,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 12 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
} ]
|
||||
2/z_index = 0
|
||||
@ -1,332 +0,0 @@
|
||||
[gd_resource type="TileSet" load_steps=32 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/blocks/basic_tileset_blobb-jakob-remix.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=6]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=7]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=8]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=9]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=10]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=11]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=12]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=13]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=14]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=15]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=16]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=17]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=18]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=19]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=20]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=21]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=22]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=23]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=24]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=25]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=26]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=27]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=28]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=29]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=30]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=31]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=32]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=33]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=34]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="NavigationPolygon" id=35]
|
||||
vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
|
||||
outlines = [ PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) ]
|
||||
|
||||
[resource]
|
||||
0/name = "basic_tileset_blobb-jakob-remix.png 0"
|
||||
0/texture = ExtResource( 1 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 0, 0, 128, 128 )
|
||||
0/tile_mode = 1
|
||||
0/autotile/bitmask_mode = 0
|
||||
0/autotile/bitmask_flags = [ Vector2( 0, 1 ), 1, Vector2( 0, 6 ), 321, Vector2( 1, 0 ), 256, Vector2( 1, 6 ), 320, Vector2( 2, 0 ), 320, Vector2( 3, 0 ), 64, Vector2( 4, 0 ), 260, Vector2( 5, 0 ), 65, Vector2( 5, 4 ), 324, Vector2( 5, 5 ), 321, Vector2( 6, 0 ), 4, Vector2( 6, 5 ), 64, Vector2( 7, 0 ), 5, Vector2( 7, 5 ), 65 ]
|
||||
0/autotile/icon_coordinate = Vector2( 6, 5 )
|
||||
0/autotile/tile_size = Vector2( 16, 16 )
|
||||
0/autotile/spacing = 0
|
||||
0/autotile/occluder_map = [ ]
|
||||
0/autotile/navpoly_map = [ ]
|
||||
0/autotile/priority_map = [ ]
|
||||
0/autotile/z_index_map = [ ]
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape = SubResource( 6 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 1.0
|
||||
0/shapes = [ {
|
||||
"autotile_coord": Vector2( 1, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 6 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 7 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 8 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 9 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 3, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 10 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 3, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 11 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 4, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 12 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 5, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 13 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 5, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 14 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 5 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 15 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 16 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 17 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 5 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 18 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 1, 6 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 19 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
} ]
|
||||
0/z_index = 0
|
||||
1/name = "basic_tileset_blobb-jakob-remix.png 1"
|
||||
1/texture = ExtResource( 1 )
|
||||
1/tex_offset = Vector2( 0, 0 )
|
||||
1/modulate = Color( 1, 1, 1, 1 )
|
||||
1/region = Rect2( 0, 0, 128, 128 )
|
||||
1/tile_mode = 2
|
||||
1/autotile/icon_coordinate = Vector2( 5, 3 )
|
||||
1/autotile/tile_size = Vector2( 16, 16 )
|
||||
1/autotile/spacing = 0
|
||||
1/autotile/occluder_map = [ ]
|
||||
1/autotile/navpoly_map = [ ]
|
||||
1/autotile/priority_map = [ ]
|
||||
1/autotile/z_index_map = [ ]
|
||||
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 = SubResource( 20 )
|
||||
1/shape_one_way = false
|
||||
1/shape_one_way_margin = 1.0
|
||||
1/shapes = [ {
|
||||
"autotile_coord": Vector2( 1, 6 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 20 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 1, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 21 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 22 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 3, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 23 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 4, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 24 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 5, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 25 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 5 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 26 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 5 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 27 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 28 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 29 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 30 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 31 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 32 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 33 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 5 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 34 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
} ]
|
||||
1/z_index = 0
|
||||
2/name = "basic_tileset_blobb-jakob-remix.png 2"
|
||||
2/texture = ExtResource( 1 )
|
||||
2/tex_offset = Vector2( 0, 0 )
|
||||
2/modulate = Color( 1, 1, 1, 1 )
|
||||
2/region = Rect2( 0, 0, 16, 16 )
|
||||
2/tile_mode = 0
|
||||
2/occluder_offset = Vector2( 0, 0 )
|
||||
2/navigation_offset = Vector2( 0, 0 )
|
||||
2/navigation = SubResource( 35 )
|
||||
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
|
||||
@ -1,12 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/background/background.png" type="Texture" id=1]
|
||||
|
||||
[node name="Simple Background" type="CanvasLayer"]
|
||||
|
||||
[node name="background" type="TextureRect" parent="."]
|
||||
margin_right = 426.667
|
||||
margin_bottom = 240.0
|
||||
texture = ExtResource( 1 )
|
||||
expand = true
|
||||
stretch_mode = 1
|
||||
@ -1,30 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/decor/straight_straw.png" type="Texture" id=1]
|
||||
|
||||
[node name="GrassWithBones" type="Node2D"]
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="."]
|
||||
offset = Vector2( -6.5, -12.5 )
|
||||
texture = ExtResource( 1 )
|
||||
skeleton = NodePath("../Skeleton2D")
|
||||
polygon = PoolVector2Array( 4.166, 12.5, 4.166, 7.25, 4.166, 1.5, 9.103, 1.5, 9.10325, 7.25, 9.103, 12.5 )
|
||||
uv = PoolVector2Array( 4.166, 12.5, 4.166, 7.25, 4.166, 1.5, 9.103, 1.5, 9.10325, 7.25, 9.103, 12.5 )
|
||||
polygons = [ PoolIntArray( 5, 0, 1, 2, 3, 4 ) ]
|
||||
bones = [ "Base", PoolRealArray( 1, 0.34, 0, 0, 0, 1 ), "Base/Mid", PoolRealArray( 0.66, 1, 0, 0.5, 1, 0.83 ), "Base/Mid/Top", PoolRealArray( 0.49, 0.32, 1, 1, 0.49, 0.49 ) ]
|
||||
|
||||
[node name="Skeleton2D" type="Skeleton2D" parent="."]
|
||||
|
||||
[node name="Base" type="Bone2D" parent="Skeleton2D"]
|
||||
rest = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
default_length = 7.0
|
||||
|
||||
[node name="Mid" type="Bone2D" parent="Skeleton2D/Base"]
|
||||
rest = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
default_length = 7.0
|
||||
|
||||
[node name="Top" type="Bone2D" parent="Skeleton2D/Base/Mid"]
|
||||
position = Vector2( 0, -5 )
|
||||
rotation = -1.5708
|
||||
rest = Transform2D( 2.22127e-06, -1, 1, 2.22127e-06, 0, -5 )
|
||||
default_length = 4.0
|
||||
178
src/Environment/GreenHouseTiles.tres
Normal file
178
src/Environment/GreenHouseTiles.tres
Normal file
@ -0,0 +1,178 @@
|
||||
[gd_resource type="TileSet" load_steps=18 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/blocks/BasicTileSet.png" type="Texture" id=2]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id=21]
|
||||
vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
|
||||
outlines = [ PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) ]
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=1]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=2]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=3]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=4]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=5]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=6]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=7]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=8]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=9]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=26]
|
||||
points = PoolVector2Array( 0, 0, 0, 0, 16, 0, 16, 11.0125, 2.92126, 8.9875 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=27]
|
||||
points = PoolVector2Array( 0, 0.03125, 0, 0, 16, 0, 16, 10.9094, 0, 10.9688 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=28]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 12.9719, 8.84687, 0, 10.9719 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=29]
|
||||
points = PoolVector2Array( 1.97188, 14.1594, 0, 0, 15.9719, 0, 16, 16 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=30]
|
||||
points = PoolVector2Array( 0, 0, 16, 0, 14.0969, 14.1469, 0, 16 )
|
||||
|
||||
[sub_resource type="NavigationPolygon" id=31]
|
||||
vertices = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
|
||||
outlines = [ PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) ]
|
||||
|
||||
[resource]
|
||||
5/name = "Green House Tiles"
|
||||
5/texture = ExtResource( 2 )
|
||||
5/tex_offset = Vector2( 0, 0 )
|
||||
5/modulate = Color( 1, 1, 1, 1 )
|
||||
5/region = Rect2( 0, 0, 176, 160 )
|
||||
5/tile_mode = 2
|
||||
5/autotile/icon_coordinate = Vector2( 5, 6 )
|
||||
5/autotile/tile_size = Vector2( 16, 16 )
|
||||
5/autotile/spacing = 0
|
||||
5/autotile/occluder_map = [ ]
|
||||
5/autotile/navpoly_map = [ Vector2( 0, 0 ), SubResource( 21 ) ]
|
||||
5/autotile/priority_map = [ ]
|
||||
5/autotile/z_index_map = [ ]
|
||||
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 = SubResource( 1 )
|
||||
5/shape_one_way = false
|
||||
5/shape_one_way_margin = 1.0
|
||||
5/shapes = [ {
|
||||
"autotile_coord": Vector2( 1, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 1 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 2 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 3, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 3 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 4, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 4 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 5, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 5 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 6 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 7 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 8, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 8 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 10, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 9 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 6, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 26 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 7, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 27 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 8, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 28 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 9, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 29 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 30 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
} ]
|
||||
5/z_index = 0
|
||||
7/name = "Navigation Tile"
|
||||
7/texture = ExtResource( 2 )
|
||||
7/tex_offset = Vector2( 0, 0 )
|
||||
7/modulate = Color( 1, 1, 1, 1 )
|
||||
7/region = Rect2( 0, 0, 16, 16 )
|
||||
7/tile_mode = 0
|
||||
7/occluder_offset = Vector2( 0, 0 )
|
||||
7/navigation_offset = Vector2( 0, 0 )
|
||||
7/navigation = SubResource( 31 )
|
||||
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
|
||||
26
src/Environment/GreenhousePlatformPlants.tres
Normal file
26
src/Environment/GreenhousePlatformPlants.tres
Normal file
@ -0,0 +1,26 @@
|
||||
[gd_resource type="TileSet" load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1]
|
||||
|
||||
[resource]
|
||||
0/name = "platform-plants.png 0"
|
||||
0/texture = ExtResource( 1 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 16, 0, 256, 16 )
|
||||
0/tile_mode = 2
|
||||
0/autotile/icon_coordinate = Vector2( 5, 0 )
|
||||
0/autotile/tile_size = Vector2( 16, 16 )
|
||||
0/autotile/spacing = 0
|
||||
0/autotile/occluder_map = [ ]
|
||||
0/autotile/navpoly_map = [ ]
|
||||
0/autotile/priority_map = [ ]
|
||||
0/autotile/z_index_map = [ ]
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 0.0
|
||||
0/shapes = [ ]
|
||||
0/z_index = 0
|
||||
231
src/Levels/1 Tutorial Level.tscn
Normal file
231
src/Levels/1 Tutorial Level.tscn
Normal file
File diff suppressed because one or more lines are too long
@ -44,10 +44,10 @@ unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 5
|
||||
frame = 8
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 10
|
||||
frame = 13
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 9 )]
|
||||
unique_name_in_owner = true
|
||||
@ -228,19 +228,19 @@ position = Vector2( 756, -15 )
|
||||
z_index = -1
|
||||
|
||||
[node name="AnimatedSprite" parent="Coin" index="2"]
|
||||
frame = 5
|
||||
frame = 154
|
||||
|
||||
[node name="Coin2" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 744, -120 )
|
||||
|
||||
[node name="AnimatedSprite" parent="Coin2" index="2"]
|
||||
frame = 250
|
||||
frame = 85
|
||||
|
||||
[node name="Coin3" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 1320, -282 )
|
||||
|
||||
[node name="AnimatedSprite" parent="Coin3" index="2"]
|
||||
frame = 250
|
||||
frame = 85
|
||||
|
||||
[node name="Coin4" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 2340, -156 )
|
||||
|
||||
@ -44,10 +44,10 @@ wait_time = 20.0
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 9
|
||||
frame = 2
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 13
|
||||
frame = 6
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 15 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,16 +1,41 @@
|
||||
[gd_scene load_steps=10 format=2]
|
||||
[gd_scene load_steps=13 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/AlienShipTileSet.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/LevelState.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://src/Contraptions/DropThroughPlatforms.tres" type="TileSet" id=6]
|
||||
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=7]
|
||||
[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://assets/environment/decor/platform-plants.png" type="Texture" id=10]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
0/name = "platform-plants.png 0"
|
||||
0/texture = ExtResource( 10 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 16, 0, 256, 16 )
|
||||
0/tile_mode = 2
|
||||
0/autotile/icon_coordinate = Vector2( 5, 0 )
|
||||
0/autotile/tile_size = Vector2( 16, 16 )
|
||||
0/autotile/spacing = 0
|
||||
0/autotile/occluder_map = [ ]
|
||||
0/autotile/navpoly_map = [ ]
|
||||
0/autotile/priority_map = [ ]
|
||||
0/autotile/z_index_map = [ ]
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 0.0
|
||||
0/shapes = [ ]
|
||||
0/z_index = 0
|
||||
|
||||
[node name="LevelTemplate" type="Node2D"]
|
||||
script = ExtResource( 9 )
|
||||
__meta__ = {
|
||||
@ -34,10 +59,10 @@ unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 2
|
||||
frame = 3
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 1
|
||||
frame = 2
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
@ -50,17 +75,27 @@ parameters/playback = SubResource( 4 )
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
unique_name_in_owner = true
|
||||
tile_set = ExtResource( 1 )
|
||||
cell_size = Vector2( 24, 24 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
cell_quadrant_size = 3
|
||||
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
|
||||
collision_layer = 8
|
||||
collision_mask = 8
|
||||
bake_navigation = true
|
||||
format = 1
|
||||
tile_data = PoolIntArray( -458761, 1610612738, 0, -458760, 1610612738, 0, -458759, 1610612738, 0, -458758, 1610612738, 0, -458757, 1610612738, 0, -458756, 1610612738, 0, -458755, 1610612738, 0, -458754, 1610612738, 0, -458753, 1610612738, 0, -524288, 1610612738, 0, -524287, 1610612738, 0, -524286, 1610612738, 0, -524285, 1610612738, 0, -524284, 1610612738, 0, -524283, 1610612738, 0, -524282, 1610612738, 0, -524281, 1610612738, 0, -524280, 1610612738, 0, -524279, 1610612738, 0, -524278, 1610612738, 0, -524277, 1610612738, 0, -524276, 1610612738, 0, -393226, -1610612734, 0, -458739, -1073741822, 0, -327690, -1610612734, 0, -393203, -1073741822, 0, -262154, -1610612734, 0, -327667, -1073741822, 0, -196618, -1610612734, 0, -262131, -1073741822, 0, -131082, -1610612734, 0, -196595, -1073741822, 0, -65546, -1610612734, 0, -131059, -1073741822, 0, -10, -1610612734, 0, -65523, -1073741822, 0, 65526, -1610612734, 0, 13, -1073741822, 0, 131062, -1610612734, 0, 65549, -1073741822, 0, 196598, -1610612734, 0, 131085, -1073741822, 0, 262134, -1610612734, 0, 196621, -1073741822, 0, 327670, -1610612734, 0, 262157, -1073741822, 0, 393206, -1610612734, 0, 327693, -1073741822, 0, 458743, 2, 0, 458744, 2, 0, 458745, 2, 0, 458746, 2, 0, 458747, 2, 0, 458748, 2, 0, 458749, 2, 0, 458750, 2, 0, 458751, 2, 0, 393216, 2, 0, 393217, 2, 0, 393218, 2, 0, 393219, 2, 0, 393220, 2, 0, 393221, 2, 0, 393222, 2, 0, 393223, 2, 0, 393224, 2, 0, 393225, 2, 0, 393226, 2, 0, 393227, 2, 0, 393228, 2, 0 )
|
||||
tile_data = PoolIntArray( -393230, 1610612741, 65539, -393229, 1610612741, 3, -393228, 1610612741, 3, -393227, 1610612741, 3, -393226, 1610612741, 3, -393225, 1610612741, 3, -393224, 1610612741, 3, -393223, 1610612741, 3, -393222, 1610612741, 3, -393221, 1610612741, 3, -393220, 1610612741, 3, -393219, 1610612741, 3, -393218, 1610612741, 3, -393217, 1610612741, 3, -458752, 1610612741, 3, -458751, 1610612741, 3, -458750, 1610612741, 3, -458749, 1610612741, 3, -458748, 1610612741, 3, -458747, 1610612741, 3, -458746, 1610612741, 3, -458745, 1610612741, 3, -458744, 1610612741, 3, -458743, 1610612741, 3, -458742, 1610612741, 3, -458741, 1610612741, 3, -458740, 1610612741, 3, -458739, 1610612741, 3, -458738, 1610612741, 3, -458737, 1610612741, 3, -458736, 1610612741, 3, -458735, 1610612741, 3, -458734, 1610612741, 3, -458733, 1610612741, 65538, -327694, 5, 7, -393197, 5, 6, -262158, 5, 7, -327661, 5, 6, -196622, 5, 7, -262125, 5, 6, -131086, 5, 7, -196589, 5, 6, -65550, 5, 7, -131053, 5, 6, -14, 5, 7, -65517, 5, 6, 65522, 5, 7, 19, 5, 6, 131058, 5, 7, 65555, 5, 6, 196594, 5, 7, 131091, 5, 6, 262130, 5, 7, 196627, 5, 6, 327666, 5, 7, 262163, 5, 6, 393202, 5, 7, 327699, 5, 6, 458738, 5, 7, 393235, 5, 6, 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, 65539 )
|
||||
|
||||
[node name="DropThroughPlatforms" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 6 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
format = 1
|
||||
|
||||
[node name="PlatformPlants" type="TileMap" parent="."]
|
||||
tile_set = SubResource( 5 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
format = 1
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 5 )]
|
||||
position = Vector2( 288, 120 )
|
||||
position = Vector2( 288, 96 )
|
||||
next_scene = "res://src/Levels/Actual Level 1.tscn"
|
||||
|
||||
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
[ext_resource path="res://src/UserInterface/Buttons/RetryButton.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/UserInterface/Screens/InGameMenu/PauseScreen.gd" type="Script" id=5]
|
||||
[ext_resource path="res://src/UserInterface/Screens/InGameMenu/Continue.gd" type="Script" id=6]
|
||||
[ext_resource path="res://src/transparency.gdshader" type="Shader" id=7]
|
||||
[ext_resource path="res://assets/effects/transparency.gdshader" type="Shader" id=7]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/ReallyQuitMenu.gd" type="Script" id=8]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/ActionKeyList.gd" type="Script" id=9]
|
||||
[ext_resource path="res://src/UserInterface/Screens/InGameMenu/ControlsMenuIngame.gd" type="Script" id=10]
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/ActionKeyList.gd" type="Script" id=14]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/InputMapper.gd" type="Script" id=15]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/Reset.gd" type="Script" id=16]
|
||||
[ext_resource path="res://src/transparency.gdshader" type="Shader" id=17]
|
||||
[ext_resource path="res://assets/effects/transparency.gdshader" type="Shader" id=17]
|
||||
[ext_resource path="res://assets/meta/montserrat_extrabold.otf" type="DynamicFontData" id=18]
|
||||
[ext_resource path="res://src/UserInterface/Buttons/MenuNavigationButton.gd" type="Script" id=19]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user