예제 #1
0
        public void SettingRaceLoadsTraits()
        {
            var sheet   = new CharacterSheet(_testSkills);
            var gateway = new TestTraitGateway();

            //Set up the trait
            var trait = new Trait();

            trait.Name = "Elfy";
            gateway.Traits.Add(trait);

            //Set up the race
            var elf = new Race();

            elf.Traits.Add("Elfy");
            elf.SizeSetting = CharacterSize.Medium;
            elf.HeightRange = DiceStrings.ParseDice("10d6");
            elf.WeightRange = DiceStrings.ParseDice("20d8");

            //sheet.SetRace (elf);
            var assign = new RaceSelector(new TestRacesGateway(), gateway);

            assign.SetRace(sheet, elf);
            Assert.AreEqual(elf, sheet.Race);
            Assert.IsTrue(sheet.Traits.Any(x => x == trait));
        }
예제 #2
0
        public RaceSelectorTests()
        {
            // Create a race
            elf             = new Race();
            elf.Name        = "Elfy";
            elf.SizeSetting = CharacterSize.Medium;
            elf.HeightRange = DiceStrings.ParseDice("10d6");
            elf.WeightRange = DiceStrings.ParseDice("20d8");
            elf.KnownLanguages.Add("Common");
            elf.KnownLanguages.Add("Elvish");
            elf.AvailableLanguages.Add("Draconic");
            elf.AvailableLanguages.Add("Celestial");

            human             = new Race();
            human.Name        = "Human";
            human.SizeSetting = CharacterSize.Medium;
            human.HeightRange = DiceStrings.ParseDice("2d8+30");
            human.WeightRange = DiceStrings.ParseDice("3d6+100");
            human.KnownLanguages.Add("Common");


            var list = new List <Race>();

            list.Add(elf);
            list.Add(human);

            // Configure Gateways
            raceGateway = EntityGateway <Race> .LoadFromList(list);

            raceSelectorSubject = new RaceSelector(raceGateway);
        }
예제 #3
0
    public static void SetupSlime()
    {
        RaceSelector rc = GameObject.FindObjectOfType <RaceSelector>();

        rc.SetArms(Race.Slime);
        rc.SetBody(Race.Slime);
        rc.SetLegs(Race.Slime, 1.0f);
    }
예제 #4
0
    public static void SetupOrc()
    {
        RaceSelector rc = GameObject.FindObjectOfType <RaceSelector>();

        rc.SetArms(Race.Orc);
        rc.SetBody(Race.Orc);
        rc.SetLegs(Race.Orc, 1.0f);
    }
예제 #5
0
    public static void SetupHuman()
    {
        RaceSelector rc = GameObject.FindObjectOfType <RaceSelector>();

        rc.SetArms(Race.Human);
        rc.SetBody(Race.Human);
        rc.SetLegs(Race.Human, 1.0f);
    }
예제 #6
0
        public void SettingRaceAssignsMovement()
        {
            var sheet   = new CharacterSheet(_testSkills);
            var fastGuy = new Race();

            fastGuy.SizeSetting       = CharacterSize.Small;
            fastGuy.HeightRange       = DiceStrings.ParseDice("2d4+10");
            fastGuy.WeightRange       = DiceStrings.ParseDice("2d4+100");
            fastGuy.BaseMovementSpeed = 45;

            var assign = new RaceSelector(new TestRacesGateway(), new TestTraitGateway());

            assign.SetRace(sheet, fastGuy);
            Assert.AreEqual(45, sheet.Movement.BaseMovement.TotalValue);
        }
예제 #7
0
        public void SettingRaceCalculatesSize()
        {
            var sheet = new CharacterSheet(CharacterStrategy.Default());

            var smallGuy = new Race();

            smallGuy.SizeSetting = CharacterSize.Small;
            smallGuy.HeightRange = DiceStrings.ParseDice("2d4+10");
            smallGuy.WeightRange = DiceStrings.ParseDice("2d4+100");

            var assign = new RaceSelector(raceGateway);

            raceSelectorSubject.SetRace(sheet, smallGuy);
            Assert.Equal(CharacterSize.Small, sheet.Size.Size);
            Assert.True(sheet.Size.Height >= 12);
            Assert.True(sheet.Size.Weight >= 102);
        }
예제 #8
0
        public void SettingRaceCalculatesSize()
        {
            var gateway = new TestTraitGateway();

            var sheet = new CharacterSheet(_testSkills);

            var smallGuy = new Race();

            smallGuy.SizeSetting = CharacterSize.Small;
            smallGuy.HeightRange = DiceStrings.ParseDice("2d4+10");
            smallGuy.WeightRange = DiceStrings.ParseDice("2d4+100");


            var assign = new RaceSelector(new TestRacesGateway(), gateway);

            assign.SetRace(sheet, smallGuy);
            Assert.AreEqual(CharacterSize.Small, sheet.Size.Size);
            Assert.GreaterOrEqual(sheet.Size.Height, 12);
            Assert.GreaterOrEqual(sheet.Size.Weight, 102);
        }
예제 #9
0
        static void Main(string[] args)
        {
            int classIndex = 0;
            int raceIndex  = 0;

            Character character = new Character();

            character.Race            = RaceSelector.SelectRace();
            character.CharachterClass = ClassSelector.BuildClass();
            Console.WriteLine();
            Console.WriteLine("You have chosen: " + ClasessData.Classes[classIndex]);
            Console.WriteLine("You have chosen: " + RacesData.Races[raceIndex]);
            Console.WriteLine("Time to set your stats");
            var command = Console.ReadLine();

            StatRollerService.SetStates(character.Race, character);
            Console.WriteLine("Time to choose your background");
            Console.WriteLine("This will help you with extra set of skills to select");
            Console.WriteLine("Your background also informers your charachters traits. These charachter traits are suggestions, not absolute rules");
            Console.WriteLine("But your background is way more than only your skills. For more details, read the players manual. Starting at page 126");
            SkillListBuilder.SelectSkills(character);

            BuildTextFile.PrintCharachterToTextFile(character);
        }
예제 #10
0
    public static void Kill()
    {
        RaceSelector rc = GameObject.FindObjectOfType <RaceSelector>();

        rc.SetAnimationDie();
    }
예제 #11
0
    public static void FindHeight()
    {
        RaceSelector rc = GameObject.FindObjectOfType <RaceSelector>();

        Debug.Log(rc.FindLocalMiddlePoint());
    }