Initial commit

main
hecht 1 year ago
commit a4d2648f49

2
.gitattributes vendored

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

2
.gitignore vendored

@ -0,0 +1,2 @@
# Godot 4+ specific ignores
.godot/

@ -0,0 +1,14 @@
extends AnimationPlayer
# Called when the node enters the scene tree for the first time.
func _ready():
play("default")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func _on_animation_finished(_anim_name):
play("default")

@ -0,0 +1,20 @@
extends Label
var _counter : int = 10
# Called when the node enters the scene tree for the first time.
func _ready():
_counter = 10
func init(value:int):
_counter = value
set_text("%d" % _counter)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func _on_next_round():
_counter -= 1
set_text("%d" % _counter)

@ -0,0 +1,28 @@
extends Node2D
@onready var _damage_animation = $AnimationPlayer
@onready var _damage_label = $Label
# Called when the node enters the scene tree for the first time.
func _ready():
visible = false
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func show_damage(amount:int):
visible = true
_damage_label.visible = false
_damage_label.set_text("%d" % amount)
_damage_animation.play("Pop-Up", -1, 2.5)
func _on_animation_finished(anim_name):
if anim_name == "Pop-Up":
_damage_label.visible = true
_damage_animation.play("Show", -1, 2.0)
elif anim_name == "Show":
_damage_label.visible = false
_damage_animation.play("Fade-Out", -1, 2.5)
else:
visible = false

@ -0,0 +1,102 @@
[gd_scene load_steps=9 format=3 uid="uid://blhw157wwm02k"]
[ext_resource type="Script" path="res://DamageLabel.gd" id="1_bkmpf"]
[ext_resource type="Texture2D" uid="uid://lrlnbd1xfm00" path="res://assets/Sprites/DamageBubble.png" id="1_hhymi"]
[sub_resource type="Animation" id="Animation_su23q"]
resource_name = "Pop-Up"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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": [0, 1, 2]
}
[sub_resource type="Animation" id="Animation_dlbp2"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_a8shb"]
resource_name = "Show"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [2, 2, 2, 2, 2]
}
[sub_resource type="Animation" id="Animation_o4lh5"]
resource_name = "Fade-Out"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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": [2, 1, 0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iir0v"]
_data = {
"Fade-Out": SubResource("Animation_o4lh5"),
"Pop-Up": SubResource("Animation_su23q"),
"RESET": SubResource("Animation_dlbp2"),
"Show": SubResource("Animation_a8shb")
}
[sub_resource type="LabelSettings" id="LabelSettings_ofpea"]
font_color = Color(0.882353, 0, 0.0431373, 1)
[node name="DamageLabel" type="Node2D"]
script = ExtResource("1_bkmpf")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_hhymi")
hframes = 3
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_iir0v")
}
[node name="Label" type="Label" parent="."]
offset_left = -19.0
offset_top = -12.0
offset_right = 21.0
offset_bottom = 14.0
text = "99"
label_settings = SubResource("LabelSettings_ofpea")
horizontal_alignment = 1
vertical_alignment = 1
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"]

@ -0,0 +1,103 @@
extends Node2D
signal deal_damage(amount:int)
signal health_changed(old_value, new_value)
signal stamina_changed(old_value, new_value)
signal actions_done
@onready var _animation_player = $AnimationPlayer
@onready var _animation_sprite = $Sprite2D
@onready var _animation_damage_label = $DamageLabel
@export
var orientation:int = 1
@export
var health:int = 100
@export
var stamina:int = 100
@export
var descriptor:String = "Foo"
var _actions = []
var _action_queue = []
var _health = 0
var _stamina = 0
# Public methods
func init(actions):
_actions = actions.duplicate(true)
_health = health
_stamina = stamina
health_changed.emit(_health, _health)
stamina_changed.emit(_stamina, _stamina)
func is_animation_idle() -> bool:
return !_animation_player.is_playing() && _action_queue.is_empty()
func is_animation_done() -> bool:
return is_animation_idle() && _actions.is_empty()
# Called when the node enters the scene tree for the first time.
func _ready():
_animation_sprite.flip_h = orientation
_animation_player.play("RESET")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func _take_damage(amount : int):
var old_health = _health
_health -= amount
if _animation_player.is_playing():
print_debug("%s -> %s: _take_damage -> skip current animation %s!" % [Time.get_ticks_msec(), descriptor,_animation_player.current_animation])
_animation_player.stop()
print_debug("%s -> %s: _take_damage -> play HIT animation!" % [Time.get_ticks_msec(), descriptor])
_animation_player.play("Hit")
_animation_damage_label.show_damage(amount)
health_changed.emit(old_health, _health)
func _alter_stamina(amount : int):
if _stamina <= stamina:
var old_stamina = _stamina
_stamina = min(stamina, _stamina + amount)
stamina_changed.emit(old_stamina, _stamina)
func _on_next_round():
print_debug("%s -> %s: _on_next_round" % [Time.get_ticks_msec(), descriptor])
if !_actions.is_empty():
_alter_stamina(5)
_action_queue = _actions.pop_front()
_schedule_next_action()
func _schedule_next_action():
if _animation_player.is_playing():
return
if _action_queue.is_empty():
_animation_sprite.frame = 0
actions_done.emit()
return
var action : String = _action_queue.pop_front()
_animation_player.play(action)
print_debug("%s -> %s: _schedule_next_action -> plays %s!" % [Time.get_ticks_msec(), descriptor, action])
if action.begins_with("Attack1"):
deal_damage.emit(5)
_alter_stamina(-10)
elif action.begins_with("Attack2"):
deal_damage.emit(15)
_alter_stamina(-20)
func _on_animation_finished(anim_name):
print_debug("%s -> %s: _on_animation_finished -> %s!" % [Time.get_ticks_msec(), descriptor, anim_name])
_schedule_next_action()
func _on_animation_started(anim_name):
print_debug("%s -> %s: _on_animation_started -> %s!" % [Time.get_ticks_msec(), descriptor, anim_name])

@ -0,0 +1,243 @@
[gd_scene load_steps=17 format=3 uid="uid://di8on8rry21wa"]
[ext_resource type="Script" path="res://Fighter.gd" id="1_k2s5v"]
[ext_resource type="Texture2D" uid="uid://cgshiy0fb84fy" path="res://assets/Sprites/red hood itch free Copy-Sheet.png" id="2_y8862"]
[ext_resource type="PackedScene" uid="uid://blhw157wwm02k" path="res://DamageLabel.tscn" id="3_nllc3"]
[sub_resource type="Animation" id="Animation_uyuin"]
resource_name = "Attack1"
length = 0.6
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [57, 58, 59, 60, 61]
}
[sub_resource type="Animation" id="Animation_wa17f"]
resource_name = "Attack1.2"
length = 0.6
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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": [62, 63, 64, 65, 66, 67]
}
[sub_resource type="Animation" id="Animation_663x5"]
resource_name = "Attack1.3"
length = 1.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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, 0.9, 1, 1.1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79]
}
[sub_resource type="Animation" id="Animation_dwteb"]
resource_name = "Attack2.1"
length = 0.9
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [80, 81, 82, 83, 84, 85, 86, 87, 88]
}
[sub_resource type="Animation" id="Animation_qpk3d"]
resource_name = "Attack2.2"
length = 1.4
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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, 0.9, 1, 1.1, 1.2, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102]
}
[sub_resource type="Animation" id="Animation_c0pf4"]
resource_name = "Attack2.3"
length = 1.7
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119]
}
[sub_resource type="Animation" id="Animation_3lxjh"]
resource_name = "Hit"
length = 0.6
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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": [121, 122, 123, 124, 125, 126]
}
[sub_resource type="Animation" id="Animation_q3ojn"]
resource_name = "New"
length = 1.7
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]
}
[sub_resource type="Animation" id="Animation_hs612"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_o3s7g"]
resource_name = "Test"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [25, 26, 27, 28, 29, 30, 31, 32, 33]
}
[sub_resource type="Animation" id="Animation_nqpts"]
resource_name = "Slide"
length = 0.4
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [52, 53, 54, 55]
}
[sub_resource type="Animation" id="Animation_2ytur"]
resource_name = "Walk"
length = 2.4
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D: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, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_jbrqc"]
_data = {
"Attack1.1": SubResource("Animation_uyuin"),
"Attack1.2": SubResource("Animation_wa17f"),
"Attack1.3": SubResource("Animation_663x5"),
"Attack2.1": SubResource("Animation_dwteb"),
"Attack2.2": SubResource("Animation_qpk3d"),
"Attack2.3": SubResource("Animation_c0pf4"),
"Hit": SubResource("Animation_3lxjh"),
"Jump": SubResource("Animation_q3ojn"),
"RESET": SubResource("Animation_hs612"),
"Shoot": SubResource("Animation_o3s7g"),
"Slide": SubResource("Animation_nqpts"),
"Walk": SubResource("Animation_2ytur")
}
[node name="Fighter" type="Node2D"]
scale = Vector2(2, 2)
script = ExtResource("1_k2s5v")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_y8862")
hframes = 12
vframes = 11
metadata/_aseprite_wizard_config_ = {
"layer": "",
"o_ex_p": "",
"o_folder": "",
"o_name": "",
"only_visible": false,
"op_exp": false,
"player": "LhsPlayer/AnimationPlayer",
"source": "res://assets/Sprites/red hood itch free.aseprite"
}
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
speed_scale = 1.5
libraries = {
"": SubResource("AnimationLibrary_jbrqc")
}
[node name="DamageLabel" parent="." instance=ExtResource("3_nllc3")]
position = Vector2(-9, -5)
scale = Vector2(0.6, 0.6)
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"]
[connection signal="animation_started" from="AnimationPlayer" to="." method="_on_animation_started"]

@ -0,0 +1,10 @@
extends Label
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
set_text("FPS %d" % Engine.get_frames_per_second())

@ -0,0 +1,14 @@
extends TextureProgressBar
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func _on_value_changed(_old_value, new_value):
value = new_value

@ -0,0 +1,23 @@
extends Label
# Called when the node enters the scene tree for the first time.
func _ready():
var arguments = {}
for argument in OS.get_cmdline_user_args():
if argument.find("=") > -1:
var key_value = argument.split("=")
arguments[key_value[0].lstrip("--")] = key_value[1]
else:
# Options without an argument will be present in the dictionary,
# with the value set to an empty string.
arguments[argument.lstrip("--")] = ""
if "session" in arguments.keys():
set_text("Session " + arguments["session"])
else:
set_text("Session <Unknown>")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6egobfwy3suu"
path="res://.godot/imported/splash_4.jpg-aec6432bf92c00447c7f41b7edbf4db8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Splash/splash_4.jpg"
dest_files=["res://.godot/imported/splash_4.jpg-aec6432bf92c00447c7f41b7edbf4db8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cc3tklklixv04"
path="res://.godot/imported/splash_4.png-8c13a423662c2f2de9a069f431ee769c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Splash/splash_4.png"
dest_files=["res://.godot/imported/splash_4.png-8c13a423662c2f2de9a069f431ee769c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7wuoc8qbhlrw"
path="res://.godot/imported/splash_b.jpg-49881c0a1ab8503770503d63a24b311c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Splash/splash_b.jpg"
dest_files=["res://.godot/imported/splash_b.jpg-49881c0a1ab8503770503d63a24b311c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://yl2w2pc0bk3w"
path="res://.godot/imported/splash_b.png-7cb64c9adf080b0c59f3e146533b3b46.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Splash/splash_b.png"
dest_files=["res://.godot/imported/splash_b.png-7cb64c9adf080b0c59f3e146533b3b46.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ddsu16o54xyph"
path="res://.godot/imported/086-OtcZb45.png-10a7249bfbc9e07e65d4f6672a54f1d7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/086-OtcZb45.png"
dest_files=["res://.godot/imported/086-OtcZb45.png-10a7249bfbc9e07e65d4f6672a54f1d7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lrlnbd1xfm00"
path="res://.godot/imported/DamageBubble.png-5b2fd810d7bf38b4b76f5cb33e22d0a4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/DamageBubble.png"
dest_files=["res://.godot/imported/DamageBubble.png-5b2fd810d7bf38b4b76f5cb33e22d0a4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxl54clixbbhy"
path="res://.godot/imported/DragonBall-Xenoverse-Arena.png-928e4be9a916840f77aafddf89bc8456.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/DragonBall-Xenoverse-Arena.png"
dest_files=["res://.godot/imported/DragonBall-Xenoverse-Arena.png-928e4be9a916840f77aafddf89bc8456.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmo6obx17vqtk"
path="res://.godot/imported/idle sheet-Sheet.png-8f9e4b284c9de16530e5a3c1ab340fde.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/idle sheet-Sheet.png"
dest_files=["res://.godot/imported/idle sheet-Sheet.png-8f9e4b284c9de16530e5a3c1ab340fde.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dty6tvry0a7h6"
path="res://.godot/imported/itch hurt 2 sheet-Sheet.png-01a49a03e6f26544033a74b56a7ac285.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/itch hurt 2 sheet-Sheet.png"
dest_files=["res://.godot/imported/itch hurt 2 sheet-Sheet.png-01a49a03e6f26544033a74b56a7ac285.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://v6d20ena7j2"
path="res://.godot/imported/itch jump sheet-Sheet.png-dd35a8a8b5290dbab37d65339baae842.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/itch jump sheet-Sheet.png"
dest_files=["res://.godot/imported/itch jump sheet-Sheet.png-dd35a8a8b5290dbab37d65339baae842.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://br8p7qgpesh04"
path="res://.godot/imported/itch light atk sheet-Sheet.png-8d2a77a467254821003790058b233a9a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/itch light atk sheet-Sheet.png"
dest_files=["res://.godot/imported/itch light atk sheet-Sheet.png-8d2a77a467254821003790058b233a9a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://demg154icj560"
path="res://.godot/imported/itch run-Sheet sheet.png-cfb83702c160655e7e28942cdcc1689d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/itch run-Sheet sheet.png"
dest_files=["res://.godot/imported/itch run-Sheet sheet.png-cfb83702c160655e7e28942cdcc1689d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgshiy0fb84fy"
path="res://.godot/imported/red hood itch free Copy-Sheet.png-f6242d37aa139ebe89862e871759371c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/red hood itch free Copy-Sheet.png"
dest_files=["res://.godot/imported/red hood itch free Copy-Sheet.png-f6242d37aa139ebe89862e871759371c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c3c1iopiabxli"
path="res://.godot/imported/run turnaround-Sheet.png-281f7718fac02664775bf7b0c40b151f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/run turnaround-Sheet.png"
dest_files=["res://.godot/imported/run turnaround-Sheet.png-281f7718fac02664775bf7b0c40b151f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bg5m7faciqihv"
path="res://.godot/imported/texture-bar-outer-0001.png-8c20adbbb2e6b6603404c387a943e9e6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/texture-bar-outer-0001.png"
dest_files=["res://.godot/imported/texture-bar-outer-0001.png-8c20adbbb2e6b6603404c387a943e9e6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6aahxuqcgcnp"
path="res://.godot/imported/texture-bar-progress-0001.png-93114ae57f8896829549d513faa7abd9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/texture-bar-progress-0001.png"
dest_files=["res://.godot/imported/texture-bar-progress-0001.png-93114ae57f8896829549d513faa7abd9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b36nhtg8vabjd"
path="res://.godot/imported/wall slide-Sheet.png-e42eb86df80b96ec1239d7e728c0ca4d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Sprites/wall slide-Sheet.png"
dest_files=["res://.godot/imported/wall slide-Sheet.png-e42eb86df80b96ec1239d7e728c0ca4d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

@ -0,0 +1,3 @@
# Links
https://overmental.com/content/fighting-game-backgrounds-without-fighters-are-surprisingly-beautiful-7668/5

@ -0,0 +1,19 @@
# Introduction
The `Match-Report` is a textual representation of a fight between two opponents.
## Terminology
### Match
A `Match` can be best described as a competition between two opponents. A `Match` ends when one of the competitors is declared the `winner`.
### Round
### Tick
One `Round` consists out of 60 `Ticks` that mostly correlates to the 60s duration (but this is not a hard requirement).
Within a `Tick` one of the competitors can perform an `Action`.
With `Combos` it is possible that one competitor can perform multiple `Action`s within the same tick.
### Action

@ -0,0 +1,39 @@
[preset.0]
name="AnimeDemo"
platform="Web"
runnable=true
dedicated_server=false
custom_features=""
export_filter="scenes"
export_files=PackedStringArray("res://fight.tscn", "res://Fighter.tscn")
include_filter=""
exclude_filter=""
export_path="../../build/Animegame-Client/Web/index.html"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_encryption_key=""
[preset.0.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)

@ -0,0 +1,64 @@
extends Node2D
@onready var _lhs_fighter = $LhsFighter
@onready var _rhs_fighter = $RhsFighter
@onready var _timer = $Timer
@onready var _round_label = $CountdownLabel
signal next_round
var _lhs_figher_ready = false
var _rhs_figher_ready = false
var fight_script = {
"lhs": [
[],
["Attack1.1", "Attack1.2", "Attack1.3"],
[],
[],
["Attack2.1", "Attack2.2", "Attack2.3"],
[],
[],
],
"rhs": [
[],
[],
[],
["Attack1.1", "Attack1.2"],
[],
["Attack2.1"],
[],
]
}
# Called when the node enters the scene tree for the first time.
func _ready():
_reset()
_timer.start()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
if _lhs_fighter.is_animation_done() && _rhs_fighter.is_animation_done() && Input.is_anything_pressed():
_reset()
func _reset():
_lhs_fighter.init(fight_script["lhs"])
_rhs_fighter.init(fight_script["rhs"])
_round_label.init(len(fight_script["lhs"] + 1))
_lhs_figher_ready = true
_rhs_figher_ready = true
func _on_timer_timeout():
print_debug("%s -> Fight: _lhs_figher_ready -> %s && %s && %s && %s!" % [Time.get_ticks_msec(), _lhs_figher_ready, _rhs_figher_ready, _lhs_fighter.is_animation_idle(),_rhs_fighter.is_animation_idle()])
if _lhs_figher_ready && _rhs_figher_ready && _lhs_fighter.is_animation_idle() && _rhs_fighter.is_animation_idle():
_lhs_figher_ready = false
_rhs_figher_ready = false
print_debug("")
next_round.emit()
func _on_lhs_fighter_actions_done():
_lhs_figher_ready = true
func _on_rhs_fighter_actions_done():
_rhs_figher_ready = true

@ -0,0 +1,199 @@
[gd_scene load_steps=14 format=3 uid="uid://c6k2qn8l56rf5"]
[ext_resource type="PackedScene" uid="uid://di8on8rry21wa" path="res://Fighter.tscn" id="1_1yg04"]
[ext_resource type="Script" path="res://fight.gd" id="1_3edp6"]
[ext_resource type="Texture2D" uid="uid://ddsu16o54xyph" path="res://assets/Sprites/086-OtcZb45.png" id="2_h40sr"]
[ext_resource type="Script" path="res://Background.gd" id="3_dsftl"]
[ext_resource type="Script" path="res://FpsLabel.gd" id="3_xkxlv"]
[ext_resource type="Script" path="res://UserLabel.gd" id="4_beyjo"]
[ext_resource type="Texture2D" uid="uid://c6aahxuqcgcnp" path="res://assets/Sprites/texture-bar-progress-0001.png" id="5_fa5wd"]
[ext_resource type="Texture2D" uid="uid://bg5m7faciqihv" path="res://assets/Sprites/texture-bar-outer-0001.png" id="6_gxbv2"]
[ext_resource type="Script" path="res://HpBar.gd" id="7_po066"]
[ext_resource type="Script" path="res://CountDownLabel.gd" id="8_nagyd"]
[sub_resource type="Animation" id="Animation_cemsf"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_nj0ai"]
resource_name = "default"
length = 1.6
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".: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, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bjoup"]
_data = {
"RESET": SubResource("Animation_cemsf"),
"default": SubResource("Animation_nj0ai")
}
[node name="Node2D" type="Node2D"]
script = ExtResource("1_3edp6")
[node name="Background" type="Node2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="Background"]
position = Vector2(320.5, 241.5)
scale = Vector2(1.15156, 1.31793)
texture = ExtResource("2_h40sr")
hframes = 4
vframes = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="Background"]
root_node = NodePath("../Sprite2D")
libraries = {
"": SubResource("AnimationLibrary_bjoup")
}
script = ExtResource("3_dsftl")
[node name="TextureRect" type="TextureRect" parent="Background"]
offset_right = 1600.0
offset_bottom = 1197.0
scale = Vector2(0.4, 0.4)
[node name="LhsFighter" parent="." instance=ExtResource("1_1yg04")]
position = Vector2(192, 352)
descriptor = "LHS"
[node name="RhsFighter" parent="." instance=ExtResource("1_1yg04")]
position = Vector2(462, 353)
orientation = 0
descriptor = "RHS"
[node name="Timer" type="Timer" parent="."]
[node name="FpsLabel" type="Label" parent="."]
offset_right = 38.0
offset_bottom = 23.0
text = "FPS:"
script = ExtResource("3_xkxlv")
[node name="SessionLabel" type="Label" parent="."]
offset_left = 290.0
offset_right = 394.0
offset_bottom = 23.0
script = ExtResource("4_beyjo")
[node name="LhsHp" type="TextureProgressBar" parent="."]
offset_left = 5.0
offset_top = 25.0
offset_right = 305.0
offset_bottom = 50.0
value = 80.0
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
texture_under = ExtResource("5_fa5wd")
texture_over = ExtResource("6_gxbv2")
texture_progress = ExtResource("5_fa5wd")
tint_under = Color(0.411765, 0, 0, 1)
tint_over = Color(0, 0, 0, 1)
tint_progress = Color(1, 0, 0, 1)
script = ExtResource("7_po066")
[node name="LhsStamina" type="TextureProgressBar" parent="."]
offset_left = 5.0
offset_top = 51.0
offset_right = 265.0
offset_bottom = 61.0
value = 80.0
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
texture_under = ExtResource("5_fa5wd")
texture_over = ExtResource("6_gxbv2")
texture_progress = ExtResource("5_fa5wd")
tint_under = Color(0.411765, 0.411765, 0, 1)
tint_over = Color(0, 0, 0, 1)
tint_progress = Color(1, 1, 0, 1)
script = ExtResource("7_po066")
[node name="RhsHp" type="TextureProgressBar" parent="."]
offset_left = 333.0
offset_top = 25.0
offset_right = 633.0
offset_bottom = 50.0
value = 80.0
fill_mode = 1
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
texture_under = ExtResource("5_fa5wd")
texture_over = ExtResource("6_gxbv2")
texture_progress = ExtResource("5_fa5wd")
tint_under = Color(0.411765, 0, 0, 1)
tint_over = Color(0, 0, 0, 1)
tint_progress = Color(1, 0, 0, 1)
script = ExtResource("7_po066")
[node name="RhsStamina" type="TextureProgressBar" parent="."]
offset_left = 373.0
offset_top = 51.0
offset_right = 633.0
offset_bottom = 61.0
value = 80.0
fill_mode = 1
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
texture_under = ExtResource("5_fa5wd")
texture_over = ExtResource("6_gxbv2")
texture_progress = ExtResource("5_fa5wd")
tint_under = Color(0.411765, 0.411765, 0, 1)
tint_over = Color(0, 0, 0, 1)
tint_progress = Color(1, 1, 0, 1)
script = ExtResource("7_po066")
[node name="CountdownLabel" type="Label" parent="."]
offset_left = 307.0
offset_top = 26.0
offset_right = 331.0
offset_bottom = 49.0
text = "10"
horizontal_alignment = 1
vertical_alignment = 1
clip_text = true
script = ExtResource("8_nagyd")
[connection signal="next_round" from="." to="LhsFighter" method="_on_next_round"]
[connection signal="next_round" from="." to="RhsFighter" method="_on_next_round"]
[connection signal="next_round" from="." to="CountdownLabel" method="_on_next_round"]
[connection signal="animation_finished" from="Background/AnimationPlayer" to="Background/AnimationPlayer" method="_on_animation_finished"]
[connection signal="actions_done" from="LhsFighter" to="." method="_on_lhs_fighter_actions_done"]
[connection signal="deal_damage" from="LhsFighter" to="RhsFighter" method="_take_damage"]
[connection signal="health_changed" from="LhsFighter" to="LhsHp" method="_on_value_changed"]
[connection signal="stamina_changed" from="LhsFighter" to="LhsStamina" method="_on_value_changed"]
[connection signal="actions_done" from="RhsFighter" to="." method="_on_rhs_fighter_actions_done"]
[connection signal="deal_damage" from="RhsFighter" to="LhsFighter" method="_take_damage"]
[connection signal="health_changed" from="RhsFighter" to="RhsHp" method="_on_value_changed"]
[connection signal="stamina_changed" from="RhsFighter" to="RhsStamina" method="_on_value_changed"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]

@ -0,0 +1 @@
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><g transform="translate(32 32)"><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99z" fill="#363d52"/><path d="m-16-32c-8.86 0-16 7.13-16 15.99v95.98c0 8.86 7.13 15.99 16 15.99h96c8.86 0 16-7.13 16-15.99v-95.98c0-8.85-7.14-15.99-16-15.99zm0 4h96c6.64 0 12 5.35 12 11.99v95.98c0 6.64-5.35 11.99-12 11.99h-96c-6.64 0-12-5.35-12-11.99v-95.98c0-6.64 5.36-11.99 12-11.99z" fill-opacity=".4"/></g><g stroke-width="9.92746" transform="matrix(.10073078 0 0 .10073078 12.425923 2.256365)"><path d="m0 0s-.325 1.994-.515 1.976l-36.182-3.491c-2.879-.278-5.115-2.574-5.317-5.459l-.994-14.247-27.992-1.997-1.904 12.912c-.424 2.872-2.932 5.037-5.835 5.037h-38.188c-2.902 0-5.41-2.165-5.834-5.037l-1.905-12.912-27.992 1.997-.994 14.247c-.202 2.886-2.438 5.182-5.317 5.46l-36.2 3.49c-.187.018-.324-1.978-.511-1.978l-.049-7.83 30.658-4.944 1.004-14.374c.203-2.91 2.551-5.263 5.463-5.472l38.551-2.75c.146-.01.29-.016.434-.016 2.897 0 5.401 2.166 5.825 5.038l1.959 13.286h28.005l1.959-13.286c.423-2.871 2.93-5.037 5.831-5.037.142 0 .284.005.423.015l38.556 2.75c2.911.209 5.26 2.562 5.463 5.472l1.003 14.374 30.645 4.966z" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 919.24059 771.67186)"/><path d="m0 0v-47.514-6.035-5.492c.108-.001.216-.005.323-.015l36.196-3.49c1.896-.183 3.382-1.709 3.514-3.609l1.116-15.978 31.574-2.253 2.175 14.747c.282 1.912 1.922 3.329 3.856 3.329h38.188c1.933 0 3.573-1.417 3.855-3.329l2.175-14.747 31.575 2.253 1.115 15.978c.133 1.9 1.618 3.425 3.514 3.609l36.182 3.49c.107.01.214.014.322.015v4.711l.015.005v54.325c5.09692 6.4164715 9.92323 13.494208 13.621 19.449-5.651 9.62-12.575 18.217-19.976 26.182-6.864-3.455-13.531-7.369-19.828-11.534-3.151 3.132-6.7 5.694-10.186 8.372-3.425 2.751-7.285 4.768-10.946 7.118 1.09 8.117 1.629 16.108 1.846 24.448-9.446 4.754-19.519 7.906-29.708 10.17-4.068-6.837-7.788-14.241-11.028-21.479-3.842.642-7.702.88-11.567.926v.006c-.027 0-.052-.006-.075-.006-.024 0-.049.006-.073.006v-.006c-3.872-.046-7.729-.284-11.572-.926-3.238 7.238-6.956 14.642-11.03 21.479-10.184-2.264-20.258-5.416-29.703-10.17.216-8.34.755-16.331 1.848-24.448-3.668-2.35-7.523-4.367-10.949-7.118-3.481-2.678-7.036-5.24-10.188-8.372-6.297 4.165-12.962 8.079-19.828 11.534-7.401-7.965-14.321-16.562-19.974-26.182 4.4426579-6.973692 9.2079702-13.9828876 13.621-19.449z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 104.69892 525.90697)"/><path d="m0 0-1.121-16.063c-.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-.094-.007-.188-.01-.281-.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c.015-3.498.06-7.33.06-8.093 0-34.374 43.605-50.896 97.781-51.086h.066.067c54.176.19 97.766 16.712 97.766 51.086 0 .777.047 4.593.063 8.093z" fill="#478cbf" transform="matrix(4.162611 0 0 -4.162611 784.07144 817.24284)"/><path d="m0 0c0-12.052-9.765-21.815-21.813-21.815-12.042 0-21.81 9.763-21.81 21.815 0 12.044 9.768 21.802 21.81 21.802 12.048 0 21.813-9.758 21.813-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 389.21484 625.67104)"/><path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 367.36686 631.05679)"/><path d="m0 0c-3.878 0-7.021 2.858-7.021 6.381v20.081c0 3.52 3.143 6.381 7.021 6.381s7.028-2.861 7.028-6.381v-20.081c0-3.523-3.15-6.381-7.028-6.381" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 511.99336 724.73954)"/><path d="m0 0c0-12.052 9.765-21.815 21.815-21.815 12.041 0 21.808 9.763 21.808 21.815 0 12.044-9.767 21.802-21.808 21.802-12.05 0-21.815-9.758-21.815-21.802" fill="#fff" transform="matrix(4.162611 0 0 -4.162611 634.78706 625.67104)"/><path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" fill="#414042" transform="matrix(4.162611 0 0 -4.162611 656.64056 631.05679)"/></g></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0asgq1x7b3fv"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

@ -0,0 +1,27 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
[application]
config/name="Animegame-Client"
run/main_scene="res://fight.tscn"
config/features=PackedStringArray("4.0", "GL Compatibility")
boot_splash/image="res://assets/Splash/splash_b.png"
config/icon="res://icon.svg"
[display]
window/size/viewport_width=640
window/size/viewport_height=480
[rendering]
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
Loading…
Cancel
Save