public void CreateSkillHistoryRecord(ItemType skill, Character character, SkillHistoryReason reason, double skillPoints) { Database.PrepareQuery( "INSERT INTO chrSkillHistory(characterID, skillTypeID, eventID, logDateTime, absolutePoints)VALUES(@characterID, @skillTypeID, @eventID, @logDateTime, @skillPoints)", new Dictionary <string, object>() { { "@characterID", character.ID }, { "@skillTypeID", skill.ID }, { "@eventID", (int)reason }, { "@logDateTime", DateTime.UtcNow.ToFileTimeUtc() }, { "@skillPoints", skillPoints } } ); }
public Skill CreateSkill(ItemType skillType, Character character, int level = 0, SkillHistoryReason reason = SkillHistoryReason.SkillTrainingComplete) { int skillID = this.SkillDB.CreateSkill(skillType, character); Skill skill = this.LoadItem(skillID) as Skill; // update skill level skill.Level = level; // add skill to the character's inventory character.AddItem(skill); // create a history entry if needed if (reason != SkillHistoryReason.None) { this.SkillDB.CreateSkillHistoryRecord(skillType, character, reason, skill.GetSkillPointsForLevel(level)); } return(skill); }