balance, fix: more in jump accel, froggy behavior fixes
This commit is contained in:
parent
f6bc1e7895
commit
6a5bd5f830
Binary file not shown.
|
Before Width: | Height: | Size: 915 B After Width: | Height: | Size: 915 B |
35
assets/effects/blobby-effects-spritesheet.png.import
Normal file
35
assets/effects/blobby-effects-spritesheet.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/blobby-effects-spritesheet.png-046e6327578f906889b338fa7d954dd5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/effects/blobby-effects-spritesheet.png"
|
||||
dest_files=[ "res://.import/blobby-effects-spritesheet.png-046e6327578f906889b338fa7d954dd5.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/effects/run-dusting1.png
Normal file
BIN
assets/effects/run-dusting1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/blobby-effects-spritesheet.png-96fbd93f447d801bf91090bfbf2e0c14.stex"
|
||||
path="res://.import/run-dusting1.png-01275136d032d124ce874b8793ba4a98.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/blobby/blobby-effects-spritesheet.png"
|
||||
dest_files=[ "res://.import/blobby-effects-spritesheet.png-96fbd93f447d801bf91090bfbf2e0c14.stex" ]
|
||||
source_file="res://assets/effects/run-dusting1.png"
|
||||
dest_files=[ "res://.import/run-dusting1.png-01275136d032d124ce874b8793ba4a98.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
assets/effects/run-dusting2.png
Normal file
BIN
assets/effects/run-dusting2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 182 B |
35
assets/effects/run-dusting2.png.import
Normal file
35
assets/effects/run-dusting2.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/run-dusting2.png-5d3138e9a1cad23467a8410ccc9759f5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/effects/run-dusting2.png"
|
||||
dest_files=[ "res://.import/run-dusting2.png-5d3138e9a1cad23467a8410ccc9759f5.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/effects/run-dusting3.png
Normal file
BIN
assets/effects/run-dusting3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 199 B |
35
assets/effects/run-dusting3.png.import
Normal file
35
assets/effects/run-dusting3.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/run-dusting3.png-7bf0422976389cd92d1a9830a793b0ce.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/effects/run-dusting3.png"
|
||||
dest_files=[ "res://.import/run-dusting3.png-7bf0422976389cd92d1a9830a793b0ce.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/effects/run-dusting4.png
Normal file
BIN
assets/effects/run-dusting4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 213 B |
35
assets/effects/run-dusting4.png.import
Normal file
35
assets/effects/run-dusting4.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/run-dusting4.png-7a5287681d52628233a05d53c88a89b8.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/effects/run-dusting4.png"
|
||||
dest_files=[ "res://.import/run-dusting4.png-7a5287681d52628233a05d53c88a89b8.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
|
||||
18
assets/effects/running smoke.tres
Normal file
18
assets/effects/running smoke.tres
Normal file
@ -0,0 +1,18 @@
|
||||
[gd_resource type="AnimatedTexture" load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://assets/effects/run-dusting2.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/effects/run-dusting3.png" type="Texture" id=2]
|
||||
[ext_resource path="res://assets/effects/run-dusting1.png" type="Texture" id=3]
|
||||
[ext_resource path="res://assets/effects/run-dusting4.png" type="Texture" id=4]
|
||||
|
||||
[resource]
|
||||
frames = 4
|
||||
fps = 3.0
|
||||
frame_0/texture = ExtResource( 3 )
|
||||
frame_0/delay_sec = 0.1
|
||||
frame_1/texture = ExtResource( 1 )
|
||||
frame_1/delay_sec = 0.1
|
||||
frame_2/texture = ExtResource( 2 )
|
||||
frame_2/delay_sec = 0.1
|
||||
frame_3/texture = ExtResource( 4 )
|
||||
frame_3/delay_sec = 0.1
|
||||
@ -16,7 +16,7 @@ var wallslide_threshold := 1000
|
||||
var base_floor_friction := 0.5
|
||||
var floor_friction := base_floor_friction
|
||||
var max_velocity := {
|
||||
"walk": 120, "run": 160, "fall": 420, "walljump": 200, "idle": 12000, "duck": 160
|
||||
"walk": 120, "run": 160, "jump": Vector2(120, 420), "fall": Vector2(120, 420), "walljump": 200, "idle": 12000, "duck": 160
|
||||
}
|
||||
var velocity_jump_boost_ratio := 10
|
||||
# This is added to the acceleration force initially
|
||||
@ -27,8 +27,8 @@ var init_acceleration_force := {
|
||||
# newtonmeters is the unit
|
||||
var acceleration_force := {
|
||||
"walk": Vector2(1800, 1300),
|
||||
"fall": Vector2(2000, 0),
|
||||
"jump": Vector2(2000, 0),
|
||||
"fall": Vector2(1800, 0),
|
||||
"jump": Vector2(1800, 0),
|
||||
"idle": Vector2(1800, 1233),
|
||||
"duck": Vector2(500, 1300),
|
||||
"run": Vector2(2500, 1400),
|
||||
|
||||
@ -287,8 +287,8 @@ func calculate_jump_velocity(
|
||||
linear_velocity.y += _gravity * delta
|
||||
|
||||
# TODO This is poop too
|
||||
if -45 < velocity.x and direction.x < 0 || \
|
||||
45 > velocity.x and direction.x > 0:
|
||||
if -max_velocity["jump"].x < velocity.x and direction.x < 0 || \
|
||||
max_velocity["jump"].x > velocity.x and direction.x > 0:
|
||||
linear_velocity.x = PhysicsFunc.two_step_euler(
|
||||
linear_velocity.x, acceleration_force[state].x * direction.x,
|
||||
mass,
|
||||
@ -306,14 +306,14 @@ func calculate_fall_velocity(
|
||||
linear_velocity: Vector2, delta: float, direction: Vector2
|
||||
) -> Vector2:
|
||||
var state = player_state_machine.state
|
||||
if velocity.y < max_velocity["fall"]:
|
||||
if velocity.y < max_velocity["fall"].y:
|
||||
linear_velocity.y = PhysicsFunc.two_step_euler(
|
||||
linear_velocity.y, _gravity * mass, mass, delta
|
||||
)
|
||||
else:
|
||||
linear_velocity.y = max_velocity["fall"]
|
||||
if -45 < velocity.x and direction.x < 0 || \
|
||||
45 > velocity.x and direction.x > 0:
|
||||
linear_velocity.y = max_velocity["fall"].y
|
||||
if -max_velocity["fall"].x < velocity.x and direction.x < 0 || \
|
||||
max_velocity["fall"].x > velocity.x and direction.x > 0:
|
||||
# TODO This is poop
|
||||
linear_velocity.x = PhysicsFunc.two_step_euler(
|
||||
linear_velocity.x, acceleration_force[state].x * direction.x,
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=122 format=2]
|
||||
[gd_scene load_steps=124 format=2]
|
||||
|
||||
[ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/effects/blobby-effects-spritesheet.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Actors/Blobby/DeathShader.tres" type="Material" id=2]
|
||||
[ext_resource path="res://src/Actors/Blobby/BlobbyStateMachine.gd" type="Script" id=3]
|
||||
[ext_resource path="res://src/Actors/Blobby/Blobby.gd" type="Script" id=4]
|
||||
[ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=5]
|
||||
[ext_resource path="res://src/ThirdParty/Demo/IridescenceBall.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://assets/effects/running smoke.tres" type="Texture" id=7]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 14.9127, 5.98593 )
|
||||
@ -303,7 +304,7 @@ states/wallsliding/node = SubResource( 96 )
|
||||
states/wallsliding/position = Vector2( 1795.54, 493.009 )
|
||||
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "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", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "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 ) ]
|
||||
start_node = "idling"
|
||||
graph_offset = Vector2( 1027.54, -183.431 )
|
||||
graph_offset = Vector2( 1082.54, -290.431 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
||||
|
||||
@ -481,7 +482,7 @@ tracks/13/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/14/path = NodePath(".:material:shader_param/sensitivity")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
@ -490,10 +491,10 @@ tracks/14/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 8 ]
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
tracks/15/type = "value"
|
||||
tracks/15/path = NodePath("../BlobbyStateEffects:position")
|
||||
tracks/15/path = NodePath(".:material:shader_param/scale")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/imported = false
|
||||
@ -502,66 +503,6 @@ tracks/15/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 3.07106, -16.064 ) ]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/18/type = "value"
|
||||
tracks/18/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/18/interp = 1
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/imported = false
|
||||
tracks/18/enabled = true
|
||||
tracks/18/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 4, 0 ) ]
|
||||
}
|
||||
tracks/19/type = "value"
|
||||
tracks/19/path = NodePath(".:material:shader_param/sensitivity")
|
||||
tracks/19/interp = 1
|
||||
tracks/19/loop_wrap = true
|
||||
tracks/19/imported = false
|
||||
tracks/19/enabled = true
|
||||
tracks/19/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
tracks/20/type = "value"
|
||||
tracks/20/path = NodePath(".:material:shader_param/scale")
|
||||
tracks/20/interp = 1
|
||||
tracks/20/loop_wrap = true
|
||||
tracks/20/imported = false
|
||||
tracks/20/enabled = true
|
||||
tracks/20/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 1.0 ]
|
||||
}
|
||||
|
||||
@ -811,18 +752,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=69]
|
||||
length = 0.1
|
||||
@ -959,18 +888,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=107]
|
||||
resource_name = "duckingLeft"
|
||||
@ -1108,18 +1025,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=184]
|
||||
resource_name = "dying"
|
||||
@ -1377,18 +1282,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=106]
|
||||
resource_name = "fallingLeft"
|
||||
@ -1526,18 +1419,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=70]
|
||||
length = 0.133
|
||||
@ -1674,18 +1555,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=7]
|
||||
length = 7.6
|
||||
@ -1822,18 +1691,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=103]
|
||||
resource_name = "idlingLeft"
|
||||
@ -1971,18 +1828,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=71]
|
||||
length = 0.13
|
||||
@ -2119,18 +1964,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=105]
|
||||
resource_name = "jumpToFallLeft"
|
||||
@ -2268,18 +2101,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=8]
|
||||
length = 0.1
|
||||
@ -2416,18 +2237,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=104]
|
||||
resource_name = "jumpingLeft"
|
||||
@ -2565,18 +2374,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=72]
|
||||
length = 0.23
|
||||
@ -2713,18 +2510,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=143]
|
||||
resource_name = "runToJumpLeft"
|
||||
@ -2862,18 +2647,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=49]
|
||||
resource_name = "running"
|
||||
@ -3012,54 +2785,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 6, 9, 9, 9, 5, 6, 7 ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, -1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=102]
|
||||
resource_name = "runningLeft"
|
||||
@ -3198,54 +2923,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 6, 9, 9, 9, 5, 6, 7 ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 5, -1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=58]
|
||||
length = 0.133
|
||||
@ -3382,18 +3059,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=100]
|
||||
resource_name = "turnToRunLeft"
|
||||
@ -3531,18 +3196,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=9]
|
||||
length = 0.5
|
||||
@ -3679,18 +3332,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=99]
|
||||
resource_name = "walkingLeft"
|
||||
@ -3828,18 +3469,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=73]
|
||||
length = 0.15
|
||||
@ -3976,18 +3605,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=101]
|
||||
resource_name = "wallslideToJumpRight"
|
||||
@ -4125,18 +3742,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=74]
|
||||
length = 0.1
|
||||
@ -4273,18 +3878,6 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=97]
|
||||
resource_name = "wallslidingRight"
|
||||
@ -4422,18 +4015,16 @@ tracks/10/keys = {
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=197]
|
||||
flag_disable_z = true
|
||||
direction = Vector3( -10, -1, 0 )
|
||||
spread = 1.0
|
||||
initial_velocity = 40.0
|
||||
orbit_velocity = 0.0
|
||||
orbit_velocity_random = 0.0
|
||||
linear_accel = -20.0
|
||||
damping = 20.0
|
||||
|
||||
[sub_resource type="Animation" id=181]
|
||||
length = 0.001
|
||||
@ -4659,7 +4250,20 @@ anims/wallslideToJumpRight = SubResource( 101 )
|
||||
anims/wallsliding = SubResource( 74 )
|
||||
anims/wallslidingRight = SubResource( 97 )
|
||||
|
||||
[node name="RunningParticles" type="Particles2D" parent="."]
|
||||
position = Vector2( 0, -17 )
|
||||
z_index = 1
|
||||
z_as_relative = false
|
||||
emitting = false
|
||||
amount = 1
|
||||
lifetime = 0.3
|
||||
local_coords = false
|
||||
draw_order = 1
|
||||
process_material = SubResource( 197 )
|
||||
texture = ExtResource( 7 )
|
||||
|
||||
[node name="BlobbyActionEffects" type="Sprite" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 3.07106, -16.064 )
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 1 )
|
||||
@ -4672,14 +4276,6 @@ anims/RESET = SubResource( 181 )
|
||||
anims/airstrafing = SubResource( 182 )
|
||||
anims/airstrafingLeft = SubResource( 183 )
|
||||
|
||||
[node name="BlobbyStateEffects" type="Sprite" parent="."]
|
||||
position = Vector2( 3.07106, -16.064 )
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 4, 0 )
|
||||
hframes = 10
|
||||
frame = 8
|
||||
|
||||
[node name="Blobby3DEffects" type="Sprite" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( 0, -9 )
|
||||
|
||||
@ -7,6 +7,7 @@ export var init_boost_type = ""
|
||||
onready var anim_player = parent.get_node("BlobbySprite/BlobbymationPlayer")
|
||||
onready var anim_state_playback = parent.get_node("BlobbySprite/AnimationTree").get("parameters/playback")
|
||||
onready var anim_tree = parent.get_node("BlobbySprite/AnimationTree")
|
||||
onready var running_particles = parent.get_node("RunningParticles")
|
||||
onready var sprite = parent.get_node("BlobbySprite")
|
||||
onready var slope_raycast = get_node("%SlopeRaycast")
|
||||
|
||||
@ -202,6 +203,11 @@ func _enter_state(new_state, old_state):
|
||||
init_boost = false
|
||||
init_boost_type = ""
|
||||
|
||||
if(new_state == "run"):
|
||||
running_particles.emitting = true
|
||||
running_particles.scale.x = facing
|
||||
|
||||
|
||||
if !["run", "walk", "idle", "duck"].has(old_state) && parent.is_on_floor():
|
||||
emit_signal("got_grounded")
|
||||
|
||||
@ -233,6 +239,8 @@ func _enter_state(new_state, old_state):
|
||||
|
||||
|
||||
func _exit_state(_old_state, _new_state):
|
||||
if(_old_state == "run"):
|
||||
running_particles.emitting = false
|
||||
pass
|
||||
|
||||
func _set_blendspaces_direction(value):
|
||||
|
||||
@ -65,7 +65,7 @@ func _process(delta: float) -> void:
|
||||
screen_top = screen_center - Vector2(0, screen_rect.y/2)
|
||||
screen_left = screen_center - Vector2(screen_rect.x/2, 0)
|
||||
screen_right = screen_center + Vector2(screen_rect.x/2, 0)
|
||||
_adjust_horizontal_offset(delta)
|
||||
_adjust_offset(delta)
|
||||
|
||||
if(anim_player.is_playing()):
|
||||
position = blobby.position
|
||||
@ -108,8 +108,8 @@ func _set_boundaries():
|
||||
# TODO +2 is fixed for camera issue in adjust horizontal
|
||||
limit_right = rect.end.x * cell_size.x - 8
|
||||
limit_left = rect.position.x * cell_size.x + 8
|
||||
limit_top = rect.position.y * cell_size.y
|
||||
limit_bottom = rect.end.y * cell_size.y
|
||||
limit_top = rect.position.y * cell_size.y + 8
|
||||
limit_bottom = rect.end.y * cell_size.y - 8
|
||||
original_limit_left = limit_left
|
||||
original_limit_right = limit_right
|
||||
original_limit_top = limit_top
|
||||
@ -177,15 +177,23 @@ func _adapt_to_input(velocity: Vector2) -> void:
|
||||
|
||||
# TODO This is a regulatory problem, it doesn't adapt fast enough
|
||||
# TODO Maybe just make background black and dont bother
|
||||
func _adjust_horizontal_offset(delta: float) -> void:
|
||||
if (limit_left - position.x - screen_left.x > 0.001):
|
||||
func _adjust_offset(delta: float) -> void:
|
||||
var new_offset = offset
|
||||
if (limit_left - position.x - screen_left.x > 0.1):
|
||||
if (anim_player.is_playing()):
|
||||
anim_player.stop(false)
|
||||
offset.x += (limit_left - position.x - screen_left.x)/2
|
||||
if (limit_right - position.x - screen_right.x < 0.001):
|
||||
new_offset.x += (limit_left - position.x - screen_left.x)/2
|
||||
if (limit_right - position.x - screen_right.x < 0.1):
|
||||
if (anim_player.is_playing()):
|
||||
anim_player.stop(false)
|
||||
offset.x += (limit_right - position.x - screen_right.x)/2
|
||||
new_offset.x += (limit_right - position.x - screen_right.x)/2
|
||||
if (limit_top - position.y - screen_top.y > 0.001):
|
||||
new_offset.y += (limit_top - position.y - screen_top.y)/2
|
||||
if (limit_bottom - position.y - screen_bottom.y < 0.001):
|
||||
new_offset.y += (limit_bottom - position.y - screen_bottom.y)/2
|
||||
if(abs(offset.x) >= abs(new_offset.x) + 1):
|
||||
offset = new_offset
|
||||
|
||||
|
||||
func reset_limits() -> void:
|
||||
limit_left = original_limit_left
|
||||
|
||||
@ -56,5 +56,6 @@ func disconnect_rope() -> void:
|
||||
func _on_FrogFreeButton_pushed() -> void:
|
||||
$WhatAreFrog.levelState.frees += 1
|
||||
$WhatAreFrog.is_bound = false
|
||||
$WhatAreFrog.remove_from_group("harmful")
|
||||
disconnect_rope()
|
||||
is_first_signal = false
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
extents = Vector2( 2.72463, 1.43961 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 15, 3.0301 )
|
||||
extents = Vector2( 15, 4.51505 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 15.534, 10.0962 )
|
||||
@ -35,14 +35,13 @@ scale = Vector2( 5.68128, 5.29182 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
||||
visible = false
|
||||
modulate = Color( 0, 0.0392157, 1, 1 )
|
||||
position = Vector2( 0, -6.44095 )
|
||||
collision_layer = 2
|
||||
input_pickable = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
|
||||
position = Vector2( 0, -2.52895 )
|
||||
position = Vector2( 0, -1.044 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="LedgeDetectorRays" type="Node2D" parent="."]
|
||||
|
||||
@ -222,7 +222,6 @@ valign = 1
|
||||
|
||||
[node name="FlyerSprite" type="Sprite" parent="."]
|
||||
unique_name_in_owner = true
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 4 )
|
||||
hframes = 2
|
||||
|
||||
@ -236,13 +235,13 @@ anims/searchingLeft = SubResource( 34 )
|
||||
[node name="AnimationTree" type="AnimationTree" parent="FlyerSprite"]
|
||||
tree_root = SubResource( 50 )
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
active = true
|
||||
root_motion_track = NodePath(".")
|
||||
parameters/playback = SubResource( 51 )
|
||||
parameters/hunting/blend_position = -1.04288
|
||||
parameters/searching/blend_position = 1.2903
|
||||
|
||||
[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 954, 0 )
|
||||
scale = Vector2( 10.84, 0.899 )
|
||||
rect = Rect2( -89, -10, 2, 20 )
|
||||
@ -250,12 +249,14 @@ process_parent = true
|
||||
physics_process_parent = true
|
||||
|
||||
[node name="FeelerRayCast" type="RayCast2D" parent="."]
|
||||
visible = false
|
||||
enabled = true
|
||||
cast_to = Vector2( 0, -1 )
|
||||
collision_mask = 56
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="EnemyBody" type="CollisionShape2D" parent="." groups=["harmful"]]
|
||||
visible = false
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
|
||||
@ -263,6 +264,7 @@ path_desired_distance = 8.0
|
||||
target_desired_distance = 8.0
|
||||
|
||||
[node name="cshape" type="Node2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 0, -3.8147e-06 )
|
||||
scale = Vector2( 0.1, 0.1 )
|
||||
|
||||
@ -272,6 +274,7 @@ bias = 0.108
|
||||
softness = 0.1
|
||||
|
||||
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
||||
visible = false
|
||||
modulate = Color( 0, 0.0392157, 1, 1 )
|
||||
position = Vector2( 0, -1.90735e-06 )
|
||||
scale = Vector2( 0.7, 0.7 )
|
||||
@ -284,6 +287,7 @@ shape = SubResource( 2 )
|
||||
|
||||
[node name="EnemySkin" type="Area2D" parent="."]
|
||||
process_priority = -1
|
||||
visible = false
|
||||
scale = Vector2( 0.7, 0.7 )
|
||||
collision_layer = 2
|
||||
collision_mask = 126
|
||||
|
||||
@ -49,7 +49,7 @@ var detect_timer := 0.0
|
||||
|
||||
var reversing_possible_searching := true
|
||||
|
||||
# TODO Make parameters tunable!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111!!
|
||||
|
||||
func _ready():
|
||||
default_jump_distance = default_jump_distance * tilemap.cell_size.x
|
||||
jump_timer = Timer.new()
|
||||
@ -60,6 +60,7 @@ func _ready():
|
||||
target_lost_timer.connect("timeout", self, "loose_target")
|
||||
add_child(jump_timer)
|
||||
add_child(target_lost_timer)
|
||||
if(is_bound): add_to_group("harmful")
|
||||
|
||||
|
||||
func bind_to_anchor(anchor_node: Node2D, radius: float ) -> void:
|
||||
@ -69,20 +70,22 @@ func bind_to_anchor(anchor_node: Node2D, radius: float ) -> void:
|
||||
|
||||
|
||||
func _on_StompDetector_body_entered(body: Node) -> void:
|
||||
if !body.is_in_group("player"):
|
||||
if !body.is_in_group("player") || is_hurt:
|
||||
return
|
||||
var incoming_vel_vector: Vector2 = body.velocity.normalized()
|
||||
# TODO This is not the right angle somehow
|
||||
print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation)))))
|
||||
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(60):
|
||||
print("too shallow entry")
|
||||
return
|
||||
# print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation)))))
|
||||
# if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(60):
|
||||
# print("too shallow entry")
|
||||
# return
|
||||
signalManager.emit_signal("got_stomped")
|
||||
remove_from_group("harmful")
|
||||
# TODO Weakpoint group is not needed per se
|
||||
$StompDetector.remove_from_group("weakpoint")
|
||||
get_node("EnemyBody").disabled = true
|
||||
die()
|
||||
|
||||
is_hurt = true
|
||||
$FrogSprite.material = invincible_shader
|
||||
$HurtTimer.start()
|
||||
|
||||
|
||||
func execute_movement(delta: float) -> void:
|
||||
@ -500,5 +503,5 @@ func get_facing_direction() -> float:
|
||||
|
||||
func _on_HurtTimer_timeout() -> void:
|
||||
is_hurt = false
|
||||
add_to_group("harmful")
|
||||
if(is_bound): add_to_group("harmful")
|
||||
$FrogSprite.material = null
|
||||
|
||||
@ -426,12 +426,12 @@ graph_offset = Vector2( -340, -193 )
|
||||
extents = Vector2( 12, 9 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 18.5714, 2.85714 )
|
||||
extents = Vector2( 15.7143, 2.14286 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 18.2143, 13.5955 )
|
||||
|
||||
[node name="WhatAreFrog" type="KinematicBody2D" groups=["harmful"]]
|
||||
[node name="WhatAreFrog" type="KinematicBody2D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 57
|
||||
collision/safe_margin = 0.001
|
||||
@ -553,7 +553,8 @@ input_pickable = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
|
||||
position = Vector2( 0, -1.42857 )
|
||||
position = Vector2( -5.68434e-14, -2.14286 )
|
||||
scale = Vector2( 0.999999, 0.999999 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="EnemySkin" type="Area2D" parent="."]
|
||||
|
||||
@ -36,10 +36,10 @@ unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 8
|
||||
frame = 12
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 8
|
||||
frame = 7
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -44,10 +44,10 @@ unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 4
|
||||
frame = 2
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 4
|
||||
frame = 2
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 9 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -86,9 +86,8 @@ tile_data = PoolIntArray( 65535, 1610612751, 0, 0, 1610612746, 0, 1, 1610612746,
|
||||
|
||||
[node name="Flyer" parent="." instance=ExtResource( 45 )]
|
||||
position = Vector2( 552, 288 )
|
||||
blindspot_angle = 20
|
||||
acceleration = 90
|
||||
max_speed = 120
|
||||
acceleration = 80
|
||||
max_speed = 100
|
||||
weight = 0.2
|
||||
|
||||
[node name="AnimationTree" parent="Flyer/FlyerSprite" index="1"]
|
||||
|
||||
88
src/Levels/Level 5.tscn
Normal file
88
src/Levels/Level 5.tscn
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user