added so you can choose race when starting the game.

This commit is contained in:
2026-01-30 08:31:33 +01:00
parent dabec8a119
commit 3b2af36231
73 changed files with 4241 additions and 1107 deletions

View File

@@ -5,6 +5,7 @@
[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_v2p0x"]
[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_ul7bj"]
[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="5_whqew"]
[ext_resource type="Texture2D" uid="uid://7r43xnr812km" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png" id="6_whfey"]
[sub_resource type="Animation" id="Animation_6bxep"]
length = 0.001
@@ -46,12 +47,609 @@ _data = {
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3jdng"]
size = Vector2(12, 12)
[sub_resource type="Animation" id="Animation_whfey"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [5]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
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("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.44505897]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_6tili"]
resource_name = "new_animation"
length = 0.26982978
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10101918, 0.1907425),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [5, 6, 7, 8]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.039631248, 0.04101525, 0.08727307, 0.100975364, 0.120369375, 0.13681212, 0.15641695, 0.19119969, 0.1968914, 0.26877576),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-8.385, -7.685), Vector2(-8.385, -7.685), Vector2(-8.385, -8.64), Vector2(-8.385, -8.64), Vector2(-12.263, -0.402), Vector2(-8.866, 9.504), Vector2(-2.31, 12.034), Vector2(1.625, 11.899), Vector2(8.165, 6.394), Vector2(8.165, 6.394), Vector2(8.165, 2.224)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.040804446, 0.08727307, 0.13688956, 0.1914105, 0.19731301, 0.26898658),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.44505897, 0.44505897, 0.44505897, -2.199114857512855, -3.6651914291880923, -3.6651914, -4.091051766674709]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.090856746, 0.099288926, 0.12163421, 0.1403958, 0.18803762, 0.2527546),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-22.394, 0), Vector2(-32.05, 0), Vector2(-29.735, 12.04), Vector2(-20.673, 11.571), Vector2(-9.739, 9.129), Vector2(-9.254, 3.723)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_0lt3b"]
resource_name = "attack_down_left"
length = 0.27031633
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.03993078, 0.10122998, 0.19097532),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [250, 251, 252, 253]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.040279698, 0.0775326, 0.10221264, 0.19371508),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-6.435, -8), Vector2(-7.305, -7.955), Vector2(-11.835, -3.09), Vector2(-11.74, 4.555), Vector2(-6.375, 11.365)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.040279698, 0.077299766, 0.10174698, 0.19301659),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.4398229715025708, 0.3909537524467294, -0.24783675378319459, -1.0471975511965976, -2.0298179200694055]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00044363513, 0.07292879, 0.1013844, 0.1403958, 0.18827045),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1.5157166),
"update": 0,
"values": [Vector2(-25.874, -8.58), Vector2(-31.929, -4.05), Vector2(-33.3, 4.63), Vector2(-30.693, 8.711), Vector2(-27.919, 11.414)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_3ek3x"]
resource_name = "attack_down_right"
length = 0.26982978
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.1907425),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [40, 41, 42, 43]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.039631248, 0.04101525, 0.09401881, 0.09971053, 0.11003995, 0.12395305, 0.13681212, 0.15726018, 0.26898655),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-8.385, -7.685), Vector2(-8.385, -7.685), Vector2(-8.385, -8.64), Vector2(-8.385, -8.64), Vector2(-9.993, 7.435), Vector2(-4.231, 11.549), Vector2(2.785, 11.038), Vector2(9.175, 4.754), Vector2(8.95, 2.804), Vector2(8.95, 2.804)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.040804446, 0.093597196, 0.10076456, 0.10982916, 0.13710035, 0.15747097, 0.26919734),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.44505897, 0.44505897, 0.44505897, -1.6423548261266645, -2.1415189921970423, -3.743731245527837, -4.036946559862884, -4.036946559862884]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.090856746, 0.099288926, 0.12163421, 0.1403958, 0.18803762, 0.2527546),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-22.394, 0), Vector2(-28.065, 4.33), Vector2(-17.055, 8.945), Vector2(-11.473, 9.766), Vector2(-9.739, 4.169), Vector2(-9.254, 2.583)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_3qvhs"]
resource_name = "attack_left"
length = 0.27031633
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.19097532),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [215, 216, 217, 218]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.040279698, 0.0775326, 0.10221264, 0.19371508),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(11.015, -5.165), Vector2(8.29, -7.325), Vector2(-1.53, -8.86), Vector2(-10.76, -1.445), Vector2(-10.47, 8.395)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.040279698, 0.077299766, 0.10174698, 0.19324942),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [1.722639971718403, 1.349139511791617, 0.49741883681838395, -0.3019419605950192, -1.4364059743913333]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00044363513, 0.07292879, 0.1013844, 0.1403958, 0.18803762),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-9.294, -5.345), Vector2(-19.749, -8.55), Vector2(-32.415, -5.325), Vector2(-32.588, 0.961), Vector2(-32.564, 7.954)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_58psj"]
resource_name = "attack_right"
length = 0.26982978
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.1907425),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [75, 76, 77, 77]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.04101525, 0.09401881, 0.09971053, 0.11003995, 0.12395305, 0.13681212, 0.15726018, 0.26898655),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-6.16, -7.685), Vector2(-6.16, -8.64), Vector2(-6.16, -8.64), Vector2(-9.993, 7.435), Vector2(-4.231, 11.549), Vector2(2.785, 11.038), Vector2(9.175, 4.754), Vector2(8.95, 2.804), Vector2(10.545, -0.231)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.040804446, 0.093597196, 0.10076456, 0.10982916, 0.13710035, 0.15747097, 0.26919734),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.44505897, 0.44505897, 0.44505897, -1.6423548261266645, -2.1415189921970423, -3.743731245527837, -4.036946559862884, -4.356341812977846]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.090856746, 0.099288926, 0.12163421, 0.1403958, 0.18803762, 0.26814333),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-22.394, 0), Vector2(-28.065, 4.33), Vector2(-17.055, 8.945), Vector2(-11.473, 9.766), Vector2(-9.739, 4.169), Vector2(-5.094, 0.598)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_b4m4v"]
resource_name = "attack_up"
length = 0.27031633
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.1907425),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [145, 146, 147, 148]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.070071764, 0.075806916, 0.07635719, 0.114121936, 0.14789572, 0.19222274, 0.22793879, 0.2691677),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(8.04, -7.355), Vector2(8.225, -8.145), Vector2(8.04, -9.18), Vector2(8.04, -9.18), Vector2(12, 0.49), Vector2(7.546, -5.247), Vector2(-4.945, -10.381), Vector2(-7.771, -5.086), Vector2(-8.07, -1.565), Vector2(-8.07, -1.565)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.069488026, 0.07536515, 0.07555858, 0.07566956, 0.114121936, 0.1478039, 0.19203907, 0.22792329, 0.2691522),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [-0.5131268000863325, -0.5131268000863325, -0.5131268000863325, -0.5131268000863325, -3.2288591161895095, -4.134684997974567, -4.717624968140673, -6.005677956112488, -6.283185307179586, -6.806784082777885, -6.806784082777885]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.090856746, 0.09463231, 0.1403958, 0.18803762, 0.26837614),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-22.394, 0), Vector2(-7, 2.075), Vector2(-19.748, -11.654), Vector2(-28.329, -7.576), Vector2(-30.434, -2.707)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.07590186, 0.07619396, 0.26969346),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(-1, 1), Vector2(-1, 1), Vector2(1, 1), Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_r6tgr"]
resource_name = "attack_up_left"
length = 0.27031633
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.19097532),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [180, 181, 182, 183]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.0696061, 0.071848795, 0.07239907, 0.09828946, 0.10197981, 0.14789572, 0.19222274, 0.22793879, 0.2691677),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(3.075, -7.355), Vector2(3.385, -8.145), Vector2(4.125, -9.18), Vector2(8.04, -9.18), Vector2(7.46, -4.12), Vector2(-3.684, -5.822), Vector2(-5.898, -5.584), Vector2(-10.925, -0.251), Vector2(-12.136, 4.719), Vector2(-11.89, 4.77), Vector2(-11.89, 4.77)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.069488026, 0.07140703, 0.07160046, 0.071711436, 0.09875512, 0.1478039, 0.19203907, 0.22792329, 0.2691522),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 0.8408964, 1, 1, 1, 1),
"update": 0,
"values": [-0.5131268000863325, -0.5131268000863325, -0.5131268000863325, -0.5131268000863325, -3.2288591161895095, -4.714134309636685, -5.782275811857214, -6.806784082777885, -7.3303828583761845, -7.3303828583761845, -7.3303828583761845]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.07292879, 0.09486514, 0.1403958, 0.18803762, 0.26837614),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-10.474, -5.42), Vector2(-20.235, -7.885), Vector2(-32.358, -3.184), Vector2(-34.939, 3.129), Vector2(-34.469, 4.153)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.07194374, 0.07223584, 0.26969346),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(-1, 1), Vector2(-1, 1), Vector2(1, 1), Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_masq6"]
resource_name = "attack_up_right"
length = 0.27031633
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PlayerTest:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.04016361, 0.10122998, 0.1907425),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [110, 111, 112, 113]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.069488026, 0.06983893, 0.09338019, 0.09405232, 0.10155232, 0.107935, 0.17927958, 0.27015913),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(3.885, -7.355), Vector2(3.885, -8.145), Vector2(3.885, -8.145), Vector2(4.89, 7.675), Vector2(4.89, 7.675), Vector2(4.89, 7.675), Vector2(11.41, 4.38), Vector2(11.52, -0.24), Vector2(8.145, -7.405), Vector2(8.145, -7.405)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.04068527, 0.069488026, 0.06982343, 0.093364686, 0.09403682, 0.10157588, 0.10791949, 0.17904675, 0.26969346),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [-0.5131268000863325, -0.5131268000863325, -0.5131268000863325, -3.2288591161895095, -3.2288591161895095, -3.2288591161895095, -3.9217548292312583, -4.508185457901353, -5.040510879759624, -5.040510879759624]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DamageArea:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.00021080452, 0.090856746, 0.099288926, 0.1403958, 0.18803762, 0.26837614),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-22.394, 0), Vector2(-22.394, 0), Vector2(-8.56, 5.56), Vector2(-8.968, -4.474), Vector2(-11.929, -10.041), Vector2(-12.239, -8.572)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Sprite2D:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.06944155, 0.0697763, 0.26969346),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(-1, 1), Vector2(-1, 1), Vector2(1, 1), Vector2(1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3ek3x"]
_data = {
&"RESET": SubResource("Animation_whfey"),
&"attack_down": SubResource("Animation_6tili"),
&"attack_down_left": SubResource("Animation_0lt3b"),
&"attack_down_right": SubResource("Animation_3ek3x"),
&"attack_left": SubResource("Animation_3qvhs"),
&"attack_right": SubResource("Animation_58psj"),
&"attack_up": SubResource("Animation_b4m4v"),
&"attack_up_left": SubResource("Animation_r6tgr"),
&"attack_up_right": SubResource("Animation_masq6")
}
[node name="AxeSwing" type="Node2D" unique_id=1568208090]
z_index = 10
y_sort_enabled = true
script = ExtResource("1_xo3v0")
[node name="PlayerTest" type="Sprite2D" parent="." unique_id=1790922634]
visible = false
texture = ExtResource("6_whfey")
hframes = 35
vframes = 8
frame = 5
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=461038063]
z_index = 1
rotation = 0.44505897
texture = ExtResource("2_hb10f")
hframes = 20
vframes = 14
@@ -66,10 +664,11 @@ pitch_scale = 0.74
autoplay = true
[node name="DamageArea" type="Area2D" parent="." unique_id=985585639]
collision_layer = 0
collision_mask = 75
collision_layer = 4
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageArea" unique_id=805714782]
position = Vector2(20, 0)
shape = SubResource("RectangleShape2D_3jdng")
debug_color = Color(0.7, 0, 0.18232, 0.42)
@@ -85,5 +684,8 @@ volume_db = -5.622
pitch_scale = 1.43
max_polyphony = 4
[node name="SwingAnimation" type="AnimationPlayer" parent="." unique_id=1169276342]
libraries/ = SubResource("AnimationLibrary_3ek3x")
[connection signal="area_entered" from="DamageArea" to="." method="_on_damage_area_area_entered"]
[connection signal="body_entered" from="DamageArea" to="." method="_on_damage_area_body_entered"]

View File

@@ -0,0 +1,43 @@
[gd_scene format=3 uid="uid://hldlevntj8c2"]
[ext_resource type="Script" uid="uid://ddqd1nlmsb8k6" path="res://scripts/attack_punch.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_swosh"]
[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="4_impact"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_punch"]
[node name="AttackPunch" type="Node2D" unique_id=6975553]
z_index = 4
script = ExtResource("1_script")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1707910142]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 108
[node name="Area2D" type="Area2D" parent="." unique_id=1216417398]
collision_layer = 4
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=689895866]
shape = SubResource("RectangleShape2D_punch")
[node name="SfxSwosh" type="AudioStreamPlayer2D" parent="." unique_id=1177568406]
stream = ExtResource("3_swosh")
pitch_scale = 0.67
max_distance = 983.0
attenuation = 7.999991
panning_strength = 1.1
bus = &"Sfx"
[node name="SfxImpact" type="AudioStreamPlayer2D" parent="." unique_id=1273542180]
stream = ExtResource("4_impact")
volume_db = -5.622
pitch_scale = 1.43
max_distance = 983.0
attenuation = 7.999991
max_polyphony = 4
panning_strength = 1.16
bus = &"Sfx"

View File

@@ -43,5 +43,6 @@ shape = SubResource("RectangleShape2D_frost")
stream = ExtResource("3_y7fsv")
max_distance = 1456.0
attenuation = 5.4641595
max_polyphony = 3
panning_strength = 1.06
bus = &"Sfx"

View File

@@ -0,0 +1,14 @@
[gd_scene format=3 uid="uid://damage_effect_arrow"]
[ext_resource type="Script" path="res://scripts/damage_effect_arrow.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[node name="DamageEffectArrow" type="Node2D"]
z_index = 5
script = ExtResource("1_script")
[node name="FxSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 335

View File

@@ -0,0 +1,14 @@
[gd_scene format=3 uid="uid://damage_effect_axe"]
[ext_resource type="Script" path="res://scripts/damage_effect_axe.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[node name="DamageEffectAxe" type="Node2D"]
z_index = 5
script = ExtResource("1_script")
[node name="FxSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 1158

View File

@@ -0,0 +1,14 @@
[gd_scene format=3 uid="uid://damage_effect_bite"]
[ext_resource type="Script" path="res://scripts/damage_effect_bite.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[node name="DamageEffectBite" type="Node2D"]
z_index = 5
script = ExtResource("1_script")
[node name="FxSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 148

View File

@@ -0,0 +1,14 @@
[gd_scene format=3 uid="uid://damage_effect_punch"]
[ext_resource type="Script" path="res://scripts/damage_effect_punch.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[node name="DamageEffectPunch" type="Node2D"]
z_index = 5
script = ExtResource("1_script")
[node name="FxSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 451

View File

@@ -0,0 +1,14 @@
[gd_scene format=3 uid="uid://damage_effect_slash"]
[ext_resource type="Script" path="res://scripts/damage_effect_slash.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://bf158atxi7ucy" path="res://assets/gfx/fx/shade_spell_effects.png" id="2_tex"]
[node name="DamageEffectSlash" type="Node2D"]
z_index = 5
script = ExtResource("1_script")
[node name="FxSprite" type="Sprite2D" parent="."]
texture = ExtResource("2_tex")
hframes = 105
vframes = 79
frame = 948

View File

@@ -114,10 +114,10 @@ color = Color(0.69140625, 0.69140625, 0.69140625, 1)
[node name="SfxWinds" type="AudioStreamPlayer" parent="." unique_id=1563020465]
stream = ExtResource("6_6c6v5")
volume_db = -20.411
volume_db = -80.0
autoplay = true
bus = &"Sfx"
[node name="BgMusic" type="AudioStreamPlayer" parent="." unique_id=925983703]
stream = ExtResource("8_pdbwf")
volume_db = -15.864
volume_db = -80.0

View File

@@ -10,6 +10,10 @@ layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 2.0
offset_top = -9.0
offset_right = 2.0
offset_bottom = -9.0
grow_horizontal = 2
grow_vertical = 2
@@ -131,6 +135,10 @@ autowrap_mode = 2
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="SelectRaceButton" type="Button" parent="Control/MainMenu/VBoxContainer" unique_id=1061067009]
layout_mode = 2
text = "Choose race"
[node name="HostButton" type="Button" parent="Control/MainMenu/VBoxContainer" unique_id=268532531]
layout_mode = 2
text = "Host Game"

View File

@@ -702,12 +702,6 @@ collision_mask = 3
shape = SubResource("CircleShape2D_2")
debug_color = Color(0.70196074, 0.6126261, 0.19635464, 0.41960785)
[node name="InteractionIndicator" type="Sprite2D" parent="." unique_id=1661043470]
visible = false
modulate = Color(1, 1, 0, 0.5)
position = Vector2(0, -12)
scale = Vector2(4, 4)
[node name="Label" type="Label" parent="." unique_id=227628720]
offset_left = -10.0
offset_top = -15.0
@@ -715,6 +709,12 @@ offset_right = 10.0
offset_bottom = -9.0
horizontal_alignment = 1
[node name="InteractionIndicator" type="Sprite2D" parent="." unique_id=1661043470]
visible = false
modulate = Color(1, 1, 0, 0.5)
position = Vector2(0, -12)
scale = Vector2(4, 4)
[node name="SfxWalk" type="AudioStreamPlayer2D" parent="." unique_id=1693322702]
stream = SubResource("AudioStreamRandomizer_l71n6")
volume_db = -18.527

View File

@@ -0,0 +1,130 @@
[gd_scene format=3 uid="uid://ljvf241rr1qj"]
[ext_resource type="Texture2D" uid="uid://dp8hmks54a5pn" path="res://assets/gfx/character_select/characters2.png" id="1_f45sh"]
[ext_resource type="Texture2D" uid="uid://cj3adlbm2ksl4" path="res://assets/gfx/character_select/characters.png" id="1_fiono"]
[ext_resource type="Script" uid="uid://cwbrfwrwt3krh" path="res://scripts/select_class.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://c3vkon4wpa0kw" path="res://assets/gfx/character_select/dwarf.png" id="2_0qyep"]
[ext_resource type="Texture2D" uid="uid://b3r1hyhgtv7sf" path="res://assets/gfx/character_select/elf.png" id="3_ewbj8"]
[ext_resource type="FontFile" uid="uid://bajcvmidrnc33" path="res://assets/fonts/standard_font.png" id="3_f45sh"]
[ext_resource type="Texture2D" uid="uid://d3qv0erfu3xtl" path="res://assets/gfx/character_select/wizard.png" id="4_f45sh"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bsj10"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8nlan"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4b24w"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1si1m"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gkv83"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3328y"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q1cbd"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yyf7y"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7d5tl"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1itgt"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8xviw"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_oflmk"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rl1cb"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_x8w6g"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_uihst"]
[node name="SelectClass" type="Node2D" unique_id=126568820]
script = ExtResource("1_script")
[node name="Characters2" type="Sprite2D" parent="." unique_id=2011779728]
texture = ExtResource("1_f45sh")
[node name="Characters" type="Sprite2D" parent="Characters2" unique_id=1197243452]
modulate = Color(0.9472463, 0.94050175, 1, 1)
texture = ExtResource("1_fiono")
[node name="Dwarf" type="Sprite2D" parent="." unique_id=1905014075]
visible = false
texture = ExtResource("2_0qyep")
[node name="Label" type="Label" parent="Dwarf" unique_id=1691050946]
offset_left = -88.0
offset_top = 82.0
offset_right = -48.0
offset_bottom = 105.0
theme_override_fonts/font = ExtResource("3_f45sh")
theme_override_font_sizes/font_size = 8
text = "DWARF"
[node name="Elf" type="Sprite2D" parent="." unique_id=172131227]
visible = false
texture = ExtResource("3_ewbj8")
[node name="Label" type="Label" parent="Elf" unique_id=1853931362]
offset_left = 48.0
offset_top = 82.0
offset_right = 88.0
offset_bottom = 105.0
theme_override_fonts/font = ExtResource("3_f45sh")
theme_override_font_sizes/font_size = 8
text = "ELF"
[node name="Wizard" type="Sprite2D" parent="." unique_id=718483736]
visible = false
texture = ExtResource("4_f45sh")
[node name="Label" type="Label" parent="Wizard" unique_id=244634907]
offset_left = -26.0
offset_top = 85.0
offset_right = 22.0
offset_bottom = 108.0
theme_override_fonts/font = ExtResource("3_f45sh")
theme_override_font_sizes/font_size = 8
text = "WIZARD"
[node name="Control" type="Control" parent="." unique_id=952415672]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ButtonDwarf" type="Button" parent="Control" unique_id=70318818]
layout_mode = 0
offset_left = -116.0
offset_top = -27.0
offset_right = -44.0
offset_bottom = 90.0
theme_override_styles/normal = SubResource("StyleBoxEmpty_bsj10")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_8nlan")
theme_override_styles/hover = SubResource("StyleBoxEmpty_4b24w")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_1si1m")
theme_override_styles/focus = SubResource("StyleBoxEmpty_gkv83")
[node name="ButtonElf" type="Button" parent="Control" unique_id=860222517]
layout_mode = 0
offset_left = 37.0
offset_top = -32.0
offset_right = 126.0
offset_bottom = 90.0
theme_override_styles/normal = SubResource("StyleBoxEmpty_3328y")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_q1cbd")
theme_override_styles/hover = SubResource("StyleBoxEmpty_yyf7y")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_7d5tl")
theme_override_styles/focus = SubResource("StyleBoxEmpty_1itgt")
[node name="ButtonWizard" type="Button" parent="Control" unique_id=170883452]
layout_mode = 0
offset_left = -44.0
offset_top = -65.0
offset_right = 37.0
offset_bottom = 94.0
theme_override_styles/normal = SubResource("StyleBoxEmpty_8xviw")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_oflmk")
theme_override_styles/hover = SubResource("StyleBoxEmpty_rl1cb")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_x8w6g")
theme_override_styles/focus = SubResource("StyleBoxEmpty_uihst")