Made fight fightable
This commit is contained in:
@@ -14,10 +14,10 @@ public partial class FightWorld : Node
|
||||
public class Room
|
||||
{
|
||||
public required Dictionary<int, Room> paths;
|
||||
public required List<EnemyGroup> enemyGroups;
|
||||
public required List<FighterGroup> enemyGroups;
|
||||
}
|
||||
|
||||
public class EnemyGroup
|
||||
public class FighterGroup
|
||||
{
|
||||
public required List<Fighter> enemies;
|
||||
}
|
||||
@@ -26,7 +26,9 @@ public partial class FightWorld : Node
|
||||
{
|
||||
public FightHappening.FightState fightState = FightHappening.FightState.None;
|
||||
public FighterStack fighterStack = new();
|
||||
public required EnemyGroup enemyGroup;
|
||||
public required FighterGroup enemyGroup;
|
||||
public FightHappening.FightersEnterStaging? fightersEnterStaging;
|
||||
public FighterAction? actionStaging;
|
||||
}
|
||||
|
||||
public class Fighter
|
||||
@@ -37,16 +39,18 @@ public partial class FightWorld : Node
|
||||
BigBlob,
|
||||
Mavka,
|
||||
YourMom,
|
||||
Vesna
|
||||
Vesna,
|
||||
Chuha
|
||||
}
|
||||
|
||||
public required Type type;
|
||||
public required int maxHealth;
|
||||
public required bool isEnemy;
|
||||
public required List<FighterAction> availableActions;
|
||||
public int maxActionPoints = 1;
|
||||
public int? health = null; // null => initialize to full health on spawn
|
||||
public bool entered = false;
|
||||
public int actionsLeft;
|
||||
public int actionPointsLeft;
|
||||
|
||||
public FighterAction AutoSelectAction()
|
||||
{
|
||||
@@ -69,6 +73,7 @@ public partial class FightWorld : Node
|
||||
public World? world = null;
|
||||
public Room? currentRoom = null;
|
||||
public FightHappeningData? fightHappeningData = null;
|
||||
public AllyFighters allyFighters = new();
|
||||
|
||||
public void MyEnterTree()
|
||||
{
|
||||
@@ -123,9 +128,9 @@ public partial class FightWorld : Node
|
||||
return room;
|
||||
}
|
||||
|
||||
private List<EnemyGroup> GenerateEnemyGroups()
|
||||
private List<FighterGroup> GenerateEnemyGroups()
|
||||
{
|
||||
var enemyGroups = new List<EnemyGroup>();
|
||||
var enemyGroups = new List<FighterGroup>();
|
||||
|
||||
var enemyGroupCount = GD.RandRange(1, 3);
|
||||
|
||||
@@ -137,9 +142,9 @@ public partial class FightWorld : Node
|
||||
return enemyGroups;
|
||||
}
|
||||
|
||||
private EnemyGroup GenerateSingleEnemyGroup()
|
||||
private FighterGroup GenerateSingleEnemyGroup()
|
||||
{
|
||||
var enemyGroup = new EnemyGroup
|
||||
var enemyGroup = new FighterGroup
|
||||
{
|
||||
enemies = []
|
||||
};
|
||||
@@ -158,13 +163,14 @@ public partial class FightWorld : Node
|
||||
{
|
||||
var typeRoll = GD.RandRange(0, 99);
|
||||
|
||||
var type = typeRoll switch
|
||||
{
|
||||
< 50 => Fighter.Type.Blob,
|
||||
< 75 => Fighter.Type.BigBlob,
|
||||
< 90 => Fighter.Type.Mavka,
|
||||
_ => Fighter.Type.YourMom
|
||||
};
|
||||
//var type = typeRoll switch
|
||||
//{
|
||||
// < 50 => Fighter.Type.Blob,
|
||||
// < 75 => Fighter.Type.BigBlob,
|
||||
// < 90 => Fighter.Type.Mavka,
|
||||
// _ => Fighter.Type.YourMom
|
||||
//};
|
||||
var type = Fighter.Type.Blob;
|
||||
|
||||
var enemy = new Fighter
|
||||
{
|
||||
@@ -172,7 +178,8 @@ public partial class FightWorld : Node
|
||||
health = null,
|
||||
isEnemy = true,
|
||||
maxHealth = 12,
|
||||
availableActions = [
|
||||
availableActions =
|
||||
[
|
||||
new FighterAction.Skip()
|
||||
]
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user