diff --git a/CSGSI/Nodes/BombNode.cs b/CSGSI/Nodes/BombNode.cs
index eccad6a..16c096a 100644
--- a/CSGSI/Nodes/BombNode.cs
+++ b/CSGSI/Nodes/BombNode.cs
@@ -20,6 +20,11 @@ public class BombNode : NodeBase
///
public float Countdown { get; set; }
+ ///
+ /// The SteamID of the owner of the C4.
+ ///
+ public int Owner { get; set; }
+
///
/// Initializes a new from the given JSON string.
///
@@ -30,6 +35,7 @@ public BombNode(string json)
State = GetEnum("state");
Position = GetVector3("position");
Countdown = GetFloat("countdown");
+ Owner = GetInt32("player");
}
}
diff --git a/CSGSI/Nodes/MapTeamNode.cs b/CSGSI/Nodes/MapTeamNode.cs
index d35a794..a4cd548 100644
--- a/CSGSI/Nodes/MapTeamNode.cs
+++ b/CSGSI/Nodes/MapTeamNode.cs
@@ -16,12 +16,22 @@ public class MapTeamNode : NodeBase
public int TimeoutsRemaining { get; set; }
///
- /// Unknown.
+ /// The number of matches clinched in the current series (used for BO3, BO5, etc.).
///
public int MatchesWonThisSeries { get; set; }
///
- /// Name of the team (e.g. Clan name if all players have the same tag or FACEIT teams).
+ /// The number of rounds lost consecutively by this team (drawed rounds count as lost ones).
+ ///
+ public int ConsecutiveRoundLosses { get; set; }
+
+ ///
+ /// The abbreviation of the region of the team.
+ ///
+ public string Flag { get; set; }
+
+ ///
+ /// The name of the team.
///
public string Name { get; set; }
@@ -31,6 +41,8 @@ internal MapTeamNode(string json)
Score = GetInt32("score");
TimeoutsRemaining = GetInt32("timeouts_remaining");
MatchesWonThisSeries = GetInt32("matches_won_this_series");
+ ConsecutiveRoundLosses = GetInt32("consecutive_round_losses");
+ Flag = GetString("flag");
Name = GetString("name");
}
}
diff --git a/CSGSI/Nodes/NodeBase.cs b/CSGSI/Nodes/NodeBase.cs
index 3d2b495..cc271d9 100644
--- a/CSGSI/Nodes/NodeBase.cs
+++ b/CSGSI/Nodes/NodeBase.cs
@@ -12,7 +12,7 @@ public class NodeBase
///
/// The data that was passed via JSON.
///
- protected JObject _data;
+ protected readonly JObject _data;
///
/// The raw JSON string that was used to construct this node.
@@ -22,7 +22,7 @@ public class NodeBase
///
/// Whether or not this node contains data (i.e. JSON string is not empty)
///
- public bool HasData => !string.IsNullOrWhiteSpace(JSON);
+ public bool HasData { get; private set; }
internal NodeBase(string json)
{
@@ -31,6 +31,7 @@ internal NodeBase(string json)
if (json.Equals("") || json.Equals("true", StringComparison.InvariantCultureIgnoreCase))
{
json = "{}";
+ HasData = false;
}
_data = JObject.Parse(json);
JSON = json;
diff --git a/CSGSI/Nodes/WeaponNode.cs b/CSGSI/Nodes/WeaponNode.cs
index 5e4b150..1dc9f13 100644
--- a/CSGSI/Nodes/WeaponNode.cs
+++ b/CSGSI/Nodes/WeaponNode.cs
@@ -131,7 +131,12 @@ public enum WeaponType
///
/// Melee weapons (such as hammer/wrench) in Danger Zone.
///
- Melee
+ Melee,
+
+ ///
+ /// Bump mine in Danger Zone.
+ ///
+ BumpMine
}
///