public static void Update(Character character) { unchecked { if ((character._status.Updates & 1) == 1) { CommonFunctions.UpdateCharacterInfo(character, (byte)character.UpdateReason); if (character.HP == 0) { character.stance = (byte)StancePosition.Dead; character.OnDie(); CommonFunctions.UpdateState(character); character._status.Updates &= (byte)(~1); } if (character.sessionParty != null) { foreach (Character target in character.sessionParty._Characters) { if (target.id == character.id) continue; Common.Actions.UpdateMemberHp(target, character); Common.Actions.UpdateMemberSp(target, character); } } } if ((character._status.Updates & 2) == 2) { CommonFunctions.SendBattleStatus(character); character._status.Updates &= (byte)(~2); } if ((character._status.Updates & 3) == 3) { CommonFunctions.SendExtStats(character); character._status.Updates &= (byte)(~3); } } }