mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
1148 lines
39 KiB
Plaintext
1148 lines
39 KiB
Plaintext
[gd_scene load_steps=85 format=3 uid="uid://cuh62hlq8errh"]
|
||
|
||
[ext_resource type="Script" uid="uid://dt4rosa5o35xr" path="res://Scripts/Classes/Entities/Player.gd" id="1_f6bau"]
|
||
[ext_resource type="Script" uid="uid://uribh0f1jttq" path="res://Scripts/Classes/States/StateMachine.gd" id="2_1y62l"]
|
||
[ext_resource type="Texture2D" uid="uid://b0quveyqh25dn" path="res://Assets/Sprites/Players/InvinciblePalettes/InvinciblePalette.png" id="2_bl5al"]
|
||
[ext_resource type="Texture2D" uid="uid://cqnw2x27uxb8i" path="res://Assets/Sprites/Players/InvinciblePalettes/Overworld.png" id="2_fqdtv"]
|
||
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="3_a1d2e"]
|
||
[ext_resource type="Script" uid="uid://blxvov3jyx8gg" path="res://Scripts/Classes/States/Player/Normal.gd" id="3_f6bau"]
|
||
[ext_resource type="Texture2D" uid="uid://bdurtsr7cld64" path="res://Assets/Sprites/Players/Mario/ColourPalette.png" id="3_x2idl"]
|
||
[ext_resource type="SpriteFrames" uid="uid://df4enjjl84mji" path="res://Resources/SpriteFrames/Player/Mario/Small.tres" id="4_fqdtv"]
|
||
[ext_resource type="Script" uid="uid://dvbib1gtmmvui" path="res://Scripts/Classes/States/Player/Pipe.gd" id="5_hodem"]
|
||
[ext_resource type="Script" uid="uid://c8xvkkv34fjr4" path="res://Scripts/Classes/PowerStates/PowerUpState.gd" id="5_rs3l8"]
|
||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="5_x2idl"]
|
||
[ext_resource type="Script" uid="uid://d0hnf0d6tudgj" path="res://Scripts/Classes/PowerStates/Fire.gd" id="6_7nbqp"]
|
||
[ext_resource type="Script" uid="uid://cnjpqn05bfm57" path="res://Scripts/Classes/States/Player/PlayerState.gd" id="6_8f1du"]
|
||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/HammerItem.json" id="7_2mfvl"]
|
||
[ext_resource type="Script" uid="uid://ri1g4nllpkfj" path="res://Scripts/Classes/States/Player/FlagPole.gd" id="7_8f1du"]
|
||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="8_4ojwh"]
|
||
[ext_resource type="Script" uid="uid://bx2kc62lpphxv" path="res://Scripts/Classes/States/Player/LevelExit.gd" id="8_mqpnb"]
|
||
[ext_resource type="Texture2D" uid="uid://tidb7wgqraj2" path="res://Assets/Sprites/Items/Wings.png" id="8_t1xso"]
|
||
[ext_resource type="Script" uid="uid://cvbj4qlyfat7e" path="res://Scripts/Classes/States/Player/Dead.gd" id="9_mqpnb"]
|
||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Wings.json" id="9_o70e0"]
|
||
[ext_resource type="Script" uid="uid://c7kmriol0gj16" path="res://Scripts/Classes/States/Player/Climb.gd" id="10_shhao"]
|
||
[ext_resource type="JSON" path="res://Assets/Sprites/Players/Mario/ColourPalette.json" id="10_xy8gq"]
|
||
[ext_resource type="Script" uid="uid://b10ui1x45l6ly" path="res://Scripts/Classes/States/Player/WallSlide.gd" id="11_057py"]
|
||
[ext_resource type="Texture2D" uid="uid://bqra7e5xsdg5r" path="res://Assets/Sprites/Particles/SkidParticles.png" id="11_vijl6"]
|
||
[ext_resource type="Texture2D" uid="uid://dq58glgwf2l3" path="res://Assets/Sprites/UI/CheckpointIcon.png" id="13_uo1a1"]
|
||
[ext_resource type="Script" uid="uid://ugfx3sb3h6rj" path="res://Scripts/Classes/States/Player/NoClip.gd" id="16_cekpg"]
|
||
[ext_resource type="AudioStream" uid="uid://cbxnq518x3jqe" path="res://Assets/Audio/SFX/Skid.wav" id="18_hofol"]
|
||
[ext_resource type="Texture2D" uid="uid://daaycq24wiiph" path="res://Assets/Sprites/UI/ControllerOverlay.png" id="19_bc3q3"]
|
||
[ext_resource type="Texture2D" uid="uid://c6pd7cdhx78od" path="res://Assets/Sprites/UI/Tab.png" id="20_34tqy"]
|
||
[ext_resource type="Script" uid="uid://dgmaoklmc0wfa" path="res://Scripts/Parts/CameraHandler.gd" id="20_d7xah"]
|
||
[ext_resource type="Script" uid="uid://cp1bh6fi6tpa5" path="res://Scripts/Classes/Components/ScalableCollisionShape.gd" id="21_jl70t"]
|
||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="22_445e4"]
|
||
[ext_resource type="SpriteFrames" uid="uid://dw8r8t7iqvrmq" path="res://Resources/SpriteFrames/Player/Luigi/Fire.tres" id="23_445e4"]
|
||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="24_hu5lw"]
|
||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="25_cekpg"]
|
||
[ext_resource type="JSON" path="res://Assets/Sprites/Players/Mario/Small.json" id="26_o4wvw"]
|
||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="27_6ws8x"]
|
||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="28_hu5lw"]
|
||
[ext_resource type="Texture2D" uid="uid://cpoksuhnwvh5l" path="res://Assets/Sprites/UI/TimerIcons.png" id="29_uwhl4"]
|
||
[ext_resource type="JSON" path="res://Assets/Sprites/Players/InvinciblePalettes/InvinciblePalette.json" id="29_vphr8"]
|
||
[ext_resource type="Script" uid="uid://dn5efttgugwvb" path="res://Scripts/Classes/Components/TimerSprite.gd" id="30_o70e0"]
|
||
[ext_resource type="Script" uid="uid://cwti0ks5sfov3" path="res://Scripts/Classes/Components/ScalableCollisionPolygon.gd" id="35_nbkfn"]
|
||
[ext_resource type="AudioStream" uid="uid://oghj2q665pfj" path="res://Assets/Audio/SFX/TimerRunningLow.wav" id="40_o70e0"]
|
||
|
||
[sub_resource type="Shader" id="Shader_7nbqp"]
|
||
code = "shader_type canvas_item;
|
||
|
||
uniform int mode = 0;
|
||
uniform float speed = 50;
|
||
uniform bool enabled = false;
|
||
uniform float palette_size = 3;
|
||
uniform sampler2D player_palette: filter_nearest;
|
||
uniform int palette_idx = 0;
|
||
uniform sampler2D invincible_palette: filter_nearest;
|
||
uniform float dist_1 = 0.0;
|
||
|
||
vec4 mode_0(vec4 colour)
|
||
{
|
||
float amount = abs(sin(TIME * speed));
|
||
vec4 inv = abs(colour - vec4(1.0, 1.0, 1.0, 0.0));
|
||
vec4 rainbow = vec4(abs(sin(TIME * 5.0)), abs(cos(TIME * 3.0)), abs(sin((TIME))), colour.a);
|
||
inv = vec4(mix(inv, rainbow, 0.5));
|
||
colour = vec4(mix(colour, inv, amount));
|
||
return colour;
|
||
}
|
||
|
||
vec4 mode_1(vec4 colour)
|
||
{
|
||
// Determine invincible palette row (1–3)
|
||
int invincible_palette_idx = int(TIME * speed) % 3;
|
||
|
||
vec4 closest = colour;
|
||
float closest_distance = 99999.9;
|
||
|
||
int palette_count = int(palette_size); // number of colors
|
||
|
||
for (int i = 0; i < palette_count; i++)
|
||
{
|
||
float x_coord = (float(i) + 0.5) / palette_size;
|
||
float y_coord = (float(palette_idx) + 0.5) / float(3);
|
||
|
||
vec4 sampled = texture(player_palette, vec2(x_coord, y_coord));
|
||
|
||
float d = distance(sampled, colour);
|
||
if (d < 0.01 && d <= closest_distance)
|
||
{
|
||
float inv_x_coord = (float(i) + 0.5) / palette_size;
|
||
float inv_y_coord = (float(invincible_palette_idx) + 0.5) / float(3);
|
||
|
||
closest = texture(invincible_palette, vec2(inv_x_coord, inv_y_coord));
|
||
closest_distance = d;
|
||
}
|
||
}
|
||
|
||
|
||
return closest;
|
||
}
|
||
|
||
|
||
void fragment() {
|
||
if (enabled)
|
||
{
|
||
if (mode == 0)
|
||
{
|
||
COLOR = mode_0(COLOR);
|
||
} else if (mode == 1)
|
||
{
|
||
COLOR = mode_1(COLOR);
|
||
}
|
||
}
|
||
}
|
||
"
|
||
|
||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4ojwh"]
|
||
resource_local_to_scene = true
|
||
shader = SubResource("Shader_7nbqp")
|
||
shader_parameter/mode = 1
|
||
shader_parameter/speed = 15.0
|
||
shader_parameter/enabled = false
|
||
shader_parameter/palette_size = 3.0
|
||
shader_parameter/player_palette = ExtResource("3_x2idl")
|
||
shader_parameter/palette_idx = 0
|
||
shader_parameter/invincible_palette = ExtResource("2_fqdtv")
|
||
shader_parameter/dist_1 = 0.0
|
||
|
||
[sub_resource type="Animation" id="Animation_bc3q3"]
|
||
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_hofol"]
|
||
resource_name = "Swing"
|
||
length = 0.1
|
||
loop_mode = 2
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath(".:rotation")
|
||
tracks/0/interp = 0
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0, 0.05),
|
||
"transitions": PackedFloat32Array(1, 1),
|
||
"update": 0,
|
||
"values": [0.0, 1.5708]
|
||
}
|
||
|
||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bl5al"]
|
||
_data = {
|
||
&"RESET": SubResource("Animation_bc3q3"),
|
||
&"Swing": SubResource("Animation_hofol")
|
||
}
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a1d2e"]
|
||
size = Vector2(16, 16)
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_jl70t"]
|
||
atlas = ExtResource("8_t1xso")
|
||
region = Rect2(16, 0, 16, 16)
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_nbkfn"]
|
||
atlas = ExtResource("8_t1xso")
|
||
region = Rect2(0, 0, 16, 16)
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_d20nf"]
|
||
atlas = ExtResource("8_t1xso")
|
||
region = Rect2(0, 0, 16, 16)
|
||
|
||
[sub_resource type="SpriteFrames" id="SpriteFrames_uwhl4"]
|
||
animations = [{
|
||
"frames": [{
|
||
"duration": 1.0,
|
||
"texture": SubResource("AtlasTexture_jl70t")
|
||
}, {
|
||
"duration": 1.0,
|
||
"texture": SubResource("AtlasTexture_nbkfn")
|
||
}],
|
||
"loop": true,
|
||
"name": &"Flap",
|
||
"speed": 15.0
|
||
}, {
|
||
"frames": [{
|
||
"duration": 1.0,
|
||
"texture": SubResource("AtlasTexture_d20nf")
|
||
}],
|
||
"loop": true,
|
||
"name": &"Idle",
|
||
"speed": 5.0
|
||
}]
|
||
|
||
[sub_resource type="Animation" id="Animation_t1xso"]
|
||
resource_name = "Flash"
|
||
length = 0.2
|
||
loop_mode = 1
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath(".:modulate")
|
||
tracks/0/interp = 0
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0, 0.1),
|
||
"transitions": PackedFloat32Array(1, 1),
|
||
"update": 0,
|
||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||
}
|
||
|
||
[sub_resource type="Animation" id="Animation_jl70t"]
|
||
length = 0.001
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath(".:modulate")
|
||
tracks/0/interp = 1
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 0,
|
||
"values": [Color(1, 1, 1, 1)]
|
||
}
|
||
|
||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_nbkfn"]
|
||
_data = {
|
||
&"Flash": SubResource("Animation_t1xso"),
|
||
&"RESET": SubResource("Animation_jl70t")
|
||
}
|
||
|
||
[sub_resource type="Animation" id="Animation_fqdtv"]
|
||
resource_name = "Grow"
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath("%Sprite/..:scale")
|
||
tracks/0/interp = 0
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0, 0.10000008, 0.20000005, 0.30000007, 0.4000001, 0.5000001, 0.6),
|
||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
|
||
"update": 0,
|
||
"values": [Vector2(1, 0.7), Vector2(1, 0.85), Vector2(1, 0.8), Vector2(1, 0.95), Vector2(1, 0.9), Vector2(1, 1.05), Vector2(1, 1)]
|
||
}
|
||
|
||
[sub_resource type="Animation" id="Animation_vijl6"]
|
||
length = 0.001
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath("%Sprite/..:scale")
|
||
tracks/0/interp = 1
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 0,
|
||
"values": [Vector2(1, 1)]
|
||
}
|
||
|
||
[sub_resource type="Animation" id="Animation_pm4ir"]
|
||
resource_name = "Shrink"
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath("%Sprite/..:scale")
|
||
tracks/0/interp = 0
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0, 0.099999964, 0.19999999, 0.29999995, 0.39999998, 0.5, 0.6, 0.8),
|
||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
||
"update": 0,
|
||
"values": [Vector2(1, 0.9), Vector2(1, 0.96), Vector2(1, 0.8), Vector2(1, 0.85), Vector2(1, 0.7), Vector2(1, 0.75), Vector2(1, 0.6), Vector2(1, 1)]
|
||
}
|
||
|
||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pm4ir"]
|
||
_data = {
|
||
&"Grow": SubResource("Animation_fqdtv"),
|
||
&"RESET": SubResource("Animation_vijl6"),
|
||
&"Shrink": SubResource("Animation_pm4ir")
|
||
}
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nbkfn"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(9.2, 14)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vijl6"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(9.2, 29.5)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f6bau"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(6, 15.5)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sda2e"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(6, 29.5)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwhl4"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(10, 16.5)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_o70e0"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(10, 30.5)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_t1xso"]
|
||
size = Vector2(9999999, 8)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jl70t"]
|
||
size = Vector2(9999999, 8)
|
||
|
||
[sub_resource type="Animation" id="Animation_057py"]
|
||
length = 0.001
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath(".:visible")
|
||
tracks/0/interp = 1
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 1,
|
||
"values": [true]
|
||
}
|
||
tracks/1/type = "value"
|
||
tracks/1/imported = false
|
||
tracks/1/enabled = true
|
||
tracks/1/path = NodePath(".:offset")
|
||
tracks/1/interp = 1
|
||
tracks/1/loop_wrap = true
|
||
tracks/1/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 0,
|
||
"values": [Vector2(0, 0)]
|
||
}
|
||
tracks/2/type = "value"
|
||
tracks/2/imported = false
|
||
tracks/2/enabled = true
|
||
tracks/2/path = NodePath(".:self_modulate")
|
||
tracks/2/interp = 1
|
||
tracks/2/loop_wrap = true
|
||
tracks/2/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 0,
|
||
"values": [Color(1, 1, 1, 0)]
|
||
}
|
||
|
||
[sub_resource type="Animation" id="Animation_shhao"]
|
||
resource_name = "Show"
|
||
length = 2.0
|
||
tracks/0/type = "value"
|
||
tracks/0/imported = false
|
||
tracks/0/enabled = true
|
||
tracks/0/path = NodePath(".:visible")
|
||
tracks/0/interp = 1
|
||
tracks/0/loop_wrap = true
|
||
tracks/0/keys = {
|
||
"times": PackedFloat32Array(0),
|
||
"transitions": PackedFloat32Array(1),
|
||
"update": 1,
|
||
"values": [true]
|
||
}
|
||
tracks/1/type = "value"
|
||
tracks/1/imported = false
|
||
tracks/1/enabled = true
|
||
tracks/1/path = NodePath(".:offset")
|
||
tracks/1/interp = 2
|
||
tracks/1/loop_wrap = true
|
||
tracks/1/keys = {
|
||
"times": PackedFloat32Array(0, 0.166667),
|
||
"transitions": PackedFloat32Array(1, 1),
|
||
"update": 0,
|
||
"values": [Vector2(0, 8), Vector2(0, 0)]
|
||
}
|
||
tracks/2/type = "value"
|
||
tracks/2/imported = false
|
||
tracks/2/enabled = true
|
||
tracks/2/path = NodePath(".:self_modulate")
|
||
tracks/2/interp = 0
|
||
tracks/2/loop_wrap = true
|
||
tracks/2/keys = {
|
||
"times": PackedFloat32Array(0, 1.7, 2),
|
||
"transitions": PackedFloat32Array(1, 1, 1),
|
||
"update": 0,
|
||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||
}
|
||
|
||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_f873f"]
|
||
_data = {
|
||
&"RESET": SubResource("Animation_057py"),
|
||
&"Show": SubResource("Animation_shhao")
|
||
}
|
||
|
||
[sub_resource type="Resource" id="Resource_2mfvl"]
|
||
script = ExtResource("24_hu5lw")
|
||
Overworld = ExtResource("13_uo1a1")
|
||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||
|
||
[sub_resource type="Resource" id="Resource_cekpg"]
|
||
script = ExtResource("24_hu5lw")
|
||
Overworld = ExtResource("18_hofol")
|
||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_bc3q3"]
|
||
atlas = ExtResource("19_bc3q3")
|
||
region = Rect2(0, 16, 2, 2)
|
||
|
||
[sub_resource type="GDScript" id="GDScript_bl5al"]
|
||
script/source = "extends Sprite2D
|
||
|
||
@export var action_name := \"\"
|
||
@export var idle_texture: Texture = null
|
||
@export var pressed_texture: Texture = null
|
||
|
||
func _process(_delta: float) -> void:
|
||
texture = pressed_texture if Input.is_action_pressed(action_name + \"_0\") else idle_texture
|
||
"
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_bl5al"]
|
||
|
||
[sub_resource type="AtlasTexture" id="AtlasTexture_x2idl"]
|
||
atlas = ExtResource("19_bc3q3")
|
||
region = Rect2(2, 16, 2, 2)
|
||
|
||
[sub_resource type="Resource" id="Resource_vphr8"]
|
||
script = ExtResource("24_hu5lw")
|
||
Overworld = ExtResource("23_445e4")
|
||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||
|
||
[sub_resource type="SeparationRayShape2D" id="SeparationRayShape2D_6ws8x"]
|
||
length = 4.0
|
||
slide_on_slope = true
|
||
|
||
[sub_resource type="GDScript" id="GDScript_hu5lw"]
|
||
script/source = "extends Node
|
||
|
||
var current_state := \"\"
|
||
|
||
func _physics_process(_delta: float) -> void:
|
||
if Global.current_game_mode == Global.GameMode.LEVEL_EDITOR and LevelEditor.playing_level == false:
|
||
if Global.level_editor.current_state == LevelEditor.EditorState.IDLE == false:
|
||
return
|
||
var state = %PowerStates.get_child(owner.starting_power_state).name
|
||
if current_state != state:
|
||
current_state = state
|
||
%ResourceSetterNew.resource_json = load(\"res://Assets/Sprites/Players/\" + owner.character + \"/\" + state + \".json\")
|
||
if Input.is_action_just_pressed(\"editor_move_player\"):
|
||
var new_position = Global.level_editor.cursor_tile_position * 16
|
||
owner.global_position = new_position + Vector2i(8, 16)
|
||
Global.level_editor.entity_tiles[0].erase(owner.get_meta(\"tile_position\"))
|
||
var tile_position = Vector2i(new_position / 16)
|
||
Global.level_editor.entity_tiles[0].set(tile_position, owner)
|
||
owner.reset_physics_interpolation()
|
||
owner.set_meta(\"tile_position\", tile_position)
|
||
owner.recenter_camera()
|
||
print(Global.level_editor.entity_tiles)
|
||
"
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_d7xah"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(4, 6.75)
|
||
|
||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_34tqy"]
|
||
resource_local_to_scene = true
|
||
size = Vector2(4, 12)
|
||
|
||
[sub_resource type="Resource" id="Resource_xy8gq"]
|
||
script = ExtResource("24_hu5lw")
|
||
Overworld = ExtResource("40_o70e0")
|
||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||
|
||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_pm4ir"]
|
||
particles_animation = true
|
||
particles_anim_h_frames = 5
|
||
particles_anim_v_frames = 1
|
||
particles_anim_loop = false
|
||
|
||
[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("power_state") groups=["Players"]]
|
||
process_priority = 1
|
||
process_physics_priority = 1
|
||
z_index = 1
|
||
collision_layer = 0
|
||
collision_mask = 3
|
||
collision_priority = 10000000.0
|
||
slide_on_ceiling = false
|
||
floor_constant_speed = true
|
||
floor_snap_length = 4.0
|
||
platform_on_leave = 2
|
||
script = ExtResource("1_f6bau")
|
||
power_state = NodePath("PowerStates/Small")
|
||
|
||
[node name="SpriteScaleJoint" type="Node2D" parent="."]
|
||
|
||
[node name="Sprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"]
|
||
unique_name_in_owner = true
|
||
physics_interpolation_mode = 2
|
||
material = SubResource("ShaderMaterial_4ojwh")
|
||
position = Vector2(0, -16)
|
||
sprite_frames = ExtResource("4_fqdtv")
|
||
animation = &"Idle"
|
||
offset = Vector2(0, 1)
|
||
script = ExtResource("5_x2idl")
|
||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||
|
||
[node name="Hammer" type="Sprite2D" parent="SpriteScaleJoint/Sprite"]
|
||
unique_name_in_owner = true
|
||
visible = false
|
||
position = Vector2(8, 8)
|
||
texture = ExtResource("3_a1d2e")
|
||
offset = Vector2(0, -8)
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 0, 16, 16)
|
||
|
||
[node name="Animation" type="AnimationPlayer" parent="SpriteScaleJoint/Sprite/Hammer"]
|
||
libraries = {
|
||
&"": SubResource("AnimationLibrary_bl5al")
|
||
}
|
||
autoplay = "Swing"
|
||
|
||
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite/Hammer" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "texture"
|
||
mode = 1
|
||
resource_json = ExtResource("7_2mfvl")
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="HammerHitbox" type="Area2D" parent="SpriteScaleJoint/Sprite"]
|
||
visible = false
|
||
position = Vector2(16, 16)
|
||
monitorable = false
|
||
|
||
[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/HammerHitbox"]
|
||
position = Vector2(-3.49691e-07, -8)
|
||
shape = SubResource("RectangleShape2D_a1d2e")
|
||
|
||
[node name="Wings" type="Node2D" parent="SpriteScaleJoint/Sprite"]
|
||
unique_name_in_owner = true
|
||
visible = false
|
||
|
||
[node name="BigWing" type="AnimatedSprite2D" parent="SpriteScaleJoint/Sprite/Wings"]
|
||
unique_name_in_owner = true
|
||
position = Vector2(-10, -3)
|
||
sprite_frames = SubResource("SpriteFrames_uwhl4")
|
||
animation = &"Idle"
|
||
frame_progress = 0.9603284
|
||
flip_h = true
|
||
|
||
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite/Wings/BigWing" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "sprite_frames"
|
||
resource_json = ExtResource("9_o70e0")
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="SmallWing" type="AnimatedSprite2D" parent="SpriteScaleJoint/Sprite/Wings"]
|
||
unique_name_in_owner = true
|
||
visible = false
|
||
show_behind_parent = true
|
||
position = Vector2(-10, 7)
|
||
sprite_frames = SubResource("SpriteFrames_uwhl4")
|
||
animation = &"Idle"
|
||
flip_h = true
|
||
|
||
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite/Wings/SmallWing" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "sprite_frames"
|
||
resource_json = ExtResource("9_o70e0")
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="AnimationPlayer" type="AnimationPlayer" parent="SpriteScaleJoint/Sprite/Wings"]
|
||
libraries = {
|
||
&"": SubResource("AnimationLibrary_nbkfn")
|
||
}
|
||
|
||
[node name="GrowAnimation" type="AnimationPlayer" parent="SpriteScaleJoint/Sprite"]
|
||
unique_name_in_owner = true
|
||
libraries = {
|
||
&"": SubResource("AnimationLibrary_pm4ir")
|
||
}
|
||
|
||
[node name="States" type="Node" parent="." node_paths=PackedStringArray("state")]
|
||
script = ExtResource("2_1y62l")
|
||
state = NodePath("Normal")
|
||
|
||
[node name="Normal" type="Node" parent="States"]
|
||
script = ExtResource("3_f6bau")
|
||
|
||
[node name="Pipe" type="Node" parent="States"]
|
||
script = ExtResource("5_hodem")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="FlagPole" type="Node" parent="States"]
|
||
script = ExtResource("7_8f1du")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="LevelExit" type="Node" parent="States"]
|
||
script = ExtResource("8_mqpnb")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="Dead" type="Node" parent="States"]
|
||
script = ExtResource("9_mqpnb")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="Freeze" type="Node" parent="States"]
|
||
script = ExtResource("6_8f1du")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="Climb" type="Node" parent="States"]
|
||
script = ExtResource("10_shhao")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="WallSlide" type="Node" parent="States"]
|
||
script = ExtResource("11_057py")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="NoClip" type="Node" parent="States"]
|
||
script = ExtResource("16_cekpg")
|
||
metadata/_custom_type_script = "uid://cnjpqn05bfm57"
|
||
|
||
[node name="PowerStates" type="Node" parent="."]
|
||
unique_name_in_owner = true
|
||
|
||
[node name="Small" type="Node" parent="PowerStates"]
|
||
script = ExtResource("5_rs3l8")
|
||
state_name = "Small"
|
||
metadata/_custom_type_script = "uid://c8xvkkv34fjr4"
|
||
|
||
[node name="Big" type="Node" parent="PowerStates" node_paths=PackedStringArray("damage_state")]
|
||
script = ExtResource("5_rs3l8")
|
||
state_name = "Big"
|
||
power_tier = 1
|
||
hitbox_size = "Big"
|
||
damage_state = NodePath("../Small")
|
||
metadata/_custom_type_script = "uid://c8xvkkv34fjr4"
|
||
|
||
[node name="Fire" type="Node" parent="PowerStates" node_paths=PackedStringArray("damage_state")]
|
||
script = ExtResource("6_7nbqp")
|
||
state_name = "Fire"
|
||
power_tier = 2
|
||
hitbox_size = "Big"
|
||
damage_state = NodePath("../Big")
|
||
metadata/_custom_type_script = "uid://c8xvkkv34fjr4"
|
||
|
||
[node name="Camera" type="Camera2D" parent="."]
|
||
process_mode = 3
|
||
top_level = true
|
||
position = Vector2(0, -64)
|
||
ignore_rotation = false
|
||
limit_enabled = false
|
||
editor_draw_limits = true
|
||
editor_draw_drag_margin = true
|
||
|
||
[node name="Hitbox" type="Area2D" parent="."]
|
||
position = Vector2(0, -10)
|
||
collision_mask = 5
|
||
|
||
[node name="SmallShape" type="CollisionShape2D" parent="Hitbox" groups=["SmallCollisions"]]
|
||
position = Vector2(0, 3)
|
||
shape = SubResource("RectangleShape2D_nbkfn")
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -10)
|
||
|
||
[node name="BigShape" type="CollisionShape2D" parent="Hitbox" groups=["BigCollisions"]]
|
||
position = Vector2(0, -4.75)
|
||
shape = SubResource("RectangleShape2D_vijl6")
|
||
disabled = true
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -10)
|
||
|
||
[node name="WaterDetect" type="Area2D" parent="."]
|
||
visible = false
|
||
position = Vector2(0, -13)
|
||
collision_layer = 0
|
||
collision_mask = 64
|
||
|
||
[node name="SmallShape" type="CollisionShape2D" parent="WaterDetect" groups=["SmallCollisions"]]
|
||
position = Vector2(0, 5.25)
|
||
shape = SubResource("RectangleShape2D_f6bau")
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -13)
|
||
|
||
[node name="BigShape" type="CollisionShape2D" parent="WaterDetect" groups=["BigCollisions"]]
|
||
position = Vector2(0, -1.75)
|
||
shape = SubResource("RectangleShape2D_sda2e")
|
||
disabled = true
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -13)
|
||
|
||
[node name="LavaPoisonDetect" type="Area2D" parent="."]
|
||
visible = false
|
||
position = Vector2(0, -13)
|
||
collision_layer = 0
|
||
collision_mask = 384
|
||
|
||
[node name="SmallShape" type="CollisionShape2D" parent="LavaPoisonDetect"]
|
||
position = Vector2(0, 5.75)
|
||
shape = SubResource("RectangleShape2D_uwhl4")
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -14)
|
||
|
||
[node name="BigShape" type="CollisionShape2D" parent="LavaPoisonDetect" groups=["BigCollisions"]]
|
||
position = Vector2(0, -1.25)
|
||
shape = SubResource("RectangleShape2D_o70e0")
|
||
disabled = true
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, -14)
|
||
|
||
[node name="CameraCenterJoint" type="Node2D" parent="."]
|
||
physics_interpolation_mode = 2
|
||
top_level = true
|
||
|
||
[node name="LeftWall" type="StaticBody2D" parent="CameraCenterJoint"]
|
||
position = Vector2(128, 0)
|
||
collision_layer = 0
|
||
collision_mask = 0
|
||
|
||
[node name="CollisionShape2D" type="CollisionShape2D" parent="CameraCenterJoint/LeftWall"]
|
||
rotation = 1.5707964
|
||
shape = SubResource("RectangleShape2D_t1xso")
|
||
one_way_collision = true
|
||
|
||
[node name="RightWall" type="StaticBody2D" parent="CameraCenterJoint"]
|
||
position = Vector2(-128, 0)
|
||
collision_layer = 0
|
||
collision_mask = 0
|
||
|
||
[node name="CollisionShape2D" type="CollisionShape2D" parent="CameraCenterJoint/RightWall"]
|
||
rotation = -1.5707964
|
||
shape = SubResource("RectangleShape2D_jl70t")
|
||
one_way_collision = true
|
||
|
||
[node name="Sprite2D" type="Sprite2D" parent="CameraCenterJoint"]
|
||
visible = false
|
||
texture = ExtResource("20_34tqy")
|
||
|
||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||
script = ExtResource("8_4ojwh")
|
||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||
|
||
[node name="StarTimer" type="Timer" parent="."]
|
||
process_mode = 1
|
||
wait_time = 10.0
|
||
one_shot = true
|
||
|
||
[node name="Checkpoint" type="Sprite2D" parent="."]
|
||
process_mode = 3
|
||
physics_interpolation_mode = 2
|
||
self_modulate = Color(1, 1, 1, 0)
|
||
z_index = 4096
|
||
z_as_relative = false
|
||
position = Vector2(0, -40)
|
||
texture = ExtResource("13_uo1a1")
|
||
|
||
[node name="Animation" type="AnimationPlayer" parent="Checkpoint"]
|
||
libraries = {
|
||
&"": SubResource("AnimationLibrary_f873f")
|
||
}
|
||
speed_scale = 2.0
|
||
|
||
[node name="Label" type="Label" parent="Checkpoint"]
|
||
visibility_layer = 2
|
||
offset_left = -4.0
|
||
offset_top = -4.0
|
||
offset_right = 4.0
|
||
offset_bottom = 4.0
|
||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||
text = "1"
|
||
horizontal_alignment = 1
|
||
vertical_alignment = 1
|
||
|
||
[node name="ResourceSetter" type="Node" parent="Checkpoint" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("27_6ws8x")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "texture"
|
||
themed_resource = SubResource("Resource_2mfvl")
|
||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||
|
||
[node name="HammerTimer" type="Timer" parent="."]
|
||
process_mode = 1
|
||
wait_time = 10.0
|
||
one_shot = true
|
||
|
||
[node name="SkidSFX" type="AudioStreamPlayer2D" parent="."]
|
||
stream = ExtResource("18_hofol")
|
||
bus = &"SFX"
|
||
|
||
[node name="ResourceSetter" type="Node" parent="SkidSFX" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("27_6ws8x")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "stream"
|
||
themed_resource = SubResource("Resource_cekpg")
|
||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||
|
||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||
process_mode = 3
|
||
|
||
[node name="Control" type="Control" parent="CanvasLayer"]
|
||
visible = false
|
||
layout_mode = 3
|
||
anchors_preset = 2
|
||
anchor_top = 1.0
|
||
anchor_bottom = 1.0
|
||
grow_vertical = 0
|
||
mouse_filter = 2
|
||
|
||
[node name="ControllerOverlay" type="Sprite2D" parent="CanvasLayer/Control"]
|
||
position = Vector2(4, -21)
|
||
texture = ExtResource("19_bc3q3")
|
||
centered = false
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 0, 36, 16)
|
||
|
||
[node name="Up" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(5, 6)
|
||
texture = SubResource("AtlasTexture_bc3q3")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "move_up"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_bc3q3")
|
||
|
||
[node name="Down" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(5, 10)
|
||
texture = SubResource("AtlasTexture_bc3q3")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "move_down"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_bc3q3")
|
||
|
||
[node name="Right" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(7, 8)
|
||
texture = SubResource("AtlasTexture_bc3q3")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "move_right"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_bc3q3")
|
||
|
||
[node name="Left" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(3, 8)
|
||
texture = SubResource("AtlasTexture_bc3q3")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "move_left"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_bc3q3")
|
||
|
||
[node name="Run" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(23, 8)
|
||
scale = Vector2(1.5, 1.5)
|
||
texture = SubResource("AtlasTexture_x2idl")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "run"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_x2idl")
|
||
|
||
[node name="Jump" type="Sprite2D" parent="CanvasLayer/Control/ControllerOverlay"]
|
||
position = Vector2(29, 8)
|
||
scale = Vector2(1.5, 1.5)
|
||
texture = SubResource("AtlasTexture_x2idl")
|
||
centered = false
|
||
script = SubResource("GDScript_bl5al")
|
||
action_name = "jump"
|
||
idle_texture = SubResource("AtlasTexture_bl5al")
|
||
pressed_texture = SubResource("AtlasTexture_x2idl")
|
||
|
||
[node name="Control2" type="Control" parent="CanvasLayer"]
|
||
layout_mode = 3
|
||
anchors_preset = 15
|
||
anchor_right = 1.0
|
||
anchor_bottom = 1.0
|
||
grow_horizontal = 2
|
||
grow_vertical = 2
|
||
mouse_filter = 2
|
||
|
||
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/Control2"]
|
||
layout_mode = 1
|
||
anchors_preset = -1
|
||
anchor_left = 1.0
|
||
anchor_top = 1.0
|
||
anchor_right = 1.0
|
||
anchor_bottom = 1.0
|
||
offset_left = -40.0
|
||
offset_top = -40.0
|
||
grow_horizontal = 0
|
||
grow_vertical = 0
|
||
mouse_filter = 2
|
||
theme_override_constants/margin_left = 0
|
||
theme_override_constants/margin_right = 4
|
||
theme_override_constants/margin_bottom = 4
|
||
|
||
[node name="Timers" type="VBoxContainer" parent="CanvasLayer/Control2/MarginContainer"]
|
||
layout_mode = 2
|
||
mouse_filter = 2
|
||
theme_override_constants/separation = 2
|
||
alignment = 2
|
||
|
||
[node name="PSwitchTimer" type="Control" parent="CanvasLayer/Control2/MarginContainer/Timers"]
|
||
custom_minimum_size = Vector2(8, 8)
|
||
layout_mode = 2
|
||
size_flags_horizontal = 8
|
||
mouse_filter = 2
|
||
|
||
[node name="TimerSprite" type="Sprite2D" parent="CanvasLayer/Control2/MarginContainer/Timers/PSwitchTimer" node_paths=PackedStringArray("warn_sfx")]
|
||
texture = ExtResource("29_uwhl4")
|
||
centered = false
|
||
hframes = 7
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 0, 56, 8)
|
||
script = ExtResource("30_o70e0")
|
||
max_value = 10.0
|
||
value_name = "p_switch_timer"
|
||
warn_sfx = NodePath("../../../../../../TimerWarn")
|
||
warn_threshold = 0.8500000000058208
|
||
metadata/_custom_type_script = "uid://dn5efttgugwvb"
|
||
|
||
[node name="StarTimer" type="Control" parent="CanvasLayer/Control2/MarginContainer/Timers"]
|
||
custom_minimum_size = Vector2(8, 8)
|
||
layout_mode = 2
|
||
size_flags_horizontal = 8
|
||
mouse_filter = 2
|
||
|
||
[node name="TimerSprite" type="Sprite2D" parent="CanvasLayer/Control2/MarginContainer/Timers/StarTimer" node_paths=PackedStringArray("timer", "warn_sfx")]
|
||
texture = ExtResource("29_uwhl4")
|
||
centered = false
|
||
hframes = 7
|
||
frame = 6
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 8, 56, 8)
|
||
script = ExtResource("30_o70e0")
|
||
max_value = 10.0
|
||
value_name = "time_left"
|
||
object = 2
|
||
timer = NodePath("../../../../../../StarTimer")
|
||
warn_sfx = NodePath("../../../../../../TimerWarn")
|
||
warn_threshold = 0.8500000000058208
|
||
metadata/_custom_type_script = "uid://dn5efttgugwvb"
|
||
|
||
[node name="WingTimer" type="Control" parent="CanvasLayer/Control2/MarginContainer/Timers"]
|
||
custom_minimum_size = Vector2(8, 8)
|
||
layout_mode = 2
|
||
size_flags_horizontal = 8
|
||
mouse_filter = 2
|
||
|
||
[node name="TimerSprite" type="Sprite2D" parent="CanvasLayer/Control2/MarginContainer/Timers/WingTimer" node_paths=PackedStringArray("warn_sfx")]
|
||
texture = ExtResource("29_uwhl4")
|
||
centered = false
|
||
hframes = 7
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 16, 56, 8)
|
||
script = ExtResource("30_o70e0")
|
||
max_value = 10.0
|
||
value_name = "flight_meter"
|
||
object = 1
|
||
warn_sfx = NodePath("../../../../../../TimerWarn")
|
||
warn_threshold = 0.8500000000058208
|
||
metadata/_custom_type_script = "uid://dn5efttgugwvb"
|
||
|
||
[node name="HammerTimer" type="Control" parent="CanvasLayer/Control2/MarginContainer/Timers"]
|
||
custom_minimum_size = Vector2(8, 8)
|
||
layout_mode = 2
|
||
size_flags_horizontal = 8
|
||
mouse_filter = 2
|
||
|
||
[node name="TimerSprite" type="Sprite2D" parent="CanvasLayer/Control2/MarginContainer/Timers/HammerTimer" node_paths=PackedStringArray("timer", "warn_sfx")]
|
||
texture = ExtResource("29_uwhl4")
|
||
centered = false
|
||
hframes = 7
|
||
region_enabled = true
|
||
region_rect = Rect2(0, 24, 56, 8)
|
||
script = ExtResource("30_o70e0")
|
||
max_value = 10.0
|
||
value_name = "time_left"
|
||
object = 2
|
||
timer = NodePath("../../../../../../HammerTimer")
|
||
warn_sfx = NodePath("../../../../../../TimerWarn")
|
||
warn_threshold = 0.8500000000058208
|
||
metadata/_custom_type_script = "uid://dn5efttgugwvb"
|
||
|
||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||
script = ExtResource("22_445e4")
|
||
resource = SubResource("Resource_vphr8")
|
||
json_file_path = "res://Assets/Sprites/Players/Luigi/Fire.json"
|
||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||
|
||
[node name="ResourceSetterNew" type="Node" parent="." node_paths=PackedStringArray("node_to_affect", "property_node")]
|
||
unique_name_in_owner = true
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("../SpriteScaleJoint/Sprite")
|
||
property_node = NodePath("..")
|
||
property_name = "sprite_frames"
|
||
resource_json = ExtResource("26_o4wvw")
|
||
use_cache = false
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="InvinciblePalette" type="Sprite2D" parent="."]
|
||
visible = false
|
||
texture = ExtResource("2_bl5al")
|
||
|
||
[node name="ResourceSetter" type="Node" parent="InvinciblePalette" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "texture"
|
||
mode = 1
|
||
resource_json = ExtResource("29_vphr8")
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="PlayerPalette" type="Sprite2D" parent="."]
|
||
visible = false
|
||
position = Vector2(0, -8)
|
||
scale = Vector2(8, 8)
|
||
texture = ExtResource("3_x2idl")
|
||
|
||
[node name="ResourceSetterNew" type="Node" parent="PlayerPalette" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("25_cekpg")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "texture"
|
||
mode = 1
|
||
resource_json = ExtResource("10_xy8gq")
|
||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||
|
||
[node name="SmallCollision" type="CollisionPolygon2D" parent="." groups=["SmallCollisions"]]
|
||
polygon = PackedVector2Array(4, -2, 4, -8, 1, -14, -1, -14, -4, -8, -4, -2, -2, 0, 2, 0)
|
||
one_way_collision = true
|
||
script = ExtResource("35_nbkfn")
|
||
|
||
[node name="BigCollision" type="CollisionPolygon2D" parent="." groups=["BigCollisions"]]
|
||
visible = false
|
||
polygon = PackedVector2Array(-4, -2, -2, 0, 2, 0, 4, -2, 4, -23, 1, -28, -1, -28, -4, -23)
|
||
script = ExtResource("35_nbkfn")
|
||
|
||
[node name="FootL" type="CollisionShape2D" parent="." groups=["StepCollision"]]
|
||
position = Vector2(-6, -4)
|
||
shape = SubResource("SeparationRayShape2D_6ws8x")
|
||
|
||
[node name="FootR" type="CollisionShape2D" parent="." groups=["StepCollision"]]
|
||
position = Vector2(6, -4)
|
||
shape = SubResource("SeparationRayShape2D_6ws8x")
|
||
|
||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||
script = ExtResource("28_hu5lw")
|
||
properties = Array[String](["starting_power_state"])
|
||
|
||
[node name="Node" type="Node" parent="."]
|
||
process_mode = 3
|
||
script = SubResource("GDScript_hu5lw")
|
||
|
||
[node name="CameraHandler" type="Node2D" parent="." node_paths=PackedStringArray("camera", "camera_center_joint")]
|
||
unique_name_in_owner = true
|
||
process_mode = 3
|
||
script = ExtResource("20_d7xah")
|
||
camera = NodePath("../Camera")
|
||
camera_center_joint = NodePath("../CameraCenterJoint")
|
||
|
||
[node name="StepWallChecks" type="Node2D" parent="."]
|
||
|
||
[node name="LWall" type="RayCast2D" parent="StepWallChecks"]
|
||
position = Vector2(-6, -4)
|
||
target_position = Vector2(-1, 0)
|
||
collision_mask = 3
|
||
hit_from_inside = true
|
||
|
||
[node name="RWall" type="RayCast2D" parent="StepWallChecks"]
|
||
position = Vector2(6, -4)
|
||
target_position = Vector2(1, 0)
|
||
collision_mask = 3
|
||
hit_from_inside = true
|
||
|
||
[node name="BlockCollision" type="Area2D" parent="."]
|
||
collision_layer = 0
|
||
collision_mask = 4
|
||
|
||
[node name="SmallShape" type="CollisionShape2D" parent="BlockCollision" node_paths=PackedStringArray("link") groups=["SmallCollisions"]]
|
||
visible = false
|
||
position = Vector2(0, -16.875)
|
||
shape = SubResource("RectangleShape2D_d7xah")
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, 13.5)
|
||
link = NodePath("../../SmallCollision")
|
||
|
||
[node name="BigShape" type="CollisionShape2D" parent="BlockCollision" node_paths=PackedStringArray("link") groups=["BigCollisions"]]
|
||
position = Vector2(0, -32)
|
||
shape = SubResource("RectangleShape2D_34tqy")
|
||
disabled = true
|
||
debug_color = Color(1, 0, 0, 0.419608)
|
||
script = ExtResource("21_jl70t")
|
||
offset = Vector2(0, 26)
|
||
link = NodePath("../../BigCollision")
|
||
|
||
[node name="TimerWarn" type="AudioStreamPlayer" parent="."]
|
||
process_mode = 3
|
||
stream = ExtResource("40_o70e0")
|
||
bus = &"SFX"
|
||
|
||
[node name="ResourceSetter" type="Node" parent="TimerWarn" node_paths=PackedStringArray("node_to_affect")]
|
||
script = ExtResource("27_6ws8x")
|
||
node_to_affect = NodePath("..")
|
||
property_name = "stream"
|
||
themed_resource = SubResource("Resource_xy8gq")
|
||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||
|
||
[node name="SkidParticles" type="CPUParticles2D" parent="."]
|
||
unique_name_in_owner = true
|
||
material = SubResource("CanvasItemMaterial_pm4ir")
|
||
position = Vector2(0, -2)
|
||
emitting = false
|
||
amount = 2
|
||
texture = ExtResource("11_vijl6")
|
||
lifetime = 0.25
|
||
gravity = Vector2(0, 0)
|
||
anim_speed_min = 1.0
|
||
anim_speed_max = 1.0
|
||
|
||
[connection signal="frame_changed" from="SpriteScaleJoint/Sprite" to="SpriteScaleJoint/Sprite" method="on_frame_changed"]
|
||
[connection signal="sprite_frames_changed" from="SpriteScaleJoint/Sprite" to="SpriteScaleJoint/Sprite" method="on_frame_changed"]
|
||
[connection signal="area_entered" from="SpriteScaleJoint/Sprite/HammerHitbox" to="." method="on_hammer_area_entered"]
|
||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||
[connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"]
|
||
[connection signal="body_entered" from="LavaPoisonDetect" to="." method="die" unbinds=1]
|
||
[connection signal="timeout" from="StarTimer" to="." method="on_timeout"]
|
||
[connection signal="timeout" from="HammerTimer" to="." method="on_hammer_timeout"]
|