Пример #1
0
        public override void Init()
        {
            character = characterCreator.Create();
            var equipTable = new InventoryItemCreator[] {
                character.equipment.head,
                character.equipment.shoulder,
                character.equipment.feet,
                character.equipment.body,
                character.equipment.legs,
                character.equipment.neck,
                character.equipment.gloves,
                character.equipment.waist,
                character.equipment.ring1,
                character.equipment.ring2,
                character.equipment.weapon,
            };

            for (int i = 0; i < character.abilities.Count; i++)
            {
                SkillBook.Add(character.abilities[i].Create());
                SkillBook[i].Caster = this;
            }

            for (int i = 0; i < equipTable.Length; i++)
            {
                if (equipTable[i] != null)
                {
                    var item = equipTable[i].Create();
                    item.isEquipable = true;
                    itemManager.EquipItem(item, (EquipmentSlot)i);
                }
            }

            ActiveEquipment[(int)EquipmentSlot.Weapon].Use();
        }
Пример #2
0
        public void Awake()
        {
            if (!RoR2Application.isModded)
            {
                RoR2Application.isModded = true;
            }

            var info = new CharacterInformation("Whatever", "This is the description");

            var creator = new CharacterCreator();

            creator.Create <MyCustomCharacter>(info, PrefabCollection.CommandoBody, PrefabCollection.CommandoDisplay);
        }
        /// <summary>
        /// Event handler for character creation
        /// </summary>
        public void CreateCharacter()
        {
            int             baseStrength         = CalculateBaseAbility(typeof(Strength));
            int             baseDexterity        = CalculateBaseAbility(typeof(Dexterity));
            int             baseConstitution     = CalculateBaseAbility(typeof(Constitution));
            int             baseIntelligence     = CalculateBaseAbility(typeof(Intelligence));
            int             baseWisdom           = CalculateBaseAbility(typeof(Wisdom));
            int             baseCharisma         = CalculateBaseAbility(typeof(Charisma));
            int             strengthModifier     = ParseAbilityModifier(typeof(Strength));
            int             dexterityModifier    = ParseAbilityModifier(typeof(Dexterity));
            int             constitutionModifier = ParseAbilityModifier(typeof(Constitution));
            int             intelligenceModifier = ParseAbilityModifier(typeof(Intelligence));
            int             wisdomModifier       = ParseAbilityModifier(typeof(Wisdom));
            int             charismaModifier     = ParseAbilityModifier(typeof(Charisma));
            RaceBase        characterRace        = GetCharacterRace();
            List <Language> bonusLanguages       = GetBonusLanguages();
            ClassBase       characterClass       = GetCharacterClass();
            int             experience           = ParseAttribute(typeof(Experience));

            Character character = CharacterCreator.Create
                                  (
                baseStrength,
                baseDexterity,
                baseConstitution,
                baseIntelligence,
                baseWisdom,
                baseCharisma,
                strengthModifier,
                dexterityModifier,
                constitutionModifier,
                intelligenceModifier,
                wisdomModifier,
                charismaModifier,
                characterRace,
                bonusLanguages,
                characterClass,
                experience
                                  );

            // TODO: Temporary
            Player player = GameObject.FindObjectOfType <Player>();

            player.character = character;
        }
        public ActionResult Index(Race?race = null, CharacterClass?characterClass = null)
        {
            if (!race.HasValue)
            {
                Array values = Enum.GetValues(typeof(Race));
                race = (Race)values.GetValue(Random.Next(values.Length));
            }
            if (!characterClass.HasValue)
            {
                Array values = Enum.GetValues(typeof(CharacterClass));
                characterClass = (CharacterClass)values.GetValue(Random.Next(values.Length));
            }

            Character result = creator.Create(characterClass.Value, race.Value);

            ViewBag.Title = String.Format("{0} - {1} {2}", result.Name, result.Race, result.CharacterClass);

            return(View(result));
        }
Пример #5
0
    public bool MainMenu()
    {
        string Input;
        Hero   H = null;

        this.SM.CurrentSlot = -1;

        Console.Clear();
        while (true)
        {
            Console.WriteLine("+------------+");
            Console.WriteLine("| Baldilands |");
            Console.WriteLine("+------------+\n");
            Console.WriteLine("1. New Game");
            Console.WriteLine("2. Load Game");
            Console.WriteLine("3. Delete Save");
            Console.WriteLine("4. Exit");

            Input = Console.ReadLine();
            Input = this.ParseCommand(Input);

            if (Input.Equals("new game"))
            {
                this.SM.SetSaveSlot();
                if (this.SM.CurrentSlot != -1)
                {
                    H = CharacterCreator.Create();
                }
                else
                {
                    Console.Clear();
                    continue;
                }
            }
            else if (Input.Equals("load game"))
            {
                this.SM.SetLoadSlot();
                if (this.SM.CurrentSlot != -1)
                {
                    H = this.SM.LoadGame(this.SM.CurrentSlot);
                }
                else
                {
                    Console.Clear();
                    continue;
                }
            }
            else if (Input.Equals("delete"))
            {
                Console.Clear();
                this.SM.ClearSlot();
            }
            else if (Input.Equals("exit"))
            {
                Console.Clear();
                return(false);
            }
            else
            {
                Console.Clear();
                Console.WriteLine("Invalid command\n");
            }
            if (H != null)
            {
                this.DM.Hero = H;
                this.SM.SaveGame(H, this.SM.CurrentSlot);
                return(true);
            }
        }
    }