starting to build out more actions and pegs, first thing to do tho is rework movement / targeting a little bit
This commit is contained in:
@@ -47,7 +47,7 @@ public partial class Peg : HoverableNode
|
||||
public virtual List<Vector2I> GetBestPath(bool PARTIAL = false)
|
||||
{
|
||||
Map map = _pegController._playArea._map;
|
||||
List<Vector2I> goals = GetGoals();
|
||||
List<Vector2I> goals = Target();
|
||||
|
||||
for (int i = 0; i < goals.Count; i++)
|
||||
{
|
||||
@@ -67,7 +67,7 @@ public partial class Peg : HoverableNode
|
||||
return [.. map._cells.Where(c => (c - _address).Length() <= _visibility)];
|
||||
}
|
||||
|
||||
public virtual List<Vector2I> GetGoals()
|
||||
public virtual List<Vector2I> Target()
|
||||
{
|
||||
Map map = _pegController._playArea._map;
|
||||
List<Vector2I> visible = GetVisibleCells();
|
||||
|
||||
@@ -2,7 +2,7 @@ using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
public partial class Shortbow : PegAction
|
||||
public partial class ShootShortbow : PegAction
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
@@ -17,7 +17,7 @@ public partial class Shortbow : PegAction
|
||||
|
||||
public override Tween CreateAnimation(Peg PEG)
|
||||
{
|
||||
Vector2 target = PEG._pegController._playerController._towers.OrderBy(t => (t.GlobalPosition - GlobalPosition).Length()).ToList()[0].GlobalPosition;
|
||||
Vector2 target = Target(PEG);
|
||||
Tween subtween = CreateTween();
|
||||
subtween.TweenProperty(_image, "visible", true, 0.0f);
|
||||
subtween.TweenProperty(_image, "global_position", target, 0.5f);
|
||||
@@ -29,5 +29,10 @@ public partial class Shortbow : PegAction
|
||||
}));
|
||||
return subtween;
|
||||
}
|
||||
|
||||
public override Vector2 Target(Peg PEG)
|
||||
{
|
||||
return PEG._pegController._playerController._towers.OrderBy(t => (t.GlobalPosition - GlobalPosition).Length()).ToList()[0].GlobalPosition;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@ using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
public partial class Shortsword : PegAction
|
||||
public partial class SwingShortsword : PegAction
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
@@ -0,0 +1,18 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class ThrustSpear : PegAction
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
_category = "attack";
|
||||
_priority = 1;
|
||||
_cost = 2;
|
||||
_range = 0;
|
||||
_usesMax = 1;
|
||||
_usesRemaining = _usesMax;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://bj2lg1voxioq7
|
||||
@@ -1,9 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://duspilwelsiy3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dt7qbvowj1sm4" path="res://Pegs/Actions/Shortbow.cs" id="1_yhiab"]
|
||||
[ext_resource type="Script" uid="uid://dt7qbvowj1sm4" path="res://Pegs/Actions/ShootShortbow.cs" id="1_yhiab"]
|
||||
[ext_resource type="Texture2D" uid="uid://32m5teus1cjj" path="res://Art/tower.png" id="2_uaien"]
|
||||
|
||||
[node name="Shortbow" type="Node2D" unique_id=518048625]
|
||||
[node name="ShootShortbow" type="Node2D" unique_id=518048625]
|
||||
script = ExtResource("1_yhiab")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="." unique_id=944294157]
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://c6df6ib0qan5g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://td6dv1t4y5os" path="res://Pegs/Actions/Shortsword.cs" id="1_rflgk"]
|
||||
[ext_resource type="Script" uid="uid://td6dv1t4y5os" path="res://Pegs/Actions/SwingShortsword.cs" id="1_rflgk"]
|
||||
[ext_resource type="Texture2D" uid="uid://32m5teus1cjj" path="res://Art/tower.png" id="2_fs74r"]
|
||||
|
||||
[node name="Shortsword" type="Node2D" unique_id=518048625]
|
||||
@@ -0,0 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://xx4n81m8hbxv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bj2lg1voxioq7" path="res://Pegs/Actions/ThrustSpear.cs" id="1_revbx"]
|
||||
|
||||
[node name="ThrustSpear" type="Node2D" unique_id=460007250]
|
||||
script = ExtResource("1_revbx")
|
||||
|
||||
[node name="Image" type="Sprite2D" parent="." unique_id=1133735272]
|
||||
visible = false
|
||||
@@ -12,7 +12,7 @@ public partial class Spearman : FriendlyPeg
|
||||
_visibility = 4;
|
||||
}
|
||||
|
||||
public override List<Vector2I> GetGoals()
|
||||
public override List<Vector2I> Target()
|
||||
{
|
||||
Map map = _pegController._playArea._map;
|
||||
List<Peg> enemies = [.. _pegController._pegs.Where(p => p._disposition == -_disposition)];
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://b3a0x3r3yx861" path="res://Pegs/HostilePegs/Archer.cs" id="1_ij48w"]
|
||||
[ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="2_j7but"]
|
||||
[ext_resource type="PackedScene" uid="uid://duspilwelsiy3" path="res://Pegs/Actions/shortbow.tscn" id="3_c81uf"]
|
||||
[ext_resource type="PackedScene" uid="uid://duspilwelsiy3" path="res://Pegs/Actions/shoot_shortbow.tscn" id="3_c81uf"]
|
||||
[ext_resource type="PackedScene" uid="uid://bup5oli00p3lg" path="res://Pegs/Actions/basic_movement.tscn" id="3_j7but"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_7k104"]
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://xlg4cblo1vf1" path="res://Pegs/HostilePegs/Infantry.cs" id="1_wlksp"]
|
||||
[ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="2_b77ka"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6df6ib0qan5g" path="res://Pegs/Actions/shortsword.tscn" id="3_lwlv5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6df6ib0qan5g" path="res://Pegs/Actions/swing_shortsword.tscn" id="3_lwlv5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bup5oli00p3lg" path="res://Pegs/Actions/basic_movement.tscn" id="4_b77ka"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_7k104"]
|
||||
|
||||
+6
-1
@@ -20,7 +20,7 @@ public partial class PegAction : Node2D
|
||||
|
||||
public virtual void DoImmediately(Peg PEG)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public virtual bool MeetsCriteria(Peg PEG)
|
||||
@@ -34,4 +34,9 @@ public partial class PegAction : Node2D
|
||||
{
|
||||
_usesRemaining = _usesMax;
|
||||
}
|
||||
|
||||
public virtual Vector2 Target(Peg PEG)
|
||||
{
|
||||
return PEG.GlobalPosition;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user