steam-condenser 1.3.5 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +228 -0
  3. data/CONTRIBUTING.md +59 -0
  4. data/Gemfile.lock +12 -13
  5. data/README.md +9 -4
  6. data/lib/steam-condenser/version.rb +1 -1
  7. data/lib/steam/community/alien_swarm/alien_swarm_mission.rb +10 -9
  8. data/lib/steam/community/alien_swarm/alien_swarm_stats.rb +74 -72
  9. data/lib/steam/community/css/css_map.rb +2 -2
  10. data/lib/steam/community/css/css_stats.rb +54 -56
  11. data/lib/steam/community/css/css_weapon.rb +4 -4
  12. data/lib/steam/community/game_item.rb +2 -3
  13. data/lib/steam/community/game_leaderboard.rb +22 -15
  14. data/lib/steam/community/l4d/abstract_l4d_stats.rb +64 -61
  15. data/lib/steam/community/l4d/l4d2_stats.rb +26 -21
  16. data/lib/steam/community/steam_id.rb +8 -11
  17. data/lib/steam/community/web_api.rb +19 -14
  18. data/lib/steam/packets/s2a_info2_packet.rb +16 -14
  19. data/lib/steam/packets/s2a_info_detailed_packet.rb +24 -19
  20. data/lib/steam/packets/steam_packet_factory.rb +7 -2
  21. data/lib/steam/servers/game_server.rb +3 -2
  22. data/lib/steam/servers/master_server.rb +1 -1
  23. data/lib/steam/sockets/source_socket.rb +4 -9
  24. data/pkg/steam-condenser-1.3.5.gem +0 -0
  25. data/pkg/steam-condenser-1.3.5/Gemfile +7 -0
  26. data/pkg/steam-condenser-1.3.5/Gemfile.lock +45 -0
  27. data/pkg/steam-condenser-1.3.5/LICENSE +25 -0
  28. data/pkg/steam-condenser-1.3.5/README.md +70 -0
  29. data/pkg/steam-condenser-1.3.5/Rakefile +46 -0
  30. data/pkg/steam-condenser-1.3.5/lib/core_ext/stringio.rb +91 -0
  31. data/pkg/steam-condenser-1.3.5/lib/errors/packet_format_error.rb +13 -0
  32. data/pkg/steam-condenser-1.3.5/lib/errors/rcon_ban_error.rb +22 -0
  33. data/pkg/steam-condenser-1.3.5/lib/errors/rcon_no_auth_error.rb +21 -0
  34. data/pkg/steam-condenser-1.3.5/lib/errors/steam_condenser_error.rb +26 -0
  35. data/pkg/steam-condenser-1.3.5/lib/errors/timeout_error.rb +28 -0
  36. data/pkg/steam-condenser-1.3.5/lib/errors/web_api_error.rb +57 -0
  37. data/pkg/steam-condenser-1.3.5/lib/steam-condenser.rb +18 -0
  38. data/pkg/steam-condenser-1.3.5/lib/steam-condenser/community.rb +24 -0
  39. data/pkg/steam-condenser-1.3.5/lib/steam-condenser/servers.rb +24 -0
  40. data/pkg/steam-condenser-1.3.5/lib/steam-condenser/version.rb +11 -0
  41. data/pkg/steam-condenser-1.3.5/lib/steam/community/alien_swarm/alien_swarm_mission.rb +119 -0
  42. data/pkg/steam-condenser-1.3.5/lib/steam/community/alien_swarm/alien_swarm_stats.rb +186 -0
  43. data/pkg/steam-condenser-1.3.5/lib/steam/community/alien_swarm/alien_swarm_weapon.rb +49 -0
  44. data/pkg/steam-condenser-1.3.5/lib/steam/community/app_news.rb +133 -0
  45. data/pkg/steam-condenser-1.3.5/lib/steam/community/cacheable.rb +199 -0
  46. data/pkg/steam-condenser-1.3.5/lib/steam/community/css/css_map.rb +61 -0
  47. data/pkg/steam-condenser-1.3.5/lib/steam/community/css/css_stats.rb +142 -0
  48. data/pkg/steam-condenser-1.3.5/lib/steam/community/css/css_weapon.rb +69 -0
  49. data/pkg/steam-condenser-1.3.5/lib/steam/community/defense_grid/defense_grid_stats.rb +238 -0
  50. data/pkg/steam-condenser-1.3.5/lib/steam/community/dods/dods_class.rb +90 -0
  51. data/pkg/steam-condenser-1.3.5/lib/steam/community/dods/dods_stats.rb +62 -0
  52. data/pkg/steam-condenser-1.3.5/lib/steam/community/dods/dods_weapon.rb +67 -0
  53. data/pkg/steam-condenser-1.3.5/lib/steam/community/dota2/dota2_beta_inventory.rb +30 -0
  54. data/pkg/steam-condenser-1.3.5/lib/steam/community/dota2/dota2_inventory.rb +30 -0
  55. data/pkg/steam-condenser-1.3.5/lib/steam/community/dota2/dota2_item.rb +33 -0
  56. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_achievement.rb +109 -0
  57. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_class.rb +22 -0
  58. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_inventory.rb +171 -0
  59. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_item.rb +156 -0
  60. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_item_schema.rb +131 -0
  61. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_leaderboard.rb +205 -0
  62. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_leaderboard_entry.rb +43 -0
  63. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_stats.rb +175 -0
  64. data/pkg/steam-condenser-1.3.5/lib/steam/community/game_weapon.rb +41 -0
  65. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/abstract_l4d_stats.rb +185 -0
  66. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/abstract_l4d_weapon.rb +56 -0
  67. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d2_map.rb +90 -0
  68. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d2_stats.rb +174 -0
  69. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d2_weapon.rb +38 -0
  70. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d_explosive.rb +34 -0
  71. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d_map.rb +65 -0
  72. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d_stats.rb +73 -0
  73. data/pkg/steam-condenser-1.3.5/lib/steam/community/l4d/l4d_weapon.rb +26 -0
  74. data/pkg/steam-condenser-1.3.5/lib/steam/community/portal2/portal2_inventory.rb +30 -0
  75. data/pkg/steam-condenser-1.3.5/lib/steam/community/portal2/portal2_item.rb +55 -0
  76. data/pkg/steam-condenser-1.3.5/lib/steam/community/portal2/portal2_stats.rb +33 -0
  77. data/pkg/steam-condenser-1.3.5/lib/steam/community/steam_game.rb +193 -0
  78. data/pkg/steam-condenser-1.3.5/lib/steam/community/steam_group.rb +129 -0
  79. data/pkg/steam-condenser-1.3.5/lib/steam/community/steam_id.rb +498 -0
  80. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_beta_inventory.rb +28 -0
  81. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_class.rb +92 -0
  82. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_class_factory.rb +40 -0
  83. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_engineer.rb +43 -0
  84. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_golden_wrench.rb +70 -0
  85. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_inventory.rb +30 -0
  86. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_item.rb +55 -0
  87. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_medic.rb +35 -0
  88. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_sniper.rb +28 -0
  89. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_spy.rb +41 -0
  90. data/pkg/steam-condenser-1.3.5/lib/steam/community/tf2/tf2_stats.rb +77 -0
  91. data/pkg/steam-condenser-1.3.5/lib/steam/community/web_api.rb +130 -0
  92. data/pkg/steam-condenser-1.3.5/lib/steam/community/xml_data.rb +27 -0
  93. data/pkg/steam-condenser-1.3.5/lib/steam/packets/a2m_get_servers_batch2_packet.rb +59 -0
  94. data/pkg/steam-condenser-1.3.5/lib/steam/packets/a2s_info_packet.rb +24 -0
  95. data/pkg/steam-condenser-1.3.5/lib/steam/packets/a2s_player_packet.rb +31 -0
  96. data/pkg/steam-condenser-1.3.5/lib/steam/packets/a2s_rules_packet.rb +32 -0
  97. data/pkg/steam-condenser-1.3.5/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +25 -0
  98. data/pkg/steam-condenser-1.3.5/lib/steam/packets/c2m_checkmd5_packet.rb +31 -0
  99. data/pkg/steam-condenser-1.3.5/lib/steam/packets/m2a_server_batch_packet.rb +52 -0
  100. data/pkg/steam-condenser-1.3.5/lib/steam/packets/m2c_isvalidmd5_packet.rb +34 -0
  101. data/pkg/steam-condenser-1.3.5/lib/steam/packets/m2s_requestrestart_packet.rb +34 -0
  102. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_auth_request.rb +28 -0
  103. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_auth_response.rb +30 -0
  104. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_exec_request.rb +28 -0
  105. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_exec_response.rb +37 -0
  106. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_goldsrc_request.rb +35 -0
  107. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_goldsrc_response.rb +34 -0
  108. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_packet.rb +57 -0
  109. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_packet_factory.rb +43 -0
  110. data/pkg/steam-condenser-1.3.5/lib/steam/packets/rcon/rcon_terminator.rb +29 -0
  111. data/pkg/steam-condenser-1.3.5/lib/steam/packets/request_with_challenge.rb +19 -0
  112. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_info2_packet.rb +74 -0
  113. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_info_base_packet.rb +25 -0
  114. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_info_detailed_packet.rb +59 -0
  115. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_logstring_packet.rb +30 -0
  116. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_player_packet.rb +44 -0
  117. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2a_rules_packet.rb +48 -0
  118. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2c_challenge_packet.rb +35 -0
  119. data/pkg/steam-condenser-1.3.5/lib/steam/packets/s2m_heartbeat2_packet.rb +72 -0
  120. data/pkg/steam-condenser-1.3.5/lib/steam/packets/steam_packet.rb +52 -0
  121. data/pkg/steam-condenser-1.3.5/lib/steam/packets/steam_packet_factory.rb +108 -0
  122. data/pkg/steam-condenser-1.3.5/lib/steam/servers/game_server.rb +392 -0
  123. data/pkg/steam-condenser-1.3.5/lib/steam/servers/goldsrc_server.rb +74 -0
  124. data/pkg/steam-condenser-1.3.5/lib/steam/servers/master_server.rb +188 -0
  125. data/pkg/steam-condenser-1.3.5/lib/steam/servers/server.rb +115 -0
  126. data/pkg/steam-condenser-1.3.5/lib/steam/servers/source_server.rb +117 -0
  127. data/pkg/steam-condenser-1.3.5/lib/steam/sockets/goldsrc_socket.rb +142 -0
  128. data/pkg/steam-condenser-1.3.5/lib/steam/sockets/master_server_socket.rb +34 -0
  129. data/pkg/steam-condenser-1.3.5/lib/steam/sockets/rcon_socket.rb +103 -0
  130. data/pkg/steam-condenser-1.3.5/lib/steam/sockets/source_socket.rb +78 -0
  131. data/pkg/steam-condenser-1.3.5/lib/steam/sockets/steam_socket.rb +91 -0
  132. data/pkg/steam-condenser-1.3.5/lib/steam/steam_player.rb +143 -0
  133. data/pkg/steam-condenser-1.3.5/steam-condenser.gemspec +26 -0
  134. data/pkg/steam-condenser-1.3.5/test/core_ext/test_stringio.rb +59 -0
  135. data/pkg/steam-condenser-1.3.5/test/fixtures/invalid.xml +2 -0
  136. data/pkg/steam-condenser-1.3.5/test/fixtures/sonofthor.xml +882 -0
  137. data/pkg/steam-condenser-1.3.5/test/fixtures/status_goldsrc +3 -0
  138. data/pkg/steam-condenser-1.3.5/test/fixtures/status_source +3 -0
  139. data/pkg/steam-condenser-1.3.5/test/fixtures/valve-members.xml +231 -0
  140. data/pkg/steam-condenser-1.3.5/test/helper.rb +48 -0
  141. data/pkg/steam-condenser-1.3.5/test/steam/community/test_cacheable.rb +100 -0
  142. data/pkg/steam-condenser-1.3.5/test/steam/community/test_steam_group.rb +83 -0
  143. data/pkg/steam-condenser-1.3.5/test/steam/community/test_steam_id.rb +144 -0
  144. data/pkg/steam-condenser-1.3.5/test/steam/community/test_web_api.rb +98 -0
  145. data/pkg/steam-condenser-1.3.5/test/steam/packets/test_steam_packet.rb +37 -0
  146. data/pkg/steam-condenser-1.3.5/test/steam/servers/test_game_server.rb +296 -0
  147. data/pkg/steam-condenser-1.3.5/test/steam/servers/test_goldsrc_server.rb +59 -0
  148. data/pkg/steam-condenser-1.3.5/test/steam/servers/test_master_server.rb +131 -0
  149. data/pkg/steam-condenser-1.3.5/test/steam/servers/test_server.rb +72 -0
  150. data/pkg/steam-condenser-1.3.5/test/steam/servers/test_source_server.rb +134 -0
  151. data/pkg/steam-condenser-1.3.5/test/steam/sockets/test_goldsrc_socket.rb +127 -0
  152. data/pkg/steam-condenser-1.3.5/test/steam/sockets/test_master_server_socket.rb +42 -0
  153. data/pkg/steam-condenser-1.3.5/test/steam/sockets/test_rcon_socket.rb +118 -0
  154. data/pkg/steam-condenser-1.3.5/test/steam/sockets/test_source_socket.rb +77 -0
  155. data/pkg/steam-condenser-1.3.5/test/steam/sockets/test_steam_socket.rb +97 -0
  156. data/steam-condenser.gemspec +2 -3
  157. data/test/steam/community/test_cacheable.rb +3 -0
  158. data/test/steam/community/test_web_api.rb +15 -2
  159. data/test/steam/packets/test_steam_packet.rb +1 -1
  160. data/test/steam/sockets/test_source_socket.rb +1 -1
  161. metadata +151 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA512:
3
- metadata.gz: 6e724ccb42cf8919d3c93f337b3aa9d318731c632c7d4f3a847c563e05d7a307c374df5e430bcedc0905f33addd5ad8d8b45fc3732fe281aebc622816d03c575
4
- data.tar.gz: f0a334cb4fb78275d8b9bd54e1e57647fe6d32be8f43d29eac6636f339947c3eb095e9df1f5336f885b83cbf29a423f82328623c7e43d9457af5a8adf6c933af
5
2
  SHA1:
6
- metadata.gz: 4df93af96fcac8cf99dfcfe7898c39db94619635
7
- data.tar.gz: 39366be0313e83bedb40fa1e1e735ca714e93763
3
+ metadata.gz: 16627283b79e75d800e64e9718e9828c739a2bfb
4
+ data.tar.gz: b4ec72489e29d4403a77e15e7da36b1770e34f89
5
+ SHA512:
6
+ metadata.gz: af373818b41b9297e576f4154255a2f5f081f062ccd587acf5fad6e3c6dc7a131730efe373bf95a913e0911321f8522234ce18beb44c236ed8d641ca1d7896cd
7
+ data.tar.gz: e1c19250df122451b026a11c10076568b63472aaf5d8cc2c5db9454c3c93cffccdb0fe171903b91d4d09693b975c7b91d359e475af3eb252f9ed6fde5dfafa2a
data/CHANGELOG.md ADDED
@@ -0,0 +1,228 @@
1
+ ## Version 1.3.6 / Unreleased
2
+
3
+ * [SECURITY] Use HTTPS for Web API by default
4
+ * [ENHANCEMENT] bzip2-ruby is optional again for compatibility with Ruby 2.0.0
5
+ and JRuby
6
+ * [ENHANCEMENT] Improved code style in various places
7
+ * [BUGFIX] Changed to the correct GoldSrc master server port
8
+ * [BUGFIX] Fixed SourceSocket not failing when it should
9
+ * [BUGFIX] Fixed creating SteamId instances with `U_` IDs
10
+
11
+ ## Version 1.3.5 / 2013-03-29
12
+
13
+ * [ENHANCEMENT] Adapted game item parsing to *DotA 2* API changes
14
+ * [SECURITY] Strip Wep API keys from debug output
15
+ * [BUGFIX] Fixed creating SteamId instances with `STEAM_` IDs
16
+
17
+ ## Version 1.3.4.1 / 2013-02-13
18
+
19
+ * [BUGFIX] Corrected gem build for version 1.3.4
20
+
21
+ ## Version 1.3.4 / 2013-02-13
22
+
23
+ * [BUGFIX] Fixed a regression in community error handling
24
+
25
+ ## Version 1.3.3 / 2013-02-12
26
+
27
+ * [FEATURE] Added support for game ID in server info
28
+ * [ENHANCEMENT] Improved error handling for XML data
29
+ * [ENHANCEMENT] Simplified server info packets
30
+
31
+ ## Version 1.3.2 / 2013-02-04
32
+
33
+ * [ENHANCEMENT] Improved detection of RCON bans
34
+
35
+ ## Version 1.3.1 / 2013-01-20
36
+
37
+ * [ENHANCEMENT] Added support for preliminary inventory items
38
+ * [ENHANCEMENT] Further improved RCON connection handling
39
+ * [BUGFIX] Do not cache failed user groups and friends
40
+ * [BUGFIX] Fixed errors when creating cacheable classes
41
+
42
+ ## Version 1.3.0 / 2012-12-29
43
+
44
+ * [FEATURE] Added support for new Web API interfaces
45
+ * [FEATURE] Added support for new Steam ID format ("[U:#:#####]")
46
+ * [ENHANCEMENT] Vastly improved inventories
47
+ * [ENHANCEMENT] Better handling of RCON edge cases
48
+ * [ENHANCEMENT] Improved connection handling for RCON edge cases
49
+ * [BUGFIX] Fixed several community parsing issues
50
+
51
+ ## Version 1.2.1 / 2012-07-21
52
+
53
+ * [FEATURE] Support for *DotA 2* (beta) inventories
54
+ * [ENHANCEMENT] Improved behavior of cacheable classes
55
+ * [ENHANCEMENT] Workaround for game URLs with duplicate slashes
56
+
57
+ ## Version 1.2.0 / 2012-04-24
58
+
59
+ * [FEATURE] Support for game version checks
60
+ * [FEATURE] Support query for all Web API interfaces
61
+ * [FEATURE] Check game versions using its `steam.inf` file
62
+ * [FEATURE] Support for new Steam profile attributes
63
+ * [ENHANCEMENT] Improved fetching of community groups
64
+ * [ENHANCEMENT] Improved unit tests
65
+ * [ENHANCEMENT] Cleaned up community-related code
66
+ * [ENHANCEMENT] Use multi_xml for parsing XML
67
+ * [BUGFIX] Use `A2S_PLAYER` packet to challenge game servers
68
+ * [BUGFIX] Fixed several URL related problems
69
+ * [BUGFIX] Fixed Web API not working without an API key
70
+ * [PERFORMACE] Optimized fetching of Steam group members
71
+
72
+ ## Version 1.1.0 / 2011-12-13
73
+
74
+ * [FEATURE] Support for leaderboards
75
+ * [FEATURE] Support for *Team Fortress 2* beta stats
76
+ * [ENHANCEMENT] Allow use of service names instead of port numbers
77
+ * [BUGFIX] Fixed sending master server heartbeats
78
+ * [BUGFIX] Fixed check for profile links
79
+
80
+ ## Version 1.0.2 / 2011-10-24
81
+
82
+ * [ENHANCEMENT] Added API name and description to achievements
83
+ * [BUGFIX] Fixed handling of empty RCON responses
84
+ * [BUGFIX] Fixed `SourceServer.master`
85
+ * [BUGFIX] Fixed parsing rules with empty values
86
+ * [BUGFIX] Fixed server info for some Source servers
87
+ * [BUGFIX] Fixed Rakefile encoding for Ruby 1.9
88
+
89
+ ## Version 1.0.1 / 2011-08-23
90
+
91
+ * [BUGFIX] Fixed several packaging problems
92
+
93
+ ## Version 1.0.0 / 2011-08-18
94
+
95
+ * [ENHANCEMENT] Added intuitive way to get master servers
96
+ * [ENHANCEMENT] Added a shortcut to get stats for a SteamGame
97
+ * [ENHANCEMENT] Added a way to bypass master server problems
98
+ * [ENHANCEMENT] Updated documentation
99
+ * [ENHANCEMENT] Improved code style
100
+ * [ENHANCEMENT] Updated achievement Web API to version 2
101
+ * [ENHANCEMENT] Updated application news Web API to version 2
102
+ * [ENHANCEMENT] Use Bundler instead of Ore
103
+ * [ENHANCEMENT] Use multi_json instead of json
104
+ * [BUGFIX] Fixed author field for application news
105
+
106
+ ## Version 0.14.0 / 2011-06-01
107
+
108
+ * [FEATURE] Support for *Portal 2* stats
109
+ * [ENHANCEMENT] Updated documentation
110
+ * [ENHANCEMENT] Use `IEconItems` Web API interfaces for inventories
111
+ * [BUGFIX] Fixed consecutive Source RCON requests
112
+ * [BUGFIX] Fixed inventory caching
113
+
114
+ ## Version 0.13.1 / 2011-04-15
115
+
116
+ * [BUGFIX] Fixed several problems when parsing RCON `status` output
117
+
118
+ ## Version 0.13.0 / 2011-04-12
119
+
120
+ * [FEATURE] Support for Steam's Web API
121
+ * [FEATURE] Support for Steam application news
122
+ * [FEATURE] Support for *Team Fortress 2* inventories, golden wrenches
123
+ * [FEATURE] Support for master server heartbeating
124
+ * [FEATURE] Dynamic name resolution and automatic failover for master servers
125
+ * [ENHANCEMENT] Improved parsing of RCON `status` output
126
+ * [BUGFIX] Fixed pinging game servers
127
+ * [BUGFIX] Fixed `A2S_PLAYER` and `A2S_RULES` packet creation
128
+ * [BUGFIX] Fixed regular expression for game links
129
+ * [PERFORMANCE] Optimized RCON queries
130
+ * [PERFORMANCE] Fixed timeout calculation in `SteamSocket`
131
+ * [PERFORMANCE] Lazy load zlib for compressed packets
132
+
133
+ ## Version 0.12.0 / 2010-12-29
134
+
135
+ * [FEATURE] Support for *Alien Swarm* stats
136
+ * [FEATURE] Allow customization of socket timeouts
137
+ * [ENHANCEMENT] Moved from Jeweler to Ore
138
+ * [BUGFIX] Fixed stats for games without a specific implementation
139
+
140
+ ## Version 0.11.4 / 2010-11-07
141
+
142
+ * [BUGFIX] Fixed split packet handling
143
+ * [BUGFIX] Fixed compatibility with Ruby 1.9
144
+ * [BUGFIX] Fix for a change in *CS:S*' stats XML data
145
+
146
+ ## Version 0.11.3 / 2010-10-05
147
+
148
+ * [BUGFIX] Fix for `SteamId#game_stats`
149
+
150
+ ## Version 0.11.2 / 2010-09-08
151
+
152
+ * [ENHANCEMENT] Provide the unlock date of achievements if available
153
+ * [BUGFIX] Removed workaround for GoldSrc master servers
154
+ * [BUGFIX] Compatibility fix for `StringIO` additions
155
+
156
+ ## Version 0.11.1 / 2010-07-05
157
+
158
+ * [BUGFIX] Fixed parsing of RCON replies
159
+
160
+ ## Version 0.11.0 / 2010-07-02
161
+
162
+ * [FEATURE] Support for *Counter-Strike: Source* stats
163
+ * [ENHANCEMENT] Adapt to common Ruby code conventions
164
+ * [BUGFIX] Fixed timouts for unresponsive master servers
165
+ * [BUGFIX] Fixed querying GoldSrc master servers
166
+
167
+ ## Version 0.10.1 / 2010-04-05
168
+
169
+ * [FEATURE] Load servers' Steam IDs from `S2A_INFO2` replies
170
+ * [BUGFIX] Fixed fetching group members
171
+ * [BUGFIX] Fixed cacheable community data
172
+ * [BUGFIX] Fixed check for EDF in `S2A_INFO2` replies
173
+
174
+ ## Version 0.10.0 / 2010-02-24
175
+
176
+ * [FEATURE] Support for *Left4Dead 2* stats
177
+ * [FEATURE] Added conversion from 64bit to `STEAM_` IDs
178
+ * [ENHANCEMENT] Parse XML data to get a user's games
179
+ * [BUGFIX] Fixed parsing of deactivated community profiles
180
+ * [BUGFIX] Fixed loading additional player information for Source servers
181
+
182
+ ## Version 0.9.0 / 2009-09-16
183
+
184
+ * [FEATURE] Support loading community groups of a user
185
+ * [FEATURE] Support for *Defense Grid: The Awakening* stats
186
+ * [ENHANCEMENT] Workaround for corrupt `S2A_RULES` replies
187
+ * [ENHANCEMENT] Supply a `VERSION` constant
188
+ * [BUGFIX] Fixed gem packaging
189
+ * [BUGFIX] Fixed handling of really long RCON replies
190
+ * [BUGFIX] Improved parsing of `S2A_RULES` packets
191
+ * [BUGFIX] Fixed compatibility with Ruby 1.9
192
+ * [PERFORMANCE] Added caching to `SteamGroup` and `SteamId`
193
+
194
+ ## Version 0.8.0 / 2009-06-15
195
+
196
+ * [FEATURE] Load additional player information via RCON
197
+ * [FEATURE] Support for *Day of Defeat: Source* stats
198
+ * [FEATURE] Support for *Left4Dead* stats
199
+ * [FEATURE] Support loading games of a user
200
+ * [ENHANCEMENT] Let `SteamCondenserError` inherit from `StandardError`
201
+ * [ENHANCEMENT] Several improvements to Steam Community features
202
+ * [ENHANCEMENT] Several improvements to server queries
203
+ * [ENHANCEMENT] Use Jeweler for packaging
204
+ * [BUGFIX] Fixed problems with compressed packets
205
+ * [BUGFIX] Fixed parsing profiles without favorite or most played games
206
+ * [PERFORMANCE] Optimized server queries
207
+
208
+ ## Version 0.7.0 / 2009-03-02
209
+
210
+ * [FEATURE] Support for *Team Fortress 2* stats and achievements
211
+ * [FEATURE] Support for split RCON replies
212
+ * [FEATURE] Support for compressed query replies
213
+ * [ENHANCEMENT] Better support for HTLV servers
214
+ * [ENHANCEMENT] XML cache for `GameStats`
215
+ * [ENHANCEMENT] Use correct packet names
216
+ * [BUGFIX] Fixed fetching of `SteamId` data
217
+ * [BUGFIX] Fixed several GoldSrc RCON problems
218
+
219
+ ## Version 0.6.0 / 2008-10-23
220
+
221
+ * [FEATURE] Support for Steam Community profiles
222
+ * [FEATURE] Support for game statistics
223
+ * [FEATURE] Support for RCON
224
+
225
+ ## Version 0.5.0 / 2008-08-10
226
+
227
+ * [FEATURE] Support for GoldSrc and Source server queries
228
+ * [FEATURE] Support for master server queries
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,59 @@
1
+ Contribution Guidelines
2
+ =======================
3
+
4
+ First of all, each single contribution is appreciated, whether a typo fix,
5
+ improved documentation, a fixed bug or a whole new feature.
6
+
7
+ ## Making your changes
8
+
9
+ 1. Fork the repository on GitHub
10
+ 2. Create a topic branch with a descriptive name, e.g. `fix-issue-123` or
11
+ `feature-x`
12
+ 3. Make your modifications, complying with the
13
+ [code conventions](#code-conventions)
14
+ 4. Commit small logical changes, each with a descriptive commit message.
15
+ Please don't mix unrelated changes in a single commit.
16
+
17
+ ## Commit messages
18
+
19
+ Please format your commit messages as follows:
20
+
21
+ Short summary of the change (up to 50 characters)
22
+
23
+ Optionally add a more extensive description of your change after a
24
+ blank line. Wrap the lines in this and the following paragraphs after
25
+ 72 characters.
26
+
27
+ ## Submitting your changes
28
+
29
+ 1. Push your changes to a topic branch in your fork of the repository.
30
+ 2. [Submit a pull request][pr] to the original repository.
31
+ Describe your changes as short as possible, but as detailed as needed for
32
+ others to get an overview of your modifications.
33
+ 3. *Optionally*, [open an issue][issue] in the meta-repository if your change
34
+ might be relevant to other implementations of Steam Condenser. Please add a
35
+ link to your pull request.
36
+
37
+ ## Code conventions
38
+
39
+ * White spaces:
40
+ * Indent using 2 spaces
41
+ * Line endings must be line feeds (\n)
42
+ * Add a newline at end of file
43
+ * Name conventions:
44
+ * `UpperCamelCase` for classes and modules
45
+ * `lower_case` for variables and methods
46
+ * `UPPER_CASE` for constants
47
+
48
+ ## Further information
49
+
50
+ * [General GitHub documentation][gh-help]
51
+ * [GitHub pull request documentation][gh-pr]
52
+ * [Google group][mail]
53
+ * \#steam-condenser on freenode.net
54
+
55
+ [gh-help]: https://help.github.com
56
+ [gh-pr]: https://help.github.com/send-pull-requests
57
+ [issue]: https://github.com/koraktor/steam-condenser/issues/new
58
+ [mail]: https://groups.google.com/group/steam-condenser
59
+ [pr]: https://github.com/koraktor/steam-condenser-ruby/pull/new
data/Gemfile.lock CHANGED
@@ -1,46 +1,45 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- steam-condenser (1.3.5)
5
- bzip2-ruby (~> 0.2.7)
6
- multi_json (~> 1.6.0)
4
+ steam-condenser (1.3.6)
5
+ multi_json (~> 1.7.2)
7
6
  multi_xml (~> 0.5.2)
8
7
 
9
8
  GEM
10
9
  remote: https://rubygems.org/
11
10
  specs:
12
- bzip2-ruby (0.2.7)
13
11
  colorize (0.5.8)
14
- coveralls (0.6.2)
12
+ coveralls (0.6.7)
15
13
  colorize
16
14
  multi_json (~> 1.3)
17
15
  rest-client
18
16
  simplecov (>= 0.7)
19
17
  thor
20
18
  metaclass (0.0.1)
21
- mime-types (1.21)
22
- mocha (0.13.1)
19
+ mime-types (1.23)
20
+ mocha (0.13.3)
23
21
  metaclass (~> 0.0.1)
24
- multi_json (1.6.0)
22
+ multi_json (1.7.3)
25
23
  multi_xml (0.5.3)
26
- rake (10.0.3)
24
+ rake (10.0.4)
27
25
  rest-client (1.6.7)
28
26
  mime-types (>= 1.16)
29
- shoulda-context (1.0.2)
27
+ shoulda-context (1.1.1)
30
28
  simplecov (0.7.1)
31
29
  multi_json (~> 1.0)
32
30
  simplecov-html (~> 0.7.1)
33
31
  simplecov-html (0.7.1)
34
- thor (0.17.0)
35
- yard (0.8.3)
32
+ thor (0.18.1)
33
+ yard (0.8.6.1)
36
34
 
37
35
  PLATFORMS
36
+ java
38
37
  ruby
39
38
 
40
39
  DEPENDENCIES
41
40
  coveralls
42
41
  mocha (~> 0.13.0)
43
42
  rake (~> 10.0.1)
44
- shoulda-context (~> 1.0.0)
43
+ shoulda-context (~> 1.1.1)
45
44
  steam-condenser!
46
45
  yard (~> 0.8.0)
data/README.md CHANGED
@@ -1,7 +1,11 @@
1
1
  Steam Condenser
2
2
  ===============
3
3
 
4
- [![Build Status](https://secure.travis-ci.org/koraktor/steam-condenser-ruby.png)](http://travis-ci.org/koraktor/steam-condenser-ruby) [![Dependency Status](https://gemnasium.com/koraktor/steam-condenser-ruby.png)](https://gemnasium.com/koraktor/steam-condenser-ruby) [![Code Climate](https://codeclimate.com/github/koraktor/steam-condenser-ruby.png)](https://codeclimate.com/github/koraktor/steam-condenser-ruby) [![Coverage Status](https://coveralls.io/repos/koraktor/steam-condenser-ruby/badge.png?branch=master)](https://coveralls.io/r/koraktor/steam-condenser-ruby)
4
+ [![Gem Version](https://badge.fury.io/rb/steam-condenser.png)](http://badge.fury.io/rb/steam-condenser)
5
+ [![Build Status](https://secure.travis-ci.org/koraktor/steam-condenser-ruby.png)](http://travis-ci.org/koraktor/steam-condenser-ruby)
6
+ [![Dependency Status](https://gemnasium.com/koraktor/steam-condenser-ruby.png)](https://gemnasium.com/koraktor/steam-condenser-ruby)
7
+ [![Code Climate](https://codeclimate.com/github/koraktor/steam-condenser-ruby.png)](https://codeclimate.com/github/koraktor/steam-condenser-ruby)
8
+ [![Coverage Status](https://coveralls.io/repos/koraktor/steam-condenser-ruby/badge.png?branch=master)](https://coveralls.io/r/koraktor/steam-condenser-ruby)
5
9
 
6
10
  The Steam Condenser is a multi-language library for querying the Steam
7
11
  Community, Source and GoldSrc game servers as well as the Steam master servers.
@@ -59,12 +63,13 @@ included LICENSE file.
59
63
 
60
64
  ## See Also
61
65
 
62
- * [Steam Condenser home](https://koraktor.de/steam-condenser)
66
+ * [Steam Condenser home](http://koraktor.de/steam-condenser)
63
67
  * [Documentation](http://rubydoc.info/gems/steam-condenser)
64
68
  * [GitHub project page](https://github.com/koraktor/steam-condenser)
65
69
  * [Wiki](https://github.com/koraktor/steam-condenser/wiki)
66
70
  * [Google group](http://groups.google.com/group/steam-condenser)
67
71
  * [Ohloh profile](http://www.ohloh.net/projects/steam-condenser)
68
72
 
69
- Follow Steam Condenser on Twitter
70
- [@steamcondenser](http://twitter.com/steamcondenser).
73
+ Follow Steam Condenser on Google Plus+ via
74
+ [+Steam Condenser](https://plus.google.com/b/109400543549250623875/109400543549250623875)
75
+ or on Twitter via [@steamcondenser](https://twitter.com/steamcondenser).
@@ -6,6 +6,6 @@
6
6
  module SteamCondenser
7
7
 
8
8
  # The current version of Steam Condenser
9
- VERSION = '1.3.5'
9
+ VERSION = '1.3.6'
10
10
 
11
11
  end
@@ -1,7 +1,7 @@
1
1
  # This code is free software; you can redistribute it and/or modify it under
2
2
  # the terms of the new BSD License.
3
3
  #
4
- # Copyright (c) 2010-2011, Sebastian Staudt
4
+ # Copyright (c) 2010-2013, Sebastian Staudt
5
5
 
6
6
  # This class holds statistical information about missions played by a player in
7
7
  # Alien Swarm
@@ -106,14 +106,15 @@ class AlienSwarmMission
106
106
  @total_games = mission_data['gamestotal'].to_i
107
107
  @total_games_percentage = mission_data['gamestotalpct'].to_f
108
108
 
109
- @time = {}
110
- @time[:average] = mission_data['avgtime']
111
- @time[:brutal] = mission_data['brutaltime']
112
- @time[:easy] = mission_data['easytime']
113
- @time[:hard] = mission_data['hardtime']
114
- @time[:insane] = mission_data['insanetime']
115
- @time[:normal] = mission_data['normaltime']
116
- @time[:total] = mission_data['totaltime']
109
+ @time = {
110
+ :average => mission_data['avgtime'],
111
+ :brutal => mission_data['brutaltime'],
112
+ :easy => mission_data['easytime'],
113
+ :hard => mission_data['hardtime'],
114
+ :insane => mission_data['insanetime'],
115
+ :normal => mission_data['normaltime'],
116
+ :total => mission_data['totaltime']
117
+ }
117
118
  end
118
119
 
119
120
  end
@@ -1,7 +1,7 @@
1
1
  # This code is free software; you can redistribute it and/or modify it under
2
2
  # the terms of the new BSD License.
3
3
  #
4
- # Copyright (c) 2010-2011, Sebastian Staudt
4
+ # Copyright (c) 2010-2013, Sebastian Staudt
5
5
 
6
6
  require 'steam/community/alien_swarm/alien_swarm_mission'
7
7
  require 'steam/community/alien_swarm/alien_swarm_weapon'
@@ -20,12 +20,11 @@ class AlienSwarmStats < GameStats
20
20
  BASE_URL = 'http://cdn.steamcommunity.com/public/images/gamestats/swarm/'
21
21
 
22
22
  # The names of all weapons in Alien Swarm
23
- WEAPONS = [ 'Autogun', 'Cannon_Sentry', 'Chainsaw', 'Flamer',
24
- 'Grenade_Launcher', 'Hand_Grenades', 'Hornet_Barrage',
25
- 'Incendiary_Sentry', 'Laser_Mines', 'Marskman_Rifle', 'Minigun',
26
- 'Mining_Laser', 'PDW', 'Pistol', 'Prototype_Rifle', 'Rail_Rifle',
27
- 'Rifle', 'Rifle_Grenade', 'Sentry_Gun', 'Shotgun',
28
- 'Tesla_Cannon', 'Vindicator', 'Vindicator_Grenade' ]
23
+ WEAPONS = %w(Autogun Cannon_Sentry Chainsaw Flamer Grenade_Launcher
24
+ Hand_Grenades Hornet_Barrage Incendiary_Sentry Laser_Mines
25
+ Marskman_Rifle Minigun Mining_Laser PDW Pistol Prototype_Rifle
26
+ Rail_Rifle Rifle Rifle_Grenade Sentry_Gun Shotgun Tesla_Cannon
27
+ Vindicator Vindicator_Grenade)
29
28
 
30
29
  # Creates a new `AlienSwarmStats` instance by calling the super constructor
31
30
  # with the game name `'alienswarm'`
@@ -41,28 +40,29 @@ class AlienSwarmStats < GameStats
41
40
 
42
41
  @hours_played = lifetime_data['timeplayed']
43
42
 
44
- @lifetime_stats = {}
45
- @lifetime_stats[:accuracy] = lifetime_data['accuracy'].to_f
46
- @lifetime_stats[:aliens_burned] = lifetime_data['aliensburned'].to_i
47
- @lifetime_stats[:aliens_killed] = lifetime_data['alienskilled'].to_i
48
- @lifetime_stats[:campaigns] = lifetime_data['campaigns'].to_i
49
- @lifetime_stats[:damage_taken] = lifetime_data['damagetaken'].to_i
50
- @lifetime_stats[:experience] = lifetime_data['experience'].to_i
51
- @lifetime_stats[:experience_required] = lifetime_data['xprequired'].to_i
52
- @lifetime_stats[:fast_hacks] = lifetime_data['fasthacks'].to_i
53
- @lifetime_stats[:friendly_fire] = lifetime_data['friendlyfire'].to_i
54
- @lifetime_stats[:games_successful] = lifetime_data['gamessuccess'].to_i
55
- @lifetime_stats[:healing] = lifetime_data['healing'].to_i
56
- @lifetime_stats[:kills_per_hour] = lifetime_data['killsperhour'].to_f
57
- @lifetime_stats[:level] = lifetime_data['level'].to_i
58
- @lifetime_stats[:promotion] = lifetime_data['promotion'].to_i
59
- @lifetime_stats[:promotion_img] = BASE_URL + lifetime_data['promotionpic'] if @lifetime_stats[:promotion] > 0
60
- @lifetime_stats[:next_unlock] = lifetime_data['nextunlock']
61
- @lifetime_stats[:next_unlock_img] = BASE_URL + lifetime_data['nextunlockimg']
62
- @lifetime_stats[:shots_fired] = lifetime_data['shotsfired'].to_i
63
- @lifetime_stats[:total_games] = lifetime_data['totalgames'].to_i
64
-
65
- @lifetime_stats[:games_successful_percentage] = (@lifetime_stats[:total_games] > 0) ? @lifetime_stats[:games_successful].to_f / @lifetime_stats[:total_games] : 0;
43
+ @lifetime_stats = {
44
+ :accuracy => lifetime_data['accuracy'].to_f,
45
+ :aliens_burned => lifetime_data['aliensburned'].to_i,
46
+ :aliens_killed => lifetime_data['alienskilled'].to_i,
47
+ :campaigns => lifetime_data['campaigns'].to_i,
48
+ :damage_taken => lifetime_data['damagetaken'].to_i,
49
+ :experience => lifetime_data['experience'].to_i,
50
+ :experience_required => lifetime_data['xprequired'].to_i,
51
+ :fast_hacks => lifetime_data['fasthacks'].to_i,
52
+ :friendly_fire => lifetime_data['friendlyfire'].to_i,
53
+ :games_successful => lifetime_data['gamessuccess'].to_i,
54
+ :healing => lifetime_data['healing'].to_i,
55
+ :kills_per_hour => lifetime_data['killsperhour'].to_f,
56
+ :level => lifetime_data['level'].to_i,
57
+ :promotion => lifetime_data['promotion'].to_i,
58
+ :next_unlock => lifetime_data['nextunlock'],
59
+ :next_unlock_img => BASE_URL + lifetime_data['nextunlockimg'],
60
+ :shots_fired => lifetime_data['shotsfired'].to_i,
61
+ :total_games => lifetime_data['totalgames'].to_i,
62
+ :games_successful_percentage => (@lifetime_stats[:total_games] > 0) ? @lifetime_stats[:games_successful].to_f / @lifetime_stats[:total_games] : 0
63
+ }
64
+
65
+ @lifetime_stats[:promotion_img] = BASE_URL + lifetime_data['promotionpic'] if @lifetime_stats[:promotion] > 0
66
66
  end
67
67
  end
68
68
 
@@ -77,27 +77,28 @@ class AlienSwarmStats < GameStats
77
77
  if @favorites.nil?
78
78
  favorites_data = @xml_data['stats']['favorites']
79
79
 
80
- @favorites = {}
81
- @favorites[:class] = favorites_data['class']
82
- @favorites[:class_img] = favorites_data['classimg']
83
- @favorites[:class_percentage] = favorites_data['classpct'].to_f
84
- @favorites[:difficulty] = favorites_data['difficulty']
85
- @favorites[:difficulty_percentage] = favorites_data['difficultypct'].to_f
86
- @favorites[:extra] = favorites_data['extra']
87
- @favorites[:extra_img] = favorites_data['extraimg']
88
- @favorites[:extra_percentage] = favorites_data['extrapct'].to_f
89
- @favorites[:marine] = favorites_data['marine']
90
- @favorites[:marine_img] = favorites_data['marineimg']
91
- @favorites[:marine_percentage] = favorites_data['marinepct'].to_f
92
- @favorites[:mission] = favorites_data['mission']
93
- @favorites[:mission_img] = favorites_data['missionimg']
94
- @favorites[:mission_percentage] = favorites_data['missionpct'].to_f
95
- @favorites[:primary_weapon] = favorites_data['primary']
96
- @favorites[:primary_weapon_img] = favorites_data['primaryimg']
97
- @favorites[:primary_weapon_percentage] = favorites_data['primarypct'].to_f
98
- @favorites[:secondary_weapon] = favorites_data['secondary']
99
- @favorites[:secondary_weapon_img] = favorites_data['secondaryimg']
100
- @favorites[:secondary_weapon_percentage] = favorites_data['secondarypct'].to_f
80
+ @favorites = {
81
+ :class => favorites_data['class'],
82
+ :class_img => favorites_data['classimg'],
83
+ :class_percentage => favorites_data['classpct'].to_f,
84
+ :difficulty => favorites_data['difficulty'],
85
+ :difficulty_percentage => favorites_data['difficultypct'].to_f,
86
+ :extra => favorites_data['extra'],
87
+ :extra_img => favorites_data['extraimg'],
88
+ :extra_percentage => favorites_data['extrapct'].to_f,
89
+ :marine => favorites_data['marine'],
90
+ :marine_img => favorites_data['marineimg'],
91
+ :marine_percentage => favorites_data['marinepct'].to_f,
92
+ :mission => favorites_data['mission'],
93
+ :mission_img => favorites_data['missionimg'],
94
+ :mission_percentage => favorites_data['missionpct'].to_f,
95
+ :primary_weapon => favorites_data['primary'],
96
+ :primary_weapon_img => favorites_data['primaryimg'],
97
+ :primary_weapon_percentage => favorites_data['primarypct'].to_f,
98
+ :secondary_weapon => favorites_data['secondary'],
99
+ :secondary_weapon_img => favorites_data['secondaryimg'],
100
+ :secondary_weapon_percentage => favorites_data['secondarypct'].to_f
101
+ }
101
102
  end
102
103
 
103
104
  @favorites
@@ -115,28 +116,29 @@ class AlienSwarmStats < GameStats
115
116
  if @item_stats.nil?
116
117
  weapons_data = @xml_data['stats']['weapons']
117
118
 
118
- @item_stats = {}
119
- @item_stats[:ammo_deployed] = weapons_data['ammo_deployed'].to_i
120
- @item_stats[:sentryguns_deployed] = weapons_data['sentryguns_deployed'].to_i
121
- @item_stats[:sentry_flamers_deployed] = weapons_data['sentry_flamers_deployed'].to_i
122
- @item_stats[:sentry_freeze_deployed] = weapons_data['sentry_freeze_deployed'].to_i
123
- @item_stats[:sentry_cannon_deployed] = weapons_data['sentry_cannon_deployed'].to_i
124
- @item_stats[:medkits_used] = weapons_data['medkits_used'].to_i
125
- @item_stats[:flares_used] = weapons_data['flares_used'].to_i
126
- @item_stats[:adrenaline_used] = weapons_data['adrenaline_used'].to_i
127
- @item_stats[:tesla_traps_deployed] = weapons_data['tesla_traps_deployed'].to_i
128
- @item_stats[:freeze_grenades_thrown] = weapons_data['freeze_grenades_thrown'].to_i
129
- @item_stats[:electric_armor_used] = weapons_data['electric_armor_used'].to_i
130
- @item_stats[:healgun_heals] = weapons_data['healgun_heals'].to_i
131
- @item_stats[:healgun_heals_self] = weapons_data['healgun_heals_self'].to_i
132
- @item_stats[:healbeacon_heals] = weapons_data['healbeacon_heals'].to_i
133
- @item_stats[:healbeacon_heals_self] = weapons_data['healbeacon_heals_self'].to_i
134
- @item_stats[:damage_amps_used] = weapons_data['damage_amps_used'].to_i
135
- @item_stats[:healbeacons_deployed] = weapons_data['healbeacons_deployed'].to_i
136
- @item_stats[:healbeacon_heals_pct] = weapons_data['healbeacon_heals_pct'].to_f
137
- @item_stats[:healgun_heals_pct] = weapons_data['healgun_heals_pct'].to_f
138
- @item_stats[:healbeacon_heals_pct_self] = weapons_data['healbeacon_heals_pct_self'].to_f
139
- @item_stats[:healgun_heals_pct_self] = weapons_data['healgun_heals_pct_self'].to_f
119
+ @item_stats = {
120
+ :ammo_deployed => weapons_data['ammo_deployed'].to_i,
121
+ :sentryguns_deployed => weapons_data['sentryguns_deployed'].to_i,
122
+ :sentry_flamers_deployed => weapons_data['sentry_flamers_deployed'].to_i,
123
+ :sentry_freeze_deployed => weapons_data['sentry_freeze_deployed'].to_i,
124
+ :sentry_cannon_deployed => weapons_data['sentry_cannon_deployed'].to_i,
125
+ :medkits_used => weapons_data['medkits_used'].to_i,
126
+ :flares_used => weapons_data['flares_used'].to_i,
127
+ :adrenaline_used => weapons_data['adrenaline_used'].to_i,
128
+ :tesla_traps_deployed => weapons_data['tesla_traps_deployed'].to_i,
129
+ :freeze_grenades_thrown => weapons_data['freeze_grenades_thrown'].to_i,
130
+ :electric_armor_used => weapons_data['electric_armor_used'].to_i,
131
+ :healgun_heals => weapons_data['healgun_heals'].to_i,
132
+ :healgun_heals_self => weapons_data['healgun_heals_self'].to_i,
133
+ :healbeacon_heals => weapons_data['healbeacon_heals'].to_i,
134
+ :healbeacon_heals_self => weapons_data['healbeacon_heals_self'].to_i,
135
+ :damage_amps_used => weapons_data['damage_amps_used'].to_i,
136
+ :healbeacons_deployed => weapons_data['healbeacons_deployed'].to_i,
137
+ :healbeacon_heals_pct => weapons_data['healbeacon_heals_pct'].to_f,
138
+ :healgun_heals_pct => weapons_data['healgun_heals_pct'].to_f,
139
+ :healbeacon_heals_pct_self => weapons_data['healbeacon_heals_pct_self'].to_f,
140
+ :healgun_heals_pct_self => weapons_data['healgun_heals_pct_self'].to_f
141
+ }
140
142
  end
141
143
 
142
144
  @item_stats