From 7ae8090c3872a0629fe780d48155c79f71e74702 Mon Sep 17 00:00:00 2001 From: Lexi Quinn Date: Wed, 11 Feb 2026 09:57:17 +1100 Subject: [PATCH] added some translation keys --- Enemies/Crystalisk/scn_crystalisk.tscn | 60 ++++++++++-------- Enemies/Driftling/scn_driftling.tscn | 23 +++---- Enemies/ElderEyeDog/scn_elder_eye_dog.tscn | 7 +- Enemies/EyeDog/scn_eye_dog.tscn | 7 +- Enemies/Skitter/scn_skitter.tscn | 17 ++--- Locales/en.mo | Bin 10784 -> 11242 bytes Locales/en.po | 24 +++++++ Locales/translation_template.pot | 24 +++++++ Scenes/CardPrinter/card_printer.tscn | 1 + Scripts/Affectors/spawn_affect.gd | 2 +- UI/Menus/MixingMenu/track_editor.gd | 29 ++++++--- UI/card_description_ui.gd | 2 +- .../GreenPlanet/Enemies/enemy_controller.gd | 1 + project.godot | 2 +- 14 files changed, 134 insertions(+), 65 deletions(-) diff --git a/Enemies/Crystalisk/scn_crystalisk.tscn b/Enemies/Crystalisk/scn_crystalisk.tscn index eeb6923..aa1aa88 100644 --- a/Enemies/Crystalisk/scn_crystalisk.tscn +++ b/Enemies/Crystalisk/scn_crystalisk.tscn @@ -4,7 +4,7 @@ [ext_resource type="PackedScene" uid="uid://o6whohcbalui" path="res://Enemies/Crystalisk/mdl_crystalisk.glb" id="2_myjng"] [ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="3_myjng"] -[sub_resource type="ViewportTexture" id="ViewportTexture_ij8ev"] +[sub_resource type="ViewportTexture" id="ViewportTexture_ngren"] viewport_path = NodePath("SubViewport") [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c5uwa"] @@ -15,48 +15,54 @@ height = 1.415 radius = 0.133503 height = 0.56 -[node name="Dog" unique_id=1355419805 instance=ExtResource("1_aormu")] +[node name="Dog" unique_id=1355419805 node_paths=PackedStringArray("model") instance=ExtResource("1_aormu")] +model = NodePath("Model") [node name="Sprite3D" parent="." index="0" unique_id=2020998819] -texture = SubResource("ViewportTexture_ij8ev") +texture = SubResource("ViewportTexture_ngren") -[node name="crystal_enemy" parent="." index="6" unique_id=86826412 instance=ExtResource("2_myjng")] - -[node name="Cube_001" parent="crystal_enemy" index="1" unique_id=1809229845] -transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -0.59980416, -0.60039425, 0) - -[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_001" index="0" unique_id=1303209050] -remote_path = NodePath("../../../MiniHitbox2") - -[node name="Cube_002" parent="crystal_enemy" index="2" unique_id=2142282279] -transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0.60133517, 0.5952302, 0) - -[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_002" index="0" unique_id=42756288] -remote_path = NodePath("../../../MiniHitbox") - -[node name="AnimationPlayer" parent="crystal_enemy" index="3" unique_id=807474404] -autoplay = &"Spin" -speed_scale = 2.0 - -[node name="MainHitbox" type="CollisionShape3D" parent="." index="7" unique_id=1521729609] +[node name="MainHitbox" type="CollisionShape3D" parent="." index="6" unique_id=1521729609] shape = SubResource("CapsuleShape3D_c5uwa") script = ExtResource("3_myjng") metadata/_custom_type_script = "uid://cummt2be3r1gq" -[node name="MiniHitbox" type="CollisionShape3D" parent="." index="8" unique_id=1324997842] -transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0.60133517, 0.5952302, 0) +[node name="MiniHitbox" type="CollisionShape3D" parent="." index="7" unique_id=1324997842] +transform = Transform3D(0.20648184, 0, 0.97845036, 0, 1, 0, -0.97845036, 0, 0.20648184, 0.11321902, 0.5952302, 0.5539899) shape = SubResource("CapsuleShape3D_d7aub") script = ExtResource("3_myjng") critical_zone = true metadata/_custom_type_script = "uid://cummt2be3r1gq" -[node name="MiniHitbox2" type="CollisionShape3D" parent="." index="9" unique_id=723617284] -transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -0.59980416, -0.60039425, 0) +[node name="MiniHitbox2" type="CollisionShape3D" parent="." index="8" unique_id=723617284] +transform = Transform3D(0.20648184, 0, 0.97845036, 0, 1, 0, -0.97845036, 0, 0.20648184, -0.111688085, -0.60039425, -0.5539899) shape = SubResource("CapsuleShape3D_d7aub") script = ExtResource("3_myjng") critical_zone = true metadata/_custom_type_script = "uid://cummt2be3r1gq" +[node name="Model" type="Node3D" parent="." index="9" unique_id=219224928] + +[node name="crystal_enemy" parent="Model" index="0" unique_id=86826412 instance=ExtResource("2_myjng")] + +[node name="Cube" parent="Model/crystal_enemy" index="0" unique_id=91305469] +transform = Transform3D(-0.77668554, 0, 0.6298886, 0, 1, 0, -0.6298886, 0, -0.77668554, 0, 0, 0) + +[node name="Cube_001" parent="Model/crystal_enemy" index="1" unique_id=2082517745] +transform = Transform3D(0.20648184, 0, 0.97845036, 0, 1, 0, -0.97845036, 0, 0.20648184, -0.111688085, -0.60039425, -0.5539899) + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="Model/crystal_enemy/Cube_001" index="0" unique_id=1303209050] +remote_path = NodePath("../../../../MiniHitbox2") + +[node name="Cube_002" parent="Model/crystal_enemy" index="2" unique_id=216197994] +transform = Transform3D(0.20648184, 0, 0.97845036, 0, 1, 0, -0.97845036, 0, 0.20648184, 0.11321902, 0.5952302, 0.5539899) + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="Model/crystal_enemy/Cube_002" index="0" unique_id=42756288] +remote_path = NodePath("../../../../MiniHitbox") + +[node name="AnimationPlayer" parent="Model/crystal_enemy" index="3" unique_id=1597075659] +autoplay = &"Spin" +speed_scale = 2.0 + [connection signal="recieved_effect" from="MainHitbox" to="StatusEffector" method="add_effect"] [connection signal="took_damage" from="MainHitbox" to="." method="take_damage"] [connection signal="recieved_effect" from="MiniHitbox" to="StatusEffector" method="add_effect"] @@ -64,4 +70,4 @@ metadata/_custom_type_script = "uid://cummt2be3r1gq" [connection signal="recieved_effect" from="MiniHitbox2" to="StatusEffector" method="add_effect"] [connection signal="took_damage" from="MiniHitbox2" to="." method="take_damage"] -[editable path="crystal_enemy"] +[editable path="Model/crystal_enemy"] diff --git a/Enemies/Driftling/scn_driftling.tscn b/Enemies/Driftling/scn_driftling.tscn index 64e5b39..ea99e6a 100644 --- a/Enemies/Driftling/scn_driftling.tscn +++ b/Enemies/Driftling/scn_driftling.tscn @@ -5,16 +5,16 @@ [ext_resource type="Script" uid="uid://cxu1voan64i5g" path="res://Scripts/driftling_drippler.gd" id="3_j6vnr"] [ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="3_w6hpp"] -[sub_resource type="ViewportTexture" id="ViewportTexture_jw1s4"] +[sub_resource type="ViewportTexture" id="ViewportTexture_j6vnr"] viewport_path = NodePath("SubViewport") -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c5uwa"] -radius = 0.98339844 -height = 1.977041 +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_j6vnr"] +radius = 9.576172 +height = 80.757 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d7aub"] -radius = 0.133503 -height = 2.1241307 +radius = 39.50537 +height = 83.97125 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_w6hpp"] animation = &"Deflated" @@ -25,7 +25,7 @@ animation = &"Bloated" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_s1mj6"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_bw4p2"] -graph_offset = Vector2(-290, 122) +graph_offset = Vector2(-280, 253.70001) nodes/Blend2/node = SubResource("AnimationNodeBlend2_s1mj6") nodes/Blend2/position = Vector2(138, 208) nodes/Animation/node = SubResource("AnimationNodeAnimation_lgos0") @@ -34,15 +34,16 @@ nodes/Animation/position = Vector2(-94, 177) "nodes/Animation 2/position" = Vector2(-66, 358) node_connections = [&"output", 0, &"Blend2", &"Blend2", 0, &"Animation", &"Blend2", 1, &"Animation 2"] -[node name="Driftling" unique_id=1355419805 instance=ExtResource("1_8yn7v")] +[node name="Driftling" unique_id=1355419805 node_paths=PackedStringArray("model") instance=ExtResource("1_8yn7v")] +collision_mask = 0 +model = NodePath("Model") [node name="Sprite3D" parent="." index="0" unique_id=2020998819] -texture = SubResource("ViewportTexture_jw1s4") +texture = SubResource("ViewportTexture_j6vnr") [node name="MainHitbox" type="CollisionShape3D" parent="." index="6" unique_id=1521729609] transform = Transform3D(0.025398083, 0, 0, 0, 0.025398083, 0, 0, 0, 0.025398083, 0, 0.23003143, 0) -visible = false -shape = SubResource("CapsuleShape3D_c5uwa") +shape = SubResource("CapsuleShape3D_j6vnr") script = ExtResource("3_w6hpp") metadata/_custom_type_script = "uid://cummt2be3r1gq" diff --git a/Enemies/ElderEyeDog/scn_elder_eye_dog.tscn b/Enemies/ElderEyeDog/scn_elder_eye_dog.tscn index 00f6335..a5f9dae 100644 --- a/Enemies/ElderEyeDog/scn_elder_eye_dog.tscn +++ b/Enemies/ElderEyeDog/scn_elder_eye_dog.tscn @@ -18,7 +18,7 @@ radius = 0.325 [sub_resource type="ViewportTexture" id="ViewportTexture_1kwxq"] viewport_path = NodePath("SubViewport") -[node name="ElderEyeDog" type="CharacterBody3D" unique_id=1106613653 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]] +[node name="ElderEyeDog" type="CharacterBody3D" unique_id=1106613653 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar", "model") groups=["Enemies"]] collision_layer = 4 collision_mask = 0 script = ExtResource("1_7wwbi") @@ -27,6 +27,7 @@ movement_controller = NodePath("PathingController") d_n = NodePath("Node3D") corpse_scene = ExtResource("2_k8w4y") health_bar = NodePath("SubViewport/HealthBar") +model = NodePath("elder_eyedog") metadata/_custom_type_script = "uid://ejqql2660u6h" [node name="Hitbox" type="CollisionShape3D" parent="." unique_id=542685682] @@ -88,7 +89,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.39813, 0) [node name="elder_eyedog" parent="." unique_id=1528468919 instance=ExtResource("8_fil5h")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) -[node name="Skeleton3D" parent="elder_eyedog/Armature" parent_id_path=PackedInt32Array(1528468919, 1628745338) index="0" unique_id=1532207150] +[node name="Skeleton3D" parent="elder_eyedog/Armature" parent_id_path=PackedInt32Array(1528468919, 2081899383) index="0" unique_id=7671726] bones/1/rotation = Quaternion(-0.43930408, -1.0709028e-07, 5.2369117e-08, 0.89833844) bones/3/rotation = Quaternion(0.23378512, 0.3248512, 0.54275554, 0.7383987) bones/4/rotation = Quaternion(0.20259592, 0.73083645, 0.1334472, 0.637985) @@ -113,7 +114,7 @@ bones/23/position = Vector3(0.25597548, 0.022818465, 0.20058686) bones/23/scale = Vector3(0.89347196, 1, 1) bones/24/position = Vector3(0.08454189, 0.014853473, 0.12984678) -[node name="AnimationPlayer" parent="elder_eyedog" index="1" unique_id=1165387739] +[node name="AnimationPlayer" parent="elder_eyedog" index="1" unique_id=1439920918] autoplay = &"ArmatureAction" [connection signal="recieved_effect" from="Hitbox" to="StatusEffector" method="add_effect"] diff --git a/Enemies/EyeDog/scn_eye_dog.tscn b/Enemies/EyeDog/scn_eye_dog.tscn index cbdcceb..bc7943c 100644 --- a/Enemies/EyeDog/scn_eye_dog.tscn +++ b/Enemies/EyeDog/scn_eye_dog.tscn @@ -18,7 +18,7 @@ radius = 0.25 [sub_resource type="ViewportTexture" id="ViewportTexture_1kwxq"] viewport_path = NodePath("SubViewport") -[node name="EyeDog" type="CharacterBody3D" unique_id=1016179251 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]] +[node name="EyeDog" type="CharacterBody3D" unique_id=1016179251 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar", "model") groups=["Enemies"]] collision_layer = 4 collision_mask = 0 script = ExtResource("1_1dh2f") @@ -27,6 +27,7 @@ movement_controller = NodePath("PathingController") d_n = NodePath("Node3D") corpse_scene = ExtResource("2_1dh2f") health_bar = NodePath("SubViewport/HealthBar") +model = NodePath("eyedog") metadata/_custom_type_script = "uid://ejqql2660u6h" [node name="Hitbox" type="CollisionShape3D" parent="." unique_id=1815903905] @@ -88,7 +89,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.39813, 0) [node name="eyedog" parent="." unique_id=588577646 instance=ExtResource("10_h25mw")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) -[node name="Skeleton3D" parent="eyedog/Armature" parent_id_path=PackedInt32Array(588577646, 473381473) index="0" unique_id=323158019] +[node name="Skeleton3D" parent="eyedog/Armature" parent_id_path=PackedInt32Array(588577646, 675643400) index="0" unique_id=28344697] bones/1/rotation = Quaternion(-0.43930408, -1.0709029e-07, 5.2369124e-08, 0.89833844) bones/3/rotation = Quaternion(0.23378512, 0.32485124, 0.5427555, 0.7383988) bones/4/rotation = Quaternion(0.2025959, 0.7308365, 0.13344719, 0.637985) @@ -113,7 +114,7 @@ bones/23/position = Vector3(0.25597548, 0.022818465, 0.20058686) bones/23/scale = Vector3(0.89347196, 1, 1) bones/24/position = Vector3(0.08454189, 0.014853473, 0.12984678) -[node name="AnimationPlayer" parent="eyedog" index="1" unique_id=993841819] +[node name="AnimationPlayer" parent="eyedog" index="1" unique_id=815829767] autoplay = &"ArmatureAction" [connection signal="recieved_effect" from="Hitbox" to="StatusEffector" method="add_effect"] diff --git a/Enemies/Skitter/scn_skitter.tscn b/Enemies/Skitter/scn_skitter.tscn index 78ccdae..39ebd09 100644 --- a/Enemies/Skitter/scn_skitter.tscn +++ b/Enemies/Skitter/scn_skitter.tscn @@ -19,7 +19,7 @@ size = Vector3(1, 0.25274658, 1.2819824) radius = 0.19042969 height = 0.7624512 -[node name="Skitter" type="CharacterBody3D" unique_id=1710427344 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]] +[node name="Skitter" type="CharacterBody3D" unique_id=1710427344 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar", "model") groups=["Enemies"]] collision_layer = 4 collision_mask = 0 script = ExtResource("1_8k5ts") @@ -28,6 +28,7 @@ movement_controller = NodePath("PathingController") d_n = NodePath("Node3D") corpse_scene = ExtResource("2_vl30x") health_bar = NodePath("SubViewport/HealthBar") +model = NodePath("mdl_skitter") metadata/_custom_type_script = "uid://ejqql2660u6h" [node name="HealthBar" type="Sprite3D" parent="." unique_id=395203513] @@ -75,15 +76,15 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.39813, 0) [node name="mdl_skitter" parent="." unique_id=1753143851 instance=ExtResource("7_pxxbh")] -[node name="Skeleton3D" parent="mdl_skitter/Armature" parent_id_path=PackedInt32Array(1753143851, 1635157965) index="0" unique_id=1089123257] +[node name="Skeleton3D" parent="mdl_skitter/Armature" parent_id_path=PackedInt32Array(1753143851, 181874703) index="0" unique_id=1683908579] bones/1/rotation = Quaternion(-0.32276848, -0.08836041, 0.37510455, 0.86447066) -bones/3/rotation = Quaternion(0.05774434, -0.027616108, 0.8835519, 0.46393853) -bones/5/rotation = Quaternion(0.27334806, -0.034516517, 0.89473575, 0.3514789) -bones/7/rotation = Quaternion(-0.34224942, 0.09999892, -0.3036359, 0.8835558) -bones/9/rotation = Quaternion(-0.19445433, 0.17105538, -0.5590174, 0.7876719) -bones/11/rotation = Quaternion(-0.28836852, -0.021420462, 0.89958346, -0.32731378) +bones/3/rotation = Quaternion(0.06005325, -0.026217883, 0.88538456, 0.46021783) +bones/5/rotation = Quaternion(0.27340084, -0.034470994, 0.8947543, 0.35139534) +bones/7/rotation = Quaternion(-0.34211865, 0.09991861, -0.3041486, 0.8834392) +bones/9/rotation = Quaternion(-0.19451223, 0.17108603, -0.55891204, 0.7877258) +bones/11/rotation = Quaternion(-0.29005635, -0.019931562, 0.90007704, -0.32454818) -[node name="AnimationPlayer" parent="mdl_skitter" index="1" unique_id=966022087] +[node name="AnimationPlayer" parent="mdl_skitter" index="1" unique_id=1337990875] autoplay = &"Walk" [node name="Hitbox" type="CollisionShape3D" parent="." unique_id=438909712] diff --git a/Locales/en.mo b/Locales/en.mo index e5096465dec58dedfb2b2d17e5dd7e20b1afcecc..349a943db67d94873bdf7d06182ee52730790d24 100644 GIT binary patch delta 3824 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 bH;YS0^G#l+IdQU=mgVG$TJI)L(vAQCb!015 diff --git a/Locales/en.po b/Locales/en.po index 596b963..05c5fb6 100644 --- a/Locales/en.po +++ b/Locales/en.po @@ -657,6 +657,30 @@ msgstr "Standard Campaign Mode" msgid "LABEL_ENDLESS_DESC" msgstr "Endless Mode with random waves and all unlocked equipment" +msgid "BUTTON_MULTIPLAYER" +msgstr "Multiplayer" + +msgid "OPTION_ALWAYS_SHOW_SHIELD" +msgstr "Always show objective health" + +msgid "OPTION_RESOLUTION_SCALING" +msgstr "Resolution Scaling" + +msgid "OPTION_VERTEX_JITTER" +msgstr "Vertex Jitter" + +msgid "OPTION_AFFINE_WARPING" +msgstr "Affine Texture Warping" + +msgid "TARGET_TYPE_ALL" +msgstr "ALL" + +msgid "TARGET_TYPE_LAND" +msgstr "Walking" + +msgid "TARGET_TYPE_FLYING" +msgstr "Flying" + #, fuzzy #~| msgid "LABEL_DISPLAY_NAME" #~ msgid "LABEL_CARD_NAME" diff --git a/Locales/translation_template.pot b/Locales/translation_template.pot index f177abb..c0d30c3 100644 --- a/Locales/translation_template.pot +++ b/Locales/translation_template.pot @@ -614,3 +614,27 @@ msgstr "" msgid "LABEL_ENDLESS_DESC" msgstr "" + +msgid "BUTTON_MULTIPLAYER" +msgstr "" + +msgid "OPTION_ALWAYS_SHOW_SHIELD" +msgstr "" + +msgid "OPTION_RESOLUTION_SCALING" +msgstr "" + +msgid "OPTION_VERTEX_JITTER" +msgstr "" + +msgid "OPTION_AFFINE_WARPING" +msgstr "" + +msgid "TARGET_TYPE_ALL" +msgstr "" + +msgid "TARGET_TYPE_LAND" +msgstr "" + +msgid "TARGET_TYPE_FLYING" +msgstr "" diff --git a/Scenes/CardPrinter/card_printer.tscn b/Scenes/CardPrinter/card_printer.tscn index a8121e4..40c65c5 100644 --- a/Scenes/CardPrinter/card_printer.tscn +++ b/Scenes/CardPrinter/card_printer.tscn @@ -47,6 +47,7 @@ shape = SubResource("BoxShape3D_ikdwj") [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="StaticBody3D" unique_id=2125771228] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.578748, -0.587001) stream = SubResource("AudioStreamRandomizer_73g2w") +volume_db = -6.5 bus = &"SFX" [node name="CSGBox3D3" type="CSGBox3D" parent="." unique_id=1739651585] diff --git a/Scripts/Affectors/spawn_affect.gd b/Scripts/Affectors/spawn_affect.gd index a5a9f09..9faac8b 100644 --- a/Scripts/Affectors/spawn_affect.gd +++ b/Scripts/Affectors/spawn_affect.gd @@ -12,7 +12,7 @@ func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void: for target: EnemyController in targets: var projectile: Projectile = spawn_scene.instantiate() as Projectile if projectile is HomingProjectile: - projectile.target = target + projectile.target = target.model projectile.position = tower.yaw_model.global_position projectile.effect = effect projectile.direction = -tower.yaw_model.global_transform.basis.z diff --git a/UI/Menus/MixingMenu/track_editor.gd b/UI/Menus/MixingMenu/track_editor.gd index 130285f..8f7ccbd 100644 --- a/UI/Menus/MixingMenu/track_editor.gd +++ b/UI/Menus/MixingMenu/track_editor.gd @@ -38,7 +38,6 @@ var cards: Array[Card] var card_selected: Card var temp_card: Card var cost: int = 0 -var check_button_pressed: bool = false func _ready() -> void: @@ -57,12 +56,12 @@ func set_money(money: int) -> void: func press_check_button(value: bool) -> void: - check_button_pressed = value - if check_button_pressed: - switch_button.text = tr(SIDE_B_STR) - else: + switch_button.button_pressed = value + if !value: switch_button.text = tr(SIDE_A_STR) - card_desc.set_card(temp_card, !check_button_pressed) + else: + switch_button.text = tr(SIDE_B_STR) + card_desc.set_card(temp_card, switch_button.button_pressed) func _process(_delta: float) -> void: @@ -98,11 +97,19 @@ func select_card(option: int) -> void: temp_card = card_selected.duplicate() temp_card.tower_stats = temp_card.tower_stats.get_duplicate() temp_card.weapon_stats = temp_card.weapon_stats.get_duplicate() - press_check_button(check_button_pressed) + press_check_button(switch_button.button_pressed) + var x: int = 0 for feature: Feature in temp_card.tower_stats.features: + if x > 0: + tower_prices[x - 1].visible = false add_feature(feature, 0, false) + x += 1 + x = 0 for feature: Feature in temp_card.weapon_stats.features: + if x > 0: + weapon_prices[x - 1].visible = false add_feature(feature, 1, false) + x += 1 func add_option(card_options: Array[Card]) -> void: @@ -186,7 +193,8 @@ func add_feature(feature: Feature, track: int, modify_resource: bool = true) -> tower_prices[tower_feature_uis.size() - 2].visible = false cost += Data.slot_prices[tower_feature_uis.size() - 2] price_label.text = tr(PRICE_STR) + str(cost) - card_desc.set_card(temp_card, check_button_pressed) + press_check_button(false) + card_desc.set_card(temp_card, switch_button.button_pressed) if cost > hero.currency: confirm_button.disabled = true elif track == 1: @@ -202,7 +210,8 @@ func add_feature(feature: Feature, track: int, modify_resource: bool = true) -> weapon_prices[weapon_feature_uis.size() - 2].visible = false cost += Data.slot_prices[weapon_feature_uis.size() - 2] price_label.text = tr(PRICE_STR) + str(cost) - card_desc.set_card(temp_card, check_button_pressed) + press_check_button(true) + card_desc.set_card(temp_card, switch_button.button_pressed) if cost > hero.currency: confirm_button.disabled = true @@ -215,7 +224,7 @@ func change_feature(existing_feature: FeatureUI, new_feature: Feature, track: in elif track == 1: var i: int = weapon_feature_uis.find(existing_feature) temp_card.weapon_stats.features[i] = new_feature - card_desc.set_card(temp_card, check_button_pressed) + card_desc.set_card(temp_card, switch_button.button_pressed) func attach_feat_to_mouse(feature: Feature) -> void: diff --git a/UI/card_description_ui.gd b/UI/card_description_ui.gd index b07d9fa..ca46195 100644 --- a/UI/card_description_ui.gd +++ b/UI/card_description_ui.gd @@ -21,7 +21,7 @@ func hide_card_name() -> void: func set_card(new_card: Card, side: bool) -> void: card = new_card - side_a = side + side_a = !side card_name_label.text = tr(card.display_name) card_description_label.text = process_card_text(card.tower_stats.tower_features_applied()) if side_a else process_card_text(card.weapon_stats.weapon_features_applied()) populate_features() diff --git a/Worlds/GreenPlanet/Enemies/enemy_controller.gd b/Worlds/GreenPlanet/Enemies/enemy_controller.gd index 5f51c65..f7fbcf0 100644 --- a/Worlds/GreenPlanet/Enemies/enemy_controller.gd +++ b/Worlds/GreenPlanet/Enemies/enemy_controller.gd @@ -12,6 +12,7 @@ signal health_changed(health: int) #@export var sprite: Sprite3D @export var corpse_scene: PackedScene @export var health_bar: HealthBar +@export var model: Node3D var damage_particle_scene: PackedScene = preload("res://UI/DamageParticle/damage_particle.tscn") var current_health: int diff --git a/project.godot b/project.godot index 4204f50..702da43 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="Decked Out Defense" -config/version="0.3.6" +config/version="0.4.0" run/main_scene="uid://d2k8y13qfvch0" config/features=PackedStringArray("4.6", "Forward Plus") boot_splash/show_image=false