First trap initialized!

This commit is contained in:
2025-03-13 19:50:05 +01:00
parent 491755209f
commit 183f575160
14 changed files with 498 additions and 22 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4bah0c8unbl8"
path="res://.godot/imported/Tile2_59.png-97106898629fc4dd31e5d967ea663da6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Traps/Sticks/Tile2_59.png"
dest_files=["res://.godot/imported/Tile2_59.png-97106898629fc4dd31e5d967ea663da6.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: 495 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l58s5yxh4f8n"
path="res://.godot/imported/Tile2_60.png-6c8f8f827f556633ad1ffd2155ea6316.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Traps/Sticks/Tile2_60.png"
dest_files=["res://.godot/imported/Tile2_60.png-6c8f8f827f556633ad1ffd2155ea6316.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

View File

@ -10,6 +10,10 @@ const enemies = [FORKMAN, COBOLD, ORK]
var lives = 20
func _ready() -> void:
get_node("SidePanel").Update_Lives(lives)
func _on_timer_timeout() -> void:
spawnMonster()
@ -22,7 +26,7 @@ func spawnMonster():
func decrease_life(damage) -> void:
lives -= damage
print(lives)
get_node("SidePanel").Update_Lives(lives)
if lives == 0:
print("DEAD")

View File

@ -1,31 +1,116 @@
[gd_scene load_steps=26 format=3 uid="uid://b1choexdgayxm"]
[gd_scene load_steps=46 format=3 uid="uid://b1choexdgayxm"]
[ext_resource type="Texture2D" uid="uid://cf1a85vdsh2e4" path="res://Assets/Monsters/4/4_enemies_1_walk_000.png" id="1_00byl"]
[ext_resource type="Script" uid="uid://sh6qqbl8fdrr" path="res://Game/Mobs/enemy.gd" id="1_ssdee"]
[ext_resource type="Texture2D" uid="uid://d2up7ldu64nfn" path="res://Assets/Monsters/4/4_enemies_1_hurt_000.png" id="2_acxcu"]
[ext_resource type="Texture2D" uid="uid://lrffmrkjvjbj" path="res://Assets/Monsters/4/4_enemies_1_walk_001.png" id="2_ssdee"]
[ext_resource type="Texture2D" uid="uid://cd6ts2qqyn5wr" path="res://Assets/Monsters/4/4_enemies_1_hurt_001.png" id="3_0gjha"]
[ext_resource type="Texture2D" uid="uid://ccippi8nlpeck" path="res://Assets/Monsters/4/4_enemies_1_walk_002.png" id="3_ugkdc"]
[ext_resource type="Texture2D" uid="uid://c48okn54t3q06" path="res://Assets/Monsters/4/4_enemies_1_hurt_002.png" id="4_c3t52"]
[ext_resource type="Texture2D" uid="uid://dfx47hahbfa7n" path="res://Assets/Monsters/4/4_enemies_1_walk_003.png" id="4_umiu5"]
[ext_resource type="Texture2D" uid="uid://rmvhqln4yndh" path="res://Assets/Monsters/4/4_enemies_1_hurt_003.png" id="5_8urwa"]
[ext_resource type="Texture2D" uid="uid://c2x00wk5hy8ui" path="res://Assets/Monsters/4/4_enemies_1_walk_004.png" id="5_jhffi"]
[ext_resource type="Texture2D" uid="uid://br3dbomwj08x8" path="res://Assets/Monsters/4/4_enemies_1_hurt_004.png" id="6_h2c0g"]
[ext_resource type="Texture2D" uid="uid://n6ussgwqhgwd" path="res://Assets/Monsters/4/4_enemies_1_walk_005.png" id="6_m0tv1"]
[ext_resource type="Texture2D" uid="uid://d260j1pxkavc6" path="res://Assets/Monsters/4/4_enemies_1_walk_006.png" id="7_i62o8"]
[ext_resource type="Texture2D" uid="uid://bmrvq45ge3feh" path="res://Assets/Monsters/4/4_enemies_1_hurt_005.png" id="7_wcgo2"]
[ext_resource type="Texture2D" uid="uid://bqtg2wcrdldp" path="res://Assets/Monsters/4/4_enemies_1_walk_007.png" id="8_37lqs"]
[ext_resource type="Texture2D" uid="uid://wg7v7b7hnh35" path="res://Assets/Monsters/4/4_enemies_1_hurt_006.png" id="8_g5vqf"]
[ext_resource type="Texture2D" uid="uid://cgged352l3e14" path="res://Assets/Monsters/4/4_enemies_1_walk_008.png" id="9_uqtw3"]
[ext_resource type="Texture2D" uid="uid://cp3t2sqh6ivwo" path="res://Assets/Monsters/4/4_enemies_1_hurt_007.png" id="9_v2ark"]
[ext_resource type="Texture2D" uid="uid://dhcsp57ggmbys" path="res://Assets/Monsters/4/4_enemies_1_hurt_008.png" id="10_5odwn"]
[ext_resource type="Texture2D" uid="uid://b6r0s6mk2xirp" path="res://Assets/Monsters/4/4_enemies_1_walk_009.png" id="10_hrne8"]
[ext_resource type="Texture2D" uid="uid://4hn0m5mlr0lx" path="res://Assets/Monsters/4/4_enemies_1_hurt_009.png" id="11_ejcwl"]
[ext_resource type="Texture2D" uid="uid://dvgcq2a0uq4bt" path="res://Assets/Monsters/4/4_enemies_1_walk_010.png" id="11_uta4l"]
[ext_resource type="Texture2D" uid="uid://bd27m6hj4qktj" path="res://Assets/Monsters/4/4_enemies_1_walk_011.png" id="12_rjrva"]
[ext_resource type="Texture2D" uid="uid://btgcywof8d1lv" path="res://Assets/Monsters/4/4_enemies_1_hurt_010.png" id="12_weogc"]
[ext_resource type="Texture2D" uid="uid://bgs3g1eso1k2o" path="res://Assets/Monsters/4/4_enemies_1_hurt_011.png" id="13_6hmnw"]
[ext_resource type="Texture2D" uid="uid://e28rae4ja600" path="res://Assets/Monsters/4/4_enemies_1_walk_012.png" id="13_vqybw"]
[ext_resource type="Texture2D" uid="uid://c8svw1kqdtvkh" path="res://Assets/Monsters/4/4_enemies_1_hurt_012.png" id="14_c3mr3"]
[ext_resource type="Texture2D" uid="uid://di46f7hblrtyk" path="res://Assets/Monsters/4/4_enemies_1_walk_013.png" id="14_e7g8m"]
[ext_resource type="Texture2D" uid="uid://b5ens5ycfyhqn" path="res://Assets/Monsters/4/4_enemies_1_hurt_013.png" id="15_tkch8"]
[ext_resource type="Texture2D" uid="uid://bdem35twmk7jt" path="res://Assets/Monsters/4/4_enemies_1_walk_014.png" id="15_umg60"]
[ext_resource type="Texture2D" uid="uid://cp58pluolceqo" path="res://Assets/Monsters/4/4_enemies_1_walk_015.png" id="16_7ykg7"]
[ext_resource type="Texture2D" uid="uid://cigdrg3key8tw" path="res://Assets/Monsters/4/4_enemies_1_hurt_014.png" id="16_nuhaa"]
[ext_resource type="Texture2D" uid="uid://d3brnkbnrbjh6" path="res://Assets/Monsters/4/4_enemies_1_walk_016.png" id="17_26ilt"]
[ext_resource type="Texture2D" uid="uid://citn1om11lp5j" path="res://Assets/Monsters/4/4_enemies_1_hurt_015.png" id="17_xtqww"]
[ext_resource type="Texture2D" uid="uid://bxyrk7pq3o4xy" path="res://Assets/Monsters/4/4_enemies_1_hurt_016.png" id="18_66up5"]
[ext_resource type="Texture2D" uid="uid://fix5k5mbmray" path="res://Assets/Monsters/4/4_enemies_1_walk_017.png" id="18_k4imq"]
[ext_resource type="Texture2D" uid="uid://cudsvwk0ey5nk" path="res://Assets/Monsters/4/4_enemies_1_walk_018.png" id="19_628ow"]
[ext_resource type="Texture2D" uid="uid://bpig2c7xhy2jy" path="res://Assets/Monsters/4/4_enemies_1_hurt_017.png" id="19_ks0ga"]
[ext_resource type="Texture2D" uid="uid://bo7yoamhqc6bi" path="res://Assets/Monsters/4/4_enemies_1_hurt_018.png" id="20_hps8o"]
[ext_resource type="Texture2D" uid="uid://e87x6cqk7n3q" path="res://Assets/Monsters/4/4_enemies_1_walk_019.png" id="20_kbibr"]
[ext_resource type="Texture2D" uid="uid://dq1m2gy5f3pov" path="res://Assets/Monsters/4/4_enemies_1_hurt_019.png" id="21_m5o2x"]
[sub_resource type="SpriteFrames" id="SpriteFrames_brd2m"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_acxcu")
}, {
"duration": 1.0,
"texture": ExtResource("3_0gjha")
}, {
"duration": 1.0,
"texture": ExtResource("4_c3t52")
}, {
"duration": 1.0,
"texture": ExtResource("5_8urwa")
}, {
"duration": 1.0,
"texture": ExtResource("6_h2c0g")
}, {
"duration": 1.0,
"texture": ExtResource("7_wcgo2")
}, {
"duration": 1.0,
"texture": ExtResource("8_g5vqf")
}, {
"duration": 1.0,
"texture": ExtResource("9_v2ark")
}, {
"duration": 1.0,
"texture": ExtResource("10_5odwn")
}, {
"duration": 1.0,
"texture": ExtResource("11_ejcwl")
}, {
"duration": 1.0,
"texture": ExtResource("12_weogc")
}, {
"duration": 1.0,
"texture": ExtResource("13_6hmnw")
}, {
"duration": 1.0,
"texture": ExtResource("14_c3mr3")
}, {
"duration": 1.0,
"texture": ExtResource("15_tkch8")
}, {
"duration": 1.0,
"texture": ExtResource("16_nuhaa")
}, {
"duration": 1.0,
"texture": ExtResource("17_xtqww")
}, {
"duration": 1.0,
"texture": ExtResource("18_66up5")
}, {
"duration": 1.0,
"texture": ExtResource("19_ks0ga")
}, {
"duration": 1.0,
"texture": ExtResource("20_hps8o")
}, {
"duration": 1.0,
"texture": ExtResource("21_m5o2x")
}],
"loop": true,
"name": &"hurt",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_00byl")
}, {
"duration": 1.0,
@ -86,7 +171,7 @@ animations = [{
"texture": ExtResource("20_kbibr")
}],
"loop": true,
"name": &"Default",
"name": &"walk",
"speed": 20.0
}]
@ -115,13 +200,20 @@ script = ExtResource("1_ssdee")
position = Vector2(10, 0)
scale = Vector2(0.25, 0.25)
sprite_frames = SubResource("SpriteFrames_brd2m")
animation = &"Default"
autoplay = "Default"
animation = &"hurt"
autoplay = "walk"
frame_progress = 0.66798
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
scale = Vector2(2, 2)
shape = SubResource("CircleShape2D_acxcu")
[node name="Area2D" type="Area2D" parent="CharacterBody2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D/Area2D"]
scale = Vector2(2, 2)
shape = SubResource("CircleShape2D_acxcu")
[node name="ProgressBar" type="ProgressBar" parent="."]
offset_left = -15.0
offset_top = -30.0

View File

@ -12,11 +12,11 @@ var last_position: Vector2 = Vector2.ZERO # To store the previous position
func _ready() -> void:
last_position = get_parent().position
get_node("CharacterBody2D/Area2D").connect("body_entered", Callable(self, "Collision_Handler"))
get_node("CharacterBody2D/AnimatedSprite2D").connect("animation_finished", Callable(self, "AnimatedSprite2D_animation_finished"))
set_character_data()
adjust_health_bar()
func _process(delta: float) -> void:
move_character(delta)
@ -69,12 +69,55 @@ func set_character_data():
func adjust_health_bar() -> void:
var health_bar = get_node("ProgressBar")
# Create new StyleBox resources for each instance
var fill_style = StyleBoxFlat.new()
fill_style.corner_radius_top_left = 20
fill_style.corner_radius_top_right = 20
fill_style.corner_radius_bottom_left = 20
fill_style.corner_radius_bottom_right = 20
var bg_style = StyleBoxFlat.new()
bg_style.corner_radius_top_left = 20
bg_style.corner_radius_top_right = 20
bg_style.corner_radius_bottom_left = 20
bg_style.corner_radius_bottom_right = 20
if current_shield > 0:
health_bar.get("theme_override_styles/fill").bg_color = Color(0,0,1)
health_bar.get("theme_override_styles/background").bg_color = Color(0,1,0)
health_bar.value = shield / current_shield * 100
fill_style.bg_color = Color(0, 0, 1) # Blue for shield
bg_style.bg_color = Color(0, 1, 0) # Green background
health_bar.value = int((current_shield / float(shield)) * 100) # Use current_shield and shield
else:
health_bar.get("theme_override_styles/fill").bg_color = Color(0,1,0)
health_bar.get("theme_override_styles/background").bg_color = Color(1,0,0)
health_bar.value = health / current_health * 100
pass
fill_style.bg_color = Color(0, 1, 0) # Green for health
bg_style.bg_color = Color(1, 0, 0) # Red background
health_bar.value = int((current_health / float(health)) * 100)
# Apply the styles
health_bar.add_theme_stylebox_override("fill", fill_style)
health_bar.add_theme_stylebox_override("background", bg_style)
func enemy_hurt(amount) -> void:
if current_shield > 0:
if shield > amount:
current_shield -= amount
else:
amount -= current_shield
current_shield = 0
current_health -= amount
else:
current_health -= amount
if current_health <= 0:
get_parent().queue_free()
else:
adjust_health_bar()
func AnimatedSprite2D_animation_finished() -> void:
var animated_sprite = get_node("CharacterBody2D/AnimatedSprite2D")
if animated_sprite.animation == "hurt":
animated_sprite.play("walk")
func Collision_Handler(body: Node2D):
if body.get_parent().name.contains("StickTrap"):
enemy_hurt(25)
get_node("CharacterBody2D/AnimatedSprite2D").play("hurt")

View File

@ -1,26 +1,46 @@
[gd_scene load_steps=26 format=3 uid="uid://dnoajr7rj2um7"]
[gd_scene load_steps=46 format=3 uid="uid://dnoajr7rj2um7"]
[ext_resource type="Script" uid="uid://sh6qqbl8fdrr" path="res://Game/Mobs/enemy.gd" id="1_pq2md"]
[ext_resource type="Texture2D" uid="uid://dl2w65j5jq0xc" path="res://Assets/Monsters/1/1_enemies_1_walk_000.png" id="1_ra45u"]
[ext_resource type="Texture2D" uid="uid://br8vm30ppn51l" path="res://Assets/Monsters/1/1_enemies_1_hurt_000.png" id="2_53m6g"]
[ext_resource type="Texture2D" uid="uid://sxsuv85rgxa1" path="res://Assets/Monsters/1/1_enemies_1_walk_001.png" id="2_pq2md"]
[ext_resource type="Texture2D" uid="uid://l42uiy76bhxr" path="res://Assets/Monsters/1/1_enemies_1_hurt_001.png" id="3_4kkql"]
[ext_resource type="Texture2D" uid="uid://bm073de32a3pu" path="res://Assets/Monsters/1/1_enemies_1_walk_002.png" id="3_gxpsl"]
[ext_resource type="Texture2D" uid="uid://dg4bxs4aycvrq" path="res://Assets/Monsters/1/1_enemies_1_hurt_002.png" id="4_n2o0p"]
[ext_resource type="Texture2D" uid="uid://bmloufrbidsqo" path="res://Assets/Monsters/1/1_enemies_1_walk_003.png" id="4_vb2u0"]
[ext_resource type="Texture2D" uid="uid://ck8av0egjy7r2" path="res://Assets/Monsters/1/1_enemies_1_walk_004.png" id="5_1x0wp"]
[ext_resource type="Texture2D" uid="uid://cvuoqtxhy5blq" path="res://Assets/Monsters/1/1_enemies_1_hurt_003.png" id="5_hg70q"]
[ext_resource type="Texture2D" uid="uid://ok8wq17yge66" path="res://Assets/Monsters/1/1_enemies_1_walk_005.png" id="6_tgrc0"]
[ext_resource type="Texture2D" uid="uid://disaxt8ojunur" path="res://Assets/Monsters/1/1_enemies_1_hurt_004.png" id="6_xkxmy"]
[ext_resource type="Texture2D" uid="uid://m2fiakotoqft" path="res://Assets/Monsters/1/1_enemies_1_hurt_005.png" id="7_2yr3d"]
[ext_resource type="Texture2D" uid="uid://cl56mwcyom2vs" path="res://Assets/Monsters/1/1_enemies_1_walk_006.png" id="7_nt07g"]
[ext_resource type="Texture2D" uid="uid://bm4b0mdkyns1b" path="res://Assets/Monsters/1/1_enemies_1_hurt_006.png" id="8_tq3ug"]
[ext_resource type="Texture2D" uid="uid://du57hw0eh6wg4" path="res://Assets/Monsters/1/1_enemies_1_walk_007.png" id="8_yjyl6"]
[ext_resource type="Texture2D" uid="uid://d4bbudxxyrbd7" path="res://Assets/Monsters/1/1_enemies_1_hurt_007.png" id="9_2sgw5"]
[ext_resource type="Texture2D" uid="uid://8417txfhh37c" path="res://Assets/Monsters/1/1_enemies_1_walk_008.png" id="9_mpc1o"]
[ext_resource type="Texture2D" uid="uid://c11oydj6tkig1" path="res://Assets/Monsters/1/1_enemies_1_hurt_008.png" id="10_5m8ca"]
[ext_resource type="Texture2D" uid="uid://debvus3344n5c" path="res://Assets/Monsters/1/1_enemies_1_walk_009.png" id="10_q6pl0"]
[ext_resource type="Texture2D" uid="uid://docerq3efivq5" path="res://Assets/Monsters/1/1_enemies_1_walk_010.png" id="11_r662y"]
[ext_resource type="Texture2D" uid="uid://ds41grau6rhxo" path="res://Assets/Monsters/1/1_enemies_1_hurt_009.png" id="11_y4ye7"]
[ext_resource type="Texture2D" uid="uid://bhnf6gdnld6ck" path="res://Assets/Monsters/1/1_enemies_1_walk_011.png" id="12_ika66"]
[ext_resource type="Texture2D" uid="uid://dek1fw5gnromu" path="res://Assets/Monsters/1/1_enemies_1_hurt_010.png" id="12_p3te8"]
[ext_resource type="Texture2D" uid="uid://b2bgvs1dnmp3v" path="res://Assets/Monsters/1/1_enemies_1_walk_012.png" id="13_5lf1w"]
[ext_resource type="Texture2D" uid="uid://durhxdpqcfc70" path="res://Assets/Monsters/1/1_enemies_1_hurt_011.png" id="13_r35qh"]
[ext_resource type="Texture2D" uid="uid://oojpigafle3r" path="res://Assets/Monsters/1/1_enemies_1_hurt_012.png" id="14_faos6"]
[ext_resource type="Texture2D" uid="uid://bltn18wj6sqbv" path="res://Assets/Monsters/1/1_enemies_1_walk_013.png" id="14_u3sot"]
[ext_resource type="Texture2D" uid="uid://re1e2vxnkvny" path="res://Assets/Monsters/1/1_enemies_1_walk_014.png" id="15_0wrvp"]
[ext_resource type="Texture2D" uid="uid://hbv27x6adbi4" path="res://Assets/Monsters/1/1_enemies_1_hurt_013.png" id="15_5qygf"]
[ext_resource type="Texture2D" uid="uid://dwu3xlwnlhff3" path="res://Assets/Monsters/1/1_enemies_1_hurt_014.png" id="16_7qehe"]
[ext_resource type="Texture2D" uid="uid://0xbdj00hfiva" path="res://Assets/Monsters/1/1_enemies_1_walk_015.png" id="16_ipe57"]
[ext_resource type="Texture2D" uid="uid://cb7ka3ckam73t" path="res://Assets/Monsters/1/1_enemies_1_walk_016.png" id="17_7dt0v"]
[ext_resource type="Texture2D" uid="uid://fe503mr5v7pg" path="res://Assets/Monsters/1/1_enemies_1_hurt_015.png" id="17_xvckp"]
[ext_resource type="Texture2D" uid="uid://daotm1cxaqd85" path="res://Assets/Monsters/1/1_enemies_1_walk_017.png" id="18_fxffo"]
[ext_resource type="Texture2D" uid="uid://bg60qgjm5dei5" path="res://Assets/Monsters/1/1_enemies_1_hurt_016.png" id="18_u3gdq"]
[ext_resource type="Texture2D" uid="uid://dv80pf5yjx7hr" path="res://Assets/Monsters/1/1_enemies_1_hurt_017.png" id="19_acf8m"]
[ext_resource type="Texture2D" uid="uid://cqvx47l53s1vc" path="res://Assets/Monsters/1/1_enemies_1_walk_018.png" id="19_lbdce"]
[ext_resource type="Texture2D" uid="uid://cixwd1sueem1o" path="res://Assets/Monsters/1/1_enemies_1_hurt_018.png" id="20_e3vkv"]
[ext_resource type="Texture2D" uid="uid://bi4gdl6ovax2j" path="res://Assets/Monsters/1/1_enemies_1_walk_019.png" id="20_garh6"]
[ext_resource type="Texture2D" uid="uid://121yr8q2welm" path="res://Assets/Monsters/1/1_enemies_1_hurt_019.png" id="21_to6c5"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ra45u"]
radius = 32.0
@ -29,6 +49,71 @@ radius = 32.0
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_53m6g")
}, {
"duration": 1.0,
"texture": ExtResource("3_4kkql")
}, {
"duration": 1.0,
"texture": ExtResource("4_n2o0p")
}, {
"duration": 1.0,
"texture": ExtResource("5_hg70q")
}, {
"duration": 1.0,
"texture": ExtResource("6_xkxmy")
}, {
"duration": 1.0,
"texture": ExtResource("7_2yr3d")
}, {
"duration": 1.0,
"texture": ExtResource("8_tq3ug")
}, {
"duration": 1.0,
"texture": ExtResource("9_2sgw5")
}, {
"duration": 1.0,
"texture": ExtResource("10_5m8ca")
}, {
"duration": 1.0,
"texture": ExtResource("11_y4ye7")
}, {
"duration": 1.0,
"texture": ExtResource("12_p3te8")
}, {
"duration": 1.0,
"texture": ExtResource("13_r35qh")
}, {
"duration": 1.0,
"texture": ExtResource("14_faos6")
}, {
"duration": 1.0,
"texture": ExtResource("15_5qygf")
}, {
"duration": 1.0,
"texture": ExtResource("16_7qehe")
}, {
"duration": 1.0,
"texture": ExtResource("17_xvckp")
}, {
"duration": 1.0,
"texture": ExtResource("18_u3gdq")
}, {
"duration": 1.0,
"texture": ExtResource("19_acf8m")
}, {
"duration": 1.0,
"texture": ExtResource("20_e3vkv")
}, {
"duration": 1.0,
"texture": ExtResource("21_to6c5")
}],
"loop": true,
"name": &"hurt",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_ra45u")
}, {
"duration": 1.0,
@ -120,8 +205,16 @@ shape = SubResource("CircleShape2D_ra45u")
position = Vector2(10, 0)
scale = Vector2(0.2, 0.186)
sprite_frames = SubResource("SpriteFrames_gxpsl")
animation = &"walk"
animation = &"hurt"
autoplay = "walk"
frame = 11
frame_progress = 0.9629
[node name="Area2D" type="Area2D" parent="CharacterBody2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D/Area2D"]
scale = Vector2(0.5, 0.5)
shape = SubResource("CircleShape2D_ra45u")
[node name="ProgressBar" type="ProgressBar" parent="."]
offset_left = -15.0

View File

@ -1,31 +1,116 @@
[gd_scene load_steps=26 format=3 uid="uid://dfwcvygt24m4f"]
[gd_scene load_steps=46 format=3 uid="uid://dfwcvygt24m4f"]
[ext_resource type="Script" uid="uid://sh6qqbl8fdrr" path="res://Game/Mobs/enemy.gd" id="1_1ecd4"]
[ext_resource type="Texture2D" uid="uid://bg2x4wf0d68a1" path="res://Assets/Monsters/2/2_enemies_1_hurt_000.png" id="2_450p6"]
[ext_resource type="Texture2D" uid="uid://dgwwy6rlst543" path="res://Assets/Monsters/2/2_enemies_1_walk_000.png" id="2_vrsho"]
[ext_resource type="Texture2D" uid="uid://2whi44p3xj0p" path="res://Assets/Monsters/2/2_enemies_1_walk_001.png" id="3_3wctl"]
[ext_resource type="Texture2D" uid="uid://blvesiar76k1s" path="res://Assets/Monsters/2/2_enemies_1_hurt_001.png" id="3_ymjxh"]
[ext_resource type="Texture2D" uid="uid://do3bo71hr0otn" path="res://Assets/Monsters/2/2_enemies_1_walk_002.png" id="4_lnbgl"]
[ext_resource type="Texture2D" uid="uid://cqb4vpg4f7ey8" path="res://Assets/Monsters/2/2_enemies_1_hurt_002.png" id="4_rwr1n"]
[ext_resource type="Texture2D" uid="uid://ccdikiw6ql5m4" path="res://Assets/Monsters/2/2_enemies_1_walk_003.png" id="5_hast5"]
[ext_resource type="Texture2D" uid="uid://baa5iu66xe8nv" path="res://Assets/Monsters/2/2_enemies_1_hurt_003.png" id="5_umiig"]
[ext_resource type="Texture2D" uid="uid://bx6buqbufrcwn" path="res://Assets/Monsters/2/2_enemies_1_walk_004.png" id="6_malst"]
[ext_resource type="Texture2D" uid="uid://bqcl7w4vb1fus" path="res://Assets/Monsters/2/2_enemies_1_hurt_004.png" id="6_t0l8c"]
[ext_resource type="Texture2D" uid="uid://tqeds7vde35o" path="res://Assets/Monsters/2/2_enemies_1_walk_005.png" id="7_h1jsk"]
[ext_resource type="Texture2D" uid="uid://dcx8uiqjw3cij" path="res://Assets/Monsters/2/2_enemies_1_hurt_005.png" id="7_rdh0p"]
[ext_resource type="Texture2D" uid="uid://bcuobi85ycc5t" path="res://Assets/Monsters/2/2_enemies_1_walk_006.png" id="8_1j5ux"]
[ext_resource type="Texture2D" uid="uid://6n4ofaqh3xfp" path="res://Assets/Monsters/2/2_enemies_1_hurt_006.png" id="8_yfxnw"]
[ext_resource type="Texture2D" uid="uid://bcvweagua2fgd" path="res://Assets/Monsters/2/2_enemies_1_walk_007.png" id="9_j066x"]
[ext_resource type="Texture2D" uid="uid://65e0w7mcsuyy" path="res://Assets/Monsters/2/2_enemies_1_hurt_007.png" id="9_u8gdq"]
[ext_resource type="Texture2D" uid="uid://b7uh3ncd2sp2h" path="res://Assets/Monsters/2/2_enemies_1_hurt_008.png" id="10_0r7a3"]
[ext_resource type="Texture2D" uid="uid://h38qu35ll5po" path="res://Assets/Monsters/2/2_enemies_1_walk_008.png" id="10_7pwe8"]
[ext_resource type="Texture2D" uid="uid://b18spnchhjhk2" path="res://Assets/Monsters/2/2_enemies_1_walk_009.png" id="11_letfg"]
[ext_resource type="Texture2D" uid="uid://pvv5fpcak8m3" path="res://Assets/Monsters/2/2_enemies_1_hurt_009.png" id="11_oob1p"]
[ext_resource type="Texture2D" uid="uid://wkoem58y2hml" path="res://Assets/Monsters/2/2_enemies_1_hurt_010.png" id="12_ldnkt"]
[ext_resource type="Texture2D" uid="uid://bqqts0duqrqnv" path="res://Assets/Monsters/2/2_enemies_1_walk_010.png" id="12_pkxkl"]
[ext_resource type="Texture2D" uid="uid://bn7fjtj2ojqma" path="res://Assets/Monsters/2/2_enemies_1_walk_011.png" id="13_jsnbd"]
[ext_resource type="Texture2D" uid="uid://wde52ehdwnhs" path="res://Assets/Monsters/2/2_enemies_1_hurt_011.png" id="13_ni0xx"]
[ext_resource type="Texture2D" uid="uid://s0wd5s61skeh" path="res://Assets/Monsters/2/2_enemies_1_walk_012.png" id="14_4pwwn"]
[ext_resource type="Texture2D" uid="uid://cxwql67fhw80" path="res://Assets/Monsters/2/2_enemies_1_hurt_012.png" id="14_cnft4"]
[ext_resource type="Texture2D" uid="uid://bp5dri7gswoi" path="res://Assets/Monsters/2/2_enemies_1_hurt_013.png" id="15_1cctj"]
[ext_resource type="Texture2D" uid="uid://b5pm5r0a5dsx3" path="res://Assets/Monsters/2/2_enemies_1_walk_013.png" id="15_nf1fn"]
[ext_resource type="Texture2D" uid="uid://cu7450sqpxijg" path="res://Assets/Monsters/2/2_enemies_1_hurt_014.png" id="16_abd3f"]
[ext_resource type="Texture2D" uid="uid://dltw4wtskgpo5" path="res://Assets/Monsters/2/2_enemies_1_walk_014.png" id="16_ttcjh"]
[ext_resource type="Texture2D" uid="uid://bk83p2mqrp3ri" path="res://Assets/Monsters/2/2_enemies_1_walk_015.png" id="17_1652b"]
[ext_resource type="Texture2D" uid="uid://bhxce1b1p6fcn" path="res://Assets/Monsters/2/2_enemies_1_hurt_015.png" id="17_w0b4d"]
[ext_resource type="Texture2D" uid="uid://cqj33fmy0ex1h" path="res://Assets/Monsters/2/2_enemies_1_hurt_016.png" id="18_0nqu5"]
[ext_resource type="Texture2D" uid="uid://yggxgmf8fa70" path="res://Assets/Monsters/2/2_enemies_1_walk_016.png" id="18_nj104"]
[ext_resource type="Texture2D" uid="uid://wfiqtbte7iy8" path="res://Assets/Monsters/2/2_enemies_1_walk_017.png" id="19_7c2oo"]
[ext_resource type="Texture2D" uid="uid://bvhorh314bboj" path="res://Assets/Monsters/2/2_enemies_1_hurt_017.png" id="19_13wvc"]
[ext_resource type="Texture2D" uid="uid://drfs64yafymup" path="res://Assets/Monsters/2/2_enemies_1_hurt_018.png" id="20_k5gpm"]
[ext_resource type="Texture2D" uid="uid://pkv6mxsmi8jm" path="res://Assets/Monsters/2/2_enemies_1_walk_018.png" id="20_kqdh1"]
[ext_resource type="Texture2D" uid="uid://dp7xripl4r4o1" path="res://Assets/Monsters/2/2_enemies_1_walk_019.png" id="21_450p6"]
[ext_resource type="Texture2D" uid="uid://deseahlson0f7" path="res://Assets/Monsters/2/2_enemies_1_hurt_019.png" id="21_xh1xf"]
[sub_resource type="SpriteFrames" id="SpriteFrames_h86ts"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_450p6")
}, {
"duration": 1.0,
"texture": ExtResource("3_ymjxh")
}, {
"duration": 1.0,
"texture": ExtResource("4_rwr1n")
}, {
"duration": 1.0,
"texture": ExtResource("5_umiig")
}, {
"duration": 1.0,
"texture": ExtResource("6_t0l8c")
}, {
"duration": 1.0,
"texture": ExtResource("7_rdh0p")
}, {
"duration": 1.0,
"texture": ExtResource("8_yfxnw")
}, {
"duration": 1.0,
"texture": ExtResource("9_u8gdq")
}, {
"duration": 1.0,
"texture": ExtResource("10_0r7a3")
}, {
"duration": 1.0,
"texture": ExtResource("11_oob1p")
}, {
"duration": 1.0,
"texture": ExtResource("12_ldnkt")
}, {
"duration": 1.0,
"texture": ExtResource("13_ni0xx")
}, {
"duration": 1.0,
"texture": ExtResource("14_cnft4")
}, {
"duration": 1.0,
"texture": ExtResource("15_1cctj")
}, {
"duration": 1.0,
"texture": ExtResource("16_abd3f")
}, {
"duration": 1.0,
"texture": ExtResource("17_w0b4d")
}, {
"duration": 1.0,
"texture": ExtResource("18_0nqu5")
}, {
"duration": 1.0,
"texture": ExtResource("19_13wvc")
}, {
"duration": 1.0,
"texture": ExtResource("20_k5gpm")
}, {
"duration": 1.0,
"texture": ExtResource("21_xh1xf")
}],
"loop": true,
"name": &"hurt",
"speed": 20.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_vrsho")
}, {
"duration": 1.0,
@ -86,7 +171,7 @@ animations = [{
"texture": ExtResource("21_450p6")
}],
"loop": true,
"name": &"default",
"name": &"walk",
"speed": 20.0
}]
@ -115,8 +200,15 @@ script = ExtResource("1_1ecd4")
position = Vector2(10, 0)
scale = Vector2(0.18, 0.18)
sprite_frames = SubResource("SpriteFrames_h86ts")
autoplay = "default"
frame_progress = 0.848759
animation = &"hurt"
autoplay = "walk"
frame_progress = 0.748545
[node name="Area2D" type="Area2D" parent="CharacterBody2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D/Area2D"]
scale = Vector2(2, 2)
shape = SubResource("CircleShape2D_j0lf0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
scale = Vector2(2, 2)

View File

@ -0,0 +1,28 @@
[gd_scene load_steps=5 format=3 uid="uid://pqy8rrvjthgl"]
[ext_resource type="Texture2D" uid="uid://4bah0c8unbl8" path="res://Assets/Traps/Sticks/Tile2_59.png" id="1_dnq4b"]
[ext_resource type="Script" uid="uid://3gn70ilm20tw" path="res://Game/Traps/traps.gd" id="1_metvu"]
[ext_resource type="Texture2D" uid="uid://l58s5yxh4f8n" path="res://Assets/Traps/Sticks/Tile2_60.png" id="2_metvu"]
[sub_resource type="CircleShape2D" id="CircleShape2D_m1bdk"]
radius = 32.0
[node name="StickTrap" type="Node2D"]
script = ExtResource("1_metvu")
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"]
position = Vector2(8, 0)
scale = Vector2(1.5, 1)
texture = ExtResource("1_dnq4b")
offset = Vector2(10, 0)
[node name="Sprite2D2" type="Sprite2D" parent="CharacterBody2D"]
texture = ExtResource("2_metvu")
offset = Vector2(-10, 0)
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
position = Vector2(5, 0)
scale = Vector2(0.8, 0.8)
shape = SubResource("CircleShape2D_m1bdk")

17
Game/Traps/traps.gd Normal file
View File

@ -0,0 +1,17 @@
extends Node2D
var follower = false
func _ready() -> void:
follower = true
set_process_input(true)
func _process(delta: float) -> void:
if follower:
position = get_viewport().get_mouse_position()
func _input(event):
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
if abs(position) <= get_viewport().get_mouse_position():
follower = false

1
Game/Traps/traps.gd.uid Normal file
View File

@ -0,0 +1 @@
uid://3gn70ilm20tw

View File

@ -1,4 +1,17 @@
extends Panel
@onready var livelabel: Label = $HBoxContainer4/HBoxContainer3/Label
@onready var stickspawner: Button = $HBoxContainer4/HBoxContainer4/Button2
const STICK_TRAP = preload("res://Game/Traps/stick_trap.tscn")
func _ready() -> void:
stickspawner.connect("button_up", Spawn_Stick)
func Update_Lives(lives) -> void:
livelabel.text = "Lives: " + str(lives)
func Spawn_Stick() -> void:
var stick = STICK_TRAP.instantiate()
stick.name = "StickTrap-" + str(randi())
get_parent().add_child(stick)

View File

@ -21,7 +21,7 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 120
theme_override_constants/separation = 60
alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer4"]
@ -35,24 +35,49 @@ text = "Coins: "
[node name="HBoxContainer2" type="HBoxContainer" parent="HBoxContainer4"]
layout_mode = 2
theme_override_constants/separation = 120
theme_override_constants/separation = 30
alignment = 1
[node name="Button2" type="Button" parent="HBoxContainer4/HBoxContainer2"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Archer"
[node name="Button3" type="Button" parent="HBoxContainer4/HBoxContainer2"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Wizard"
[node name="Button4" type="Button" parent="HBoxContainer4/HBoxContainer2"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Mortar"
[node name="HBoxContainer4" type="HBoxContainer" parent="HBoxContainer4"]
layout_mode = 2
theme_override_constants/separation = 30
alignment = 1
[node name="Button2" type="Button" parent="HBoxContainer4/HBoxContainer4"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Sticks"
[node name="Button3" type="Button" parent="HBoxContainer4/HBoxContainer4"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Mine"
[node name="HBoxContainer3" type="HBoxContainer" parent="HBoxContainer4"]
layout_mode = 2
theme_override_constants/separation = 120