示例#1
0
 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 }
     }
         );
 }
示例#2
0
        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);
        }