예제 #1
0
        /// <summary>
        /// Update the Battle Status in client's equipment window
        /// </summary>
        public void SendBattleStatus()
        {
            Packets.Server.BattleStats p = new SagaMap.Packets.Server.BattleStats();
            p.SetCurseResist((ushort)this.Char.BattleStatus.curseresist);
            p.SetDarkResist((ushort)this.Char.BattleStatus.darkresist);
            p.SetDef((ushort)(this.Char.BattleStatus.defbonus + this.Char.BattleStatus.defskill));
            p.SetFireResist((ushort)this.Char.BattleStatus.fireresist);
            p.SetGhostResist((ushort)this.Char.BattleStatus.ghostresist);
            p.SetHolyResist((ushort)this.Char.BattleStatus.holyresist);
            p.SetIceResist((ushort)this.Char.BattleStatus.iceresist);
            p.SetMagicalFlee((ushort)(this.Char.BattleStatus.mflee + this.Char.BattleStatus.mfleebonus + this.Char.BattleStatus.mfleeskill));
            Weapon w      = SagaDB.Items.WeaponFactory.GetActiveWeapon(this.Char);
            ushort minatk = (ushort)(((this.Char.intel + this.Char.BattleStatus.intbonus) * 3) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minmatk + this.Char.BattleStatus.matkbonus + this.Char.BattleStatus.matkskill + this.Char.BattleStatus.matkminbonus);
            ushort maxatk = (ushort)(((this.Char.intel + this.Char.BattleStatus.intbonus) * 6) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxmatk + this.Char.BattleStatus.matkbonus + this.Char.BattleStatus.matkskill + this.Char.BattleStatus.matkmaxbonus);

            p.SetMagicAtk(maxatk);
            p.SetMagicBlue(minatk);
            minatk = (ushort)(((this.Char.str + this.Char.BattleStatus.strbonus)) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minatk + this.Char.BattleStatus.atkbonus + this.Char.BattleStatus.atkskill + this.Char.BattleStatus.atkminbonus);
            maxatk = (ushort)(((this.Char.str + this.Char.BattleStatus.strbonus) * 2) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxatk + this.Char.BattleStatus.atkbonus + this.Char.BattleStatus.atkskill + this.Char.BattleStatus.atkmaxbonus);
            p.SetPhysicalAtk(maxatk);
            p.SetPhysicalBlue(minatk);
            p.SetPhysicalFlee((ushort)(this.Char.BattleStatus.flee + this.Char.BattleStatus.fleebonus + this.Char.BattleStatus.fleeskill));
            minatk = (ushort)((this.Char.con + this.Char.BattleStatus.conbonus) * 2 + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minrangeatk + this.Char.BattleStatus.ratkbonus + this.Char.BattleStatus.ratkskill + this.Char.BattleStatus.ratkminbonus);
            maxatk = (ushort)((this.Char.con + this.Char.BattleStatus.conbonus) * 4 + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxrangeatk + this.Char.BattleStatus.ratkbonus + this.Char.BattleStatus.ratkskill + this.Char.BattleStatus.ratkmaxbonus);
            p.SetPhysicalRangeAtk(maxatk);
            p.SetRangeBlue(minatk);
            p.SetSpiritResist((ushort)this.Char.BattleStatus.spiritresist);
            p.SetWindResist((ushort)this.Char.BattleStatus.windresist);
            p.SetRangedFlee((ushort)(this.Char.BattleStatus.rflee + this.Char.BattleStatus.rfleebonus + +this.Char.BattleStatus.rfleeskill));
            this.netIO.SendPacket(p, this.SessionID);
        }
예제 #2
0
 /// <summary>
 /// Update the Battle Status in client's equipment window
 /// </summary>
 public void SendBattleStatus()
 {
     Packets.Server.BattleStats p = new SagaMap.Packets.Server.BattleStats();
     p.SetCurseResist((ushort)this.Char.BattleStatus.curseresist);
     p.SetDarkResist((ushort)this.Char.BattleStatus.darkresist);
     p.SetDef((ushort)(this.Char.BattleStatus.defbonus + this.Char.BattleStatus.defskill));
     p.SetFireResist((ushort)this.Char.BattleStatus.fireresist);
     p.SetGhostResist((ushort)this.Char.BattleStatus.ghostresist);
     p.SetHolyResist((ushort)this.Char.BattleStatus.holyresist);
     p.SetIceResist((ushort)this.Char.BattleStatus.iceresist);
     p.SetMagicalFlee((ushort)(this.Char.BattleStatus.mflee + this.Char.BattleStatus.mfleebonus + this.Char.BattleStatus.mfleeskill));
     Weapon w = SagaDB.Items.WeaponFactory.GetActiveWeapon(this.Char);
     ushort minatk = (ushort)(((this.Char.intel + this.Char.BattleStatus.intbonus) * 3) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minmatk + this.Char.BattleStatus.matkbonus + this.Char.BattleStatus.matkskill + this.Char.BattleStatus.matkminbonus);
     ushort maxatk = (ushort)(((this.Char.intel + this.Char.BattleStatus.intbonus) * 6) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxmatk + this.Char.BattleStatus.matkbonus + this.Char.BattleStatus.matkskill + this.Char.BattleStatus.matkmaxbonus);
     p.SetMagicAtk(maxatk);
     p.SetMagicBlue(minatk);
     minatk = (ushort)(((this.Char.str + this.Char.BattleStatus.strbonus)) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minatk + this.Char.BattleStatus.atkbonus + this.Char.BattleStatus.atkskill + this.Char.BattleStatus.atkminbonus);
     maxatk = (ushort)(((this.Char.str + this.Char.BattleStatus.strbonus) * 2) + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxatk + this.Char.BattleStatus.atkbonus + this.Char.BattleStatus.atkskill + this.Char.BattleStatus.atkmaxbonus);
     p.SetPhysicalAtk(maxatk);
     p.SetPhysicalBlue(minatk);
     p.SetPhysicalFlee((ushort)(this.Char.BattleStatus.flee + this.Char.BattleStatus.fleebonus + this.Char.BattleStatus.fleeskill));
     minatk = (ushort)((this.Char.con + this.Char.BattleStatus.conbonus) * 2 + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).minrangeatk + this.Char.BattleStatus.ratkbonus + this.Char.BattleStatus.ratkskill + this.Char.BattleStatus.ratkminbonus);
     maxatk = (ushort)((this.Char.con + this.Char.BattleStatus.conbonus) * 4 + WeaponFactory.GetWeaponInfo((byte)w.type, (byte)w.level).maxrangeatk + this.Char.BattleStatus.ratkbonus + this.Char.BattleStatus.ratkskill + this.Char.BattleStatus.ratkmaxbonus);
     p.SetPhysicalRangeAtk(maxatk);
     p.SetRangeBlue(minatk);
     p.SetSpiritResist((ushort)this.Char.BattleStatus.spiritresist);
     p.SetWindResist((ushort)this.Char.BattleStatus.windresist);
     p.SetRangedFlee((ushort)(this.Char.BattleStatus.rflee + this.Char.BattleStatus.rfleebonus + +this.Char.BattleStatus.rfleeskill));
     this.netIO.SendPacket(p, this.SessionID);
 }