public void SaveDbStaticSkill(DbStaticSkill DbStaticSkill)
 {
     if (DbStaticSkill.Id == 0)
     {
         context.DbStaticSkills.Add(DbStaticSkill);
     }
     else
     {
         var editMe = context.DbStaticSkills.Find(DbStaticSkill.Id);
         if (editMe != null)
         {
             // dbEntry.Name = DbStaticSkill.Name;
             // dbEntry.Message = DbStaticSkill.Message;
             // dbEntry.TimeStamp = DbStaticSkill.TimeStamp;
         }
     }
     context.SaveChanges();
 }
Exemple #2
0
        private static (bool, string) GiveSkillToPlayerWithSuccess(int playerId, int skillSourceId)
        {
            ISkillRepository         skillRepo       = new EFSkillRepository();
            IDbStaticSkillRepository skillSourceRepo = new EFDbStaticSkillRepository();
            DbStaticSkill            skill           = skillSourceRepo.DbStaticSkills.SingleOrDefault(s => s.Id == skillSourceId);

            var ghost = skillRepo.Skills.FirstOrDefault(s => s.OwnerId == playerId && s.SkillSourceId == skill.Id);

            if (ghost == null) //player does not have this skill yet; add it
            {
                DomainRegistry.Repository.Execute(new CreateSkill {
                    ownerId = playerId, skillSourceId = skill.Id
                });
                var output = "";
                output += skill.DiscoveryMessage;
                return(true, output + "  <b>Congratulations, you have learned a new spell, " + skill.FriendlyName + ".</b>");
            }
            else // player already has this skill, so add its charges/duration
            {
                return(false, "You discovered the spell '" + skill.FriendlyName + "' but unfortunately you already knew it.");
            }
        }