public void Battle_FighterDataPlayer() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); /**Player**/ Assert.IsNotNull(battleSubSystem.PlayerFighterUnit); //Start with 20HP Assert.AreEqual(battleSubSystem.PlayerFighterUnit.MaxHp, 20); Assert.AreEqual(battleSubSystem.PlayerFighterUnit.CurrentHp, battleSubSystem.PlayerFighterUnit.MaxHp); Assert.AreEqual(battleSubSystem.PlayerFighterUnit.HpPercent, 1); //Must have a sprite Assert.IsNotNull(battleSubSystem.PlayerFighterUnit.Sprite); //Name by default Assert.IsNotNull(battleSubSystem.PlayerFighterUnit.UnitName); //Alive by default Assert.True(battleSubSystem.PlayerFighterUnit.IsDead == false); //Heal Damage with full hp battleSubSystem.PlayerFighterUnit.Heal(10); Assert.AreEqual(battleSubSystem.PlayerFighterUnit.CurrentHp, battleSubSystem.PlayerFighterUnit.MaxHp); }
public void Battle_ActionFlee() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); //Flee adventurerSystem.OnFleeButton(adventurerAgent); Assert.True(battleSubSystem.CurrentState == BattleState.Flee); }
public void Battle_StateLost() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); //EnemyAttack => Loose battleSubSystem.PlayerFighterUnit.CurrentHp = 1; adventurerSystem.OnAttackButton(adventurerAgent); Assert.AreEqual(BattleState.Lost, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState); }
public void Battle_StateWon() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); //Attack => Won battleSubSystem.EnemyFighterUnit.CurrentHp = 1; adventurerSystem.OnAttackButton(adventurerAgent); Assert.AreEqual(BattleState.Won, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState); }
public void Battle_GameOver() { //Start Battle adventurerSystem.StartBattle(adventurerAgent, BattleEnvironments.Forest); BattleSubSystem battleSubSystem = adventurerSystem.GetSubSystem(adventurerAgent); Assert.True(battleSubSystem.GameOver() == false); adventurerSystem.OnFleeButton(adventurerAgent); Assert.True(battleSubSystem.GameOver() == true); }
private void SetupNewBattle(AdventurerAgent agent, FighterObject enemyFighter) { if (battleSystems.ContainsKey(agent)) { battleSystems.Remove(agent); } var playerData = agent.GetComponent <AdventurerFighterData>().FighterData; var enemyData = FighterData.Clone(enemyFighter.data); var newSystem = new BattleSubSystem(playerData, enemyData, enemyFighter.fighterDropTable, OnWin); battleSystems.Add(agent, newSystem); SetAdventureState(agent, AdventureStates.InBattle); }
public void Battle_ActionAttack() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); //Attack Dmg int enemyHPBeforeAttack = battleSubSystem.EnemyFighterUnit.CurrentHp; battleSubSystem.PlayerFighterUnit.Attack(battleSubSystem.EnemyFighterUnit); Assert.AreEqual(enemyHPBeforeAttack - battleSubSystem.PlayerFighterUnit.Damage, battleSubSystem.EnemyFighterUnit.CurrentHp, "enemyHPBeforeAttack : " + enemyHPBeforeAttack + " - battleSubSystem.PlayerFighterUnit.Damage : " + battleSubSystem.PlayerFighterUnit.Damage); //HP always positives battleSubSystem.EnemyFighterUnit.CurrentHp = 1; battleSubSystem.PlayerFighterUnit.Attack(battleSubSystem.EnemyFighterUnit); Assert.AreEqual(0, battleSubSystem.EnemyFighterUnit.CurrentHp); }
public void Battle_ActionHeal() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); AdventurerFighterData adventurerData = adventurerAgent.GetComponent <AdventurerFighterData>(); //adventurerSystem.OnHealButton(adventurerAgent); battleSubSystem.PlayerFighterUnit.CurrentHp = 1; battleSubSystem.PlayerFighterUnit.Heal(5); Assert.AreEqual(6, battleSubSystem.PlayerFighterUnit.CurrentHp); battleSubSystem.PlayerFighterUnit.CurrentHp = 1; battleSubSystem.PlayerFighterUnit.Heal(100); Assert.AreEqual(adventurerData.startHp, battleSubSystem.PlayerFighterUnit.CurrentHp, "Healing can't overcome the start hp threshold"); }
public void Battle_StatePlayerTurnByDefault() { BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest); Assert.AreEqual(BattleState.PlayerTurn, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState); }