diff --git a/Resources/SteamLanguage/enums.steamd b/Resources/SteamLanguage/enums.steamd
index d261a3a8..a01e76f1 100644
--- a/Resources/SteamLanguage/enums.steamd
+++ b/Resources/SteamLanguage/enums.steamd
@@ -152,6 +152,16 @@ enum EFriendFlags flags
FlagAll = 65535;
};
+enum EPersonaStateFlag flags
+{
+ HasRichPresence = 1;
+ InJoinableGame = 2;
+
+ OnlineUsingWeb = 256;
+ OnlineUsingMobile = 512;
+ OnlineUsingBigPicture = 1024;
+};
+
enum EClientPersonaStateFlag flags
{
Status = 1;
diff --git a/SteamKit2/SteamKit2/Base/Generated/SteamLanguage.cs b/SteamKit2/SteamKit2/Base/Generated/SteamLanguage.cs
index 138f4700..d8ac5f61 100644
--- a/SteamKit2/SteamKit2/Base/Generated/SteamLanguage.cs
+++ b/SteamKit2/SteamKit2/Base/Generated/SteamLanguage.cs
@@ -1912,6 +1912,15 @@ namespace SteamKit2
FlagAll = 65535,
}
[Flags]
+ public enum EPersonaStateFlag
+ {
+ HasRichPresence = 1,
+ InJoinableGame = 2,
+ OnlineUsingWeb = 256,
+ OnlineUsingMobile = 512,
+ OnlineUsingBigPicture = 1024,
+ }
+ [Flags]
public enum EClientPersonaStateFlag
{
Status = 1,
diff --git a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/Callbacks.cs b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/Callbacks.cs
index 27e9485b..0320ea25 100644
--- a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/Callbacks.cs
+++ b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/Callbacks.cs
@@ -38,6 +38,11 @@ namespace SteamKit2
///
/// The state.
public EPersonaState State { get; private set; }
+ ///
+ /// Gets the state flags.
+ ///
+ /// The state flags.
+ public EPersonaStateFlag StateFlags { get; private set; }
///
/// Gets the game app ID.
@@ -135,6 +140,7 @@ namespace SteamKit2
this.FriendID = friend.friendid;
this.State = ( EPersonaState )friend.persona_state;
+ this.StateFlags = ( EPersonaStateFlag )friend.persona_state_flags;
this.GameAppID = friend.game_played_app_id;
this.GameID = friend.gameid;
diff --git a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/FriendCache.cs b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/FriendCache.cs
index 8de306fa..41d02486 100644
--- a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/FriendCache.cs
+++ b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/FriendCache.cs
@@ -30,6 +30,7 @@ namespace SteamKit2
public EFriendRelationship Relationship { get; set; }
public EPersonaState PersonaState { get; set; }
+ public EPersonaStateFlag PersonaStateFlags { get; set; }
public uint GameAppID { get; set; }
public GameID GameID { get; set; }
diff --git a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/SteamFriends.cs b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/SteamFriends.cs
index 198c993a..0ebdf37d 100644
--- a/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/SteamFriends.cs
+++ b/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/SteamFriends.cs
@@ -686,6 +686,7 @@ namespace SteamKit2
{
cacheFriend.AvatarHash = friend.avatar_hash;
cacheFriend.PersonaState = ( EPersonaState )friend.persona_state;
+ cacheFriend.PersonaStateFlags = ( EPersonaStateFlag )friend.persona_state_flags;
}
if ( ( flags & EClientPersonaStateFlag.GameExtraInfo ) == EClientPersonaStateFlag.GameExtraInfo )