From cb4ba03f997c619044576bf65a91368c03168308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Lemaire?= Date: Fri, 28 Feb 2020 00:41:11 +0100 Subject: [PATCH] Started work on weapon cards --- arenas/anchor.gd | 18 +- cards/base_card.gd | 16 + cards/base_card.tscn | 26 +- cards/damage.png | Bin 0 -> 3084 bytes cards/damage.png.import | 34 ++ cards/damage.svg | 217 ++++++++ cards/damage.svg.import | 34 ++ cards/weapons/gatling.png | Bin 0 -> 63328 bytes cards/weapons/gatling.png.import | 34 ++ cards/weapons/gatling.svg | 928 +++++++++++++++++++++++++++++++ cards/weapons/gatling.svg.import | 34 ++ cards/weapons/gatling.tscn | 21 + decks/all.tscn | 22 +- helpers/nodes.gd | 2 +- screens/battle/battle.tscn | 19 +- tests/hand_play_card.tscn | 104 +++- tests/unit_combat.tscn | 7 +- tests/unit_move.tscn | 1 - units/base_unit.gd | 8 + 19 files changed, 1479 insertions(+), 46 deletions(-) create mode 100644 cards/damage.png create mode 100644 cards/damage.png.import create mode 100644 cards/damage.svg create mode 100644 cards/damage.svg.import create mode 100644 cards/weapons/gatling.png create mode 100644 cards/weapons/gatling.png.import create mode 100644 cards/weapons/gatling.svg create mode 100644 cards/weapons/gatling.svg.import create mode 100644 cards/weapons/gatling.tscn diff --git a/arenas/anchor.gd b/arenas/anchor.gd index 8370d9c..76cdda2 100644 --- a/arenas/anchor.gd +++ b/arenas/anchor.gd @@ -5,7 +5,8 @@ class_name Anchor export var selectable = false export var selected = false export(String, "normal", "attack_start", "defend_start") var anchor_type = "normal" -export(NodePath) var content + +var content func _process(delta): if selected: @@ -18,6 +19,9 @@ func _process(delta): func _ready(): add_to_group("anchors") + if not content and self.get_child_count() == 1: + set_content(self.get_child(0)) + func is_connected_to(other: Anchor) -> bool: for route in get_tree().get_nodes_in_group("routes"): if route is Route and route.is_connecting(self, other): @@ -31,16 +35,14 @@ func set_content(val): if old_parent.has_method("set_content"): old_parent.set_content(null) old_parent.remove_child(val) - self.add_child(val) - content = val.get_path() + if not get_children().has(val): + add_child(val) + content = val else: content = null func get_content(): - if content: - return get_node_or_null(content) - else: - return null + return content if content else null func is_empty() -> bool: - return not get_content() + return not content diff --git a/cards/base_card.gd b/cards/base_card.gd index 9b6a1c4..e4df8bf 100644 --- a/cards/base_card.gd +++ b/cards/base_card.gd @@ -9,6 +9,7 @@ const BattleHelper = preload("res://helpers/battle.gd") export var title = "Card" setget set_title export(Texture) var portrait setget set_portrait export(PackedScene) var spawned_unit setget set_spawned_unit +export var damage_dealt = 0 setget set_damage_dealt var dragged = false var base_position @@ -19,6 +20,7 @@ func _ready(): set_portrait(portrait) set_title(title) set_spawned_unit(spawned_unit) + set_damage_dealt(damage_dealt) base_position = position func get_size() -> Vector2: @@ -47,6 +49,15 @@ func set_spawned_unit(val): else: $points.visible = false +func set_damage_dealt(val): + damage_dealt = val + if has_node("damage"): + if damage_dealt: + $damage/value.text = String(damage_dealt) + $damage.visible = true + else: + $damage.visible = false + func set_hero(val: Node): hero = val @@ -73,6 +84,11 @@ func play(anchor): if spawned_unit: unit = BattleHelper.spawn_unit(spawned_unit, anchor, hero.attacker if hero else false) + if damage_dealt: + var target = anchor.get_content() + if target and target.has_method("do_damage"): + target.do_damage(damage_dealt) + emit_signal("played", self, anchor, unit) func return_to_base(): diff --git a/cards/base_card.tscn b/cards/base_card.tscn index 39a784d..0a99f0e 100644 --- a/cards/base_card.tscn +++ b/cards/base_card.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://cards/base_card.png" type="Texture" id=1] [ext_resource path="res://cards/base_card.gd" type="Script" id=2] @@ -6,6 +6,7 @@ [ext_resource path="res://theme/fonts/daggersquare.regular.otf" type="DynamicFontData" id=4] [ext_resource path="res://helpers/drag.gd" type="Script" id=5] [ext_resource path="res://units/points.tscn" type="PackedScene" id=6] +[ext_resource path="res://cards/damage.png" type="Texture" id=7] [sub_resource type="DynamicFont" id=1] size = 32 @@ -43,6 +44,29 @@ position = Vector2( 130, 171 ) visible = false position = Vector2( 130, 299 ) scale = Vector2( 0.75, 0.75 ) +move = 0 +hull = 0 +shield = 0 +damage = 0 +enemy = false + +[node name="damage" type="Sprite" parent="."] +visible = false +position = Vector2( 130, 299 ) +scale = Vector2( 0.75, 0.75 ) +texture = ExtResource( 7 ) + +[node name="value" type="Label" parent="damage"] +margin_left = 1.26668 +margin_top = -24.0666 +margin_right = 41.2667 +margin_bottom = 24.9334 +theme = ExtResource( 3 ) +text = "1" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} [node name="drag" type="Control" parent="."] margin_right = 260.0 diff --git a/cards/damage.png b/cards/damage.png new file mode 100644 index 0000000000000000000000000000000000000000..6f529ed57343c199af11c123a9d1b4df3b8bca2f GIT binary patch literal 3084 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 YJYATXN%`a$0+2fhp^MZh(YB5FKM5E8m;e9( literal 0 HcmV?d00001 diff --git a/cards/damage.png.import b/cards/damage.png.import new file mode 100644 index 0000000..6cd1691 --- /dev/null +++ b/cards/damage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/damage.png-3352fd8ab631efa2b7ccbb8d4b72932a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cards/damage.png" +dest_files=[ "res://.import/damage.png-3352fd8ab631efa2b7ccbb8d4b72932a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/cards/damage.svg b/cards/damage.svg new file mode 100644 index 0000000..af529a8 --- /dev/null +++ b/cards/damage.svg @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/cards/damage.svg.import b/cards/damage.svg.import new file mode 100644 index 0000000..4bd80ab --- /dev/null +++ b/cards/damage.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/damage.svg-5bef143185717e9acb3627b0c36c69a2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cards/damage.svg" +dest_files=[ "res://.import/damage.svg-5bef143185717e9acb3627b0c36c69a2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/cards/weapons/gatling.png b/cards/weapons/gatling.png new file mode 100644 index 0000000000000000000000000000000000000000..f30599c3d24bab91474fd48966050c109dfb6beb GIT binary patch literal 63328 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 ygb!OiZ+_{R1+Tx`r-!aK@Z1DH#V$fP>K + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cards/weapons/gatling.svg.import b/cards/weapons/gatling.svg.import new file mode 100644 index 0000000..b485341 --- /dev/null +++ b/cards/weapons/gatling.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/gatling.svg-9eb48f3b5b8778c8c99b3fcf328890a7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cards/weapons/gatling.svg" +dest_files=[ "res://.import/gatling.svg-9eb48f3b5b8778c8c99b3fcf328890a7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/cards/weapons/gatling.tscn b/cards/weapons/gatling.tscn new file mode 100644 index 0000000..d28aca6 --- /dev/null +++ b/cards/weapons/gatling.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://cards/base_card.tscn" type="PackedScene" id=1] +[ext_resource path="res://cards/weapons/gatling.png" type="Texture" id=2] + +[node name="card" instance=ExtResource( 1 )] +title = "Gatling Gun" +portrait = ExtResource( 2 ) +damage_dealt = 3 + +[node name="title" parent="." index="1"] +text = "Gatling Gun" + +[node name="portrait" parent="." index="2"] +texture = ExtResource( 2 ) + +[node name="damage" parent="." index="4"] +visible = true + +[node name="value" parent="damage" index="0"] +text = "3" diff --git a/decks/all.tscn b/decks/all.tscn index a6692f1..1e7311b 100644 --- a/decks/all.tscn +++ b/decks/all.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://cards/spawns/spawn_trapper.tscn" type="PackedScene" id=1] [ext_resource path="res://cards/spawns/spawn_xander.tscn" type="PackedScene" id=2] @@ -9,31 +9,35 @@ [ext_resource path="res://cards/spawns/spawn_avenger.tscn" type="PackedScene" id=7] [ext_resource path="res://cards/spawns/spawn_commodore.tscn" type="PackedScene" id=8] [ext_resource path="res://cards/spawns/spawn_creeper.tscn" type="PackedScene" id=9] +[ext_resource path="res://cards/weapons/gatling.tscn" type="PackedScene" id=10] [node name="deck" type="Node2D"] [node name="spawn_avenger" parent="." instance=ExtResource( 7 )] [node name="spawn_breeze" parent="." instance=ExtResource( 3 )] -position = Vector2( 270, 0 ) +position = Vector2( 272, 0 ) [node name="spawn_commorode" parent="." instance=ExtResource( 8 )] -position = Vector2( 540, 0 ) +position = Vector2( 544, 0 ) [node name="spawn_creeper" parent="." instance=ExtResource( 9 )] -position = Vector2( 810, 0 ) +position = Vector2( 816, 0 ) [node name="spawn_falcon" parent="." instance=ExtResource( 6 )] -position = Vector2( 0, 330 ) +position = Vector2( 0, 336 ) [node name="spawn_flea" parent="." instance=ExtResource( 5 )] -position = Vector2( 270, 330 ) +position = Vector2( 272, 336 ) [node name="spawn_jumper" parent="." instance=ExtResource( 4 )] -position = Vector2( 540, 330 ) +position = Vector2( 544, 336 ) [node name="spawn_trapper" parent="." instance=ExtResource( 1 )] -position = Vector2( 810, 330 ) +position = Vector2( 816, 336 ) [node name="spawn_xander" parent="." instance=ExtResource( 2 )] -position = Vector2( 0, 660 ) +position = Vector2( 0, 672 ) + +[node name="card" parent="." instance=ExtResource( 10 )] +position = Vector2( 272, 672 ) diff --git a/helpers/nodes.gd b/helpers/nodes.gd index e1cc157..6f71ab2 100644 --- a/helpers/nodes.gd +++ b/helpers/nodes.gd @@ -4,5 +4,5 @@ static func set_parent(node: Node, parent: Node): var old_parent = node.get_parent() if old_parent and old_parent != parent: old_parent.remove_child(node) - + parent.add_child(node) diff --git a/screens/battle/battle.tscn b/screens/battle/battle.tscn index 1b5affb..98c99b1 100644 --- a/screens/battle/battle.tscn +++ b/screens/battle/battle.tscn @@ -12,7 +12,7 @@ [ext_resource path="res://units/heroes/tomahawk.tscn" type="PackedScene" id=10] [ext_resource path="res://units/heroes/rhino.tscn" type="PackedScene" id=11] -[sub_resource type="GDScript" id=2] +[sub_resource type="GDScript" id=1] script/source = "extends Polygon2D func start(text): @@ -20,8 +20,7 @@ func start(text): $anim.play(\"show\") " -[sub_resource type="Animation" id=1] -resource_name = "show" +[sub_resource type="Animation" id=2] length = 1.5 tracks/0/type = "value" tracks/0/path = NodePath(".:position") @@ -124,16 +123,26 @@ __meta__ = { [node name="attacker_points" parent="combat_info" instance=ExtResource( 7 )] position = Vector2( 260, -167.5 ) +move = 0 +hull = 0 +shield = 0 +damage = 0 +enemy = false [node name="defender_points" parent="combat_info" instance=ExtResource( 7 )] position = Vector2( 840, -167.5 ) +move = 0 +hull = 0 +shield = 0 +damage = 0 +enemy = false [node name="turn_indicator" type="Polygon2D" parent="."] position = Vector2( 170, 80 ) z_index = 50 color = Color( 0.227451, 0.392157, 0.47451, 1 ) polygon = PoolVector2Array( -570, 980, -470, 780, 1420, 780, 1320, 980 ) -script = SubResource( 2 ) +script = SubResource( 1 ) __meta__ = { "_edit_group_": true } @@ -155,7 +164,7 @@ __meta__ = { } [node name="anim" type="AnimationPlayer" parent="turn_indicator"] -anims/show = SubResource( 1 ) +anims/show = SubResource( 2 ) [connection signal="unit_created" from="hand_attack" to="." method="_on_unit_created"] [connection signal="pressed" from="hand_attack/skip" to="hand_attack" method="emit_turn_end"] [connection signal="unit_created" from="hand_defend" to="." method="_on_unit_created"] diff --git a/tests/hand_play_card.tscn b/tests/hand_play_card.tscn index c1e5190..b5ee9a7 100644 --- a/tests/hand_play_card.tscn +++ b/tests/hand_play_card.tscn @@ -1,23 +1,103 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://screens/battle/hand.gd" type="Script" id=1] [ext_resource path="res://arenas/anchor.tscn" type="PackedScene" id=2] [ext_resource path="res://cards/spawns/spawn_breeze.tscn" type="PackedScene" id=3] [ext_resource path="res://theme/ui.tres" type="Theme" id=4] +[ext_resource path="res://arenas/route.tscn" type="PackedScene" id=5] +[ext_resource path="res://units/heroes/tomahawk.tscn" type="PackedScene" id=6] +[ext_resource path="res://cards/weapons/gatling.tscn" type="PackedScene" id=7] +[ext_resource path="res://units/basic/avenger.tscn" type="PackedScene" id=8] [sub_resource type="GDScript" id=1] script/source = "extends Node2D func _ready(): - $hand.add_card($card) + $card_unit.set_hero($arena1/anchor3/hero) + $hand.add_card($card_unit) + $card_weapon.set_hero($arena2/anchor1/hero) + $hand.add_card($card_weapon) $hand.rearrange() " [node name="Node2D" type="Node2D"] script = SubResource( 1 ) -[node name="anchor" parent="." instance=ExtResource( 2 )] -position = Vector2( 570, 900 ) +[node name="arena1" type="Node2D" parent="."] + +[node name="help" type="Label" parent="arena1"] +margin_left = 8.0 +margin_top = 360.0 +margin_right = 1080.0 +margin_bottom = 409.0 +theme = ExtResource( 4 ) +text = "Units can be deployed next to the hero unit" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="route1" parent="arena1" instance=ExtResource( 5 )] +points = PoolVector2Array( 192, 192, 552, 192 ) +start = NodePath("../anchor1") +end = NodePath("../anchor2") + +[node name="route2" parent="arena1" instance=ExtResource( 5 )] +points = PoolVector2Array( 552, 192, 896, 192 ) +start = NodePath("../anchor2") +end = NodePath("../anchor3") + +[node name="anchor1" parent="arena1" instance=ExtResource( 2 )] +position = Vector2( 192, 192 ) + +[node name="anchor2" parent="arena1" instance=ExtResource( 2 )] +position = Vector2( 552, 192 ) + +[node name="anchor3" parent="arena1" instance=ExtResource( 2 )] +position = Vector2( 896, 192 ) + +[node name="hero" parent="arena1/anchor3" instance=ExtResource( 6 )] +attacker = true + +[node name="arena2" type="Node2D" parent="."] + +[node name="help2" type="Label" parent="arena2"] +margin_left = 8.0 +margin_top = 872.0 +margin_right = 1080.0 +margin_bottom = 921.0 +theme = ExtResource( 4 ) +text = "Weapons can fire from the hero unit" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="route1" parent="arena2" instance=ExtResource( 5 )] +points = PoolVector2Array( 192, 640, 512, 640 ) +start = NodePath("../anchor1") +end = NodePath("../anchor2") + +[node name="route2" parent="arena2" instance=ExtResource( 5 )] +points = PoolVector2Array( 512, 640, 832, 640 ) +start = NodePath("../anchor2") +end = NodePath("../anchor3") + +[node name="anchor1" parent="arena2" instance=ExtResource( 2 )] +position = Vector2( 192, 640 ) + +[node name="hero" parent="arena2/anchor1" instance=ExtResource( 6 )] +attacker = true + +[node name="anchor2" parent="arena2" instance=ExtResource( 2 )] +position = Vector2( 512, 640 ) + +[node name="avenger" parent="arena2/anchor2" instance=ExtResource( 8 )] + +[node name="anchor3" parent="arena2" instance=ExtResource( 2 )] +position = Vector2( 832, 640 ) + +[node name="avenger" parent="arena2/anchor3" instance=ExtResource( 8 )] [node name="hand" type="Control" parent="."] margin_left = 160.0 @@ -28,16 +108,10 @@ script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } +attack = true -[node name="card" parent="." instance=ExtResource( 3 )] +[node name="card_unit" parent="." instance=ExtResource( 3 )] +position = Vector2( -320, 0 ) -[node name="help" type="Label" parent="."] -margin_left = 170.0 -margin_top = 470.0 -margin_right = 953.0 -margin_bottom = 519.0 -theme = ExtResource( 4 ) -text = "Drag the card to the anchor, to deploy it" -__meta__ = { -"_edit_use_anchors_": false -} +[node name="card_weapon" parent="." instance=ExtResource( 7 )] +position = Vector2( -320, 520 ) diff --git a/tests/unit_combat.tscn b/tests/unit_combat.tscn index 8794f0d..c8a2b4c 100644 --- a/tests/unit_combat.tscn +++ b/tests/unit_combat.tscn @@ -6,7 +6,6 @@ [ext_resource path="res://units/basic/flea.tscn" type="PackedScene" id=4] [ext_resource path="res://units/basic/avenger.tscn" type="PackedScene" id=5] - [node name="Node2D" type="Node2D"] [node name="route" parent="." instance=ExtResource( 1 )] @@ -21,9 +20,9 @@ end = NodePath("../anchor3") [node name="anchor" parent="." instance=ExtResource( 2 )] position = Vector2( 400, 800 ) -content = NodePath("flea") [node name="flea" parent="anchor" instance=ExtResource( 4 )] +modulate = Color( 1, 1, 1, 1 ) base_move_points = 1 base_hull_points = 2 base_damage_points = 2 @@ -32,10 +31,8 @@ playable = true [node name="anchor2" parent="." instance=ExtResource( 2 )] position = Vector2( 700, 800 ) -content = NodePath("trapper") [node name="trapper" parent="anchor2" instance=ExtResource( 3 )] -modulate = Color( 0.5, 0.5, 0.5, 1 ) base_move_points = 0 base_hull_points = 1 base_shield_points = 0 @@ -43,8 +40,6 @@ base_damage_points = 2 [node name="anchor3" parent="." instance=ExtResource( 2 )] position = Vector2( 550, 1100 ) -content = NodePath("avenger") [node name="avenger" parent="anchor3" instance=ExtResource( 5 )] -modulate = Color( 0.5, 0.5, 0.5, 1 ) base_shield_points = 3 diff --git a/tests/unit_move.tscn b/tests/unit_move.tscn index 5904239..9ed3817 100644 --- a/tests/unit_move.tscn +++ b/tests/unit_move.tscn @@ -23,7 +23,6 @@ end = NodePath("../anchor") [node name="anchor" parent="." instance=ExtResource( 1 )] position = Vector2( 300, 900 ) -content = NodePath("creeper") [node name="creeper" parent="anchor" instance=ExtResource( 3 )] modulate = Color( 1, 1, 1, 1 ) diff --git a/units/base_unit.gd b/units/base_unit.gd index c7df612..4ffe7f5 100644 --- a/units/base_unit.gd +++ b/units/base_unit.gd @@ -133,6 +133,14 @@ func attack(other): if otherpoints.hull <= 0: other.destroy() +func do_damage(val): + var selfpoints = get_points() + var fakepoints = load("res://units/points.tscn").instance() + fakepoints.damage = val + BattleHelper.apply_combat(fakepoints, get_points()) + if selfpoints.hull <= 0: + destroy() + func reset_state(): dragged = null $move_hint.visible = false