Ejemplo n.º 1
0
        public Skill(DbSkill dbSkill, byte skillNumber, int cooldown)
        {
            Number            = skillNumber;
            CooldownInSeconds = cooldown;

            // DB values willl be stored.
            SkillId      = dbSkill.SkillId;
            SkillLevel   = dbSkill.SkillLevel;
            Type         = dbSkill.TypeDetail;
            TargetType   = dbSkill.TargetType;
            ResetTime    = dbSkill.ResetTime;
            KeepTime     = dbSkill.KeepTime;
            CastTime     = dbSkill.ReadyTime * 250;
            NeedSP       = dbSkill.SP;
            NeedMP       = dbSkill.MP;
            NeedWeapon1  = dbSkill.NeedWeapon1 == 1;
            NeedWeapon2  = dbSkill.NeedWeapon2 == 1;
            NeedWeapon3  = dbSkill.NeedWeapon3 == 1;
            NeedWeapon4  = dbSkill.NeedWeapon4 == 1;
            NeedWeapon5  = dbSkill.NeedWeapon5 == 1;
            NeedWeapon6  = dbSkill.NeedWeapon6 == 1;
            NeedWeapon7  = dbSkill.NeedWeapon7 == 1;
            NeedWeapon8  = dbSkill.NeedWeapon8 == 1;
            NeedWeapon9  = dbSkill.NeedWeapon9 == 1;
            NeedWeapon10 = dbSkill.NeedWeapon10 == 1;
            NeedWeapon11 = dbSkill.NeedWeapon11 == 1;
            NeedWeapon12 = dbSkill.NeedWeapon12 == 1;
            NeedWeapon13 = dbSkill.NeedWeapon13 == 1;
            NeedWeapon14 = dbSkill.NeedWeapon14 == 1;
            NeedWeapon15 = dbSkill.NeedWeapon15 == 1;
            NeedShield   = dbSkill.NeedShield == 1;
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        public void Save(IPlayerEntity player)
        {
            var skillsSet = from x in _database.Skills.Where(x => x.CharacterId == player.PlayerData.Id).AsNoTracking().ToList()
                            join s in player.SkillTree.Skills on
                            new { x.SkillId, x.CharacterId }
            equals
            new { s.SkillId, s.CharacterId }
            select new { DbSkill = x, PlayerSkill = s };

            foreach (var skillToUpdate in skillsSet)
            {
                skillToUpdate.DbSkill.Level = (byte)skillToUpdate.PlayerSkill.Level;

                _database.Skills.Update(skillToUpdate.DbSkill);
            }

            foreach (SkillInfo skill in player.SkillTree.Skills)
            {
                if (!skill.DatabaseId.HasValue && skill.Level > 0)
                {
                    var newSkill = new DbSkill
                    {
                        SkillId     = skill.SkillId,
                        Level       = (byte)skill.Level,
                        CharacterId = player.PlayerData.Id
                    };

                    _database.Skills.Add(newSkill);
                }
            }

            _database.SaveChanges();
        }
Ejemplo n.º 3
0
        public override void LoadModel(DbBase entity)
        {
            DbSkill skill = entity as DbSkill;

            this.id   = skill.id;
            this.name = skill.name;
        }
Ejemplo n.º 4
0
 public static ApiSkill ToApiSkill(this DbSkill skill)
 {
     return(new ApiSkill
     {
         Id = skill.Id,
         Name = skill.Name,
         Description = skill.Description
     });
 }
Ejemplo n.º 5
0
        public IHttpActionResult GetSkill(int id)
        {
            DbSkill skill = this.db.Skills.Find(id);

            if (skill == null)
            {
                return(this.NotFound());
            }

            return(this.Ok(skill.ToApiSkill()));
        }
Ejemplo n.º 6
0
        public static ConquerSkill Create(uint _owner, ushort _id, ushort _level, uint _exp = 0)
        {
            var db = new DbSkill()
            {
                ID            = _id,
                Level         = _level,
                Experience    = _exp,
                Owner         = _owner,
                PreviousLevel = 0,
            };

            return(new ConquerSkill(db));
        }
Ejemplo n.º 7
0
        public Skill(DbSkill dbSkill, byte skillNumber, int cooldown)
        {
            Number            = skillNumber;
            CooldownInSeconds = cooldown;

            // DB values will be stored.
            SkillId               = dbSkill.SkillId;
            SkillLevel            = dbSkill.SkillLevel;
            Type                  = dbSkill.TypeDetail;
            TargetType            = dbSkill.TargetType;
            ResetTime             = dbSkill.ResetTime;
            KeepTime              = dbSkill.KeepTime;
            CastTime              = dbSkill.ReadyTime * 250;
            TypeAttack            = dbSkill.TypeAttack;
            StateType             = dbSkill.StateType;
            DamageType            = dbSkill.DamageType;
            DamageHP              = dbSkill.DamageHP;
            DamageSP              = dbSkill.DamageSP;
            DamageMP              = dbSkill.DamageMP;
            HealHP                = dbSkill.HealHP;
            HealMP                = dbSkill.HealMP;
            HealSP                = dbSkill.HealSP;
            NeedSP                = dbSkill.SP;
            NeedMP                = dbSkill.MP;
            NeedWeapon1           = dbSkill.NeedWeapon1 == 1;
            NeedWeapon2           = dbSkill.NeedWeapon2 == 1;
            NeedWeapon3           = dbSkill.NeedWeapon3 == 1;
            NeedWeapon4           = dbSkill.NeedWeapon4 == 1;
            NeedWeapon5           = dbSkill.NeedWeapon5 == 1;
            NeedWeapon6           = dbSkill.NeedWeapon6 == 1;
            NeedWeapon7           = dbSkill.NeedWeapon7 == 1;
            NeedWeapon8           = dbSkill.NeedWeapon8 == 1;
            NeedWeapon9           = dbSkill.NeedWeapon9 == 1;
            NeedWeapon10          = dbSkill.NeedWeapon10 == 1;
            NeedWeapon11          = dbSkill.NeedWeapon11 == 1;
            NeedWeapon12          = dbSkill.NeedWeapon12 == 1;
            NeedWeapon13          = dbSkill.NeedWeapon13 == 1;
            NeedWeapon14          = dbSkill.NeedWeapon14 == 1;
            NeedWeapon15          = dbSkill.NeedWeapon15 == 1;
            NeedShield            = dbSkill.NeedShield == 1;
            UseSuccessValue       = dbSkill.SuccessType == SuccessType.SuccessBasedOnValue;
            SuccessValue          = dbSkill.SuccessValue;
            Element               = dbSkill.Element;
            ApplyRange            = dbSkill.ApplyRange;
            MultiAttack           = dbSkill.MultiAttack;
            ShouldClearAfterDeath = dbSkill.FixRange == ClearAfterDeath.Clear;
        }
Ejemplo n.º 8
0
        public Skill Add(Skill skill)
        {
            DbSkill dbSkill = DbSkill.FromModel(skill);

            dbSkill = _context.Skills
                      .Add(dbSkill)
                      .Entity;

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateException)
            {
                throw new ArgumentException("Unable to create skill with such data!");
            }

            return(dbSkill.ToModel());
        }
Ejemplo n.º 9
0
        public Skill DeleteByName(String skillName)
        {
            DbSkill dbSkill = _context.Skills.
                              SingleOrDefault(s => s.Name == skillName) ?? throw new ArgumentException($"No skill with name {skillName}!");;

            dbSkill = _context.Skills
                      .Remove(dbSkill)
                      .Entity;

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateException)
            {
                throw new ArgumentException("Unable to delete skill with such name!");
            }

            return(dbSkill.ToModel());
        }
Ejemplo n.º 10
0
 public Skill(DbSkill dbSkill, byte skillNumber, int cooldown)
 {
     Number            = skillNumber;
     CooldownInSeconds = cooldown;
     _dbSkill          = dbSkill;
 }
Ejemplo n.º 11
0
 public ConquerSkill(DbSkill _skill)
 {
     Database = _skill;
     Info     = ServerDatabase.Context.MagicType.GetMagicTypeBySkill(this);
 }