/// <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); }