911 lines
28 KiB
Plaintext
911 lines
28 KiB
Plaintext
[gd_scene load_steps=77 format=3 uid="uid://b2254pup8k161"]
|
|
|
|
[ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"]
|
|
[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"]
|
|
[ext_resource type="Texture2D" uid="uid://dpepm54hjuyga" path="res://Assets/Sprites/Characters/forsen-hand.png" id="3_3dqh7"]
|
|
[ext_resource type="Texture2D" uid="uid://bej8thq7ruyty" path="res://Assets/Sprites/Characters/forsen2.png" id="4_5vird"]
|
|
[ext_resource type="Script" path="res://Utils/PlayerStats.cs" id="4_06oya"]
|
|
[ext_resource type="PackedScene" uid="uid://cl56eadpklnbo" path="res://Utils/PlayerCamera.tscn" id="4_ym125"]
|
|
[ext_resource type="Script" path="res://State/Character/CharacterStateMachine.cs" id="5_rgckv"]
|
|
[ext_resource type="Script" path="res://Utils/Values/DoubleValue.cs" id="5_txl0r"]
|
|
[ext_resource type="Script" path="res://Utils/Values/IntValue.cs" id="6_sunc5"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerIdleState.cs" id="6_wkfdm"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerMoveState.cs" id="7_dfqd8"]
|
|
[ext_resource type="Script" path="res://Utils/AnimationManager.cs" id="7_sdgvb"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerRollState.cs" id="8_fy0v5"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerEmoteState.cs" id="8_hd2lw"]
|
|
[ext_resource type="Animation" uid="uid://8e8r3y1imvsx" path="res://Assets/Animations/stun.res" id="8_m08fh"]
|
|
[ext_resource type="Material" uid="uid://x5qcq5muvc3g" path="res://Assets/Sprites/Particles/PlayerDamageProcessMaterial.tres" id="8_yf112"]
|
|
[ext_resource type="Texture2D" uid="uid://c1a7lvb4uuwfy" path="res://Assets/Sprites/Particles/circle-16.png" id="9_7gumm"]
|
|
[ext_resource type="PackedScene" uid="uid://cjgxyhgcyvsv7" path="res://BoundingBoxes/Hurtbox.tscn" id="9_avyu4"]
|
|
[ext_resource type="AnimationLibrary" uid="uid://epe31b7x1nt1" path="res://Assets/Animations/player_hurt.res" id="9_g42dl"]
|
|
[ext_resource type="Material" uid="uid://ra02tvwd5o5g" path="res://Assets/Sprites/Particles/PlayerDeathProcessMaterial.tres" id="10_agw51"]
|
|
[ext_resource type="Script" path="res://State/Character/CharacterDashState.cs" id="10_vsvfh"]
|
|
[ext_resource type="AudioStream" uid="uid://bbqdpexvknma2" path="res://Assets/Sounds/never-lucky.mp3" id="12_vd7j4"]
|
|
[ext_resource type="AudioStream" uid="uid://bkeyg8weaqnuu" path="res://Assets/Sounds/splat-player.ogg" id="12_vvem5"]
|
|
[ext_resource type="AudioStream" uid="uid://cruylv4pu2fo1" path="res://Assets/Sounds/footstep-tile.wav" id="13_bxguv"]
|
|
[ext_resource type="Script" path="res://BoundingBoxes/InteractionRay.cs" id="13_hs3u1"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerHealState.cs" id="13_t103m"]
|
|
[ext_resource type="Script" path="res://State/Character/PlayerMaxLevelState.cs" id="14_1sn10"]
|
|
[ext_resource type="Texture2D" uid="uid://d1ukste16yq6v" path="res://Assets/Sprites/Particles/player-light.png" id="15_3hahh"]
|
|
[ext_resource type="Script" path="res://Utils/DamageTime.cs" id="15_4xl06"]
|
|
[ext_resource type="AudioStream" uid="uid://st8qgqiygy5a" path="res://Assets/Sounds/electricity.wav" id="15_61bua"]
|
|
[ext_resource type="PackedScene" uid="uid://ce0ph4wk0ylra" path="res://UI/TargetTracer.tscn" id="22_hxi53"]
|
|
[ext_resource type="Texture2D" uid="uid://bd8l8kafb42dt" path="res://Assets/Sprites/Particles/circle.png" id="22_uefct"]
|
|
[ext_resource type="Texture2D" uid="uid://bcgm3r168qjn3" path="res://Assets/Sprites/Particles/cast-effect.png" id="24_njn4h"]
|
|
[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="27_mndpv"]
|
|
[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="28_6gq8l"]
|
|
[ext_resource type="Script" path="res://Items/PlayerInventory.cs" id="30_y2wmw"]
|
|
[ext_resource type="PackedScene" uid="uid://cgg0sfm2qeiwn" path="res://Items/Weapons/Bow.tscn" id="31_mofvy"]
|
|
[ext_resource type="PackedScene" uid="uid://dvqap2uhcah63" path="res://Items/Weapons/Sword.tscn" id="31_ql4as"]
|
|
[ext_resource type="PackedScene" uid="uid://5y1acxl4j4n7" path="res://Items/Weapons/Pugio.tscn" id="32_6ffmm"]
|
|
|
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_h78y7"]
|
|
shader = ExtResource("2_ngsgt")
|
|
shader_parameter/color = Vector4(1, 1, 1, 1)
|
|
shader_parameter/intensity = 0.0
|
|
shader_parameter/alpha_modulate = 1.0
|
|
|
|
[sub_resource type="Resource" id="Resource_535hq"]
|
|
script = ExtResource("28_6gq8l")
|
|
duration = 1.0
|
|
transition = 0
|
|
ease = 2
|
|
|
|
[sub_resource type="Animation" id="Animation_imqdv"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:rotation")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [0.0]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [0]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("%Effects/HealParticles:emitting")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("%Effects/HealParticlesPop:emitting")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_xt1sg"]
|
|
resource_name = "emote"
|
|
length = 2.12501
|
|
loop_mode = 1
|
|
step = 0.125
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_mg66i"]
|
|
resource_name = "idle"
|
|
length = 0.5
|
|
loop_mode = 1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.3),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 1,
|
|
"values": [0, 1]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_iyr4r"]
|
|
resource_name = "move"
|
|
length = 0.6
|
|
loop_mode = 1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [2, 3, 4, 5, 6, 7]
|
|
}
|
|
tracks/1/type = "method"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath(".")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0.2, 0.5),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"values": [{
|
|
"args": [],
|
|
"method": &"Footstep"
|
|
}, {
|
|
"args": [],
|
|
"method": &"Footstep"
|
|
}]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_vobpw"]
|
|
resource_name = "roll"
|
|
length = 0.5
|
|
step = 0.05
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:rotation")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.45),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 0,
|
|
"values": [0.0, 6.28319]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_tpnyg"]
|
|
resource_name = "stop"
|
|
length = 0.2
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.2),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"update": 1,
|
|
"values": [10, 0]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0tohi"]
|
|
_data = {
|
|
"RESET": SubResource("Animation_imqdv"),
|
|
"emote": SubResource("Animation_xt1sg"),
|
|
"idle": SubResource("Animation_mg66i"),
|
|
"move": SubResource("Animation_iyr4r"),
|
|
"roll": SubResource("Animation_vobpw"),
|
|
"stop": SubResource("Animation_tpnyg")
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_adxyh"]
|
|
resource_local_to_scene = true
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Effects/HealParticles:emitting")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [0]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("%Effects/HealParticlesPop:emitting")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("%Sprites/CharacterEffects/Cast:visible")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("%Sprites/CharacterEffects/Cast:frame")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [0]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_dbsas"]
|
|
resource_name = "cast"
|
|
length = 1.2
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.1),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
|
|
}
|
|
tracks/1/type = "method"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("%Animations/..")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"times": PackedFloat32Array(0.2, 0.4),
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
"values": [{
|
|
"args": [],
|
|
"method": &"Footstep"
|
|
}, {
|
|
"args": [],
|
|
"method": &"Footstep"
|
|
}]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath("%Sprites/CharacterEffects/Cast:visible")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"times": PackedFloat32Array(0, 0.3, 0.9),
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
"update": 1,
|
|
"values": [false, true, false]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/path = NodePath("%Sprites/CharacterEffects/Cast:frame")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/keys = {
|
|
"times": PackedFloat32Array(0.3, 0.4, 0.5, 0.6, 0.7, 0.8),
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
|
"update": 1,
|
|
"values": [0, 1, 2, 3, 4, 5]
|
|
}
|
|
tracks/4/type = "audio"
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/path = NodePath("%Effects/MaxLevel")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/keys = {
|
|
"clips": [{
|
|
"end_offset": 1.59007,
|
|
"start_offset": 0.141459,
|
|
"stream": ExtResource("15_61bua")
|
|
}],
|
|
"times": PackedFloat32Array(0.075)
|
|
}
|
|
tracks/4/use_blend = true
|
|
tracks/5/type = "method"
|
|
tracks/5/imported = false
|
|
tracks/5/enabled = true
|
|
tracks/5/path = NodePath("%Animations/../StateMachine/MaxLevel")
|
|
tracks/5/interp = 1
|
|
tracks/5/loop_wrap = true
|
|
tracks/5/keys = {
|
|
"times": PackedFloat32Array(0.5, 0.7, 0.9),
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
"values": [{
|
|
"args": [],
|
|
"method": &"Cast"
|
|
}, {
|
|
"args": [],
|
|
"method": &"Cast"
|
|
}, {
|
|
"args": [],
|
|
"method": &"Cast"
|
|
}]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_audkv"]
|
|
resource_name = "heal"
|
|
loop_mode = 1
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [35]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("%Effects/HealParticles:emitting")
|
|
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="Animation" id="Animation_60iyy"]
|
|
resource_name = "heal_cancel"
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Effects/HealParticles:emitting")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_dyfl4"]
|
|
resource_name = "heal_end"
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Effects/HealParticles:emitting")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [false]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath("%Effects/HealParticlesPop:emitting")
|
|
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="Animation" id="Animation_6twa8"]
|
|
resource_name = "heal_start"
|
|
length = 0.25
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 1,
|
|
"values": [35]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_3w3u1"]
|
|
resource_name = "sword"
|
|
length = 0.3
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath("%Sprites/Node2D/Character:frame")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0, 0.1, 0.2),
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
"update": 1,
|
|
"values": [12, 13, 14]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_73mj7"]
|
|
_data = {
|
|
"RESET": SubResource("Animation_adxyh"),
|
|
"cast": SubResource("Animation_dbsas"),
|
|
"heal": SubResource("Animation_audkv"),
|
|
"heal_cancel": SubResource("Animation_60iyy"),
|
|
"heal_end": SubResource("Animation_dyfl4"),
|
|
"heal_start": SubResource("Animation_6twa8"),
|
|
"sword": SubResource("Animation_3w3u1")
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kks2p"]
|
|
_data = {
|
|
"stun": ExtResource("8_m08fh")
|
|
}
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_852jj"]
|
|
particle_flag_disable_z = true
|
|
spread = 180.0
|
|
initial_velocity_min = 8.0
|
|
initial_velocity_max = 16.0
|
|
gravity = Vector3(0, 0, 0)
|
|
linear_accel_min = -32.0
|
|
linear_accel_max = -16.0
|
|
scale_min = 0.1
|
|
scale_max = 0.1
|
|
|
|
[sub_resource type="CanvasTexture" id="CanvasTexture_pited"]
|
|
diffuse_texture = ExtResource("9_7gumm")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_8w5b1"]
|
|
offsets = PackedFloat32Array(0, 0.2)
|
|
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_rvqsx"]
|
|
gradient = SubResource("Gradient_8w5b1")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_untv1"]
|
|
particle_flag_disable_z = true
|
|
emission_shape = 2
|
|
emission_sphere_radius = 24.0
|
|
orbit_velocity_min = 0.01
|
|
orbit_velocity_max = 0.02
|
|
gravity = Vector3(0, 0, 0)
|
|
radial_accel_min = -128.0
|
|
radial_accel_max = -128.0
|
|
scale_min = 0.1
|
|
scale_max = 0.1
|
|
color_ramp = SubResource("GradientTexture1D_rvqsx")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_61bqd"]
|
|
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_jb8kb"]
|
|
gradient = SubResource("Gradient_61bqd")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1umee"]
|
|
particle_flag_disable_z = true
|
|
spread = 180.0
|
|
initial_velocity_min = 64.0
|
|
initial_velocity_max = 64.0
|
|
gravity = Vector3(0, 0, 0)
|
|
linear_accel_min = -128.0
|
|
linear_accel_max = -128.0
|
|
scale_min = 0.25
|
|
scale_max = 0.25
|
|
color = Color(0, 0, 0, 1)
|
|
color_ramp = SubResource("GradientTexture1D_jb8kb")
|
|
|
|
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_y1v5m"]
|
|
light_mode = 1
|
|
|
|
[sub_resource type="Gradient" id="Gradient_80g57"]
|
|
offsets = PackedFloat32Array(0.2, 1)
|
|
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_3jlnh"]
|
|
gradient = SubResource("Gradient_80g57")
|
|
|
|
[sub_resource type="Curve" id="Curve_xcuxr"]
|
|
_data = [Vector2(0, 0.2), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
|
point_count = 2
|
|
|
|
[sub_resource type="CurveTexture" id="CurveTexture_80m7d"]
|
|
curve = SubResource("Curve_xcuxr")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4jub4"]
|
|
particle_flag_disable_z = true
|
|
gravity = Vector3(0, 0, 0)
|
|
scale_curve = SubResource("CurveTexture_80m7d")
|
|
color = Color(1, 1, 1, 0.25098)
|
|
color_ramp = SubResource("GradientTexture1D_3jlnh")
|
|
|
|
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_ejdrf"]
|
|
light_mode = 1
|
|
|
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bfqew"]
|
|
size = Vector2(12, 8)
|
|
|
|
[sub_resource type="LabelSettings" id="LabelSettings_q5h1n"]
|
|
font_size = 24
|
|
|
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cjk6b"]
|
|
size = Vector2(8, 8)
|
|
|
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_7482j"]
|
|
closed = false
|
|
polygon = PackedVector2Array(-3, 0, 2, 0)
|
|
|
|
[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("Camera", "DirectionMarker", "Stats", "Sprite", "Inventory", "StateMachine", "Hurtbox")]
|
|
y_sort_enabled = true
|
|
texture_filter = 3
|
|
material = SubResource("ShaderMaterial_h78y7")
|
|
collision_layer = 6
|
|
collision_mask = 17
|
|
script = ExtResource("1_flygr")
|
|
Camera = NodePath("Camera2D")
|
|
DirectionMarker = NodePath("Direction2D")
|
|
Speed = 80.0
|
|
Stats = NodePath("Stats")
|
|
HandTexture = ExtResource("3_3dqh7")
|
|
Sprite = NodePath("Sprites/Node2D/Character")
|
|
Inventory = NodePath("Inventory")
|
|
StateMachine = NodePath("StateMachine")
|
|
Hurtbox = NodePath("Hurtbox")
|
|
Faction = 1
|
|
|
|
[node name="PCamera" type="Node2D" parent="."]
|
|
script = ExtResource("27_mndpv")
|
|
priority = 1
|
|
follow_mode = 2
|
|
zoom = Vector2(4, 4)
|
|
tween_resource = SubResource("Resource_535hq")
|
|
tween_on_load = false
|
|
draw_limits = true
|
|
|
|
[node name="Stats" type="Node" parent="."]
|
|
script = ExtResource("4_06oya")
|
|
|
|
[node name="XP" type="Node" parent="Stats"]
|
|
script = ExtResource("5_txl0r")
|
|
|
|
[node name="Level" type="Node" parent="Stats"]
|
|
script = ExtResource("6_sunc5")
|
|
|
|
[node name="StaggerDamage" type="Node" parent="Stats"]
|
|
script = ExtResource("5_txl0r")
|
|
|
|
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("InitialState", "Character")]
|
|
script = ExtResource("5_rgckv")
|
|
InitialState = NodePath("Idle")
|
|
Character = NodePath("..")
|
|
|
|
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("MoveState", "EmoteState", "HealState", "IdleState", "MaxLevelState", "Character")]
|
|
script = ExtResource("6_wkfdm")
|
|
MoveState = NodePath("../Move")
|
|
EmoteState = NodePath("../Emote")
|
|
HealState = NodePath("../Heal")
|
|
IdleState = NodePath(".")
|
|
MaxLevelState = NodePath("../MaxLevel")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Move" type="Node" parent="StateMachine" node_paths=PackedStringArray("AbilityState", "IdleState", "MaxLevelState", "Character")]
|
|
script = ExtResource("7_dfqd8")
|
|
AbilityState = NodePath("../Roll")
|
|
IdleState = NodePath("../Idle")
|
|
MaxLevelState = NodePath("../MaxLevel")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Dash" type="Node" parent="StateMachine" node_paths=PackedStringArray("IdleState", "Character")]
|
|
script = ExtResource("10_vsvfh")
|
|
IdleState = NodePath("../Idle")
|
|
TimeToDash = 0.1
|
|
VelocityModifier = 4.0
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Roll" type="Node" parent="StateMachine" node_paths=PackedStringArray("IdleState", "Character")]
|
|
script = ExtResource("8_fy0v5")
|
|
IdleState = NodePath("../Idle")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Emote" type="Node" parent="StateMachine" node_paths=PackedStringArray("IdleState", "Character")]
|
|
script = ExtResource("8_hd2lw")
|
|
IdleState = NodePath("../Idle")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Heal" type="Node" parent="StateMachine" node_paths=PackedStringArray("IdleState", "Character")]
|
|
script = ExtResource("13_t103m")
|
|
TimeToHeal = 1.0
|
|
HealAmount = 20.0
|
|
IdleState = NodePath("../Idle")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="MaxLevel" type="Node" parent="StateMachine" node_paths=PackedStringArray("IdleState", "Character")]
|
|
script = ExtResource("14_1sn10")
|
|
CastDistance = 128.0
|
|
CastTime = 1.0
|
|
LevelCost = 4
|
|
IdleState = NodePath("../Idle")
|
|
Character = NodePath("../..")
|
|
|
|
[node name="Animations" type="Node" parent="."]
|
|
unique_name_in_owner = true
|
|
script = ExtResource("7_sdgvb")
|
|
|
|
[node name="Movement" type="AnimationPlayer" parent="Animations"]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
"": SubResource("AnimationLibrary_0tohi")
|
|
}
|
|
|
|
[node name="Attack" type="AnimationPlayer" parent="Animations"]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
"": SubResource("AnimationLibrary_73mj7")
|
|
}
|
|
|
|
[node name="Hurt" type="AnimationPlayer" parent="Animations"]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
"": ExtResource("9_g42dl")
|
|
}
|
|
|
|
[node name="Stun" type="AnimationPlayer" parent="Animations"]
|
|
root_node = NodePath("../..")
|
|
libraries = {
|
|
"": SubResource("AnimationLibrary_kks2p")
|
|
}
|
|
|
|
[node name="Buffs" type="Node2D" parent="."]
|
|
|
|
[node name="Effects" type="Node2D" parent="."]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="RollParticles" type="GPUParticles2D" parent="Effects"]
|
|
emitting = false
|
|
amount = 16
|
|
process_material = SubResource("ParticleProcessMaterial_852jj")
|
|
texture = ExtResource("9_7gumm")
|
|
lifetime = 0.8
|
|
|
|
[node name="DeathParticles" type="GPUParticles2D" parent="Effects"]
|
|
emitting = false
|
|
amount = 32
|
|
process_material = ExtResource("10_agw51")
|
|
texture = SubResource("CanvasTexture_pited")
|
|
lifetime = 2.0
|
|
one_shot = true
|
|
preprocess = 0.1
|
|
explosiveness = 0.9
|
|
|
|
[node name="HurtParticles" type="GPUParticles2D" parent="Effects"]
|
|
emitting = false
|
|
amount = 32
|
|
process_material = ExtResource("8_yf112")
|
|
texture = ExtResource("9_7gumm")
|
|
lifetime = 1.5
|
|
one_shot = true
|
|
preprocess = 0.1
|
|
explosiveness = 0.9
|
|
|
|
[node name="HealParticles" type="GPUParticles2D" parent="Effects"]
|
|
position = Vector2(0, -4)
|
|
emitting = false
|
|
amount = 12
|
|
process_material = SubResource("ParticleProcessMaterial_untv1")
|
|
texture = ExtResource("9_7gumm")
|
|
lifetime = 0.5
|
|
|
|
[node name="HealParticlesPop" type="GPUParticles2D" parent="Effects"]
|
|
position = Vector2(0, -4)
|
|
emitting = false
|
|
amount = 16
|
|
process_material = SubResource("ParticleProcessMaterial_1umee")
|
|
texture = ExtResource("9_7gumm")
|
|
lifetime = 0.8
|
|
one_shot = true
|
|
explosiveness = 1.0
|
|
|
|
[node name="CastParticles" type="GPUParticles2D" parent="Effects"]
|
|
material = SubResource("CanvasItemMaterial_y1v5m")
|
|
position = Vector2(0, -4)
|
|
emitting = false
|
|
amount = 2
|
|
process_material = SubResource("ParticleProcessMaterial_4jub4")
|
|
texture = ExtResource("22_uefct")
|
|
lifetime = 0.5
|
|
one_shot = true
|
|
|
|
[node name="DeathCry" type="AudioStreamPlayer2D" parent="Effects"]
|
|
stream = ExtResource("12_vd7j4")
|
|
volume_db = 2.0
|
|
|
|
[node name="Footstep" type="AudioStreamPlayer2D" parent="Effects"]
|
|
stream = ExtResource("13_bxguv")
|
|
|
|
[node name="HurtSound" type="AudioStreamPlayer2D" parent="Effects"]
|
|
stream = ExtResource("12_vvem5")
|
|
|
|
[node name="Healing" type="AudioStreamPlayer2D" parent="Effects"]
|
|
|
|
[node name="MaxLevel" type="AudioStreamPlayer2D" parent="Effects"]
|
|
|
|
[node name="TargetTracer" parent="Effects" instance=ExtResource("22_hxi53")]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="Camera2D" parent="." instance=ExtResource("4_ym125")]
|
|
enabled = false
|
|
zoom = Vector2(4, 4)
|
|
position_smoothing_speed = 8.0
|
|
|
|
[node name="Sprites" type="Node2D" parent="."]
|
|
unique_name_in_owner = true
|
|
y_sort_enabled = true
|
|
use_parent_material = true
|
|
position = Vector2(-0.5, 4)
|
|
rotation = 6.28319
|
|
|
|
[node name="Node2D" type="Node2D" parent="Sprites"]
|
|
use_parent_material = true
|
|
|
|
[node name="Character" type="Sprite2D" parent="Sprites/Node2D"]
|
|
use_parent_material = true
|
|
position = Vector2(0, -8)
|
|
texture = ExtResource("4_5vird")
|
|
offset = Vector2(0, -4)
|
|
hframes = 46
|
|
|
|
[node name="CharacterEffects" type="Node2D" parent="Sprites"]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="Cast" type="Sprite2D" parent="Sprites/CharacterEffects"]
|
|
visible = false
|
|
y_sort_enabled = true
|
|
material = SubResource("CanvasItemMaterial_ejdrf")
|
|
position = Vector2(2.5, 0.999989)
|
|
texture = ExtResource("24_njn4h")
|
|
centered = false
|
|
offset = Vector2(-9.5, -14)
|
|
hframes = 6
|
|
|
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
shape = SubResource("RectangleShape2D_bfqew")
|
|
|
|
[node name="Debug" type="Control" parent="."]
|
|
visible = false
|
|
layout_mode = 3
|
|
anchors_preset = 0
|
|
|
|
[node name="State" type="Label" parent="Debug"]
|
|
layout_mode = 0
|
|
offset_left = -20.0
|
|
offset_top = -60.0
|
|
offset_right = 20.0
|
|
offset_bottom = -34.0
|
|
text = "lol"
|
|
label_settings = SubResource("LabelSettings_q5h1n")
|
|
horizontal_alignment = 1
|
|
|
|
[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")]
|
|
y_sort_enabled = true
|
|
script = ExtResource("30_y2wmw")
|
|
Hotbar = [NodePath("Sword"), NodePath("Bow"), NodePath("Pugio")]
|
|
InventoryMap = {
|
|
"equip_1": 0,
|
|
"equip_2": 1,
|
|
"equip_3": 2
|
|
}
|
|
|
|
[node name="Bow" parent="Inventory" node_paths=PackedStringArray("StateMachine") instance=ExtResource("31_mofvy")]
|
|
visible = false
|
|
StateMachine = NodePath("StateMachine")
|
|
|
|
[node name="Sword" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("31_ql4as")]
|
|
visible = false
|
|
Hitbox = NodePath("Hitbox")
|
|
AnimationPlayer = NodePath("AnimationPlayer")
|
|
ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles")
|
|
StateMachine = NodePath("State")
|
|
Anchor = NodePath("Anchor")
|
|
HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand")
|
|
|
|
[node name="Pugio" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("32_6ffmm")]
|
|
visible = false
|
|
Hitbox = NodePath("Hitbox")
|
|
AnimationPlayer = NodePath("AnimationPlayer")
|
|
ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles")
|
|
StateMachine = NodePath("State")
|
|
Anchor = NodePath("Anchor")
|
|
HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand")
|
|
|
|
[node name="Hurtbox" parent="." node_paths=PackedStringArray("InvincibilityTimer") instance=ExtResource("9_avyu4")]
|
|
visible = false
|
|
InvincibilityTimer = NodePath("Timer")
|
|
Faction = 1
|
|
|
|
[node name="CollisionShape2D" parent="Hurtbox" index="0"]
|
|
shape = SubResource("RectangleShape2D_cjk6b")
|
|
|
|
[node name="Timer" type="Timer" parent="Hurtbox"]
|
|
one_shot = true
|
|
|
|
[node name="AudioListener2D" type="AudioListener2D" parent="."]
|
|
current = true
|
|
|
|
[node name="Direction2D" type="Marker2D" parent="."]
|
|
position = Vector2(0, -2)
|
|
|
|
[node name="InteractionRay" type="RayCast2D" parent="Direction2D"]
|
|
target_position = Vector2(16, 0)
|
|
collision_mask = 64
|
|
hit_from_inside = true
|
|
collide_with_areas = true
|
|
collide_with_bodies = false
|
|
script = ExtResource("13_hs3u1")
|
|
|
|
[node name="PointLight2D" type="PointLight2D" parent="."]
|
|
position = Vector2(0, -4)
|
|
blend_mode = 2
|
|
shadow_enabled = true
|
|
shadow_filter = 2
|
|
shadow_filter_smooth = 3.0
|
|
texture = ExtResource("15_3hahh")
|
|
height = 10.0
|
|
|
|
[node name="DamageTime" type="Node" parent="."]
|
|
script = ExtResource("15_4xl06")
|
|
|
|
[node name="LightOccluder2D" type="LightOccluder2D" parent="."]
|
|
occluder = SubResource("OccluderPolygon2D_7482j")
|
|
occluder_light_mask = 8
|
|
|
|
[editable path="Hurtbox"]
|