public void CharacterBasicLiftAbove10()
        {
            Character target = new Character();
            target.StrengthPoints = 2;

            Assert.AreEqual(29F, target.BasicLift);
        }
Пример #2
0
        public void SkillPoints()
        {
            Character character = new Character();
            character.StrengthPoints = 1;
            character.DexterityPoints = 2;
            character.IntelligencePoints = 3;
            character.HealthPoints = 4;

            Skill target;

            target = new Skill("abc", "def", SkillStat.Strength, SkillDifficulty.Average);
            Assert.AreEqual(0, target.Points);

            target = new Skill("abc", "def", SkillStat.Intelligence, SkillDifficulty.Easy);
            target.RelativeLevel = 2;
            Assert.AreEqual(4, target.Points);

            target = new Skill("abc", "def", SkillStat.Dexterity, SkillDifficulty.Average);
            target.RelativeLevel = 0;
            Assert.AreEqual(2, target.Points);

            target = new Skill("abc", "def", SkillStat.Health, SkillDifficulty.VeryHard);
            target.RelativeLevel = -1;
            Assert.AreEqual(4, target.Points);

            target = new Skill("abc", "def", SkillStat.Strength, SkillDifficulty.Hard);
            target.RelativeLevel = 3;
            Assert.AreEqual(16, target.Points);
        }
Пример #3
0
        public void NonDefaultSkillLevel()
        {
            Character character = new Character();
            character.StrengthPoints = 1;
            character.DexterityPoints = 2;
            character.IntelligencePoints = 3;
            character.HealthPoints = 4;

            Skill target;

            target = new Skill("abc", "def", SkillStat.Intelligence, SkillDifficulty.Easy);
            Assert.IsNull(target.Level(character));
            target.RelativeLevel = 2;
            Assert.AreEqual(15, target.Level(character));

            target = new Skill("abc", "def", SkillStat.Dexterity, SkillDifficulty.Average);
            Assert.IsNull(target.Level(character));
            target.RelativeLevel = 0;
            Assert.AreEqual(12, target.Level(character));

            target = new Skill("abc", "def", SkillStat.Health, SkillDifficulty.VeryHard);
            Assert.IsNull(target.Level(character));
            target.RelativeLevel = -1;
            Assert.AreEqual(13, target.Level(character));

            target = new Skill("abc", "def", SkillStat.Strength, SkillDifficulty.Hard);
            Assert.IsNull(target.Level(character));
            target.RelativeLevel = 3;
            Assert.AreEqual(14, target.Level(character));
        }
        public void CharacterBasicLiftBelow10()
        {
            Character target = new Character();
            target.StrengthPoints = -5;

            Assert.AreEqual(5F, target.BasicLift);
        }
        public void CharacterBasicMove()
        {
            Character target = new Character();
            target.HealthPoints = 1;
            target.DexterityPoints = 1;
            target.BasicSpeedPoints = 0.75F;

            Assert.AreEqual(6.25F, target.BasicSpeed);
            Assert.AreEqual(6, target.BasicMove);
        }
        public void CharacterDodge()
        {
            Character target = new Character();

            Assert.AreEqual(8, target.Dodge);
            target.DexterityPoints = 2; // Increase basic speed to 5.5
            Assert.AreEqual(8, target.Dodge);
            target.Inventory.Add(new Item("Item", 0, 30)); // Increase encumbrance to 1
            Assert.AreEqual(7, target.Dodge);
        }
        public void CharacterDodgeNotNegative()
        {
            Character target = new Character();

            target.BasicSpeedPoints = -7;
            Assert.AreEqual(1, target.Dodge);
            target.Inventory.Add(new Item("Item 1", 0, 25));
            Assert.AreEqual(1, target.Dodge);
            target.Inventory.Add(new Item("Item 2", 0, 20));
            Assert.AreEqual(1, target.Dodge);
        }
        public void CharacterEncumbranceBasicLift()
        {
            Character target = new Character();

            Item item = new Item("Item 1", 0, 25);

            target.Inventory.Add(item);
            Assert.AreEqual(1, target.Encumbrance);
            target.StrengthPoints = 2; // BasicLift == 29
            Assert.AreEqual(0, target.Encumbrance);
        }
Пример #9
0
        public void DefaultSkillLevel()
        {
            Character character = new Character();
            character.StrengthPoints = 1;
            character.DexterityPoints = 2;
            character.IntelligencePoints = 3;
            character.HealthPoints = 4;

            Skill target;

            target = new Skill("abc", "def", SkillStat.Intelligence, SkillDifficulty.Easy);
            target.DefaultRelativeLevel = -4;
            Assert.AreEqual(9, target.Level(character));
        }
Пример #10
0
        public MainViewModel(Window owner, Character character)
        {
            Owner = owner;
            Character = character;

            // Create commands
            AboutCommand = new DelegateCommand(ShowAboutWindow);
            EditPrimaryStatsCommand = new DelegateCommand(EditPrimaryStats);
            EditSecondaryStatsCommand = new DelegateCommand(EditSecondaryStats);
            AddItemCommand = new DelegateCommand(AddItem);
            AddAdvantageCommand = new DelegateCommand(AddAdvantage);
            AddSkillCommand = new DelegateCommand(AddSkill);
            NewCommand = new DelegateCommand(New);
            OpenCommand = new DelegateCommand(Open);
            SaveAsCommand = new DelegateCommand(SaveAs);

            // Setup property dependencies
            PropertyDependencyMap.Add("Strength", new[] { "MaxHP", "BasicLift", "ThrustDamage", "SwingDamage" });
            PropertyDependencyMap.Add("StrengthPoints", new[] { "Strength", "CharacterPoints" });
            PropertyDependencyMap.Add("Dexterity", new[] { "BasicSpeed" });
            PropertyDependencyMap.Add("DexterityPoints", new[] { "Dexterity", "CharacterPoints" });
            PropertyDependencyMap.Add("Intelligence", new[] { "Willpower", "Perception" });
            PropertyDependencyMap.Add("IntelligencePoints", new[] { "Intelligence", "CharacterPoints" });
            PropertyDependencyMap.Add("Health", new[] { "MaxFP", "BasicSpeed" });
            PropertyDependencyMap.Add("HealthPoints", new[] { "Health", "CharacterPoints" });
            PropertyDependencyMap.Add("MaxHPPoints", new[] { "MaxHP", "CharacterPoints" });
            PropertyDependencyMap.Add("MaxFPPoints", new[] { "MaxFP", "CharacterPoints" });
            PropertyDependencyMap.Add("WillpowerPoints", new[] { "Willpower", "CharacterPoints" });
            PropertyDependencyMap.Add("PerceptionPoints", new[] { "Perception", "CharacterPoints" });
            PropertyDependencyMap.Add("BasicSpeed", new[] { "BasicMove" });
            PropertyDependencyMap.Add("BasicSpeedPoints", new[] { "BasicSpeed", "CharacterPoints" });
            PropertyDependencyMap.Add("BasicMovePoints", new[] { "BasicMove", "CharacterPoints" });
            PropertyDependencyMap.Add("BasicLift", new[] { "Encumbrance" });
            PropertyDependencyMap.Add("Inventory", new[] { "Encumbrance" });
            PropertyDependencyMap.Add("Advantages", new[] { "CharacterPoints" });
            PropertyDependencyMap.Add("Skills", new[] { "CharacterPoints" });
            PropertyDependencyMap.Add("Encumbrance", new[] { "EncumbranceAsInt", "EncumbranceAsString", "Move", "Dodge" });
        }
Пример #11
0
        public void New(object parameter)
        {
            Character = new Character();

            // Notify all properties changed
            NotifyPropertyChanged(string.Empty);
        }
Пример #12
0
        public void CharacterEncumbranceLevels()
        {
            Character target = new Character();

            Item item1 = new Item("Item 1", 0, 15);
            Item item2 = new Item("Item 1", 0, 20);
            Item item3 = new Item("Item 1", 0, 60);

            target.Inventory.Add(item1);
            Assert.AreEqual(0, target.Encumbrance);
            target.Inventory.Add(item2);
            Assert.AreEqual(1, target.Encumbrance);
            target.Inventory.Add(item3);
            Assert.AreEqual(3, target.Encumbrance);
        }
Пример #13
0
        public void CharacterMaxHP()
        {
            Character target = new Character();
            target.StrengthPoints = 2;
            target.MaxHPPoints = 3;

            Assert.AreEqual(15, target.MaxHP);
        }
Пример #14
0
        public void CharacterMaxFP()
        {
            Character target = new Character();
            target.HealthPoints = 2;
            target.MaxFPPoints = 3;

            Assert.AreEqual(15, target.MaxFP);
        }
Пример #15
0
        public void CharacterMoveNotNegative()
        {
            Character target = new Character();
            target.BasicMovePoints = -4;

            Item item1 = new Item("Item 1", 0, 15);
            Item item2 = new Item("Item 2", 0, 20);
            Item item3 = new Item("Item 3", 0, 20);

            target.Inventory.Add(item1);
            Assert.AreEqual(1, target.Move);
            target.Inventory.Add(item2);
            Assert.AreEqual(1, target.Move);
            target.Inventory.Add(item3);
            Assert.AreEqual(1, target.Move);
        }
Пример #16
0
        public void CharacterMove()
        {
            Character target = new Character();

            Item item1 = new Item("Item 1", 0, 15);
            Item item2 = new Item("Item 2", 0, 20);
            Item item3 = new Item("Item 3", 0, 20);

            target.Inventory.Add(item1);
            Assert.AreEqual(5, target.Move);
            target.Inventory.Add(item2);
            Assert.AreEqual(4, target.Move);
            target.Inventory.Add(item3);
            Assert.AreEqual(3, target.Move);
        }
Пример #17
0
        public void CharacterTotalWeight()
        {
            Character target = new Character();
            target.Inventory.Add(new Item("Item 1", 1, 3));
            target.Inventory.Add(new Item("Item 2", 1, 7));
            target.Inventory.Add(new Item("Item 3", 1, 4));

            Assert.AreEqual(14, target.TotalWeight);
        }
Пример #18
0
        public void CharacterWillpower()
        {
            Character target = new Character();
            target.IntelligencePoints = 2;
            target.WillpowerPoints = 3;

            Assert.AreEqual(15, target.Willpower);
        }
Пример #19
0
        public void CharacterPointsSkills()
        {
            Character character = new Character();
            character.StrengthPoints = 1;
            character.DexterityPoints = 2;
            character.IntelligencePoints = 3;
            character.HealthPoints = 4;

            Skill skill;

            Character target = new Character();
            skill = new Skill("abc", "def", SkillStat.Intelligence, SkillDifficulty.Easy);
            skill.RelativeLevel = 2;
            target.Skills.Add(skill);
            skill = new Skill("def", "def", SkillStat.Dexterity, SkillDifficulty.Average);
            skill.RelativeLevel = 0;
            target.Skills.Add(skill);
            skill = new Skill("ghi", "def", SkillStat.Health, SkillDifficulty.VeryHard);
            skill.RelativeLevel = -1;
            target.Skills.Add(skill);
            skill = new Skill("jkl", "def", SkillStat.Strength, SkillDifficulty.Hard);
            skill.RelativeLevel = 3;
            target.Skills.Add(skill);
            Assert.AreEqual(4 + 2 + 4 + 16, target.CharacterPointsSkills);
        }
Пример #20
0
        public void CharacterPerception()
        {
            Character target = new Character();
            target.IntelligencePoints = 2;
            target.PerceptionPoints = 3;

            Assert.AreEqual(15, target.Perception);
        }
 public EditSecondaryStatsViewModel(Character character)
 {
     Character = character;
 }
Пример #22
0
        public void CharacterPointsPrimarySkill()
        {
            Character target = new Character();

            target.StrengthPoints = 1;
            target.IntelligencePoints = 0;
            target.DexterityPoints = 2;
            target.HealthPoints = 0;
            Assert.AreEqual(50, target.CharacterPointsPrimarySkill);

            target.StrengthPoints = 0;
            target.IntelligencePoints = 2;
            target.DexterityPoints = 0;
            target.HealthPoints = 3;
            Assert.AreEqual(70, target.CharacterPointsPrimarySkill);
        }
Пример #23
0
 public void CharacterPointsAdvantages()
 {
     Character target = new Character();
     target.Advantages.Add(new Advantage("Advantage", "An advantage", 23));
     target.Advantages.Add(new Advantage("Disadvantage", "A disadvantage", -11));
     Assert.AreEqual(12, target.CharacterPointsAdvantages);
 }
 public EditPrimaryStatsViewModel(Character character)
 {
     Character = character;
 }
Пример #25
0
        public void CharacterPointsSecondarySkill()
        {
            Character target = new Character();
            target.MaxHPPoints = 3;
            Assert.AreEqual(6, target.CharacterPointsSecondarySkill);

            target = new Character();
            target.WillpowerPoints = 2;
            Assert.AreEqual(10, target.CharacterPointsSecondarySkill);

            target = new Character();
            target.PerceptionPoints = 3;
            Assert.AreEqual(15, target.CharacterPointsSecondarySkill);

            target = new Character();
            target.MaxFPPoints = 2;
            Assert.AreEqual(6, target.CharacterPointsSecondarySkill);
        }