public void ConstructorInitializesExpGiven([Values(FighterType.Fairy, FighterType.Goblin, FighterType.Golem, FighterType.Ogre)] FighterType type,
                                                   [Values(1, 2, 3)] int level)
        {
            var fighter = (EnemyFighter)FighterFactory.GetFighter(type, level);

            Assert.AreEqual(level * 5, fighter.ExpGivenOnDefeat);
        }
Example #2
0
        public void Team_TestAddRange_CorrectlyUpdatesDisplayNames()
        {
            Goblin goblin1 = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);
            Goblin goblin2 = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);
            Goblin goblin3 = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);
            Goblin goblin4 = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);

            Team testTeam = new Team(TestMenuManager.GetTestMenuManager(),
                                     goblin1
                                     );

            List <Goblin> goblinsToAdd = new List <Goblin> {
                goblin2, goblin3, goblin4
            };

            testTeam.AddRange(goblinsToAdd);

            for (var i = 0; i < 4; ++i)
            {
                EnemyFighter enemy = testTeam.Fighters[i] as EnemyFighter;
                char         expectedAppendedChar = (char)('A' + i);
                string       expectedAppendStr    = $"{expectedAppendedChar}";

                Assert.AreEqual(expectedAppendStr, enemy?.AppendText);
            }
        }
Example #3
0
        public void Constructor_CorrectlySetsDisplayNames_TeamEntirelyComprisedOfNormalEnemies()
        {
            IFighter enemy1 = FighterFactory.GetFighter(FighterType.Goblin, 1);
            IFighter enemy2 = FighterFactory.GetFighter(FighterType.Goblin, 1);
            IFighter enemy3 = FighterFactory.GetFighter(FighterType.Fairy, 1);
            IFighter enemy4 = FighterFactory.GetFighter(FighterType.Fairy, 1);

            List <IFighter> fighters = new List <IFighter>
            {
                enemy1,
                enemy2,
                enemy3,
                enemy4,
            };

            Team team = new Team(_menuManager, fighters);

            for (var i = 0; i < 4; ++i)
            {
                IFighter fighter = team.Fighters[i];

                char expectedChar = (char)('A' + (i % 2));
                Assert.AreEqual($"{expectedChar}", fighter.AppendText);
            }
        }
        public void SetupMove_PrintsCorrectPrompts()
        {
            Fairy fairy = (Fairy)FighterFactory.GetFighter(FighterType.Fairy, 1);

            _fighter.SetEnemy(fairy);

            _input.Push("1", "1");

            _fighter.SetupMove(_ownTeam, _enemyTeam);

            MockOutputMessage[] outputs = _output.GetOutputs();

            int expectedOutputLength = 5;

            //menu prompt for both menus, plus "back," "help," and "status" option from target menu
            expectedOutputLength += fairy.AvailableMoves.Count + _enemyTeam.Fighters.Count;
            Assert.AreEqual(expectedOutputLength, outputs.Length);

            int i = 0;

            MockOutputMessage output = outputs[i++];

            Assert.AreEqual($"You are currently selecting a move for {fairy.DisplayName}. What move will you use?\n", output.Message);
            Assert.AreEqual(ConsoleColor.Cyan, output.Color);

            for (int j = 0; j < fairy.AvailableMoves.Count; ++j)
            {
                BattleMove move = fairy.AvailableMoves[j];

                output = outputs[i++];
                Assert.AreEqual($"{j + 1}. {move.Description}\n", output.Message);
            }
        }
Example #5
0
        public void AssignNameBonuses_IgnoresCaseOfFighterName([Values("upper", "lower")] string nameCase)
        {
            string danteName   = "Dante";
            string arrokohName = "Arrokoh";

            danteName   = nameCase == "upper" ? danteName.ToUpperInvariant() : danteName.ToLowerInvariant();
            arrokohName = nameCase == "upper" ? arrokohName.ToUpperInvariant() : arrokohName.ToLowerInvariant();

            HumanFighter dante   = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, danteName);
            HumanFighter arrokoh = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, arrokohName);

            int arrokohPreBonusStrength = arrokoh.Strength;
            int dantePreBonusSpeed      = dante.Speed;

            _decisionManager.AssignNameBonuses(dante, arrokoh);

            int arrokohPostBonusStrength = arrokoh.Strength;
            int dantePostBonusSpeed      = dante.Speed;

            int arrokohStrengthBonus = arrokohPostBonusStrength - arrokohPreBonusStrength;

            Assert.Greater(arrokohStrengthBonus, 0);

            int danteSpeedBonus = dantePostBonusSpeed - dantePreBonusSpeed;

            Assert.Greater(danteSpeedBonus, 0);
        }
Example #6
0
        public void FighterFactory_AutoInitializesHumanFighters_GodRelationshipManagerSet()
        {
            FighterFactory.SetGodRelationshipManager(_relationshipManager);
            _fighter = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1);

            Assert.DoesNotThrow(() => _relationshipManager.GetFighterRelationshipValue(_fighter, GodEnum.MachineGod));
        }
Example #7
0
        public void SetUp()
        {
            _input       = new MockInput();
            _output      = new MockOutput();
            _menuFactory = new MenuFactory();
            _manager     = new MenuManager(_input, _output, _menuFactory);
            _logger      = new EventLogger();
            _playerOne   = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "swordsman");
            Spell fireSpell = SpellFactory.GetSpell(MagicType.Fire, 1);

            _playerOne.AddSpell(fireSpell);
            _playerOne.SetMana(fireSpell.Cost);

            _playerTwo   = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "mage");
            _playerThree = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1, "alchemist");
            _playerTeam  = new Team(_manager, _playerOne, _playerTwo, _playerThree);

            _enemyTeam = new Team(_manager, new List <IFighter>
            {
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1)
            });

            _manager.InitializeForBattle(_playerTeam, _enemyTeam);
        }
Example #8
0
        public void FighterFactoryCorrectlyReturnsShade()
        {
            Shade returnedFighter = null;

            Assert.DoesNotThrow(() => returnedFighter = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1));

            Assert.NotNull(returnedFighter);
        }
Example #9
0
        public void SetUp()
        {
            _relationshipManager = new GodRelationshipManager();
            _allGodValues        = EnumHelperMethods.GetAllValuesForEnum <GodEnum>();

            FighterFactory.SetGodRelationshipManager(_relationshipManager);
            _fighter = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1);
        }
Example #10
0
        public void FighterFactory_CorrectlyRandomizesEggType_IfNoneSpecified()
        {
            TestFighterFactory.SetChanceService(_chanceService);
            _chanceService.PushWhichEventOccurs(0);

            Egg egg = (Egg)FighterFactory.GetFighter(FighterType.Egg, 1);

            Assert.AreEqual(Globals.EggMagicTypes[0], egg.MagicType);
        }
        public void SetUp()
        {
            _fighter = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1);

            _output  = new MockOutput();
            _printer = new EventHandlerPrinter(_output);

            _printer.Subscribe(_fighter);
        }
        public void SetUp()
        {
            _menuInput   = new MockInput();
            _menuOutput  = new MockOutput();
            _menuManager = new TestMenuManager(_menuInput, _menuOutput);

            _player = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            Spell fireball   = SpellFactory.GetSpell(MagicType.Fire, 1);
            Spell earthSpell = SpellFactory.GetSpell(MagicType.Earth, 1);

            _player.AddSpell(fireball);
            _player.AddSpell(earthSpell);
            _player.SetMana(fireball.Cost);

            _playerTeam = new Team(_menuManager, _player);
            _enemyTeam  = new Team(_menuManager, (EnemyFighter)FighterFactory.GetFighter(FighterType.Goblin, 1));

            _menu = (Menu)Globals.MenuFactory.GetMenu(MenuType.ChooseAttackTypeMenu, _menuInput, _menuOutput);
            _menu.Build(_player, _playerTeam, _enemyTeam, null);

            _fullSpellMenuPrompt = new List <string>
            {
                $"Which spell would you like to cast?\n{_player.DisplayName} currently has {_player.CurrentMana} / {_player.MaxMana} Mana\n",
            };

            var spellMenu = (SpellSelectionMenu)Globals.MenuFactory.GetMenu(MenuType.ChooseSpellMenu);

            spellMenu.Build(_player, _playerTeam, _enemyTeam, null);

            var spellMenuActions = spellMenu.MenuActions;

            for (var i = 0; i < spellMenuActions.Count; ++i)
            {
                _fullSpellMenuPrompt.Add((i + 1) + ". " + spellMenuActions[i].DisplayText + "\n");
            }

            _fullSpellMenuPrompt.Add(StatusPrompt);
            _fullSpellMenuPrompt.Add(HelpPrompt);

            _fullMenuPrompt = new List <string>
            {
                "How would you like to fight?\n",
                "1. attack\n",
                "2. magic\n",
                StatusPrompt,
                HelpPrompt
            };

            _fullTargetMenuPrompt = new List <string>
            {
                "Who will you target for this action?\n",
                "1. " + _enemyTeam.Fighters[0].DisplayName + "\n",
                StatusPrompt,
                BackPrompt,
                HelpPrompt
            };
        }
Example #13
0
        public void AssignNameBonuses_CorrectlySetsPersonalityFlag()
        {
            HumanFighter poopyCarrots = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "PoopyCarrots");
            HumanFighter chesterton   = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Chesterton");

            _decisionManager.AssignNameBonuses(poopyCarrots, chesterton);

            Assert.Contains(PersonalityFlag.Heroic, poopyCarrots.PersonalityFlags);
            Assert.Contains(PersonalityFlag.MorallyFlexible, chesterton.PersonalityFlags);
        }
Example #14
0
        public void AssignNameBonuses_CorrectlySetsGodRelationship()
        {
            HumanFighter poopyCarrots = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "PoopyCarrots");
            HumanFighter chesterton   = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Chesterton");

            _decisionManager.AssignNameBonuses(poopyCarrots, chesterton);

            Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(poopyCarrots, GodEnum.MercyGod));
            Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(chesterton, GodEnum.MalevolentGod));
        }
Example #15
0
        private void BuildMenu(IMenu menu, List <TerrainInteractable> terrainInteractables = null)
        {
            _player = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1);
            var playerTeam = new Team(_menuManager, _player);

            _enemy = (EnemyFighter)FighterFactory.GetFighter(FighterType.Goblin, 1);
            var enemyTeam = new Team(_menuManager, _enemy);

            menu.Build(_player, playerTeam, enemyTeam, terrainInteractables ?? new List <TerrainInteractable>());
        }
Example #16
0
        private static Team CreateEnemyTeam()
        {
            var list = new List <IFighter>
            {
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1)
            };

            return(new Team(TestMenuManager.GetTestMenuManager(), list));
        }
        private static Team CreateEnemyTeam()
        {
            List <IFighter> list = new List <IFighter>
            {
                FighterFactory.GetFighter(FighterType.Goblin, 1),
                FighterFactory.GetFighter(FighterType.Goblin, 1)
            };

            return(new Team(_menuManager, list));
        }
        public void Setup()
        {
            _input             = new MockInput();
            _output            = new MockOutput();
            _menuManager       = new TestMenuManager(_input, _output);
            _mockChanceService = new MockChanceService();
            TestFighterFactory.SetChanceService(_mockChanceService);
            FighterFactory.SetInput(_input);
            FighterFactory.SetOutput(_output);

            _fighter = (HumanControlledEnemyFighter)FighterFactory.GetFighter(FighterType.HumanControlledEnemy, 1, "hero");
            _enemy   = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "enemy");
        }
Example #19
0
        public void Constructor_CorrectlyAllowsGroupingInput_AndSetsDisplayNames()
        {
            Goblin          goblin1  = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);
            Goblin          goblin2  = (Goblin)FighterFactory.GetFighter(FighterType.Goblin, 1);
            FighterGrouping grouping = new FighterGrouping(goblin1, goblin2);

            Team team = new Team(TestMenuManager.GetTestMenuManager(), grouping);

            Assert.AreEqual(2, team.Fighters.Count);

            Assert.True(team.Fighters.Contains(goblin1));
            Assert.True(team.Fighters.Contains(goblin2));
        }
        public void SetUp()
        {
            _menuInput   = new MockInput();
            _menuOutput  = new MockOutput();
            _menuManager = new TestMenuManager(_menuInput, _menuOutput);

            _enemyTeam  = new Team(_menuManager, FighterFactory.GetFighter(FighterType.Goblin, 1));
            _player     = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            _playerTeam = new Team(_menuManager, _player);

            _menu = (SpecialMoveSelectionMenu)Globals.MenuFactory.GetMenu(MenuType.ChooseSpecialAttackMenu, _menuInput, _menuOutput);
            _menu.Build(_player, _playerTeam, _enemyTeam, null);
        }
        private static IEnumerable <IFighterStats> GetTeamFighters(int teamSize, int teamCount, int powerlevel)
        {
            Guid team = Guid.Empty;

            for (int i = 0; i < teamSize * teamCount; i++)
            {
                if (i % teamSize == 0)
                {
                    team = Guid.NewGuid();
                }

                yield return(FighterFactory.GetFighter(powerlevel, team));
            }
        }
Example #22
0
        public void CorrectlyPrintsCurscenes()
        {
            //Arrange
            ColorString[] firstSceneLines =
            {
                new ColorString("There once was a man named Gold Roger"),
                new ColorString("He had fame, wealth, and power beyond your wildest dreams"),
                new ColorString("Before they hung him from the gallows,"),
                new ColorString("These were the words he said:")
            };

            SingleScene firstScene = new SingleScene(firstSceneLines);

            ColorString[] secondSceneLines =
            {
                new ColorString("If you want my treasure, you can have it!"),
                new ColorString("I left everything I had in that place")
            };

            SingleScene secondScene = new SingleScene(secondSceneLines);

            SingleScene[] scenes =
            {
                firstScene,
                secondScene
            };

            Cutscene cutscene = new Cutscene(scenes);

            //Act
            cutscene.ExecuteCutscene(_input, _output, (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1), (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1));

            //Assert
            MockOutputMessage[] outputs = _output.GetOutputs();

            int expectedNumberOfLines = firstSceneLines.Length + secondSceneLines.Length;

            Assert.AreEqual(expectedNumberOfLines, outputs.Length);

            int[] clearIndices = _output.GetClearIndices();
            Assert.AreEqual(scenes.Length, clearIndices.Length);

            int nextClearIndex = firstSceneLines.Length;

            Assert.AreEqual(nextClearIndex, clearIndices[0]);

            nextClearIndex += secondSceneLines.Length;
            Assert.AreEqual(nextClearIndex, clearIndices[1]);
        }
Example #23
0
        private EnemyFighter GetEnemy(SubRegion region)
        {
            //FighterType[] types = regionFighterTypesDictionary[region.AreaId];
            //var length = types.Length;
            //var odds = new double[length];

            //for (var i = 0; i < length; ++i)
            //{
            //    odds[i] = (1.0/length);
            //}

            FighterType selectedFighterType = _chanceService.WhichEventOccurs(region.EnemyTypes);

            return((EnemyFighter)FighterFactory.GetFighter(selectedFighterType, 1));
        }
Example #24
0
        public void Setup()
        {
            _input         = new MockInput();
            _output        = new MockOutput();
            _chanceService = new MockChanceService();
            _menuManager   = new TestMenuManager(_input, _output);

            TestFighterFactory.SetChanceService(_chanceService);

            _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            _humanTeam    = new Team(_menuManager, _humanFighter);

            _level1Warrior = (Warrior)FighterFactory.GetFighter(FighterType.Warrior, 1);
            _level3Warrior = (Warrior)FighterFactory.GetFighter(FighterType.Warrior, 3);
            _warriorTeam   = new Team(_menuManager, _level1Warrior);
        }
        public void Setup()
        {
            _input             = new MockInput();
            _output            = new MockOutput();
            _menuManager       = new TestMenuManager(_input, _output);
            _mockChanceService = new MockChanceService();
            TestFighterFactory.SetChanceService(_mockChanceService);

            _fighter = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1, "hero");
            _enemy1  = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "enemy");
            _enemy2  = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "enemy");

            _ownTeam         = new Team(_menuManager, _fighter);
            _singleEnemyTeam = new Team(_menuManager, _enemy1);
            _doubleEnemyTeam = new Team(_menuManager, _enemy1, _enemy2);
        }
Example #26
0
        public void Setup()
        {
            _logger      = new EventLogger();
            _input       = new MockInput();
            _output      = new MockOutput();
            _menuManager = new TestMenuManager(_input, _output);

            _chanceService = new MockChanceService();
            TestFighterFactory.SetChanceService(_chanceService);

            _shade1 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1);
            _shade2 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1);
            _shade3 = (Shade)FighterFactory.GetFighter(FighterType.Shade, 1);
            _shades = new List <Shade> {
                _shade1, _shade2, _shade3
            };
            _shadeGrouping = new ShadeFighterGrouping(_chanceService, _shades.ToArray());
            _shadeTeam     = new Team(TestMenuManager.GetTestMenuManager(), _shadeGrouping);

            _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            _humanFighter.SetSpeed(_shade1.Speed + 1);
            _humanTeam = new Team(_menuManager, _humanFighter);

            List <BattleMove> executableMoves = _shade1.GetExecutableMoves(_humanTeam);

            _absorptionMoveIndex    = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.AbsorbShade);
            _malevolenceChargeIndex = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.Special);
            _malevolenceAttackIndex = executableMoves.FindIndex(bm => bm.MoveType == BattleMoveType.ConditionalPowerAttack);
            _darkFogIndex           = executableMoves.FindIndex(bm => bm is StatusMove);

            _malevolenceChargeMove = executableMoves[_malevolenceChargeIndex];
            _malevolenceAttackMove = executableMoves[_malevolenceAttackIndex];
            _shadeAbsorbingMove    = executableMoves[_absorptionMoveIndex];

            Shade fooShade = new Shade(1, _chanceService, 1);
            Team  fooTeam  = new Team(TestMenuManager.GetTestMenuManager(), fooShade);

            fooShade.SetTeam(fooTeam);
            List <BattleMove> fooExecutableAttacks = fooShade.GetExecutableMoves(_humanTeam);

            _malevolenceAttackNoAbsorptionMoveIndex =
                fooExecutableAttacks.FindIndex(bm => bm.MoveType == BattleMoveType.ConditionalPowerAttack);
            _malevolenceChargeNoAbsorptionMoveIndex =
                fooExecutableAttacks.FindIndex(bm => bm.MoveType == BattleMoveType.Special);

            _battleManager = new TestBattleManager(_chanceService, _input, _output);
        }
Example #27
0
        public void AssignNameBonuses_CorrectlyAssignsBonuses()
        {
            HumanFighter dante   = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Dante");
            HumanFighter arrokoh = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Arrokoh");

            int dantePreBonusSpeed          = dante.Speed;
            int dantePreBonusFirePower      = dante.MagicStrengthBonuses[MagicType.Fire];
            int dantePreBonusFireResistance = dante.MagicResistanceBonuses[MagicType.Fire];

            int arrokohPreBonusStrength            = arrokoh.Strength;
            int arrokohPreBonusLightningPower      = dante.MagicStrengthBonuses[MagicType.Lightning];
            int arrokohPreBonusLightningResistance = dante.MagicResistanceBonuses[MagicType.Lightning];

            _decisionManager.AssignNameBonuses(dante, arrokoh);

            int dantePostBonusSpeed          = dante.Speed;
            int dantePostBonusFirePower      = dante.MagicStrengthBonuses[MagicType.Fire];
            int dantePostBonusFireResistance = dante.MagicResistanceBonuses[MagicType.Fire];

            int danteSpeedBonus = dantePostBonusSpeed - dantePreBonusSpeed;

            Assert.Greater(danteSpeedBonus, 0);

            int danteFireStrengthBonus = dantePostBonusFirePower - dantePreBonusFirePower;

            Assert.Greater(danteFireStrengthBonus, 0);

            int danteFireResistanceBonus = dantePostBonusFireResistance - dantePreBonusFireResistance;

            Assert.Greater(danteFireResistanceBonus, 0);

            int arrokohPostBonusStrength            = arrokoh.Strength;
            int arrokohPostBonusLightningPower      = arrokoh.MagicStrengthBonuses[MagicType.Lightning];
            int arrokohPostBonusLightningResistance = arrokoh.MagicResistanceBonuses[MagicType.Lightning];

            int arrokohStrengthBonus = arrokohPostBonusStrength - arrokohPreBonusStrength;

            Assert.Greater(arrokohStrengthBonus, 0);

            int arrokohLightningStrengthBonus = arrokohPostBonusLightningPower - arrokohPreBonusLightningPower;

            Assert.Greater(arrokohLightningStrengthBonus, 0);

            int arrokohLightningResistanceBonus = arrokohPostBonusLightningResistance - arrokohPreBonusLightningResistance;

            Assert.Greater(arrokohLightningResistanceBonus, 0);
        }
Example #28
0
        public void PersonalityQuiz_ManualEntry_CorrectlyHandlesNeitherOption()
        {
            HumanFighter dante   = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Dante");
            HumanFighter arrokoh = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, "Arrokoh");

            for (var i = 0; i < 8; ++i)
            {
                _input.Push(i == 5 ? "neither" : "1");
            }

            _decisionManager.PersonalityQuiz(dante, arrokoh);

            Assert.AreEqual(0, _relationshipManager.GetFighterRelationshipValue(dante, GodEnum.MalevolentGod), "sixth question should not raise malevolent god relationship for either fighters for 'neither' result");
            Assert.AreEqual(0, _relationshipManager.GetFighterRelationshipValue(arrokoh, GodEnum.MalevolentGod), "sixth question should not raise malevolent god relationship for either fighters for 'neither' result");
            Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(dante, GodEnum.MercyGod), "sixth question should raise mercy god relationship for both fighters for 'neither' result");
            Assert.AreEqual(1, _relationshipManager.GetFighterRelationshipValue(arrokoh, GodEnum.MercyGod), "sixth question should raise mercy god relationship for both fighters for 'neither' result");
        }
Example #29
0
        /// <summary>
        /// Handles player names and personality quiz stuff
        /// </summary>
        /// <param name="playerOne"></param>
        /// <param name="playerTwo"></param>
        /// <param name="printer"></param>
        private static void SetupPlayers(out HumanFighter playerOne, out HumanFighter playerTwo, EventHandlerPrinter printer)
        {
            string playerOneName = GetName(1);
            string playerTwoName = GetName(2, playerOneName);

            playerOne = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, playerOneName);
            playerTwo = (HumanFighter)FighterFactory.GetFighter(FighterType.HumanControlledPlayer, 1, playerTwoName);
            Globals.Output.ClearScreen();

            printer.Subscribe(playerOne, playerTwo);

            Globals.DecisionManager.AssignNameBonuses(playerOne, playerTwo);

            ConfirmationMenu takePersonalityQuizConfirmationMenu = new ConfirmationMenu(false, "To better get to know your characters, would you like to fill out a short personality questionaire?\n(if you decline, the answers will be asigned randomly)\n", Globals.Input, Globals.Output);
            MenuSelection    takePersonalityQuizSelection        = takePersonalityQuizConfirmationMenu.GetInput();

            Globals.DecisionManager.PersonalityQuiz(playerOne, playerTwo, takePersonalityQuizSelection.Description == "no", Globals.ChanceService);
        }
Example #30
0
        public void Setup()
        {
            _input         = new MockInput();
            _output        = new MockOutput();
            _chanceService = new MockChanceService();
            _menuManager   = new TestMenuManager(_input, _output);
            _battleManager = new TestBattleManager(_chanceService, _input, _output);

            TestFighterFactory.SetChanceService(_chanceService);

            _humanFighter = (TestHumanFighter)TestFighterFactory.GetFighter(TestFighterType.TestHuman, 1);
            _humanTeam    = new Team(_menuManager, _humanFighter);

            _level1ShieldGuy = (ShieldGuy)FighterFactory.GetFighter(FighterType.ShieldGuy, 1);
            _ally1           = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1);
            _ally2           = (TestEnemyFighter)TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1);
            _shieldGuyTeam   = new Team(_menuManager, _level1ShieldGuy, _ally1, _ally2);
        }