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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/tf2_line_parser/events/event.rb +1 -1
- data/lib/tf2_line_parser/events/heal.rb +1 -0
- data/lib/tf2_line_parser/events/medic_death_ex.rb +25 -0
- data/lib/tf2_line_parser/events/pickup_item.rb +10 -2
- data/lib/tf2_line_parser/version.rb +1 -1
- data/spec/lib/tf2_line_parser/parser_spec.rb +12 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8016d55d0b90fc21b2c382984dacfffd2d30f7f6524145255dfc86d0b64b48d2
|
|
4
|
+
data.tar.gz: 2a50462784a314698d6eba06aae225b3daa1bf6789fefa9e8fd88d826526e76d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ae82f8e65a4be2d80a882faac1628982a2026aa23026f6d179cd6953abf2294fb59f7d44d3bb2000123c34328f4ca8714a872d8cdcb3208b57e531beabb1ef8
|
|
7
|
+
data.tar.gz: 520a851cfa90ae2a85d1c88d62c385386cdd6a5f2c3072a8e77ead096426343db372ffc4877656b7d88bbb66b6a1ea7cb2e8e2fe9bc7d1b4fe5c07f95713fd76
|
data/Gemfile.lock
CHANGED
|
@@ -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
|
|
@@ -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
|
|
@@ -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.
|
|
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-
|
|
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
|