Inheritance: enchantment_base
Example #1
0
        public void OutOfGoodStuffTest()
        {
            Enemy e = new Enemy("", 'l', 100);

            new Pack(0).Add(e);

            p.inventory = new byte[] { 0, 0, 0 };

            MagicScroll s = new MagicScroll(random, null);

            s.Duration = 0;
            Assert.IsFalse(p.UseItem(s, null), "Not Using");

            p.Combat(e);
            Assert.AreEqual(e.CurrentHP, e.MaxHP - Player.strength, "No multiplier when not used");

            p.UpdateItems();
            p.Combat(e);
            Assert.AreEqual(e.CurrentHP, e.MaxHP - 2 * Player.strength, "No neg multiplier when not used");
        }
Example #2
0
        public void MagicScrollUseTest()
        {
            GameManager g       = new GameManager(false);
            MagicScroll m       = new MagicScroll(new NotSoRandom(1.0), g);
            Dungeon     dungeon = g.dungeon;
            int         size    = dungeon.nodes.Count;

            m.Use(g.GetPlayer, dungeon);
            List <Node> path = dungeon.ShortestPath(dungeon.PlayerNode, dungeon.nodes[dungeon.nodes.Count - 1]);

            Assert.IsNotNull(path);
            Assert.IsTrue(size > dungeon.nodes.Count);

            List <Node> nodes = new List <Node>();

            nodes.Add(new Node(random, 0, 15, true));
            dungeon = new Dungeon(random, nodes, 1, 15);
            g.InitRoom(dungeon.nodes[0]);
            m.Use(g.GetPlayer, dungeon);
            Assert.IsTrue(dungeon.nodes.Count == 1);
        }
Example #3
0
        public void CombatItemEffectTest()
        {
            Pack enemies = new Pack(4);
            int  initHp  = 10 * Player.strength;

            for (int i = 0; i < 4; i++)
            {
                enemies.Add(new Enemy("Test", 't', initHp));
            }
            p.Combat(enemies[0]);
            p.inventory = new byte[] { 2, 2, 2 };

            Assert.AreEqual(initHp - Player.strength, enemies[0].CurrentHP, "base");
            for (int i = 1; i < 3; i++)
            {
                Assert.AreEqual(100, enemies[i].CurrentHP, "base");
            }

            DungeonCreator dc      = new DungeonCreator(random);
            Dungeon        dungeon = dc.CreateDungeon(1, 0, 10);
            TimeCrystal    crystal = new TimeCrystal();

            crystal.Duration = 1;

            dungeon.nodes[1].Player = p;

            dungeon.nodes[0].AddPack(enemies);

            p.UseItem(crystal, dungeon);

            int orderCount = 0;

            foreach (Node n in dungeon.nodes)
            {
                foreach (Pack thisVerySpecialSuperPack in n.PackList)
                {
                    if (thisVerySpecialSuperPack.order == Order.HuntOrder)
                    {
                        orderCount++;
                    }
                }
            }

            Assert.AreEqual(orderCount, 1);

            p.Combat(enemies[1]);
            Assert.AreEqual(initHp - 2 * Player.strength, enemies[0].CurrentHP, "Crystal");
            for (int i = 1; i < 3; i++)
            {
                Assert.AreEqual(initHp - Player.strength, enemies[i].CurrentHP, "Crystal");
            }

            MagicScroll scroll = new MagicScroll(new NotSoRandom(0.0), null);

            scroll.Duration = 2;
            p.UseItem(scroll, null);

            p.Combat(enemies[2]);
            Assert.AreEqual(initHp - 4 * Player.strength, enemies[0].CurrentHP, "Scroll and Crystal");
            for (int i = 1; i < 3; i++)
            {
                Assert.AreEqual(initHp - 3 * Player.strength, enemies[i].CurrentHP, "Scroll and Crystal");
            }

            p.UpdateItems();
            p.Combat(enemies[3]);
            Assert.AreEqual(initHp - 6 * Player.strength, enemies[0].CurrentHP, "Scroll and Crystal last time");
            for (int i = 1; i < 3; i++)
            {
                Assert.AreEqual(initHp - 5 * Player.strength, enemies[i].CurrentHP, "Scroll and Crystal last time");
            }

            p.UpdateItems();
            p.Combat(enemies[0]);
            Assert.AreEqual(initHp - 8 * Player.strength, enemies[0].CurrentHP, "Scroll and no more Crystal");
            for (int i = 1; i < 3; i++)
            {
                Assert.AreEqual(initHp - 5 * Player.strength, enemies[i].CurrentHP, "Scroll and no more Crystal");
            }

            MagicScroll scroll2 = new MagicScroll(new NotSoRandom(0.0), null);

            scroll2.Duration = 0;
            p.UseItem(scroll2, null);

            p.Combat(enemies[1]);
            Assert.AreEqual(initHp - 8 * Player.strength, enemies[0].CurrentHP, "Back to Normal");
            Assert.AreEqual(initHp - 9 * Player.strength, enemies[1].CurrentHP, "Back to Normal");
            for (int i = 2; i < 3; i++)
            {
                Assert.AreEqual(initHp - 5 * Player.strength, enemies[i].CurrentHP, "Back to Normal");
            }

            p.UpdateItems();
            p.Combat(enemies[0]);
            Assert.AreEqual(initHp - 9 * Player.strength, enemies[0].CurrentHP, "Back to Normal");
            Assert.AreEqual(initHp - 9 * Player.strength, enemies[1].CurrentHP, "Back to Normal");
            for (int i = 2; i < 3; i++)
            {
                Assert.AreEqual(initHp - 5 * Player.strength, enemies[i].CurrentHP, "Back to Normal");
            }
        }