5 Commits
Author SHA1 Message Date
TheRailGoat 656026aa09 Minor Level Tweaks +Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-29 23:07:44 -05:00
TheRailGoat 43b38b2428 Saw updates + experimental new level
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-28 23:28:40 -05:00
TheRailGoat 3b0b981337 Swinging Saws (plus prototype level select)
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-25 22:51:51 -05:00
TheRailGoat 4fd5347f85 More Meat Boys
ci/woodpecker/push/woodpecker Pipeline was successful
Ah, just pick one.
2026-10-19 21:01:05 -05:00
TheRailGoat 4cb37c624d Meat Boy Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-19 20:52:34 -05:00
50 changed files with 1211 additions and 235 deletions

No files matched your search

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://0m5unjs5g54d" uid="uid://0sasam50end2"
path="res://.godot/imported/crystal_green.png-655a5b642e5889c347c47cc4bdb81efc.ctex" path="res://.godot/imported/meatboy1.png-d06dfded7f5d860bfd690ed307415e07.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://art/crystal_green.png" source_file="res://art/hats/meatboy1.png"
dest_files=["res://.godot/imported/crystal_green.png-655a5b642e5889c347c47cc4bdb81efc.ctex"] dest_files=["res://.godot/imported/meatboy1.png-d06dfded7f5d860bfd690ed307415e07.ctex"]
[params] [params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfqdhwfoqlwy"
path="res://.godot/imported/meatboy2.png-bf250d529a9f88dbbd30439e9acead90.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy2.png"
dest_files=["res://.godot/imported/meatboy2.png-bf250d529a9f88dbbd30439e9acead90.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://donreb0qheu16"
path="res://.godot/imported/meatboy3.png-a2941ef2fc3948671036a07f525032ab.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy3.png"
dest_files=["res://.godot/imported/meatboy3.png-a2941ef2fc3948671036a07f525032ab.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnxgew788j5y"
path="res://.godot/imported/meatboy4.png-1b02cf586297202cfeafe72bb5606f1e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy4.png"
dest_files=["res://.godot/imported/meatboy4.png-1b02cf586297202cfeafe72bb5606f1e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://csh1o4w45h1i4" uid="uid://d22jcb3da431q"
path="res://.godot/imported/webAWfF.png-d26cdd1a41f44c0dc7f3e340c73643fe.ctex" path="res://.godot/imported/saw_chain.png-426bf95addbff87985501cf0b0665d08.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://art/webAWfF.png" source_file="res://art/saw_chain.png"
dest_files=["res://.godot/imported/webAWfF.png-d26cdd1a41f44c0dc7f3e340c73643fe.ctex"] dest_files=["res://.godot/imported/saw_chain.png-426bf95addbff87985501cf0b0665d08.ctex"]
[params] [params]
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

+17
View File
@@ -0,0 +1,17 @@
[gd_scene format=3 uid="uid://ckqable762x8v"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_im0tn"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="Block" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_filter = 1
texture = ExtResource("1_im0tn")
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://1wpbevbqjvxc"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_4o75i"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="DoubleBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(2, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_4o75i")
region_enabled = true
region_rect = Rect2(-32, -16, 32, 16)
+1 -1
View File
@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://ch0417iiviaxb"] [gd_scene format=3 uid="uid://ch0417iiviaxb"]
[ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_llak8"] [ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_llak8"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="2_se82m"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_se82m"]
[node name="HiddenHorizontalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]] [node name="HiddenHorizontalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]]
modulate = Color(0, 0.54509807, 0.54509807, 1) modulate = Color(0, 0.54509807, 0.54509807, 1)
+1 -1
View File
@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://b5ssjxl1l3fx0"] [gd_scene format=3 uid="uid://b5ssjxl1l3fx0"]
[ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_tmhet"] [ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_tmhet"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="2_667v4"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_667v4"]
[node name="HiddenVerticalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]] [node name="HiddenVerticalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]]
modulate = Color(0, 0.54509807, 0.54509807, 1) modulate = Color(0, 0.54509807, 0.54509807, 1)
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://crmvdya3m7mll"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_c1qw8"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LevelBorderBlock" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(64, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_c1qw8")
region_enabled = true
region_rect = Rect2(-1024, -16, 1024, 16)
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://b4221qweamyvs"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_jmk5n"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LevelBorderBlockV" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(1, 36.56)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
rotation = 1.5707964
texture = ExtResource("1_jmk5n")
region_enabled = true
region_rect = Rect2(-512, 16, 512, 16)
-49
View File
@@ -1,49 +0,0 @@
class_name Block_Simple
extends RigidBody2D
# Last known sprite. In edge cases involving states.
# Block type refers to our specific block script.
# They should always extend eventually from block_simple.
@export var block_type:Script
# Set the animation (sprite sheet) to the specfied block types.
func SetSpriteSheet(animation):
$Sprite.animation = animation
# If this is false (default) then the block is horizontally facing.
@export var is_vertical:bool
# Tags the block has. These dictate interactions.
# These must be strings.
@export var tags:Array = [str]
# Rotate the block in a way that we can control.
# Default to 90 because that's a common use case.
func rotate_block(degrees:int = 90):
rotate(degrees)
# This runs BEFORE the instance is loaded.
# There's a lot you can't do here, as it doesn't exist yet.
func _init():
pass
#SetSpriteSheet(str(block_type))
#set_script(block_type)
# This runs AFTER the instance is loaded.
# This runs BEFORE the instance is added to the scene tree.
func _ready() -> void:
if is_vertical:
rotate_block(90)
set_script(block_type)
# This runs every frame. Expensive.
func _process(delta: float) -> void:
var _last_known_delta = delta
func on_player_near(body: Node2D) -> void:
print("Player is touching block with tags: " + str(tags))
func on_player_leave(body: Node2D) -> void:
print("Player is leaving block with tags: " + str(tags))
-1
View File
@@ -1 +0,0 @@
uid://b65ci82qp1pa0
-54
View File
@@ -1,54 +0,0 @@
[gd_scene format=3 uid="uid://ckqable762x8v"]
[ext_resource type="Script" uid="uid://b65ci82qp1pa0" path="res://level_editor/blocks/block_simple.gd" id="1_64qyq"]
[ext_resource type="Script" uid="uid://2nvcig3fqetr" path="res://level_editor/blocks/block_spike.gd" id="2_rhp63"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="2_xmhd5"]
[ext_resource type="Texture2D" uid="uid://bu5wgerfu7cbc" path="res://art/spike.png" id="3_rhp63"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[sub_resource type="SpriteFrames" id="SpriteFrames_q6akc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_xmhd5")
}],
"loop": 1,
"name": &"block_simple",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_rhp63")
}],
"loop": 1,
"name": &"block_spike",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lxo14"]
[node name="Block_Simple" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
script = ExtResource("1_64qyq")
block_type = ExtResource("2_rhp63")
tags = [null]
[node name="BlockShape" type="CollisionShape2D" parent="." unique_id=1866755047]
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite" type="AnimatedSprite2D" parent="." unique_id=321127444]
texture_filter = 1
sprite_frames = SubResource("SpriteFrames_q6akc")
animation = &"block_simple"
autoplay = "block_simple"
[node name="EffectCollision" type="Area2D" parent="." unique_id=1756054567]
[node name="EffectShape" type="CollisionShape2D" parent="EffectCollision" unique_id=392861580]
shape = SubResource("RectangleShape2D_lxo14")
[connection signal="body_entered" from="EffectCollision" to="." method="on_player_near"]
[connection signal="body_exited" from="EffectCollision" to="." method="on_player_leave"]
-25
View File
@@ -1,25 +0,0 @@
class_name Block_Spike
extends Block_Simple
# This runs BEFORE the instance is loaded.
# There's a lot you can't do here, as it doesn't exist yet.
func _init():
is_vertical = false
tags = ["Spike","Hazard"]
# This runs AFTER the instance is loaded.
# This runs BEFORE the instance is added to the scene tree.
func _ready() -> void:
if is_vertical:
rotate_block(90)
# This runs every frame. Expensive.
func _process(delta: float) -> void:
var _last_known_delta = delta
func on_player_near(body: Node2D) -> void:
print("Player is touching block with tags: " + str(tags))
func on_player_leave(body: Node2D) -> void:
print("Player is leaving block with tags: " + str(tags))
-1
View File
@@ -1 +0,0 @@
uid://2nvcig3fqetr
+1 -1
View File
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://dx4pfup3sbk0f"] [gd_scene format=3 uid="uid://dx4pfup3sbk0f"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="1_r8bmj"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="1_r8bmj"]
[node name="LongBlock" type="Node2D" unique_id=426800863] [node name="LongBlock" type="Node2D" unique_id=426800863]
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://c6n6v8ko733yd"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_m7sdc"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LongBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(10, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_m7sdc")
region_enabled = true
region_rect = Rect2(-160, -16, 160, 16)
+1 -1
View File
@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://biot4cuwgohvo"] [gd_scene format=3 uid="uid://biot4cuwgohvo"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="1_plc11"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="1_plc11"]
[node name="LongerBlock" type="Node2D" unique_id=426800863] [node name="LongerBlock" type="Node2D" unique_id=426800863]
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://co7sblp40sat2"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_l676e"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LongishBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(5, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_l676e")
region_enabled = true
region_rect = Rect2(-80, -16, 80, 16)
+6 -18
View File
@@ -1,4 +1,3 @@
class_name PlayerClassextends
extends CharacterBody2D extends CharacterBody2D
var controller_ui = false var controller_ui = false
@@ -162,29 +161,24 @@ func _process(delta: float) -> void:
if Input.is_action_just_pressed("jump"): if Input.is_action_just_pressed("jump"):
%OldComputer.close() %OldComputer.close()
# Single jump from floor.
if is_on_floor(): if is_on_floor():
velocity.y = JUMP_VELOCITY velocity.y = JUMP_VELOCITY
# Air jump, if we have any left.
elif !is_on_floor() and jumps >= 1: elif !is_on_floor() and jumps >= 1:
#Air/double jump
jumps -= 1 jumps -= 1
velocity.y = JUMP_VELOCITY velocity.y = JUMP_VELOCITY
$Jetpack/DoubleJumpSound.play() $Jetpack/DoubleJumpSound.play()
if jumps == 0: if jumps == 0:
$Jetpack/JumpIndicator.hide() $Jetpack/JumpIndicator.hide()
# Pull the player down more quickly when they let go of the jump key.
# This improves responsiveness.
if Input.is_action_just_released("jump"): if Input.is_action_just_released("jump"):
velocity.y = -(0.001 * JUMP_VELOCITY) velocity.y = -(0.001 * JUMP_VELOCITY)
# Eventual wall grabs
if Input.is_action_pressed("jump") and is_on_wall_only(): if Input.is_action_pressed("jump") and is_on_wall_only():
print("Spider Rhombini, Spider Rhombini...") pass
#print("WALL HANGING")
# Eventual ceiling grabs #velocity.y = 0
if Input.is_action_pressed("jump") and is_on_ceiling_only(): #velocity.x = 0
print("Does whatever, a Spider Rhombini does...")
var direction = Input.get_axis("move_left","move_right") var direction = Input.get_axis("move_left","move_right")
@@ -217,12 +211,8 @@ func _process(delta: float) -> void:
if dashes == 0: if dashes == 0:
$Jetpack/DashIndicator.hide() $Jetpack/DashIndicator.hide()
# Slow the player down if they're on keyboard.
elif direction and !dashing: elif direction and !dashing:
if controller_ui: velocity.x = direction * SPEED
velocity.x = direction * SPEED
else:
velocity.x = direction * SPEED * 0.75
$Sprite2D.play("running") $Sprite2D.play("running")
#$Sprite2D/HatSprite.play("running") #$Sprite2D/HatSprite.play("running")
@@ -244,8 +234,6 @@ func _process(delta: float) -> void:
print("SLASH KILL") print("SLASH KILL")
on_death(true) on_death(true)
#func get_floor_tags():
fall_timer += 1*delta fall_timer += 1*delta
if is_on_floor(): if is_on_floor():
fall_timer = 0 fall_timer = 0
File renamed without changes.
+58 -58
View File
@@ -1,35 +1,35 @@
[gd_scene format=3 uid="uid://pmnwck5v0ntm"] [gd_scene format=3 uid="uid://pmnwck5v0ntm"]
[ext_resource type="Script" uid="uid://cojhnj15psd2x" path="res://playerclass.gd" id="1_5duxp"] [ext_resource type="Script" uid="uid://cojhnj15psd2x" path="res://player_2d.gd" id="1_sy00s"]
[ext_resource type="AudioStream" uid="uid://bkiipooikacjj" path="res://sound/patience.wav" id="2_stm81"] [ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_gt2ls"]
[ext_resource type="Script" uid="uid://544kxhmunfcp" path="res://background_music.gd" id="3_ttanp"] [ext_resource type="Texture2D" uid="uid://dpdxs6gjmexgh" path="res://art/background.png" id="3_p3026"]
[ext_resource type="AudioStream" uid="uid://8iiafankqo4i" path="res://sound/stepping.wav" id="4_yip33"] [ext_resource type="Script" uid="uid://544kxhmunfcp" path="res://background_music.gd" id="3_sxtm6"]
[ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="5_neyal"] [ext_resource type="AudioStream" uid="uid://8iiafankqo4i" path="res://sound/stepping.wav" id="4_ix7pg"]
[ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="6_6fvs5"] [ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="4_nj6as"]
[ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="7_edptc"] [ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_pmt5n"]
[ext_resource type="Texture2D" uid="uid://dpdxs6gjmexgh" path="res://art/background.png" id="8_mjiju"] [ext_resource type="Texture2D" uid="uid://ddhhtwgtowokp" path="res://art/player/crouch/frame1.png" id="6_3prq1"]
[ext_resource type="Texture2D" uid="uid://do1kisv06nhnk" path="res://art/player/crouch/frame0.png" id="9_2cwu2"] [ext_resource type="Texture2D" uid="uid://do1kisv06nhnk" path="res://art/player/crouch/frame0.png" id="6_lu0ka"]
[ext_resource type="Texture2D" uid="uid://ddhhtwgtowokp" path="res://art/player/crouch/frame1.png" id="10_1fojg"] [ext_resource type="Texture2D" uid="uid://dyxbitw8hbd3s" path="res://art/player/crouch/frame2.png" id="7_lu0ka"]
[ext_resource type="Texture2D" uid="uid://dyxbitw8hbd3s" path="res://art/player/crouch/frame2.png" id="11_q60t1"] [ext_resource type="Texture2D" uid="uid://bfyd1tro3s0gl" path="res://art/player/crystal2.png" id="7_oy4pt"]
[ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="12_shx8o"] [ext_resource type="Texture2D" uid="uid://dh7a1knyqn5nd" path="res://art/player/running/frame3.png" id="7_pmt5n"]
[ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/running/frame1.png" id="13_86mff"] [ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/running/frame1.png" id="8_3prq1"]
[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="14_x1dp2"] [ext_resource type="Texture2D" uid="uid://yf13nw31k8ua" path="res://art/player/running/frame4.png" id="8_nj6as"]
[ext_resource type="Texture2D" uid="uid://dh7a1knyqn5nd" path="res://art/player/running/frame3.png" id="15_ih5k4"] [ext_resource type="Texture2D" uid="uid://du5i0tg6u1lal" path="res://art/player/crystal3.png" id="8_ukfft"]
[ext_resource type="Texture2D" uid="uid://yf13nw31k8ua" path="res://art/player/running/frame4.png" id="16_uko10"] [ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="9_lu0ka"]
[ext_resource type="Texture2D" uid="uid://dgq8el2qldlui" path="res://art/player/crystal.png" id="17_qiwkp"] [ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="9_ur4nw"]
[ext_resource type="Texture2D" uid="uid://bfyd1tro3s0gl" path="res://art/player/crystal2.png" id="18_0xmip"] [ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="9_w0gjo"]
[ext_resource type="Texture2D" uid="uid://du5i0tg6u1lal" path="res://art/player/crystal3.png" id="19_kbmrq"] [ext_resource type="Texture2D" uid="uid://cn31x2l44je2t" path="res://art/dash_glow.png" id="10_ur4nw"]
[ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="20_eo5qq"] [ext_resource type="Texture2D" uid="uid://biscdhn8jh8ha" path="res://art/jump_glow.png" id="11_3lee2"]
[ext_resource type="Texture2D" uid="uid://d1tj8sw2hiwgw" path="res://art/dash_particle.png" id="21_esbp8"] [ext_resource type="Texture2D" uid="uid://dgq8el2qldlui" path="res://art/player/crystal.png" id="12_4apft"]
[ext_resource type="Texture2D" uid="uid://cn31x2l44je2t" path="res://art/dash_glow.png" id="22_ek43q"] [ext_resource type="AudioStream" uid="uid://bkiipooikacjj" path="res://sound/patience.wav" id="12_5s8kx"]
[ext_resource type="Texture2D" uid="uid://deacp021ytuew" path="res://art/jump_particle.png" id="23_lbx0d"] [ext_resource type="Texture2D" uid="uid://d1tj8sw2hiwgw" path="res://art/dash_particle.png" id="16_ur4nw"]
[ext_resource type="Texture2D" uid="uid://biscdhn8jh8ha" path="res://art/jump_glow.png" id="24_k0rqh"] [ext_resource type="Texture2D" uid="uid://deacp021ytuew" path="res://art/jump_particle.png" id="18_fat58"]
[ext_resource type="AudioStream" uid="uid://dc7bd22vwkf34" path="res://sound/death.wav" id="25_g8wc1"] [ext_resource type="AudioStream" uid="uid://b4dkj4gmvk7bg" path="res://sound/double_jump.wav" id="20_1741q"]
[ext_resource type="AudioStream" uid="uid://b4dkj4gmvk7bg" path="res://sound/double_jump.wav" id="26_mlgy2"] [ext_resource type="AudioStream" uid="uid://dc7bd22vwkf34" path="res://sound/death.wav" id="20_l50qk"]
[ext_resource type="AudioStream" uid="uid://q7eau835xuja" path="res://sound/secret.wav" id="27_ng6ly"] [ext_resource type="AudioStream" uid="uid://q7eau835xuja" path="res://sound/secret.wav" id="27_sxtm6"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pmt5n"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_pmt5n"]
shader = ExtResource("5_neyal") shader = ExtResource("3_gt2ls")
[sub_resource type="QuadMesh" id="QuadMesh_nj6as"] [sub_resource type="QuadMesh" id="QuadMesh_nj6as"]
size = Vector2(1280, 720) size = Vector2(1280, 720)
@@ -38,16 +38,16 @@ size = Vector2(1280, 720)
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("9_2cwu2") "texture": ExtResource("6_lu0ka")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("10_1fojg") "texture": ExtResource("6_3prq1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("11_q60t1") "texture": ExtResource("7_lu0ka")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("12_shx8o") "texture": ExtResource("9_w0gjo")
}], }],
"loop": 1, "loop": 1,
"name": &"crouch", "name": &"crouch",
@@ -55,10 +55,10 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("13_86mff") "texture": ExtResource("8_3prq1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("14_x1dp2") "texture": ExtResource("9_lu0ka")
}], }],
"loop": 1, "loop": 1,
"name": &"idle", "name": &"idle",
@@ -66,16 +66,16 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("15_ih5k4") "texture": ExtResource("7_pmt5n")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("16_uko10") "texture": ExtResource("8_nj6as")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("13_86mff") "texture": ExtResource("8_3prq1")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("14_x1dp2") "texture": ExtResource("9_lu0ka")
}], }],
"loop": 1, "loop": 1,
"name": &"running", "name": &"running",
@@ -86,16 +86,16 @@ animations = [{
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("17_qiwkp") "texture": ExtResource("12_4apft")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("18_0xmip") "texture": ExtResource("7_oy4pt")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("19_kbmrq") "texture": ExtResource("8_ukfft")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": ExtResource("20_eo5qq") "texture": ExtResource("9_ur4nw")
}], }],
"loop": 1, "loop": 1,
"name": &"idle", "name": &"idle",
@@ -106,22 +106,22 @@ animations = [{
radius = 6.0 radius = 6.0
height = 12.0 height = 12.0
[node name="PlayerClass" type="CharacterBody2D" unique_id=889851478] [node name="Player2D" type="CharacterBody2D" unique_id=889851478]
safe_margin = 0.06 safe_margin = 0.06
script = ExtResource("1_5duxp") script = ExtResource("1_sy00s")
[node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239] [node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239]
stream = ExtResource("2_stm81") stream = ExtResource("12_5s8kx")
autoplay = true autoplay = true
playback_type = 1 playback_type = 1
script = ExtResource("3_ttanp") script = ExtResource("3_sxtm6")
[node name="MeditateMusic" type="AudioStreamPlayer2D" parent="." unique_id=1027402564] [node name="MeditateMusic" type="AudioStreamPlayer2D" parent="." unique_id=1027402564]
stream = ExtResource("4_yip33") stream = ExtResource("4_ix7pg")
volume_db = -80.0 volume_db = -80.0
autoplay = true autoplay = true
playback_type = 1 playback_type = 1
script = ExtResource("3_ttanp") script = ExtResource("3_sxtm6")
[node name="CanvasLayer2" type="CanvasLayer" parent="." unique_id=1854423107] [node name="CanvasLayer2" type="CanvasLayer" parent="." unique_id=1854423107]
@@ -129,11 +129,11 @@ script = ExtResource("3_ttanp")
material = SubResource("ShaderMaterial_pmt5n") material = SubResource("ShaderMaterial_pmt5n")
position = Vector2(0, -1) position = Vector2(0, -1)
mesh = SubResource("QuadMesh_nj6as") mesh = SubResource("QuadMesh_nj6as")
script = ExtResource("6_6fvs5") script = ExtResource("4_pmt5n")
[node name="Sprite2D" type="Sprite2D" parent="CanvasLayer2/WarpShader" unique_id=1651549733] [node name="Sprite2D" type="Sprite2D" parent="CanvasLayer2/WarpShader" unique_id=1651549733]
visible = false visible = false
texture = ExtResource("7_edptc") texture = ExtResource("4_nj6as")
[node name="Parallax2D" type="Parallax2D" parent="." unique_id=270393374] [node name="Parallax2D" type="Parallax2D" parent="." unique_id=270393374]
repeat_size = Vector2(1280, 720) repeat_size = Vector2(1280, 720)
@@ -143,7 +143,7 @@ ignore_camera_scroll = true
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D" unique_id=1267606565] [node name="Sprite2D" type="Sprite2D" parent="Parallax2D" unique_id=1267606565]
scale = Vector2(3, 3) scale = Vector2(3, 3)
texture = ExtResource("8_mjiju") texture = ExtResource("3_p3026")
[node name="Camera2D" type="Camera2D" parent="." unique_id=962368438] [node name="Camera2D" type="Camera2D" parent="." unique_id=962368438]
zoom = Vector2(2.2, 2.2) zoom = Vector2(2.2, 2.2)
@@ -174,39 +174,39 @@ autoplay = "idle"
[node name="DashIndicator" type="CPUParticles2D" parent="Jetpack" unique_id=1424397604] [node name="DashIndicator" type="CPUParticles2D" parent="Jetpack" unique_id=1424397604]
position = Vector2(-11, -2) position = Vector2(-11, -2)
texture = ExtResource("21_esbp8") texture = ExtResource("16_ur4nw")
lifetime = 0.1 lifetime = 0.1
gravity = Vector2(0, 0) gravity = Vector2(0, 0)
[node name="DashIndicatorGlow" type="PointLight2D" parent="Jetpack/DashIndicator" unique_id=1334369973] [node name="DashIndicatorGlow" type="PointLight2D" parent="Jetpack/DashIndicator" unique_id=1334369973]
position = Vector2(-1, 0) position = Vector2(-1, 0)
energy = 10.0 energy = 10.0
texture = ExtResource("22_ek43q") texture = ExtResource("10_ur4nw")
[node name="JumpIndicator" type="CPUParticles2D" parent="Jetpack" unique_id=1519478958] [node name="JumpIndicator" type="CPUParticles2D" parent="Jetpack" unique_id=1519478958]
position = Vector2(13, -2) position = Vector2(13, -2)
texture = ExtResource("23_lbx0d") texture = ExtResource("18_fat58")
lifetime = 0.1 lifetime = 0.1
gravity = Vector2(0, 0) gravity = Vector2(0, 0)
[node name="JumpIndicatorGlow" type="PointLight2D" parent="Jetpack/JumpIndicator" unique_id=920409859] [node name="JumpIndicatorGlow" type="PointLight2D" parent="Jetpack/JumpIndicator" unique_id=920409859]
position = Vector2(-1, 0) position = Vector2(-1, 0)
energy = 10.0 energy = 10.0
texture = ExtResource("24_k0rqh") texture = ExtResource("11_3lee2")
[node name="JumpSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=2009313321] [node name="JumpSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=2009313321]
[node name="DashSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=403353396] [node name="DashSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=403353396]
[node name="DeathSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=1365918564] [node name="DeathSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=1365918564]
stream = ExtResource("25_g8wc1") stream = ExtResource("20_l50qk")
[node name="DoubleJumpSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=1131911389] [node name="DoubleJumpSound" type="AudioStreamPlayer2D" parent="Jetpack" unique_id=1131911389]
stream = ExtResource("26_mlgy2") stream = ExtResource("20_1741q")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021]
position = Vector2(0, 3) position = Vector2(0, 3)
shape = SubResource("CapsuleShape2D_ix7pg") shape = SubResource("CapsuleShape2D_ix7pg")
[node name="HatSound" type="AudioStreamPlayer2D" parent="." unique_id=508539941] [node name="HatSound" type="AudioStreamPlayer2D" parent="." unique_id=508539941]
stream = ExtResource("27_ng6ly") stream = ExtResource("27_sxtm6")
+7 -3
View File
@@ -1,17 +1,21 @@
extends Node2D extends Node2D
@export var max_distance = 260.0 @export var max_distance_x = 100.0
@export var max_distance_y = 100.0
@export var moving = true @export var moving = true
var alt_position = Vector2(position.x + max_distance,0) var alt_position = Vector2(position.x + max_distance_x,0)
var alt_position2 = Vector2(position.x - max_distance_x,0)
@export var move_speed = 0.0 @export var move_speed = 0.0
func _ready() -> void: func _ready() -> void:
alt_position = Vector2(position.x + max_distance,0) alt_position = Vector2(position.x + max_distance_x,0)
alt_position2 = Vector2(position.x - max_distance_x,0)
func _process(delta: float) -> void: func _process(delta: float) -> void:
if position.x != alt_position.x: if position.x != alt_position.x:
position.x = move_toward(position.x, alt_position.x, move_speed) position.x = move_toward(position.x, alt_position.x, move_speed)
else: else:
position.x = move_toward(position.x, alt_position2.x, move_speed)
moving = false moving = false
%Player2D.is_on_moving_platform = false %Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0 #%Player2D.platform_speed = 0.0
+6 -6
View File
@@ -5,8 +5,8 @@
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_tse5f"] [ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_tse5f"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_yv4k5"] [ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_yv4k5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] [sub_resource type="CircleShape2D" id="CircleShape2D_axvpk"]
size = Vector2(32, 26) radius = 16.0
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"] [sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{ animations = [{
@@ -25,8 +25,8 @@ animations = [{
"speed": 5.0 "speed": 5.0
}] }]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3uo2v"] [sub_resource type="CircleShape2D" id="CircleShape2D_xp7he"]
size = Vector2(34, 28) radius = 18.0
[node name="Saw" type="RigidBody2D" unique_id=1409784601] [node name="Saw" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0 gravity_scale = 0.0
@@ -34,7 +34,7 @@ freeze = true
script = ExtResource("1_reoe3") script = ExtResource("1_reoe3")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
shape = SubResource("RectangleShape2D_f3sb7") shape = SubResource("CircleShape2D_axvpk")
[node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=790714481] [node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=790714481]
texture_filter = 1 texture_filter = 1
@@ -48,7 +48,7 @@ rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308] [node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308]
position = Vector2(-18.999523, -7.0012984) position = Vector2(-18.999523, -7.0012984)
shape = SubResource("RectangleShape2D_3uo2v") shape = SubResource("CircleShape2D_xp7he")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"] [connection signal="body_entered" from="Area2D" to="." method="on_contact"]
[connection signal="body_exited" from="Area2D" to="." method="on_leave"] [connection signal="body_exited" from="Area2D" to="." method="on_leave"]
+184
View File
@@ -0,0 +1,184 @@
[gd_scene format=3 uid="uid://b0swgdy4faaac"]
[ext_resource type="Script" uid="uid://by82tj263c628" path="res://saw_swinging.gd" id="1_6frwm"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_4wovf"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_v0hit"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_h1a5w"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, -1.3089969389957472, 0.0, 1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_xp7he"]
resource_name = "halfswing_ccw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 1.8325957145940461, 3.141592653589793, 4.4505895925855405, 3.141592653589793]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.3089969389957472, 0.0, -1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_axvpk"]
resource_name = "halfswing_cw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 4.4505895925855405, 3.141592653589793, 1.8325957145940461, 3.141592653589793]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_ccw_2": SubResource("Animation_xp7he"),
&"halfswing_cw": SubResource("Animation_g2k3i"),
&"halfswing_cw_2": SubResource("Animation_axvpk")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("2_4wovf")
}, {
"duration": 0.3,
"texture": ExtResource("3_v0hit")
}, {
"duration": 0.3,
"texture": ExtResource("4_h1a5w")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawMoving" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_6frwm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5258789e-05, 0)
shape = SubResource("CircleShape2D_ryup7")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5258789e-05, 0)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 7)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+28
View File
@@ -0,0 +1,28 @@
extends Node2D
@export var max_distance = 260.0
@export var spawn_delay = 0.0
var alt_position = Vector2(position.x + max_distance,0)
@export var fullswing_cw = false
@export var fullswing_ccw = false
@export var halfswing_cw = false
@export var halfswing_ccw = false
func _ready() -> void:
alt_position = Vector2(position.x + max_distance,0)
func _process(delta: float) -> void:
await get_tree().create_timer(spawn_delay).timeout
if fullswing_cw: $AnimationPlayer.play("fullswing_cw")
elif fullswing_ccw: $AnimationPlayer.play("fullswing_ccw")
elif halfswing_cw: $AnimationPlayer.play("halfswing_cw")
elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw")
else:
$AnimationPlayer.play("RESET")
%Player2D.is_on_moving_platform = false
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
+1
View File
@@ -0,0 +1 @@
uid://by82tj263c628
+151
View File
@@ -0,0 +1,151 @@
[gd_scene format=3 uid="uid://dgxovyasrduo5"]
[ext_resource type="Script" uid="uid://by82tj263c628" path="res://saw_swinging.gd" id="1_n4mys"]
[ext_resource type="Texture2D" uid="uid://d22jcb3da431q" path="res://art/saw_chain.png" id="2_31jf1"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_vwlp5"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_31jf1"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_3wt0e"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 2.0
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.3089969389957472, -1.3089969389957472]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 2.0
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [-1.3089969389957472, 1.3089969389957472]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_cw": SubResource("Animation_g2k3i")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("2_vwlp5")
}, {
"duration": 0.3,
"texture": ExtResource("3_31jf1")
}, {
"duration": 0.3,
"texture": ExtResource("4_3wt0e")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawSwinging" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_n4mys")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5195612e-05, 76)
shape = SubResource("CircleShape2D_ryup7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=141912847]
position = Vector2(5.9447484e-06, 34)
texture = ExtResource("2_31jf1")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5195612e-05, 76)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 83)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+28
View File
@@ -0,0 +1,28 @@
extends Node2D
@export var max_distance = 260.0
@export var spawn_delay = 0.0
var alt_position = Vector2(position.x + max_distance,0)
@export var halfswing_cw = false
@export var halfswing_ccw = false
@export var halfswing_cw_2 = false
@export var halfswing_ccw_2 = false
func _ready() -> void:
alt_position = Vector2(position.x + max_distance,0)
func _process(delta: float) -> void:
await get_tree().create_timer(spawn_delay).timeout
if halfswing_cw: $AnimationPlayer.play("halfswing_cw")
elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw")
elif halfswing_cw_2: $AnimationPlayer.play("halfswing_cw_2")
elif halfswing_ccw_2: $AnimationPlayer.play("halfswing_ccw_2")
else:
$AnimationPlayer.play("RESET")
%Player2D.is_on_moving_platform = false
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
+1
View File
@@ -0,0 +1 @@
uid://chhyeigrkk5ux
+190
View File
@@ -0,0 +1,190 @@
[gd_scene format=3 uid="uid://c4o2dhhuwq4ty"]
[ext_resource type="Script" uid="uid://chhyeigrkk5ux" path="res://saw_swinging_b.gd" id="1_xp7he"]
[ext_resource type="Texture2D" uid="uid://d22jcb3da431q" path="res://art/saw_chain.png" id="2_axvpk"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="3_rlgbm"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="4_42yyr"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="5_xd3ji"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, -1.3089969389957472, 0.0, 1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_xp7he"]
resource_name = "halfswing_ccw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 1.8325957145940461, 3.141592653589793, 4.4505895925855405, 3.141592653589793]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.3089969389957472, 0.0, -1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_axvpk"]
resource_name = "halfswing_cw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 4.4505895925855405, 3.141592653589793, 1.8325957145940461, 3.141592653589793]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_ccw_2": SubResource("Animation_xp7he"),
&"halfswing_cw": SubResource("Animation_g2k3i"),
&"halfswing_cw_2": SubResource("Animation_axvpk")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("3_rlgbm")
}, {
"duration": 0.3,
"texture": ExtResource("4_42yyr")
}, {
"duration": 0.3,
"texture": ExtResource("5_xd3ji")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawSwingingB" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_xp7he")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5195612e-05, 76)
shape = SubResource("CircleShape2D_ryup7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=141912847]
position = Vector2(5.9447484e-06, 34)
texture = ExtResource("2_axvpk")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
speed_scale = 1.5
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5195612e-05, 76)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 83)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://c6u0t3ur7qbj6"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_78i3v"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="VerticalDoubleBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(1, 2.29)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
rotation = 1.5707964
texture = ExtResource("1_78i3v")
region_enabled = true
region_rect = Rect2(-32, 16, 32, 16)
+1 -1
View File
@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://bos6oh7nwyeca"] [gd_scene format=3 uid="uid://bos6oh7nwyeca"]
[ext_resource type="Script" uid="uid://0o8303qahgvi" path="res://vertical_long_block.gd" id="1_23eij"] [ext_resource type="Script" uid="uid://0o8303qahgvi" path="res://vertical_long_block.gd" id="1_23eij"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="1_noju1"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="1_noju1"]
[node name="VerticalLongBlock" type="RigidBody2D" unique_id=925152188] [node name="VerticalLongBlock" type="RigidBody2D" unique_id=925152188]
rotation = 1.5707964 rotation = 1.5707964
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://cdgp3pqy2ioid"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_514qt"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="VerticalLongBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(1, 11.4)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
rotation = 1.5707964
texture = ExtResource("1_514qt")
region_enabled = true
region_rect = Rect2(-160, 16, 160, 16)
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://bydpw6svxkwk4"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_74jic"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="VerticalLongishBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(1, 5.7)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
rotation = 1.5707964
texture = ExtResource("1_74jic")
region_enabled = true
region_rect = Rect2(-80, 16, 80, 16)
+1 -1
View File
@@ -111,7 +111,7 @@ body {
<script src="index.js"></script> <script src="index.js"></script>
<script> <script>
const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":19255648,"index.wasm":32537295},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4}; const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":18699304,"index.wasm":32537295},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4};
const GODOT_THREADS_ENABLED = false; const GODOT_THREADS_ENABLED = false;
const engine = new Engine(GODOT_CONFIG); const engine = new Engine(GODOT_CONFIG);
Binary file not shown.
Binary file not shown.
+225 -4
View File
@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://iivvrut0lfsr"] [gd_scene format=3 uid="uid://iivvrut0lfsr"]
[ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://playerclass.tscn" id="1_aqk2v"] [ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://player_2d.tscn" id="1_aqk2v"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="2_036b0"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_036b0"]
[ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_dwbse"] [ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_dwbse"]
[ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="3_dwbse"] [ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="3_dwbse"]
[ext_resource type="Script" uid="uid://dtomgfu8ib50f" path="res://coin_label.gd" id="3_wse8f"] [ext_resource type="Script" uid="uid://dtomgfu8ib50f" path="res://coin_label.gd" id="3_wse8f"]
@@ -36,7 +36,17 @@
[ext_resource type="PackedScene" uid="uid://div6quttr84u1" path="res://horizontal_moving_block.tscn" id="34_w44yn"] [ext_resource type="PackedScene" uid="uid://div6quttr84u1" path="res://horizontal_moving_block.tscn" id="34_w44yn"]
[ext_resource type="PackedScene" uid="uid://b61sumdnt0qqh" path="res://hidden_horizontal_moving_block.tscn" id="35_6ah6f"] [ext_resource type="PackedScene" uid="uid://b61sumdnt0qqh" path="res://hidden_horizontal_moving_block.tscn" id="35_6ah6f"]
[ext_resource type="PackedScene" uid="uid://c13khrhjy5nrj" path="res://saw.tscn" id="37_my276"] [ext_resource type="PackedScene" uid="uid://c13khrhjy5nrj" path="res://saw.tscn" id="37_my276"]
[ext_resource type="PackedScene" uid="uid://crmvdya3m7mll" path="res://level_border_block_h.tscn" id="38_1ew0l"]
[ext_resource type="PackedScene" uid="uid://bnuiagw3bblfh" path="res://hat_pickup.tscn" id="38_yx0jh"] [ext_resource type="PackedScene" uid="uid://bnuiagw3bblfh" path="res://hat_pickup.tscn" id="38_yx0jh"]
[ext_resource type="PackedScene" uid="uid://b4221qweamyvs" path="res://level_border_block_v.tscn" id="39_ryup7"]
[ext_resource type="PackedScene" uid="uid://dgxovyasrduo5" path="res://saw_swinging.tscn" id="40_ryup7"]
[ext_resource type="PackedScene" uid="uid://cdgp3pqy2ioid" path="res://vertical_long_block_s.tscn" id="41_xpnt2"]
[ext_resource type="PackedScene" uid="uid://c6n6v8ko733yd" path="res://long_block_s.tscn" id="42_ruyqm"]
[ext_resource type="PackedScene" uid="uid://bydpw6svxkwk4" path="res://vertical_longish_block_s.tscn" id="43_fnoqa"]
[ext_resource type="PackedScene" uid="uid://c6u0t3ur7qbj6" path="res://vertical_double_block_s.tscn" id="44_nx736"]
[ext_resource type="PackedScene" uid="uid://1wpbevbqjvxc" path="res://double_block_s.tscn" id="45_55kwu"]
[ext_resource type="PackedScene" uid="uid://c4o2dhhuwq4ty" path="res://saw_swinging_b.tscn" id="46_ruyqm"]
[ext_resource type="PackedScene" uid="uid://hqmkjtv5shyk" path="res://down_spike.tscn" id="47_fnoqa"]
[node name="World" type="Node2D" unique_id=1327991900] [node name="World" type="Node2D" unique_id=1327991900]
process_mode = 1 process_mode = 1
@@ -2765,7 +2775,218 @@ hat_type = "cap1"
position = Vector2(8510, -958.0709) position = Vector2(8510, -958.0709)
hat_type = "wizard1" hat_type = "wizard1"
[node name="Block_Simple" parent="." unique_id=272296253 instance=ExtResource("2_036b0")] [node name="LevelBorderBlockH" parent="." unique_id=974826545 instance=ExtResource("38_1ew0l")]
position = Vector2(-4746, 277.6732) position = Vector2(-4760, -1535.0798)
[node name="LevelBorderBlockH3" parent="." unique_id=1943781212 instance=ExtResource("38_1ew0l")]
position = Vector2(-6716, -100.435)
[node name="LevelBorderBlockH2" parent="." unique_id=203676189 instance=ExtResource("38_1ew0l")]
position = Vector2(-4760, -2058.9175)
[node name="LevelBorderBlockV" parent="." unique_id=1863499464 instance=ExtResource("39_ryup7")]
position = Vector2(-5264, -1796.9983)
[node name="LevelBorderBlockV2" parent="." unique_id=1584857951 instance=ExtResource("39_ryup7")]
position = Vector2(-4256, -1796.9983)
[node name="TeleporterLevelSelect" parent="." unique_id=1457473782 instance=ExtResource("4_gbfbk")]
position = Vector2(-5222, 353.49173)
paired_teleporter = "LVLSELECT"
[node name="TeleporterLevelSelect2" parent="." unique_id=639660602 instance=ExtResource("4_gbfbk")]
position = Vector2(-7174, -172.31491)
paired_teleporter = "LVLSELECT"
[node name="TeleporterLv1A2" parent="." unique_id=503216712 instance=ExtResource("4_gbfbk")]
position = Vector2(-6987, -128.99002)
paired_teleporter = "LVL1A"
[node name="TeleporterLv1B2" parent="." unique_id=527073843 instance=ExtResource("4_gbfbk")]
position = Vector2(-7021, -687.29034)
paired_teleporter = "LVL1B"
[node name="TeleporterLv1A" parent="." unique_id=789720442 instance=ExtResource("4_gbfbk")]
position = Vector2(-5228, -1644.3766)
paired_teleporter = "LVL1A"
[node name="TeleporterLv1B" parent="." unique_id=1909239859 instance=ExtResource("4_gbfbk")]
position = Vector2(-4305, -1570.5273)
paired_teleporter = "LVL1B"
[node name="Sign15" parent="." unique_id=1071149314 instance=ExtResource("24_wjb0r")]
position = Vector2(-7176, -110.28155)
sign_text = "LEVEL SELECT"
[node name="Sign17" parent="." unique_id=364469894 instance=ExtResource("24_wjb0r")]
position = Vector2(-7176, -110.28155)
sign_text = "LEVEL SELECT"
[node name="Sign16" parent="." unique_id=671241159 instance=ExtResource("24_wjb0r")]
position = Vector2(-7078, -142.77518)
scale = Vector2(-1, -1)
sign_text = "LEVEL 1"
[node name="LongBlock12" parent="." unique_id=514950089 instance=ExtResource("3_dwbse")]
position = Vector2(-7031, -151.63712)
[node name="SawSwinging" parent="." unique_id=1098290500 instance=ExtResource("40_ryup7")]
position = Vector2(-5048, -1800.937)
fullswing_cw = true
[node name="SawSwinging7" parent="." unique_id=564257755 instance=ExtResource("40_ryup7")]
position = Vector2(-5131, -2056.9465)
spawn_delay = 1.5
fullswing_ccw = true
[node name="SawSwinging8" parent="." unique_id=1057653964 instance=ExtResource("40_ryup7")]
position = Vector2(-5265, -2056.9465)
fullswing_cw = true
[node name="SawSwinging2" parent="." unique_id=1548905534 instance=ExtResource("40_ryup7")]
position = Vector2(-4788, -1800.937)
fullswing_cw = true
[node name="SawSwinging3" parent="." unique_id=1600959540 instance=ExtResource("40_ryup7")]
position = Vector2(-4583, -1694.5941)
fullswing_cw = true
[node name="SawSwinging4" parent="." unique_id=1089263633 instance=ExtResource("40_ryup7")]
position = Vector2(-4583, -1890.5406)
fullswing_ccw = true
[node name="Saw6" parent="." unique_id=960224204 instance=ExtResource("37_my276")]
position = Vector2(-4916, -1799.9523)
[node name="Saw7" parent="." unique_id=1044426919 instance=ExtResource("37_my276")]
position = Vector2(-4916, -1650.2844)
[node name="Saw10" parent="." unique_id=1793805616 instance=ExtResource("37_my276")]
position = Vector2(-4916, -1545.9109)
[node name="Saw13" parent="." unique_id=1372152815 instance=ExtResource("37_my276")]
position = Vector2(-5161, -1545.9109)
[node name="Saw11" parent="." unique_id=1617763882 instance=ExtResource("37_my276")]
position = Vector2(-4376, -2048.0857)
[node name="Saw12" parent="." unique_id=316237595 instance=ExtResource("37_my276")]
position = Vector2(-4376, -1542.9564)
[node name="Saw8" parent="." unique_id=855093163 instance=ExtResource("37_my276")]
position = Vector2(-4621, -1567.5734)
[node name="Saw9" parent="." unique_id=1835080331 instance=ExtResource("37_my276")]
position = Vector2(-4545, -1567.5734)
[node name="VerticalLongBlockS" parent="." unique_id=1771329865 instance=ExtResource("41_xpnt2")]
position = Vector2(-5131, -1974.2366)
[node name="VerticalLongBlockS2" parent="." unique_id=1534400762 instance=ExtResource("41_xpnt2")]
position = Vector2(-5131, -1621.7292)
[node name="VerticalLongBlockS6" parent="." unique_id=483239911 instance=ExtResource("41_xpnt2")]
position = Vector2(-5192, -1621.7292)
[node name="VerticalLongBlockS7" parent="." unique_id=1103722376 instance=ExtResource("41_xpnt2")]
position = Vector2(-5192, -1781.2434)
[node name="VerticalLongBlockS8" parent="." unique_id=1021386434 instance=ExtResource("41_xpnt2")]
position = Vector2(-5192, -1923.0339)
[node name="VerticalLongBlockS3" parent="." unique_id=1935447756 instance=ExtResource("41_xpnt2")]
position = Vector2(-5131, -1878.7252)
[node name="LongBlockS" parent="." unique_id=366742113 instance=ExtResource("42_ruyqm")]
position = Vector2(-5045, -1921.0651)
[node name="VerticalLongishBlockS" parent="." unique_id=2077142940 instance=ExtResource("43_fnoqa")]
position = Vector2(-4972, -1966.3594)
[node name="VerticalLongishBlockS2" parent="." unique_id=553307512 instance=ExtResource("43_fnoqa")]
position = Vector2(-4847, -1580.3744)
[node name="VerticalDoubleBlockS" parent="." unique_id=1030244604 instance=ExtResource("44_nx736")]
position = Vector2(-4972, -2022.4846)
[node name="VerticalDoubleBlockS2" parent="." unique_id=1638795877 instance=ExtResource("44_nx736")]
position = Vector2(-4982, -1555.7573)
[node name="Block35" parent="." unique_id=780204810 instance=ExtResource("25_mc2jv")]
position = Vector2(-4972, -2045.1316)
[node name="DoubleBlockS" parent="." unique_id=1178926121 instance=ExtResource("45_55kwu")]
position = Vector2(-5048, -1801.9218)
[node name="DoubleBlockS2" parent="." unique_id=1252003938 instance=ExtResource("45_55kwu")]
position = Vector2(-4788, -1801.9218)
[node name="SawSwinging5" parent="." unique_id=1227610881 instance=ExtResource("40_ryup7")]
position = Vector2(-4352, -1796.0132)
fullswing_cw = true
[node name="SawSwinging9" parent="." unique_id=653414671 instance=ExtResource("40_ryup7")]
position = Vector2(-4303, -2054.9783)
fullswing_cw = true
[node name="SawSwinging10" parent="." unique_id=2137330479 instance=ExtResource("40_ryup7")]
position = Vector2(-4303, -2054.9783)
spawn_delay = 0.5
fullswing_ccw = true
[node name="SawSwinging6" parent="." unique_id=87552658 instance=ExtResource("40_ryup7")]
position = Vector2(-4352, -1796.0132)
scale = Vector2(-1, -1)
spawn_delay = 1.0
fullswing_cw = true
[node name="DoubleBlockS5" parent="." unique_id=1778950439 instance=ExtResource("45_55kwu")]
position = Vector2(-4352, -1796.9985)
[node name="DoubleBlockS3" parent="." unique_id=1205670033 instance=ExtResource("45_55kwu")]
position = Vector2(-4583, -1891.5259)
[node name="DoubleBlockS4" parent="." unique_id=785942200 instance=ExtResource("45_55kwu")]
position = Vector2(-4583, -1695.5793)
[node name="SawSwingingB" parent="." unique_id=1184270235 instance=ExtResource("46_ruyqm")]
position = Vector2(-4696, -2053.0088)
halfswing_cw = true
[node name="SawSwingingB2" parent="." unique_id=345082484 instance=ExtResource("46_ruyqm")]
position = Vector2(-4483, -2053.0088)
spawn_delay = 0.3
halfswing_ccw = true
[node name="SawSwingingB3" parent="." unique_id=225166195 instance=ExtResource("46_ruyqm")]
position = Vector2(-5055, -1533.1104)
halfswing_cw_2 = true
[node name="SawSwingingB4" parent="." unique_id=1694721354 instance=ExtResource("46_ruyqm")]
position = Vector2(-4790, -1533.1105)
spawn_delay = 0.3
halfswing_ccw_2 = true
[node name="VerticalLongBlockS4" parent="." unique_id=1000566359 instance=ExtResource("41_xpnt2")]
position = Vector2(-4352, -1973.2518)
[node name="VerticalLongBlockS5" parent="." unique_id=1164828260 instance=ExtResource("41_xpnt2")]
position = Vector2(-4352, -1620.7446)
[node name="Pharaoh8" parent="." unique_id=1265608911 instance=ExtResource("15_hiqwa")]
position = Vector2(-5228, -1540.9878)
[node name="Spike19" parent="." unique_id=1013613610 instance=ExtResource("47_fnoqa")]
position = Vector2(-4920, -2045.1318)
[node name="Spike20" parent="." unique_id=722069947 instance=ExtResource("47_fnoqa")]
position = Vector2(-4904, -2045.1318)
[node name="Spike21" parent="." unique_id=755059167 instance=ExtResource("47_fnoqa")]
position = Vector2(-4870, -2045.1318)
[node name="HatPickup5" parent="." unique_id=2139510891 instance=ExtResource("38_yx0jh")]
position = Vector2(-4303, -2014.6074)
hat_type = "meatboy3"
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"] [connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]
+2 -2
View File
@@ -2,8 +2,8 @@
[ext_resource type="Script" uid="uid://boovn4st1uq41" path="res://rich_text_label.gd" id="1_xdth8"] [ext_resource type="Script" uid="uid://boovn4st1uq41" path="res://rich_text_label.gd" id="1_xdth8"]
[ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_vef27"] [ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_vef27"]
[ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://playerclass.tscn" id="3_mu6c3"] [ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://player_2d.tscn" id="3_mu6c3"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://level_editor/blocks/block_simple.tscn" id="4_46256"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="4_46256"]
[ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="5_mu6c3"] [ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="5_mu6c3"]
[ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="6_46256"] [ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="6_46256"]
[ext_resource type="PackedScene" uid="uid://dbk4f76ux6dsv" path="res://wallspike.tscn" id="7_46256"] [ext_resource type="PackedScene" uid="uid://dbk4f76ux6dsv" path="res://wallspike.tscn" id="7_46256"]