feat: two new levels, vacuum robot sprite
This commit is contained in:
parent
ed61e1193d
commit
5fe48cdf90
@ -1,4 +0,0 @@
|
||||
extends Node
|
||||
|
||||
|
||||
func
|
||||
BIN
assets/enemy/VacuumRobot.aseprite
Normal file
BIN
assets/enemy/VacuumRobot.aseprite
Normal file
Binary file not shown.
BIN
assets/enemy/VacuumRobot.png
Normal file
BIN
assets/enemy/VacuumRobot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 586 B |
35
assets/enemy/VacuumRobot.png.import
Normal file
35
assets/enemy/VacuumRobot.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/VacuumRobot.png-c37e574af61145e94f9f999c7165e645.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/enemy/VacuumRobot.png"
|
||||
dest_files=[ "res://.import/VacuumRobot.png-c37e574af61145e94f9f999c7165e645.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/enemy/VacuumRobot1.png
Normal file
BIN
assets/enemy/VacuumRobot1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 492 B |
35
assets/enemy/VacuumRobot1.png.import
Normal file
35
assets/enemy/VacuumRobot1.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/VacuumRobot1.png-335dc5862b7016536fef27ef501bf2dd.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/enemy/VacuumRobot1.png"
|
||||
dest_files=[ "res://.import/VacuumRobot1.png-335dc5862b7016536fef27ef501bf2dd.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/enemy/VacuumRobot2.png
Normal file
BIN
assets/enemy/VacuumRobot2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 408 B |
35
assets/enemy/VacuumRobot2.png.import
Normal file
35
assets/enemy/VacuumRobot2.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/VacuumRobot2.png-0ac1d7f4706494e6c07a9bc73ff1ccee.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/enemy/VacuumRobot2.png"
|
||||
dest_files=[ "res://.import/VacuumRobot2.png-0ac1d7f4706494e6c07a9bc73ff1ccee.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
|
||||
@ -9,6 +9,11 @@
|
||||
config_version=4
|
||||
|
||||
_global_script_classes=[ {
|
||||
"base": "AudioStreamPlayer",
|
||||
"class": "ACVoiceBox",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/ACVoicebox/ACVoicebox.gd"
|
||||
}, {
|
||||
"base": "KinematicBody2D",
|
||||
"class": "Actor",
|
||||
"language": "GDScript",
|
||||
@ -90,6 +95,7 @@ _global_script_classes=[ {
|
||||
"path": "res://src/StateMachines/StateMachine.gd"
|
||||
} ]
|
||||
_global_script_class_icons={
|
||||
"ACVoiceBox": "",
|
||||
"Actor": "",
|
||||
"AudibleButton": "",
|
||||
"AudibleCheckbox": "",
|
||||
@ -316,11 +322,10 @@ common/enable_object_picking=false
|
||||
|
||||
quality/intended_usage/framebuffer_allocation=0
|
||||
quality/intended_usage/framebuffer_allocation.mobile=0
|
||||
2d/snapping/use_gpu_pixel_snap=true
|
||||
threads/thread_model=2
|
||||
2d/options/use_software_skinning=false
|
||||
quality/depth/hdr=false
|
||||
environment/default_environment="res://default_env.tres"
|
||||
quality/2d/use_pixel_snap=true
|
||||
environment/2d/use_nvidia_rect_flicker_workaround=true
|
||||
environment/stretch/aspect="ignore"
|
||||
environment/intended_usage/framebuffer_allocation.mobile=0
|
||||
|
||||
@ -252,7 +252,7 @@ func calculate_stomp_velocity(delta: float) -> float:
|
||||
stomp_time -= delta
|
||||
# print(stomp_time)
|
||||
if stomp_time <= 0:
|
||||
# print("stomping over")
|
||||
# print("stomping over")
|
||||
stomping = false
|
||||
stomp_time = init_stomp_time
|
||||
return v
|
||||
@ -283,15 +283,19 @@ func calculate_jump_velocity(linear_velocity: Vector2, delta: float, direction:
|
||||
# print(acceleration_force[state].y)
|
||||
# print(linear_velocity.y)
|
||||
|
||||
var y_velocity = 0
|
||||
if !Input.is_action_pressed("jump") && !stomping:
|
||||
# Smooth transition from jumping to falling
|
||||
if velocity.y > _gravity * delta * 10:
|
||||
linear_velocity.y += _gravity * delta * 10
|
||||
y_velocity += _gravity * delta * 10
|
||||
else:
|
||||
linear_velocity.y += (max(abs(linear_velocity.y), _gravity * delta) / 2)
|
||||
y_velocity += (max(abs(linear_velocity.y), _gravity * delta) / 2)
|
||||
|
||||
else:
|
||||
linear_velocity.y += _gravity * delta
|
||||
y_velocity += _gravity * delta
|
||||
|
||||
#if linear_velocity.y < max_velocity["jump"].y:
|
||||
linear_velocity.y += y_velocity
|
||||
|
||||
# TODO This is poop too
|
||||
if (
|
||||
@ -445,8 +449,8 @@ func calculate_slope_rotation(_onfloor: bool) -> float:
|
||||
|
||||
# TODO could be expanded with a parameter about what got stomped
|
||||
func stomp() -> void:
|
||||
# print("stomping")
|
||||
print(player_state_machine.state)
|
||||
#print("stomping")
|
||||
#print(player_state_machine.state)
|
||||
scene_audio.play_parallel_sound(
|
||||
"res://assets/sounds/FABRIC_Flap_03_mono.wav", -15, false, 1.5, 0.2
|
||||
)
|
||||
|
||||
@ -4385,7 +4385,7 @@ texture = SubResource( 62 )
|
||||
offset = Vector2( 1, 0 )
|
||||
hframes = 6
|
||||
vframes = 6
|
||||
frame = 6
|
||||
frame = 9
|
||||
__meta__ = {
|
||||
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo="
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ priority = 1.0
|
||||
position = Vector2( 0, -2.28618 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="EnemySkin" type="Area2D" parent="." groups=["player"]]
|
||||
[node name="EnemySkin" type="Area2D" parent="."]
|
||||
process_priority = -1
|
||||
collision_layer = 2
|
||||
collision_mask = 127
|
||||
|
||||
@ -20,9 +20,10 @@ func _physics_process(delta: float) -> void:
|
||||
else:
|
||||
velocity.x = PhysicsFunc.two_step_euler(velocity.x, acceleration * -sign(velocity.x),
|
||||
mass, delta)
|
||||
|
||||
|
||||
velocity.y = move_and_slide(velocity, FLOOR_NORMAL).y
|
||||
|
||||
if player_entered_stomp:
|
||||
$Sprite.frame = 1
|
||||
|
||||
# TODO Detects player over gaps
|
||||
func player_on_floor_direction() -> float:
|
||||
|
||||
@ -1,40 +1,40 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://assets/enemy/enemy.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/enemy/VacuumRobot.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Actors/Enemies/DartingEnemy.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 15, 9 )
|
||||
extents = Vector2( 14, 7 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 14, 1.5 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 15.534, 9.5 )
|
||||
extents = Vector2( 15, 6.5 )
|
||||
|
||||
[node name="DartingEnemy" type="KinematicBody2D" groups=["harmful"]]
|
||||
[node name="Vacuum" type="KinematicBody2D" groups=["harmful"]]
|
||||
collision_layer = 2
|
||||
collision_mask = 9
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="enemy" type="Sprite" parent="."]
|
||||
scale = Vector2( 0.286789, 0.276348 )
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -3 )
|
||||
texture = ExtResource( 1 )
|
||||
hframes = 2
|
||||
|
||||
[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."]
|
||||
position = Vector2( 1362.81, -0.138177 )
|
||||
scale = Vector2( 15.4865, 1.28502 )
|
||||
position = Vector2( 1362.81, 3.85601 )
|
||||
scale = Vector2( 15.4865, 0.885601 )
|
||||
rect = Rect2( -89, -10, 2, 20 )
|
||||
process_parent = true
|
||||
physics_process_parent = true
|
||||
|
||||
[node name="EnemyBody" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( -4.76837e-07, 4 )
|
||||
position = Vector2( -4.76837e-07, 6 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
||||
modulate = Color( 0, 0.0392157, 1, 1 )
|
||||
position = Vector2( 0, -6.44095 )
|
||||
collision_layer = 2
|
||||
input_pickable = false
|
||||
|
||||
@ -43,7 +43,6 @@ position = Vector2( 0, -3.55905 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="LedgeDetectorRays" type="Node2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2( -14, 12 )
|
||||
|
||||
[node name="RayCast2D" type="RayCast2D" parent="LedgeDetectorRays"]
|
||||
@ -66,7 +65,7 @@ collision_layer = 2
|
||||
collision_mask = 127
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"]
|
||||
position = Vector2( 0, 2.5 )
|
||||
position = Vector2( 0, 5.5 )
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"]
|
||||
|
||||
@ -1,25 +1,27 @@
|
||||
extends Actor
|
||||
class_name Enemy
|
||||
|
||||
export(bool) var killable := true
|
||||
var player_entered_stomp = false
|
||||
|
||||
|
||||
func _on_StompDetector_body_entered(body: Node) -> void:
|
||||
if !body.is_in_group("player"):
|
||||
return
|
||||
player_entered_stomp = true
|
||||
var incoming_vel_vector: Vector2 = body.velocity.normalized()
|
||||
print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation)))))
|
||||
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(95):
|
||||
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(95) \
|
||||
&& !player_entered_stomp:
|
||||
print("too shallow entry")
|
||||
body.die()
|
||||
player_entered_stomp = false
|
||||
return
|
||||
signal_manager.emit_signal("got_stomped")
|
||||
remove_from_group("harmful")
|
||||
$StompDetector.remove_from_group("weakpoint")
|
||||
get_node("EnemyBody").disabled = true
|
||||
die()
|
||||
player_entered_stomp = true
|
||||
#get_node("EnemyBody").disabled = true
|
||||
if(killable):
|
||||
remove_from_group("harmful")
|
||||
die()
|
||||
|
||||
|
||||
func die() -> void:
|
||||
@ -28,7 +30,7 @@ func die() -> void:
|
||||
|
||||
func _on_EnemySkin_area_entered(area: Area2D) -> void:
|
||||
if area.is_in_group("harmful"):
|
||||
get_node("EnemyBody").disabled = true
|
||||
#get_node("EnemyBody").disabled = true
|
||||
die()
|
||||
|
||||
|
||||
|
||||
@ -38,7 +38,6 @@ tracks/0/keys = {
|
||||
extents = Vector2( 20, 20 )
|
||||
|
||||
[node name="ElevatorButton" type="Node2D"]
|
||||
scale = Vector2( 2, 2 )
|
||||
z_index = -1
|
||||
script = ExtResource( 1 )
|
||||
elevator_time = 3
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=86 format=2]
|
||||
[gd_scene load_steps=87 format=2]
|
||||
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=1]
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=2]
|
||||
@ -57,6 +57,7 @@
|
||||
[ext_resource path="res://assets/environment/decor/longductor/Longductor9.png" type="Texture" id=55]
|
||||
[ext_resource path="res://assets/environment/decor/screen/Screen1.png" type="Texture" id=56]
|
||||
[ext_resource path="res://assets/environment/decor/Ceiling-Struct.png" type="Texture" id=57]
|
||||
[ext_resource path="res://addons/ACVoicebox/ACVoicebox.tscn" type="PackedScene" id=58]
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
code = "shader_type canvas_item;
|
||||
@ -1023,26 +1024,26 @@ tracks/2/keys = {
|
||||
"values": [ 128 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Gradient" id=20]
|
||||
[sub_resource type="Gradient" id=35]
|
||||
interpolation_mode = 2
|
||||
offsets = PoolRealArray( 0, 0.797721 )
|
||||
colors = PoolColorArray( 0, 0, 0, 0, 0, 0, 0, 0.4 )
|
||||
|
||||
[sub_resource type="GradientTexture2D" id=19]
|
||||
gradient = SubResource( 20 )
|
||||
gradient = SubResource( 35 )
|
||||
width = 640
|
||||
height = 360
|
||||
fill = 1
|
||||
fill_from = Vector2( 0.51066, 0.231548 )
|
||||
fill_to = Vector2( 1, 1 )
|
||||
|
||||
[sub_resource type="Gradient" id=21]
|
||||
[sub_resource type="Gradient" id=36]
|
||||
interpolation_mode = 2
|
||||
offsets = PoolRealArray( 0, 0.797721 )
|
||||
colors = PoolColorArray( 0, 0, 0, 0, 0, 0, 0, 0.4 )
|
||||
|
||||
[sub_resource type="GradientTexture2D" id=22]
|
||||
gradient = SubResource( 21 )
|
||||
gradient = SubResource( 36 )
|
||||
width = 1280
|
||||
height = 360
|
||||
fill = 1
|
||||
@ -1077,6 +1078,10 @@ __meta__ = {
|
||||
"_edit_vertical_guides_": [ 2880.0 ]
|
||||
}
|
||||
|
||||
[node name="ACVoicebox" parent="." instance=ExtResource( 58 )]
|
||||
volume_db = -23.016
|
||||
base_pitch = 2.5
|
||||
|
||||
[node name="SceneAudio" parent="." instance=ExtResource( 14 )]
|
||||
visible = false
|
||||
|
||||
@ -1322,10 +1327,9 @@ playing = true
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( -70, 1 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
mass = null
|
||||
jump_buffer_filled = null
|
||||
death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 33 )
|
||||
|
||||
@ -1152,7 +1152,7 @@ death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 8
|
||||
frame = 5
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
@ -1186,7 +1186,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 1440, -76 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 5
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
@ -241,7 +241,7 @@ death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 8
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
@ -281,7 +281,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 369, -300 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 10
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 9 )]
|
||||
|
||||
@ -129,6 +129,9 @@ jump_buffer_filled = null
|
||||
death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 9
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -156,7 +159,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 10 )]
|
||||
position = Vector2( 832, 310 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 5
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 11 )]
|
||||
@ -225,6 +227,7 @@ speed = 16
|
||||
|
||||
[node name="DartingEnemy" parent="." instance=ExtResource( 6 )]
|
||||
position = Vector2( 609, 67 )
|
||||
killable = false
|
||||
speed = 300
|
||||
acceleration = 800
|
||||
|
||||
|
||||
@ -128,7 +128,7 @@ death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 6
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 7 )
|
||||
@ -160,7 +160,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 7 )]
|
||||
position = Vector2( 464, -27 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 10
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 4 )]
|
||||
|
||||
@ -165,7 +165,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 13 )]
|
||||
position = Vector2( -96, 6 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 10
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 10 )]
|
||||
|
||||
@ -134,6 +134,9 @@ jump_buffer_filled = null
|
||||
death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 10
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -221,7 +224,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 9 )]
|
||||
position = Vector2( 112, 112 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 16
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
@ -185,7 +185,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 6 )]
|
||||
position = Vector2( -112, -10 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 30
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
400
src/Levels/Level 5.tscn
Normal file
400
src/Levels/Level 5.tscn
Normal file
File diff suppressed because one or more lines are too long
@ -1,212 +0,0 @@
|
||||
[gd_scene load_steps=20 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3]
|
||||
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=11]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=12]
|
||||
[ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=13]
|
||||
[ext_resource path="res://src/Platforms/Spring/Spring.tscn" type="PackedScene" id=14]
|
||||
[ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=15]
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform vec4 in_color:hint_color;
|
||||
uniform vec4 out_color:hint_color;
|
||||
|
||||
uniform float in_out:hint_range(0.,1.)=0.;
|
||||
|
||||
uniform float position:hint_range(-1.5,1.) = 0.856;
|
||||
uniform vec2 size = vec2(16., 16.);
|
||||
|
||||
void fragment(){
|
||||
|
||||
vec2 a = (1./SCREEN_PIXEL_SIZE) / size;
|
||||
|
||||
vec2 uv=UV;
|
||||
uv *= a;
|
||||
|
||||
vec2 i_uv = floor(uv);
|
||||
vec2 f_uv = fract(uv);
|
||||
|
||||
float wave = max(0.,i_uv.x/(a.x) - position);
|
||||
|
||||
vec2 center = f_uv*2.-1.;
|
||||
float circle = length(center);
|
||||
circle = 1. - step(wave,circle);
|
||||
|
||||
vec4 color = mix(in_color, out_color, step(0.5, in_out));
|
||||
|
||||
COLOR=vec4(circle) * color;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=16]
|
||||
shader = SubResource( 15 )
|
||||
shader_param/in_color = Color( 0, 0, 0, 1 )
|
||||
shader_param/out_color = Color( 0, 0, 0, 0.568627 )
|
||||
shader_param/in_out = 0.0
|
||||
shader_param/position = -1.5
|
||||
shader_param/size = Vector2( 32, 32 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
0/name = "platform-plants.png 0"
|
||||
0/texture = ExtResource( 3 )
|
||||
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="SpringMineThwomp Level" type="Node2D"]
|
||||
script = ExtResource( 11 )
|
||||
__meta__ = {
|
||||
"_edit_horizontal_guides_": [ 464.0 ],
|
||||
"_edit_vertical_guides_": [ 2880.0 ]
|
||||
}
|
||||
|
||||
[node name="SignalManager" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
[node name="SceneAudio" parent="." instance=ExtResource( 12 )]
|
||||
|
||||
[node name="LevelState" parent="." instance=ExtResource( 9 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 16 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="BlobbyCam" parent="." instance=ExtResource( 10 )]
|
||||
unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 6 )]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( 384, -304 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
mass = null
|
||||
jump_buffer_filled = null
|
||||
death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 10
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
unique_name_in_owner = true
|
||||
tile_set = ExtResource( 1 )
|
||||
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( -1900572, 5, 7, -1835036, 5, 7, -1769500, 5, 7, -1703964, 5, 7, -1638428, 5, 7, -1703901, 5, 6, -1572892, 5, 7, -1638365, 5, 6, -1507356, 5, 7, -1572829, 5, 6, -1441820, 5, 7, -1507293, 5, 6, -1376284, 5, 7, -1441757, 5, 6, -1310748, 5, 7, -1376221, 5, 6, -1245212, 5, 7, -1310685, 5, 6, -1179676, 5, 7, -1245164, 5, 1, -1245163, 5, 2, -1245162, 5, 3, -1245161, 5, 3, -1245160, 5, 3, -1245159, 5, 3, -1245158, 5, 3, -1245157, 5, 5, -1245149, 5, 6, -1114140, 5, 7, -1179628, 5, 9, -1179627, 5, 10, -1179626, 5, 65541, -1179621, 5, 8, -1179613, 5, 6, -1048604, 5, 7, -1114090, 5, 6, -1114088, 5, 65540, -1114087, 5, 10, -1114086, 5, 10, -1114085, 5, 65536, -1114077, 5, 9, -1114076, 5, 10, -1114075, 5, 65541, -983068, 5, 7, -1048554, 5, 6, -1048552, 5, 7, -1048539, 5, 6, -917532, 5, 65538, -917531, 5, 2, -917530, 5, 2, -917529, 5, 2, -917528, 5, 2, -917527, 5, 2, -917526, 5, 2, -917525, 5, 2, -917524, 5, 2, -917523, 5, 2, -917522, 5, 2, -917521, 5, 2, -917520, 5, 2, -917519, 5, 2, -917518, 5, 2, -917517, 5, 2, -917516, 5, 2, -917515, 5, 2, -917514, 5, 2, -917513, 5, 2, -917512, 5, 2, -917511, 5, 2, -917510, 5, 2, -917509, 5, 2, -917508, 5, 2, -917507, 5, 2, -917506, 5, 2, -917505, 5, 2, -983040, 5, 2, -983039, 5, 2, -983038, 5, 2, -983037, 5, 2, -983036, 5, 2, -983035, 5, 2, -983034, 5, 2, -983033, 5, 2, -983032, 5, 2, -983031, 5, 2, -983030, 5, 2, -983029, 5, 2, -983028, 5, 2, -983027, 5, 2, -983026, 5, 2, -983025, 5, 2, -983024, 5, 2, -983023, 5, 2, -983022, 5, 2, -983021, 5, 2, -983020, 5, 2, -983019, 5, 2, -983018, 5, 65539, -983016, 5, 7, -983003, 5, 6, -917480, 5, 65538, -917479, 5, 3, -917478, 5, 3, -917477, 5, 5, -917469, 5, 1, -917468, 5, 2, -917467, 5, 65539, -786448, 5, 65540, -786447, 5, 10, -786446, 5, 10, -786445, 5, 10, -786444, 5, 10, -786443, 5, 10, -786442, 5, 10, -786441, 5, 10, -786440, 5, 10, -786439, 5, 10, -786438, 5, 10, -786437, 5, 10, -786436, 5, 10, -786435, 5, 10, -786434, 5, 10, -786433, 5, 10, -851968, 5, 10, -851967, 5, 10, -851966, 5, 10, -851965, 5, 10, -851964, 5, 10, -851963, 5, 10, -851962, 5, 10, -851961, 5, 10, -851960, 5, 10, -851959, 5, 10, -851958, 5, 10, -851957, 5, 10, -851956, 5, 10, -851955, 5, 10, -851954, 5, 10, -851953, 5, 10, -851952, 5, 10, -851951, 5, 10, -851950, 5, 10, -851949, 5, 10, -851948, 5, 10, -851947, 5, 10, -851946, 5, 10, -851945, 5, 10, -851944, 5, 10, -851943, 5, 10, -851942, 5, 10, -851941, 5, 65536, -851933, 5, 6, -720912, 5, 7, -786397, 5, 6, -655376, 5, 7, -720861, 5, 6, -589840, 5, 7, -655325, 5, 6, -524304, 5, 7, -589789, 5, 6, -458768, 5, 7, -524253, 5, 6, -393232, 5, 7, -458717, 5, 6, -327696, 5, 7, -393188, 5, 1, -393187, 5, 3, -393186, 5, 3, -393185, 5, 3, -393184, 5, 3, -393183, 5, 3, -393182, 5, 3, -393181, 5, 65539, -262160, 5, 7, -327652, 5, 6, -196624, 5, 7, -262116, 5, 6, -131088, 5, 7, -196588, 5, 1, -196587, 5, 3, -196586, 5, 3, -196585, 5, 3, -196584, 5, 3, -196583, 5, 3, -196582, 5, 3, -196581, 5, 3, -196580, 5, 65539, -65552, 5, 7, -131052, 5, 6, -16, 5, 7, -65533, 5, 1, -65532, 5, 3, -65531, 5, 3, -65530, 5, 3, -65529, 5, 3, -65528, 5, 3, -65527, 5, 3, -65526, 5, 5, -65516, 5, 6, 65520, 5, 7, 3, 5, 6, 10, 5, 7, 20, 5, 6, 131056, 5, 7, 65539, 5, 6, 65546, 5, 7, 65556, 5, 6, 196592, 5, 7, 131075, 5, 6, 131082, 5, 65538, 131083, 5, 3, 131084, 5, 3, 131085, 5, 3, 131086, 5, 3, 131087, 5, 3, 131088, 5, 3, 131089, 5, 3, 131090, 5, 3, 131091, 5, 3, 131092, 5, 65539, 262128, 5, 7, 196611, 5, 6, 327664, 5, 7, 262147, 5, 6, 393200, 5, 7, 327683, 5, 6, 458736, 5, 7, 393219, 5, 6, 524272, 5, 65538, 524273, 5, 3, 524274, 5, 3, 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, 3, 458754, 5, 3, 458755, 5, 65539 )
|
||||
|
||||
[node name="DropThroughPlatforms" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 2 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
collision_layer = 128
|
||||
collision_mask = 128
|
||||
format = 1
|
||||
tile_data = PoolIntArray( -1048549, -1610612734, 0, -983013, -1610612734, 2 )
|
||||
|
||||
[node name="PlatformPlants" type="TileMap" parent="."]
|
||||
tile_set = SubResource( 5 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
format = 1
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 4 )]
|
||||
position = Vector2( 289, 203 )
|
||||
next_scene = "res://src/Levels/Actual Level 1.tscn"
|
||||
|
||||
[node name="FlyingLaserCutter2" parent="." instance=ExtResource( 13 )]
|
||||
position = Vector2( 413, -240 )
|
||||
avoid_crushing = true
|
||||
|
||||
[node name="FlyingLaserCutter3" parent="." instance=ExtResource( 13 )]
|
||||
position = Vector2( 339, -256 )
|
||||
rotation = 3.14159
|
||||
avoid_crushing = true
|
||||
|
||||
[node name="FlyingLaserCutter" parent="." instance=ExtResource( 13 )]
|
||||
position = Vector2( 0, -3 )
|
||||
rotation = 1.57079
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 5 )]
|
||||
position = Vector2( 209, 209 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 10
|
||||
|
||||
[node name="Spring2" parent="." instance=ExtResource( 14 )]
|
||||
position = Vector2( 250, -14 )
|
||||
|
||||
[node name="Spring" parent="." instance=ExtResource( 14 )]
|
||||
position = Vector2( 509, -146 )
|
||||
|
||||
[node name="Spikes" parent="." instance=ExtResource( 15 )]
|
||||
position = Vector2( 208, -288 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="Spikes2" parent="." instance=ExtResource( 15 )]
|
||||
position = Vector2( 186, -288 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="Spikes3" parent="." instance=ExtResource( 15 )]
|
||||
position = Vector2( 96, -256 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="Spikes4" parent="." instance=ExtResource( 15 )]
|
||||
position = Vector2( 1.52588e-05, -256 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="Spikes5" parent="." instance=ExtResource( 15 )]
|
||||
position = Vector2( -32, -256 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
|
||||
|
||||
[editable path="SignalManager"]
|
||||
[editable path="LevelState"]
|
||||
[editable path="UserInterface"]
|
||||
[editable path="UserInterface/HUD"]
|
||||
[editable path="BlobbyCam"]
|
||||
[editable path="Blobby"]
|
||||
@ -25,6 +25,5 @@ func _ready() -> void:
|
||||
$SceneAudio.play_parallel_sound(level_music, level_music_attenuation, false, 1.0, 0, "Music")
|
||||
$SceneAudio.play_parallel_sound(level_ambiance, level_ambiance_attenuation)
|
||||
|
||||
|
||||
func stop_level_music(_unused: float) -> void:
|
||||
$SceneAudio.stop_parallel_sound(level_music)
|
||||
|
||||
@ -117,7 +117,7 @@ position = Vector2( -1, 112 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 5
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
@ -148,7 +148,6 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 208, 102 )
|
||||
scale = Vector2( 1, 1 )
|
||||
elevator_time = 10
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 5 )]
|
||||
|
||||
@ -15,9 +15,9 @@ func _ready() -> void:
|
||||
$Area2D.add_to_group("harmful")
|
||||
$Sprite/AnimationPlayer.play("armed")
|
||||
|
||||
func _on_Area2D_area_exited(_area: Area2D) -> void:
|
||||
$Timer.start()
|
||||
|
||||
func _on_Area2D_area_exited(area: Area2D) -> void:
|
||||
if(area.is_in_group("player")):
|
||||
$Timer.start()
|
||||
|
||||
func _on_Timer_timeout() -> void:
|
||||
is_armed = true
|
||||
|
||||
@ -41,7 +41,7 @@ resource_name = "LowPassFilter"
|
||||
cutoff_hz = 3000.0
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -12.0412
|
||||
bus/0/volume_db = inf_neg
|
||||
bus/1/name = "Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
|
||||
Loading…
Reference in New Issue
Block a user