tf2_line_parser 0.3.0 → 0.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01e322507f92ef5ebd648bf65a7412a916e3a84b118c58bb322edcee2539f85e
4
- data.tar.gz: f1af28f6e5cc32f7579e80f73eb353cb4406c3902ae72ecb8fd13f4cf20c2a23
3
+ metadata.gz: 8016d55d0b90fc21b2c382984dacfffd2d30f7f6524145255dfc86d0b64b48d2
4
+ data.tar.gz: 2a50462784a314698d6eba06aae225b3daa1bf6789fefa9e8fd88d826526e76d
5
5
  SHA512:
6
- metadata.gz: f2e66e19141bb1109c3c35ea0cd993f5b67c7a688f1022e31595aae187a038c2aee6618d0a2b51b5988e99eede992710ba1426730674b80bf41da9162882806a
7
- data.tar.gz: 67d849993089b15ff95af89cabd3fe680d49afcc4640a5a8b245bd9dfdc3d7ddedbe5a24de88fae73acc27998329c41b27e66c86a45570bec0f4df1c85f328d7
6
+ metadata.gz: 3ae82f8e65a4be2d80a882faac1628982a2026aa23026f6d179cd6953abf2294fb59f7d44d3bb2000123c34328f4ca8714a872d8cdcb3208b57e531beabb1ef8
7
+ data.tar.gz: 520a851cfa90ae2a85d1c88d62c385386cdd6a5f2c3072a8e77ead096426343db372ffc4877656b7d88bbb66b6a1ea7cb2e8e2fe9bc7d1b4fe5c07f95713fd76
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tf2_line_parser (0.2.3)
4
+ tf2_line_parser (0.3.2)
5
5
  activesupport
6
6
 
7
7
  GEM
@@ -37,7 +37,7 @@ module TF2LineParser
37
37
  def self.types
38
38
  # ordered by how common the messages are
39
39
  @types ||= [Damage, Heal, PickupItem, Assist, Kill, CaptureBlock, PointCapture, ChargeDeployed,
40
- MedicDeath, RoleChange, Spawn, Airshot, HeadshotDamage, Suicide, Say, TeamSay, Domination, Revenge, RoundWin, CurrentScore,
40
+ MedicDeath, MedicDeathEx, RoleChange, Spawn, Airshot, HeadshotDamage, Suicide, Say, TeamSay, Domination, Revenge, RoundWin, CurrentScore,
41
41
  RoundLength, RoundStart, Connect, Disconnect, RconCommand, ConsoleSay, MatchEnd, FinalScore,
42
42
  RoundStalemate, Unknown].freeze
43
43
  end
@@ -16,6 +16,7 @@ module TF2LineParser
16
16
  @player = Player.new(player_name, player_uid, player_steam_id, player_team)
17
17
  @target = Player.new(target_name, target_uid, target_steam_id, target_team)
18
18
  @value = value.to_i
19
+ @healing = @value
19
20
  end
20
21
  end
21
22
  end
@@ -0,0 +1,25 @@
1
+ module TF2LineParser
2
+ module Events
3
+ class MedicDeathEx < Event
4
+ attr_reader :time, :player, :ubercharge
5
+
6
+ def self.regex
7
+ @regex ||= /#{regex_time} #{regex_player} triggered "medic_death_ex" #{regex_uberpct}/.freeze
8
+ end
9
+
10
+ def self.regex_uberpct
11
+ @regex_uberpct ||= '\(uberpct "(?\'uberpct\'\d+)"\)'
12
+ end
13
+
14
+ def self.attributes
15
+ @attributes ||= %i[time player_section uberpct]
16
+ end
17
+
18
+ def initialize(time, player_name, player_uid, player_steam_id, player_team, uberpct)
19
+ @time = parse_time(time)
20
+ @player = Player.new(player_name, player_uid, player_steam_id, player_team)
21
+ @ubercharge = uberpct.to_i
22
+ end
23
+ end
24
+ end
25
+ end
@@ -8,7 +8,7 @@ module TF2LineParser
8
8
  end
9
9
 
10
10
  def self.regex_action
11
- @regex_item ||= '\"(?\'item\'.*)\"'
11
+ @regex_item ||= '\"(?\'item\'[^\"]+)\"(?: \\(healing \"(?\'value\'\\d+)\"\\))?'
12
12
  end
13
13
 
14
14
  def self.item
@@ -16,7 +16,15 @@ module TF2LineParser
16
16
  end
17
17
 
18
18
  def self.attributes
19
- @attributes ||= %i[time player_section item]
19
+ @attributes ||= %i[time player_section item value]
20
+ end
21
+
22
+ def initialize(time, player_name, player_uid, player_steam_id, player_team, item, value = nil)
23
+ @time = parse_time(time)
24
+ @player = Player.new(player_name, player_uid, player_steam_id, player_team)
25
+ @item = item
26
+ @value = value&.to_i
27
+ @healing = @value
20
28
  end
21
29
  end
22
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TF2LineParser
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.2'
5
5
  end
@@ -301,7 +301,7 @@ module TF2LineParser
301
301
  steam_id = 'STEAM_0:1:1895232'
302
302
  team = 'Blue'
303
303
  item = 'medkit_medium'
304
- expect(Events::PickupItem).to receive(:new).with(anything, name, uid, steam_id, team, item)
304
+ expect(Events::PickupItem).to receive(:new).with(anything, name, uid, steam_id, team, item, nil)
305
305
  parse(line)
306
306
  end
307
307
 
@@ -359,6 +359,17 @@ module TF2LineParser
359
359
  parse(line)
360
360
  end
361
361
 
362
+ it 'recognizes medic death ex' do
363
+ line = detailed_log_lines[64]
364
+ medic_name = 'Aquila'
365
+ medic_uid = '15'
366
+ medic_steam_id = 'STEAM_0:0:43087158'
367
+ medic_team = 'Red'
368
+ uberpct = '10'
369
+ expect(Events::MedicDeathEx).to receive(:new).with(anything, medic_name, medic_uid, medic_steam_id, medic_team, uberpct)
370
+ parse(line)
371
+ end
372
+
362
373
  it 'recognizes role changes' do
363
374
  line = log_lines[1712]
364
375
  player_name = 'broder bybben'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf2_line_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-12 00:00:00.000000000 Z
11
+ date: 2025-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -112,6 +112,7 @@ files:
112
112
  - lib/tf2_line_parser/events/kill.rb
113
113
  - lib/tf2_line_parser/events/match_end.rb
114
114
  - lib/tf2_line_parser/events/medic_death.rb
115
+ - lib/tf2_line_parser/events/medic_death_ex.rb
115
116
  - lib/tf2_line_parser/events/pickup_item.rb
116
117
  - lib/tf2_line_parser/events/player_action_event.rb
117
118
  - lib/tf2_line_parser/events/point_capture.rb