/// <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); }
/// <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); }
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; }
// 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]; }
/// <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); }
/// <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(); } }
// 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; } }
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; }
/// <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); }
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; }
void SetPlayerReflexes(PlayerReflexes value) { playerReflexes = value; highlightRect = new Rect(0f, 0.2f * (4 - (int)value), 1f, 0.2f); }