Ejemplo n.º 1
0
        /// <summary>
        /// Assigns player entity settings from a character document.
        /// </summary>
        public void AssignCharacter(CharacterDocument character, int level = 1, int maxHealth = 0)
        {
            if (character == null)
            {
                SetEntityDefaults();
                return;
            }

            this.level        = level;
            this.gender       = character.gender;
            this.raceTemplate = character.raceTemplate;
            this.career       = character.career;
            this.name         = character.name;
            this.faceIndex    = character.faceIndex;
            this.stats        = character.workingStats;
            this.skills       = character.workingSkills;
            this.reflexes     = character.reflexes;

            if (maxHealth <= 0)
            {
                this.maxHealth = FormulaHelper.RollMaxHealth(level, stats.Endurance, career.HitPointsPerLevelOrMonsterLevel);
            }
            else
            {
                this.maxHealth = maxHealth;
            }

            FillVitalSigns();

            DaggerfallUnity.LogMessage("Assigned character " + this.name, true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Assigns player entity settings from a character sheet.
        /// </summary>
        public void AssignCharacter(CharacterSheet character, int level = 1, int maxHealth = 0)
        {
            if (character == null)
            {
                SetEntityDefaults();
                return;
            }

            this.level = level;
            this.gender = character.gender;
            this.race = character.race;
            this.career = character.career;
            this.name = character.name;
            this.faceIndex = character.faceIndex;
            this.stats = character.workingStats;
            this.skills = character.workingSkills;
            this.reflexes = character.reflexes;

            if (maxHealth <= 0)
                this.maxHealth = FormulaHelper.RollMaxHealth(level, stats.Endurance, career.HitPointsPerLevelOrMonsterLevel);
            else
                this.maxHealth = maxHealth;

            FillVitalSigns();

            DaggerfallUnity.LogMessage("Assigned character " + this.name, true);
        }
Ejemplo n.º 3
0
        void SetPlayerReflexes(PlayerReflexes value)
        {
            playerReflexes = value;

            highlightRect = new Rect(
                0f,
                ((9f * (4 - (int)value)) / highlightTexture.height),
                1f,
                9f / highlightTexture.height);
        }
 // Set some default values for testing during development
 void SetDefaultValues()
 {
     race     = GetRaceTemplate(Races.Breton);
     gender   = Genders.Male;
     career   = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     name     = "Nameless";
     reflexes = PlayerReflexes.Average;
     workingSkills.SetDefaults();
     workingStats.SetFromCareer(career);
     faceIndex = 0;
 }
Ejemplo n.º 5
0
 // Set some default values for testing during development
 void SetDefaultValues()
 {
     raceTemplate = GetRaceTemplate(Races.Breton);
     gender       = Genders.Male;
     career       = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     name         = "Nameless";
     reflexes     = PlayerReflexes.Average;
     workingSkills.SetDefaults();
     workingStats.SetFromCareer(career);
     startingLevelUpSkillSum = 0;
     faceIndex = 0;
     skillUses = new short[DaggerfallSkills.Count];
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Assigns player entity settings from a character document.
        /// </summary>
        public void AssignCharacter(CharacterDocument character, int level = 1, int maxHealth = 0, bool fillVitals = true)
        {
            if (character == null)
            {
                SetEntityDefaults();
                return;
            }

            this.level                   = level;
            this.gender                  = character.gender;
            this.raceTemplate            = character.raceTemplate;
            this.career                  = character.career;
            this.name                    = character.name;
            this.faceIndex               = character.faceIndex;
            this.stats                   = character.workingStats;
            this.skills                  = character.workingSkills;
            this.reflexes                = character.reflexes;
            this.maxHealth               = character.maxHealth;
            this.currentHealth           = character.currentHealth;
            this.currentMagicka          = character.currentSpellPoints;
            this.currentFatigue          = character.currentFatigue;
            this.skillUses               = character.skillUses;
            this.startingLevelUpSkillSum = character.startingLevelUpSkillSum;
            this.ArmorValues             = character.armorValues;

            SetCurrentLevelUpSkillSum();

            if (startingLevelUpSkillSum <= 0) // new character
            {
                startingLevelUpSkillSum = currentLevelUpSkillSum;
            }

            if (maxHealth <= 0)
            {
                this.maxHealth = FormulaHelper.RollMaxHealth(level, career.HitPointsPerLevel);
            }
            else
            {
                this.maxHealth = maxHealth;
            }

            if (fillVitals)
            {
                FillVitalSigns();
            }

            timeOfLastSkillIncreaseCheck = DaggerfallUnity.Instance.WorldTime.Now.ToClassicDaggerfallTime();

            DaggerfallUnity.LogMessage("Assigned character " + this.name, true);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Assigns default entity settings.
 /// </summary>
 public override void SetEntityDefaults()
 {
     // TODO: Add some bonus points to stats
     career = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     if (career != null)
     {
         raceTemplate = CharacterDocument.GetRaceTemplate(Races.Breton);
         faceIndex    = 0;
         reflexes     = PlayerReflexes.Average;
         gender       = Genders.Male;
         stats.SetFromCareer(career);
         level     = testPlayerLevel;
         maxHealth = FormulaHelper.RollMaxHealth(level, stats.Endurance, career.HitPointsPerLevelOrMonsterLevel);
         name      = testPlayerName;
         stats.SetDefaults();
         skills.SetDefaults();
         FillVitalSigns();
     }
 }
Ejemplo n.º 8
0
 // Set some default values for testing during development
 void SetDefaultValues()
 {
     raceTemplate = GetRaceTemplate(Races.Breton);
     gender       = Genders.Male;
     career       = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     name         = "Nameless";
     reflexes     = PlayerReflexes.Average;
     workingSkills.SetDefaults();
     workingStats.SetPermanentFromCareer(career);
     startingLevelUpSkillSum = 0;
     faceIndex = 0;
     skillUses = new short[DaggerfallSkills.Count];
     skillsRaisedThisLevel1 = 0;
     skillsRaisedThisLevel2 = 0;
     for (int i = 0; i < armorValues.Length; i++)
     {
         armorValues[i] = 100;
     }
 }
Ejemplo n.º 9
0
        void SetupControl()
        {
            dfUnity = DaggerfallUnity.Instance;
            if (!dfUnity.IsReady)
            {
                return;
            }

            // Load highlight texture
            ImgFile imgFile = new ImgFile(Path.Combine(dfUnity.Arena2Path, highlightImgName), FileUsage.UseMemory, true);

            imgFile.LoadPalette(Path.Combine(dfUnity.Arena2Path, imgFile.PaletteName));
            highlightTexture            = TextureReader.CreateFromAPIImage(imgFile, 0, 0, 0);
            highlightTexture.filterMode = DaggerfallUI.Instance.GlobalFilterMode;

            // Add buttons
            Vector2 buttonPos  = new Vector2(0, 0);
            Vector2 buttonSize = new Vector2(66, 9);

            for (int i = 0; i < 5; i++)
            {
                selectButtons[i] = new Button();
                this.Components.Add(selectButtons[i]);
                selectButtons[i].Position      = buttonPos;
                selectButtons[i].Size          = buttonSize;
                selectButtons[i].Tag           = i;
                selectButtons[i].OnMouseClick += ReflexButton_OnMouseClick;
                buttonPos.y += buttonSize.y;
            }

            // Set size of this panel
            Size = new Vector2(66, 45);

            // Set starting value
            PlayerReflexes = PlayerReflexes.Average;
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Assigns player entity settings from a character document.
        /// </summary>
        public void AssignCharacter(CharacterDocument character, int level = 1, int maxHealth = 0, bool fillVitals = true)
        {
            if (character == null)
            {
                SetEntityDefaults();
                return;
            }

            this.level                           = level;
            this.gender                          = character.gender;
            this.raceTemplate                    = character.raceTemplate;
            this.career                          = character.career;
            this.name                            = character.name;
            this.faceIndex                       = character.faceIndex;
            this.stats                           = character.workingStats;
            this.skills                          = character.workingSkills;
            this.reflexes                        = character.reflexes;
            this.maxHealth                       = character.maxHealth;
            this.currentHealth                   = character.currentHealth;
            this.currentMagicka                  = character.currentSpellPoints;
            this.sGroupReputations[0]            = character.reputationCommoners;
            this.sGroupReputations[1]            = character.reputationMerchants;
            this.sGroupReputations[2]            = character.reputationNobility;
            this.sGroupReputations[3]            = character.reputationScholars;
            this.sGroupReputations[4]            = character.reputationUnderworld;
            this.currentFatigue                  = character.currentFatigue;
            this.skillUses                       = character.skillUses;
            this.startingLevelUpSkillSum         = character.startingLevelUpSkillSum;
            this.minMetalToHit                   = (WeaponMaterialTypes)character.minMetalToHit;
            this.armorValues                     = character.armorValues;
            this.timeOfLastSkillTraining         = character.lastTimePlayerBoughtTraining;
            this.timeForThievesGuildLetter       = character.timeForThievesGuildLetter;
            this.timeForDarkBrotherhoodLetter    = character.timeForDarkBrotherhoodLetter;
            this.darkBrotherhoodRequirementTally = character.darkBrotherhoodRequirementTally;
            this.thievesGuildRequirementTally    = character.thievesGuildRequirementTally;

            SetCurrentLevelUpSkillSum();

            if (startingLevelUpSkillSum <= 0) // new character
            {
                startingLevelUpSkillSum = currentLevelUpSkillSum;
            }

            if (maxHealth <= 0)
            {
                this.maxHealth = FormulaHelper.RollMaxHealth(level, career.HitPointsPerLevel);
            }
            else
            {
                this.maxHealth = maxHealth;
            }

            if (fillVitals)
            {
                FillVitalSigns();
            }

            timeOfLastSkillIncreaseCheck = DaggerfallUnity.Instance.WorldTime.Now.ToClassicDaggerfallTime();

            DaggerfallUnity.LogMessage("Assigned character " + this.name, true);
        }
Ejemplo n.º 11
0
        void SetPlayerReflexes(PlayerReflexes value)
        {
            playerReflexes = value;

            highlightRect = new Rect(
                0f,
                ((9f * (4 - (int)value)) / highlightTexture.height),
                1f,
                9f / highlightTexture.height);
        }
Ejemplo n.º 12
0
        void SetupControl()
        {
            dfUnity = DaggerfallUnity.Instance;
            if (!dfUnity.IsReady)
                return;

            // Load highlight texture
            ImgFile imgFile = new ImgFile(Path.Combine(dfUnity.Arena2Path, highlightImgName), FileUsage.UseMemory, true);
            imgFile.LoadPalette(Path.Combine(dfUnity.Arena2Path, imgFile.PaletteName));
            highlightTexture = TextureReader.CreateFromAPIImage(imgFile, 0, 0, 0);
            highlightTexture.filterMode = DaggerfallUI.Instance.GlobalFilterMode;

            // Add buttons
            Vector2 buttonPos = new Vector2(0, 0);
            Vector2 buttonSize = new Vector2(66, 9);
            for (int i = 0; i < 5; i++)
            {
                selectButtons[i] = new Button();
                this.Components.Add(selectButtons[i]);
                selectButtons[i].Position = buttonPos;
                selectButtons[i].Size = buttonSize;
                selectButtons[i].Tag = i;
                selectButtons[i].OnMouseClick += ReflexButton_OnMouseClick;
                buttonPos.y += buttonSize.y;
            }

            // Set size of this panel
            Size = new Vector2(66, 45);

            // Set starting value
            PlayerReflexes = PlayerReflexes.Average;
        }
Ejemplo n.º 13
0
 // Set some default values for testing during development
 void SetDefaultValues()
 {
     race = GetRaceTemplate(Races.Breton);
     gender = Genders.Male;
     career = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     name = "Nameless";
     reflexes = PlayerReflexes.Average;
     workingSkills.SetDefaults();
     workingStats.SetFromCareer(career);
     faceIndex = 0;
 }
 /// <summary>
 /// Assigns default entity settings.
 /// </summary>
 public override void SetEntityDefaults()
 {
     // TODO: Add some bonus points to stats
     career = DaggerfallEntity.GetClassCareerTemplate(ClassCareers.Mage);
     if (career != null)
     {
         raceTemplate = CharacterDocument.GetRaceTemplate(Races.Breton);
         faceIndex = 0;
         reflexes = PlayerReflexes.Average;
         gender = Genders.Male;
         stats.SetFromCareer(career);
         level = testPlayerLevel;
         maxHealth = FormulaHelper.RollMaxHealth(level, stats.Endurance, career.HitPointsPerLevelOrMonsterLevel);
         name = testPlayerName;
         stats.SetDefaults();
         skills.SetDefaults();
         FillVitalSigns();
     }
 }
Ejemplo n.º 15
0
        void SetPlayerReflexes(PlayerReflexes value)
        {
            playerReflexes = value;

            highlightRect = new Rect(0f, 0.2f * (4 - (int)value), 1f, 0.2f);
        }