diff --git a/core/player_stats.gd b/core/player_stats.gd index 2949de1..800811d 100644 --- a/core/player_stats.gd +++ b/core/player_stats.gd @@ -20,6 +20,9 @@ var motivation:int = 100: if mo == 0: unmotivated.emit() motivation = mo + + +var score:int = 0 func _ready() -> void: diff --git a/entities/brute.gd b/entities/brute.gd index 5907371..be57b7a 100644 --- a/entities/brute.gd +++ b/entities/brute.gd @@ -3,37 +3,8 @@ extends "res://entities/character.gd" @onready var label: Label = $Label -@onready var hit_box: HitBox = $HitBox - - -func _ready() -> void: - if Engine.is_editor_hint(): - return - idle.connect(func(): - if sprite_2d.animation != "hit" and not hit_box.ko(): - sprite_2d.play.bind("idle") - ) - walk.connect(sprite_2d.play.bind("walk")) - sprite_2d.animation_finished.connect(func(): - if sprite_2d.animation == "hit" and not hit_box.ko(): - sprite_2d.play("idle") - ) - hit_box.damaged.connect(func(dmg): - if not hit_box.ko(): - sprite_2d.play("hit") - hit()) - hit_box.death.connect(func(): - sprite_2d.play("ko") - ) func _process(delta: float) -> void: label.text = str(hit_box.health) - - -func _physics_process(delta: float) -> void: - if Engine.is_editor_hint(): - return - if not hit_box.ko(): - super._physics_process(delta) diff --git a/entities/brute.tscn b/entities/brute.tscn index 8006df3..7af8c70 100644 --- a/entities/brute.tscn +++ b/entities/brute.tscn @@ -4,9 +4,8 @@ [ext_resource type="Script" uid="uid://fq8qoon5232" path="res://entities/brute.gd" id="2_hug0n"] [ext_resource type="Shader" uid="uid://bt288pjj3hyri" path="res://shaders/flash.gdshader" id="3_alei3"] [ext_resource type="Texture2D" uid="uid://dxa610c3hit22" path="res://entities/brute.png" id="3_n622b"] -[ext_resource type="PackedScene" uid="uid://b63x76oqvtxem" path="res://core/HitBox.tscn" id="4_1dneg"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_alei3"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_1dneg"] resource_local_to_scene = true shader = ExtResource("3_alei3") shader_parameter/color_override = Color(1, 1, 1, 1) @@ -109,14 +108,14 @@ animations = [{ radius = 6.0 height = 18.0 -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_1dneg"] +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lloi5"] radius = 13.0 [node name="Brute" unique_id=822027437 instance=ExtResource("1_na6nm")] script = ExtResource("2_hug0n") [node name="Sprite2D" parent="." index="1" unique_id=332487883] -material = SubResource("ShaderMaterial_alei3") +material = SubResource("ShaderMaterial_1dneg") position = Vector2(1, -19) sprite_frames = SubResource("SpriteFrames_hug0n") animation = &"hit" @@ -127,13 +126,7 @@ position = Vector2(0, -4) rotation = 1.5707964 shape = SubResource("CapsuleShape2D_un4gr") -[node name="HitBox" parent="." index="3" unique_id=213001423 instance=ExtResource("4_1dneg")] - -[node name="CollisionShape2D" parent="HitBox" index="0" unique_id=1927310860] -position = Vector2(0, -14) -shape = SubResource("CapsuleShape2D_1dneg") - -[node name="Label" type="Label" parent="." index="4" unique_id=4404652] +[node name="Label" type="Label" parent="." index="3" unique_id=4404652] visible = false offset_left = -20.0 offset_top = -61.0 @@ -142,6 +135,10 @@ offset_bottom = -38.0 text = "100" horizontal_alignment = 1 -[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="5" unique_id=1300803409] +[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="4" unique_id=1300803409] + +[node name="CollisionShape2D" parent="HitBox" parent_id_path=PackedInt32Array(213001423) index="0" unique_id=1927310860] +position = Vector2(0, -15) +shape = SubResource("CapsuleShape2D_lloi5") [editable path="HitBox"] diff --git a/entities/character.gd b/entities/character.gd index 3f97043..1066bba 100644 --- a/entities/character.gd +++ b/entities/character.gd @@ -9,6 +9,7 @@ signal walk @onready var animation_player: AnimationPlayer = $AnimationPlayer +@onready var hit_box: HitBox = $HitBox var last_position:Vector2 = Vector2.ZERO @@ -16,6 +17,28 @@ var motion:Vector2 = Vector2.ZERO var current_impulse:Vector2 = Vector2.ZERO var current_impulse_z = 0 + +func _ready() -> void: + if Engine.is_editor_hint(): + return + idle.connect(sprite_2d.play.bind("idle")) + walk.connect(sprite_2d.play.bind("walk")) + idle.connect(func(): + if sprite_2d.animation != "hit" and not hit_box.ko(): + sprite_2d.play.bind("idle") + ) + sprite_2d.animation_finished.connect(func(): + if sprite_2d.animation == "hit" and not hit_box.ko(): + sprite_2d.play("idle") + ) + hit_box.damaged.connect(func(dmg): + if not hit_box.ko(): + sprite_2d.play("hit") + hit()) + hit_box.death.connect(func(): + sprite_2d.play("ko") + ) + func walk_left() -> void: motion.x -= speed @@ -37,6 +60,11 @@ func impulse(impulse:Vector3) -> void: func _physics_process(delta: float) -> void: + if Engine.is_editor_hint(): + return + if hit_box.ko(): + return + motion.x += current_impulse.x motion.y += current_impulse.y diff --git a/entities/character.tscn b/entities/character.tscn index 024cee1..c7ebf5f 100644 --- a/entities/character.tscn +++ b/entities/character.tscn @@ -2,8 +2,21 @@ [ext_resource type="PackedScene" uid="uid://vmv1gv5py4al" path="res://entities/entity.tscn" id="1_gpmbr"] [ext_resource type="Script" uid="uid://dbc2retvotrvq" path="res://entities/character.gd" id="2_owk0i"] +[ext_resource type="Shader" uid="uid://bt288pjj3hyri" path="res://shaders/flash.gdshader" id="3_66st7"] +[ext_resource type="PackedScene" uid="uid://b63x76oqvtxem" path="res://core/HitBox.tscn" id="4_yf7i0"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_66st7"] +resource_local_to_scene = true +shader = ExtResource("3_66st7") +shader_parameter/color_override = Color(1, 1, 1, 1) +shader_parameter/blend_delta = 0.0 [node name="Character" unique_id=822027437 instance=ExtResource("1_gpmbr")] collision_mask = 3 script = ExtResource("2_owk0i") speed = 100.0 + +[node name="Sprite2D" parent="." index="1" unique_id=332487883] +material = SubResource("ShaderMaterial_66st7") + +[node name="HitBox" parent="." index="3" unique_id=213001423 instance=ExtResource("4_yf7i0")] diff --git a/entities/player.gd b/entities/player.gd index e56d619..63d40e2 100644 --- a/entities/player.gd +++ b/entities/player.gd @@ -14,8 +14,7 @@ var targets:Array[HitBox] = [] func _ready() -> void: - idle.connect(sprite_2d.play.bind("idle")) - walk.connect(sprite_2d.play.bind("walk")) + super._ready() punch_box.area_entered.connect(_set_target) punch_box.area_exited.connect(_unset_target) @@ -54,6 +53,7 @@ func punch() -> void: if damaged: # push and earn motivation player_stats.motivation += 1 + player_stats.score += 10 var push_vector = -(global_position - target.global_position).normalized() # DANGER: let's assume parent is always physics obj var parent = target.get_parent() as Character diff --git a/entities/player.tscn b/entities/player.tscn index 2a62ee0..4b1894e 100644 --- a/entities/player.tscn +++ b/entities/player.tscn @@ -1,11 +1,11 @@ [gd_scene format=3 uid="uid://coqnxmbcr13gp"] -[ext_resource type="PackedScene" uid="uid://vmv1gv5py4al" path="res://entities/entity.tscn" id="1_merdl"] +[ext_resource type="PackedScene" uid="uid://cctn5rccxgscr" path="res://entities/character.tscn" id="1_merdl"] [ext_resource type="Texture2D" uid="uid://d3bsjw0i4u4il" path="res://entities/player.png" id="2_b0kkn"] [ext_resource type="Script" uid="uid://dxw77bdskmamk" path="res://entities/player.gd" id="2_e4p34"] [ext_resource type="Shader" uid="uid://bt288pjj3hyri" path="res://shaders/flash.gdshader" id="3_rfe5m"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_qly61"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_rfe5m"] resource_local_to_scene = true shader = ExtResource("3_rfe5m") shader_parameter/color_override = Color(1, 1, 1, 1) @@ -159,7 +159,7 @@ punching = false speed = 150.0 [node name="Sprite2D" parent="." index="1" unique_id=332487883] -material = SubResource("ShaderMaterial_qly61") +material = SubResource("ShaderMaterial_rfe5m") position = Vector2(1, -15) sprite_frames = SubResource("SpriteFrames_ep4xq") animation = &"idle" diff --git a/fonts/04B_30__.TTF b/fonts/04B_30__.TTF new file mode 100644 index 0000000000000000000000000000000000000000..9c2323b2cab2b1cce55376c3a3beebc16d817c03 GIT binary patch literal 30728 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 BV!Z$W literal 0 HcmV?d00001 diff --git a/fonts/04B_30__.TTF.import b/fonts/04B_30__.TTF.import new file mode 100644 index 0000000..d16a4a5 --- /dev/null +++ b/fonts/04B_30__.TTF.import @@ -0,0 +1,42 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://bv7cmol20hfak" +path="res://.godot/imported/04B_30__.TTF-2961d1558bf3d6850cc50be39dfe57a2.fontdata" + +[deps] + +source_file="res://fonts/04B_30__.TTF" +dest_files=["res://.godot/imported/04B_30__.TTF-2961d1558bf3d6850cc50be39dfe57a2.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +modulate_color_glyphs=false +hinting=0 +subpixel_positioning=0 +keep_rounding_remainders=false +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=false +preload=[{ +"chars": [], +"glyphs": [], +"name": "New Configuration", +"size": Vector2i(16, 0), +&"variation_embolden": 0.0 +}] +language_support={} +script_support={} +opentype_features={} diff --git a/scenes/gameplay_scene.tscn b/scenes/gameplay_scene.tscn index 0c32af0..88e6636 100644 --- a/scenes/gameplay_scene.tscn +++ b/scenes/gameplay_scene.tscn @@ -4,6 +4,7 @@ [ext_resource type="PackedScene" uid="uid://coqnxmbcr13gp" path="res://entities/player.tscn" id="2_b2a1o"] [ext_resource type="PackedScene" uid="uid://2dc5gjo4wghp" path="res://core/player_stats.tscn" id="2_mvhas"] [ext_resource type="PackedScene" uid="uid://dt8np820s5v1q" path="res://ui/motivation_bar.tscn" id="4_27dq3"] +[ext_resource type="FontFile" uid="uid://bv7cmol20hfak" path="res://fonts/04B_30__.TTF" id="5_27dq3"] [node name="GameplayScene" type="Node2D" unique_id=1216125844] script = ExtResource("1_01stm") @@ -114,3 +115,21 @@ theme_override_constants/margin_top = 8 layout_mode = 2 mouse_filter = 2 stats = NodePath("../../../../PlayerStats") + +[node name="MarginContainer" type="MarginContainer" parent="UI" unique_id=681555587] +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -55.0 +offset_bottom = 40.0 +grow_horizontal = 0 +theme_override_constants/margin_top = 8 +theme_override_constants/margin_right = 16 + +[node name="Score" type="Label" parent="UI/MarginContainer" unique_id=1174973320] +unique_name_in_owner = true +layout_mode = 2 +theme_override_colors/font_color = Color(1, 0, 0.45490196, 1) +theme_override_fonts/font = ExtResource("5_27dq3") +text = "0" +horizontal_alignment = 2