Setup player screen FX

This commit is contained in:
2025-11-19 00:05:20 -08:00
parent f69e219643
commit 613fc3bf60
5 changed files with 382 additions and 354 deletions

View File

@@ -83,7 +83,6 @@ public partial class App : Node, IApp
OptionsMenu.OptionsMenuExited += OptionsMenu_OptionsMenuExited;
OptionsMenu.DeleteSaveData += DeleteSaveData;
AppRepo = _container.GetInstance<IAppRepo>();
AppLogic = _container.GetInstance<IAppLogic>();

View File

@@ -18,4 +18,7 @@ public partial class OptionsData : Node
[Save("ScreenResolution")]
public required int ScreenResolution { get; set; }
[Save("SkipCutscene")]
public required bool SkipCutscene { get; set; }
}

View File

@@ -2,6 +2,7 @@ using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using NathanHoad;
using System;
using System.Linq;
namespace Zennysoft.Game.Ma;
@@ -53,9 +54,12 @@ public partial class OptionsMenu : Control
MasterVolumeLevel = MasterVolumeSlider.Value,
MusicVolumeLevel = MusicVolumeSlider.Value,
SFXVolumeLevel = SFXVolumeSlider.Value,
ScreenResolution = ResolutionOptions.GetSelectedId()
ScreenResolution = ResolutionOptions.GetSelectedId(),
SkipCutscene = SkipOpeningCSCheck.ButtonPressed
};
SkipOpeningCSCheck.Pressed += SkipOpeningCS_Pressed;
DeleteSaveButton.Pressed += DeleteSaveButton_Pressed;
YesDeleteButton.Pressed += YesDeleteButton_Pressed;
NoDeleteButton.Pressed += NoDeleteButton_Pressed;
@@ -76,6 +80,8 @@ public partial class OptionsMenu : Control
VisibilityChanged += OptionsMenu_VisibilityChanged;
}
private void SkipOpeningCS_Pressed() => OptionsData.SkipCutscene = SkipOpeningCSCheck.ButtonPressed;
private void NoDeleteButton_Pressed()
{
ReleaseFocus();
@@ -151,6 +157,7 @@ public partial class OptionsMenu : Control
MusicVolumeSlider.Value = optionsData.MusicVolumeLevel;
SFXVolumeSlider.Value = optionsData.SFXVolumeLevel;
ResolutionOptions.Select(optionsData.ScreenResolution);
SkipOpeningCSCheck.ButtonPressed = optionsData.SkipCutscene;
DisplayServer.WindowSetMode(_windowModes[optionsData.ScreenResolution]);
}

View File

@@ -74,7 +74,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
#region Node Dependencies
[Node] private IAnimationPlayer AnimationPlayer { get; set; } = default!;
[Node] private AnimatedSprite2D SwordSlashAnimation { get; set; } = default!;
[Node] private IAnimationPlayer PlayerFXAnimations { get; set; } = default!;
[Node] private Area3D Hitbox { get; set; } = default!;
@@ -155,7 +155,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
{
Hitbox.AreaEntered += Hitbox_AreaEntered;
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2;
HealthComponent.HealthReachedZero += Die;
HealthTimer.WaitTime = _healthTimerWaitTime;
SetProcessInput(false);
@@ -215,7 +214,6 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
{
HealthTimer.WaitTime = _healthTimerWaitTime;
HealthTimer.Timeout -= OnHealthTimerTimeout;
SwordSlashAnimation.Stop();
SetProcessInput(false);
SetPhysicsProcess(false);
PlayerDied?.Invoke();

View File

@@ -1,336 +1,14 @@
[gd_scene load_steps=48 format=3 uid="uid://cfecvvav8kkp6"]
[gd_scene load_steps=34 format=3 uid="uid://cfecvvav8kkp6"]
[ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"]
[ext_resource type="Texture2D" uid="uid://c4ps26w7h3vpq" path="res://src/minimap/textures/player_map_icon.png" id="4_3ojaj"]
[ext_resource type="Texture2D" uid="uid://c6r3dhnkuw22w" path="res://src/vfx/hit_effects/FIRE_STRIKE_1.0.png" id="5_wr6lo"]
[ext_resource type="Texture2D" uid="uid://qhxl3nejqlk1" path="res://src/vfx/World/DUST_1.png" id="4_565yv"]
[ext_resource type="Texture2D" uid="uid://b5qjlbcesth53" path="res://src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png" id="6_p34sl"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
radius = 1.0
height = 3.07596
[sub_resource type="Animation" id="Animation_hcjph"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Collision/Hitbox/HitboxCollision:disabled")
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("Animation/SwordSlashAnimation:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_g183x"]
resource_name = "atonement_attack"
step = 0.0833333
[sub_resource type="Animation" id="Animation_0jjwv"]
resource_name = "attack"
length = 0.916675
step = 0.0833333
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Collision/Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833333, 0.333333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Animation/SwordSlashAnimation:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833333, 0.166667, 0.25, 0.333333, 0.416667, 0.5, 0.583333, 0.666667, 0.75, 0.833333, 0.916666),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
}
[sub_resource type="Animation" id="Animation_es4xk"]
resource_name = "hit_wall"
length = 0.3
step = 0.0833333
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Animation/SwordSlashAnimation:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833333, 0.166667),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [10, 1, 11]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_w8l8m"]
_data = {
&"RESET": SubResource("Animation_hcjph"),
&"atonement_attack": SubResource("Animation_g183x"),
&"attack": SubResource("Animation_0jjwv"),
&"hit_wall": SubResource("Animation_es4xk")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_irupf"]
atlas = ExtResource("6_p34sl")
region = Rect2(300, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_63m7j"]
atlas = ExtResource("6_p34sl")
region = Rect2(600, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_1ypgu"]
atlas = ExtResource("6_p34sl")
region = Rect2(900, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_d7qd7"]
atlas = ExtResource("6_p34sl")
region = Rect2(1200, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_7heog"]
atlas = ExtResource("6_p34sl")
region = Rect2(1500, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_x4mbv"]
atlas = ExtResource("6_p34sl")
region = Rect2(1800, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_f7ysd"]
atlas = ExtResource("6_p34sl")
region = Rect2(2100, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_i2p57"]
atlas = ExtResource("6_p34sl")
region = Rect2(2400, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_tfnlg"]
atlas = ExtResource("6_p34sl")
region = Rect2(2700, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_gvgtb"]
atlas = ExtResource("6_p34sl")
region = Rect2(3000, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_fha34"]
atlas = ExtResource("5_wr6lo")
region = Rect2(0, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_6es8e"]
atlas = ExtResource("5_wr6lo")
region = Rect2(450, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_ajsk2"]
atlas = ExtResource("5_wr6lo")
region = Rect2(1350, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_m6lxd"]
atlas = ExtResource("5_wr6lo")
region = Rect2(2250, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_66iny"]
atlas = ExtResource("5_wr6lo")
region = Rect2(3150, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_ifj8k"]
atlas = ExtResource("5_wr6lo")
region = Rect2(4050, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_0sse1"]
atlas = ExtResource("5_wr6lo")
region = Rect2(4950, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_biijj"]
atlas = ExtResource("5_wr6lo")
region = Rect2(5850, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_ox7ae"]
atlas = ExtResource("5_wr6lo")
region = Rect2(6750, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_0jda2"]
atlas = ExtResource("5_wr6lo")
region = Rect2(7650, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_6i1pl"]
atlas = ExtResource("5_wr6lo")
region = Rect2(8550, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_ivimc"]
atlas = ExtResource("5_wr6lo")
region = Rect2(9450, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_3pwkw"]
atlas = ExtResource("5_wr6lo")
region = Rect2(10350, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_fr7ff"]
atlas = ExtResource("5_wr6lo")
region = Rect2(11250, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_yopcg"]
atlas = ExtResource("5_wr6lo")
region = Rect2(12150, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_j6465"]
atlas = ExtResource("5_wr6lo")
region = Rect2(13050, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_sqdiu"]
atlas = ExtResource("5_wr6lo")
region = Rect2(13950, 0, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_p3jka"]
atlas = ExtResource("5_wr6lo")
region = Rect2(0, 450, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_1g7qb"]
atlas = ExtResource("5_wr6lo")
region = Rect2(900, 450, 450, 450)
[sub_resource type="AtlasTexture" id="AtlasTexture_7ab4x"]
atlas = ExtResource("5_wr6lo")
region = Rect2(1800, 450, 450, 450)
[sub_resource type="SpriteFrames" id="SpriteFrames_ywvvo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": null
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_irupf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_63m7j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1ypgu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d7qd7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7heog")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x4mbv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f7ysd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i2p57")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tfnlg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gvgtb")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"attack",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fha34")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6es8e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ajsk2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m6lxd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_66iny")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ifj8k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0sse1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_biijj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ox7ae")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0jda2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6i1pl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ivimc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3pwkw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fr7ff")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yopcg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j6465")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sqdiu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p3jka")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1g7qb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7ab4x")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"attack_fire",
"speed": 12.0
}, {
"frames": [],
"loop": true,
"name": &"attack_water",
"speed": 12.0
}]
[sub_resource type="Animation" id="Animation_3ojaj"]
resource_name = "IconAnimation"
length = 2.5
@@ -359,14 +37,318 @@ _data = {
&"RESET": SubResource("Animation_565yv")
}
[sub_resource type="BoxShape3D" id="BoxShape3D_wedu3"]
[sub_resource type="BoxShape3D" id="BoxShape3D_g641l"]
size = Vector3(1, 1, 1.80176)
[sub_resource type="BoxShape3D" id="BoxShape3D_hs4wf"]
size = Vector3(2, 3, 1)
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_es4xk"]
height = 1.6909
[sub_resource type="SphereShape3D" id="SphereShape3D_g641l"]
radius = 0.6
[sub_resource type="Animation" id="Animation_v7rlw"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Collision/Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_g641l"]
resource_name = "attack"
tracks/0/type = "animation"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ScreenFX/PlayerFXAnimations")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": PackedStringArray("normal_attack"),
"times": PackedFloat32Array(0)
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Collision/Hitbox/HitboxCollision:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833333, 0.333333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_bj1ma"]
resource_name = "hit_wall"
length = 0.583342
step = 0.0833333
tracks/0/type = "animation"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ScreenFX/PlayerFXAnimations")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": PackedStringArray("hit_wall"),
"times": PackedFloat32Array(0)
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Collision/Hitbox/HitboxCollision:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3ojaj"]
_data = {
&"RESET": SubResource("Animation_v7rlw"),
&"attack": SubResource("Animation_g641l"),
&"hit_wall": SubResource("Animation_bj1ma")
}
[sub_resource type="Animation" id="Animation_jtmj1"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"normal_slash"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [11]
}
[sub_resource type="Animation" id="Animation_ebyyx"]
resource_name = "hit_wall"
length = 0.583342
step = 0.0833333
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0001),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [&"hit_wall", &"hit_wall"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.583333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 7]
}
[sub_resource type="Animation" id="Animation_v5qoq"]
resource_name = "normal_attack"
length = 0.916675
step = 0.0833333
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [&"normal_slash"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.916667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 11]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ebyyx"]
_data = {
&"RESET": SubResource("Animation_jtmj1"),
&"hit_wall": SubResource("Animation_ebyyx"),
&"normal_attack": SubResource("Animation_v5qoq")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_g641l"]
atlas = ExtResource("6_p34sl")
region = Rect2(0, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_3ojaj"]
atlas = ExtResource("6_p34sl")
region = Rect2(300, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_ebyyx"]
atlas = ExtResource("6_p34sl")
region = Rect2(1800, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_bj1ma"]
atlas = ExtResource("6_p34sl")
region = Rect2(2100, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_es4xk"]
atlas = ExtResource("6_p34sl")
region = Rect2(2400, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_g183x"]
atlas = ExtResource("6_p34sl")
region = Rect2(2700, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_ojh85"]
atlas = ExtResource("6_p34sl")
region = Rect2(3000, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_wvcio"]
atlas = ExtResource("6_p34sl")
region = Rect2(3300, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_565yv"]
atlas = ExtResource("6_p34sl")
region = Rect2(600, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_v7rlw"]
atlas = ExtResource("6_p34sl")
region = Rect2(900, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_v5qoq"]
atlas = ExtResource("6_p34sl")
region = Rect2(1200, 0, 300, 300)
[sub_resource type="AtlasTexture" id="AtlasTexture_jtmj1"]
atlas = ExtResource("6_p34sl")
region = Rect2(1500, 0, 300, 300)
[sub_resource type="SpriteFrames" id="SpriteFrames_lnh6v"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_g641l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3ojaj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ebyyx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bj1ma")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_es4xk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g183x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ojh85")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wvcio")
}],
"loop": false,
"name": &"hit_wall",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_g641l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3ojaj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_565yv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v7rlw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v5qoq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jtmj1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ebyyx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bj1ma")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_es4xk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g183x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ojh85")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wvcio")
}],
"loop": false,
"name": &"normal_slash",
"speed": 12.0
}]
[sub_resource type="SpriteFrames" id="SpriteFrames_g641l"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": null
}, {
"duration": 1.0,
"texture": ExtResource("4_565yv")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"sample",
"speed": 5.0
}]
[node name="Player" type="CharacterBody3D"]
collision_layer = 802
@@ -382,25 +364,6 @@ unique_name_in_owner = true
process_mode = 1
wait_time = 3.0
[node name="Animation" type="Node3D" parent="."]
[node name="AnimationPlayer" type="AnimationPlayer" parent="Animation"]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_w8l8m")
}
[node name="SwordSlashAnimation" type="AnimatedSprite2D" parent="Animation"]
unique_name_in_owner = true
texture_filter = 1
position = Vector2(983, 555)
scale = Vector2(3, 3)
sprite_frames = SubResource("SpriteFrames_ywvvo")
animation = &"attack"
flip_h = true
flip_v = true
[node name="Camera" type="Node3D" parent="."]
[node name="Camera3D" type="Camera3D" parent="Camera"]
@@ -458,7 +421,7 @@ collision_mask = 2048
[node name="HitboxCollision" type="CollisionShape3D" parent="Collision/Hitbox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.177762)
shape = SubResource("BoxShape3D_wedu3")
shape = SubResource("BoxShape3D_g641l")
disabled = true
[node name="CollisionDetector" type="Area3D" parent="Collision"]
@@ -470,6 +433,7 @@ collision_mask = 388
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/CollisionDetector"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0479561, 0.509249, 0.0101219)
shape = SubResource("BoxShape3D_hs4wf")
disabled = true
[node name="WallCheck" type="RigidBody3D" parent="Collision"]
unique_name_in_owner = true
@@ -485,5 +449,62 @@ contact_monitor = true
max_contacts_reported = 100
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/WallCheck"]
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.51238, 1.03938, -0.0105059)
shape = SubResource("CapsuleShape3D_es4xk")
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.51238, 1.03938, -1.08421)
shape = SubResource("SphereShape3D_g641l")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_3ojaj")
}
[node name="ScreenFX" type="Node3D" parent="."]
[node name="PlayerFXAnimations" type="AnimationPlayer" parent="ScreenFX"]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_ebyyx")
}
[node name="SubViewportContainer" type="SubViewportContainer" parent="ScreenFX"]
custom_minimum_size = Vector2(1440, 1080)
anchors_preset = -1
anchor_right = 0.748
anchor_bottom = 1.0
size_flags_horizontal = 3
size_flags_vertical = 3
stretch = true
[node name="SubViewport" type="SubViewport" parent="ScreenFX/SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
size = Vector2i(1440, 1080)
render_target_update_mode = 4
[node name="WeaponAttack" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"]
position = Vector2(720, 540)
scale = Vector2(3, 3)
sprite_frames = SubResource("SpriteFrames_lnh6v")
animation = &"normal_slash"
frame = 11
flip_h = true
flip_v = true
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"]
position = Vector2(720, 540)
scale = Vector2(36.5, 36.5)
sprite_frames = SubResource("SpriteFrames_g641l")
animation = &"sample"
frame = 2
frame_progress = 1.0
[node name="Control" type="ColorRect" parent="ScreenFX"]
custom_minimum_size = Vector2(480, 0)
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -480.0
grow_horizontal = 0
grow_vertical = 2
color = Color(0.158472, 0.158472, 0.158472, 1)