Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3bd70f221e |
@@ -14,5 +14,9 @@ position = Vector2(23, -96)
|
||||
scale = Vector2(0.547474, 0.547474)
|
||||
texture = SubResource("AtlasTexture_ane0o")
|
||||
|
||||
[node name="CollisionShape2D" parent="TargetSelection/Click" index="0"]
|
||||
position = Vector2(-1.955, -98.545)
|
||||
scale = Vector2(0.6400007, 0.68000054)
|
||||
|
||||
[node name="Sprite2D" parent="TargetSelection/HoverIndicator" index="0"]
|
||||
position = Vector2(1, -126)
|
||||
|
||||
@@ -12,7 +12,6 @@ public class TargetSelectActionDetail : FighterAction.FighterActionDetail
|
||||
// settings
|
||||
public required bool selectEnemy;
|
||||
public required bool selectAlly;
|
||||
public required bool aliveOnly;
|
||||
public VisualRange visualRange = VisualRange.Single;
|
||||
|
||||
// result
|
||||
|
||||
@@ -13,8 +13,7 @@ public class AllyAttackAction : FighterAction
|
||||
public TargetSelectActionDetail targetSelect = new()
|
||||
{
|
||||
selectEnemy = true,
|
||||
selectAlly = false,
|
||||
aliveOnly = true
|
||||
selectAlly = false
|
||||
};
|
||||
|
||||
public MinigameActionDetail minigameDetail = new();
|
||||
|
||||
@@ -117,13 +117,11 @@ public partial class AllFightersVisual : Node
|
||||
if (targetDetail.selectEnemy)
|
||||
_fighterVisuals
|
||||
.Where(kv => kv.Key.IsInFormation(HappeningData.enemyFighterFormation))
|
||||
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
|
||||
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
||||
|
||||
if (targetDetail.selectAlly)
|
||||
_fighterVisuals
|
||||
.Where(kv => kv.Key.IsInFormation(HappeningData.allyFighterFormation))
|
||||
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
|
||||
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
||||
}
|
||||
|
||||
|
||||
@@ -307,11 +307,6 @@ public partial class FightHappening : Node
|
||||
HappeningData.enemyFighterFormation.SetFighterAtPosition(emptySlotIndex, fighter);
|
||||
HappeningData.fighterTurn.AddAsLast(fighter);
|
||||
}
|
||||
|
||||
if (GD.RandRange(0, 2) != 0) // 2/3 chance for vesna to start
|
||||
{
|
||||
HappeningData.fighterTurn.SpinBack();
|
||||
}
|
||||
}
|
||||
|
||||
private void ExecuteNextFighter()
|
||||
|
||||
@@ -99,23 +99,6 @@ public class FighterTurn : IEnumerable<FightWorld.Fighter>
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the current one back
|
||||
/// This is an expensive operation, because the entire data structure needs to be circled
|
||||
/// </summary>
|
||||
public void SpinBack()
|
||||
{
|
||||
if (_currentNode == null) return;
|
||||
|
||||
var node = _currentNode;
|
||||
while (node.next != _currentNode)
|
||||
{
|
||||
node = node.next;
|
||||
}
|
||||
|
||||
_currentNode = node;
|
||||
}
|
||||
|
||||
public IEnumerator<FightWorld.Fighter> GetEnumerator()
|
||||
{
|
||||
if (_currentNode == null) return Enumerable.Empty<FightWorld.Fighter>().GetEnumerator();
|
||||
|
||||
@@ -9,15 +9,9 @@ public partial class SwitchSceneOnFightEnd : Node
|
||||
|
||||
public void OnFightStateEnter(FightHappening.FightState to)
|
||||
{
|
||||
if (to is FightHappening.FightState.PlayerWin )
|
||||
if (to is FightHappening.FightState.PlayerWin
|
||||
or FightHappening.FightState.EnemyWin)
|
||||
_ = SwitchSceneAfterTime(2.0f);
|
||||
|
||||
if (to is FightHappening.FightState.EnemyWin)
|
||||
{
|
||||
_fightSceneSwitcher.ExitFight();
|
||||
_fightSceneSwitcher.ExitFightWorld();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private async Task SwitchSceneAfterTime(float seconds)
|
||||
|
||||
@@ -137,6 +137,9 @@ public partial class MinigameController : Node2D
|
||||
public void Hit()
|
||||
{
|
||||
if (_hits == null) return;
|
||||
|
||||
if(_hits.Count >= _maxHitCount) return;
|
||||
|
||||
|
||||
int i;
|
||||
for (i = 0; i < _regions!.Count - 1; i++)
|
||||
|
||||
Reference in New Issue
Block a user