Class: TF2LineParser::Events::Damage
- Inherits:
-
Event
- Object
- Event
- TF2LineParser::Events::Damage
show all
- Defined in:
- lib/tf2_line_parser/events/damage.rb
Instance Attribute Summary
Attributes inherited from Event
#airshot, #cap_name, #cap_number, #customkill, #healing, #item, #length, #message, #method, #player, #role, #score, #target, #team, #time, #type, #ubercharge, #unknown, #value, #weapon
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Event
#parse_time, regex_cap, regex_console, regex_message, regex_player, regex_results, regex_target, regex_time, time_format, types
Constructor Details
#initialize(time, player_name, player_steamid, player_team, target_name, target_steamid, target_team, value, weapon) ⇒ Damage
Returns a new instance of Damage.
27
28
29
30
31
32
33
34
35
|
# File 'lib/tf2_line_parser/events/damage.rb', line 27
def initialize(time, player_name, player_steamid, player_team, target_name, target_steamid, target_team, value, weapon)
@time = parse_time(time)
@player = Player.new(player_name, player_steamid, player_team)
if target_name
@target = Player.new(target_name, target_steamid, target_team)
end
@value = value.to_i
@weapon = weapon
end
|
Class Method Details
.attributes ⇒ Object
23
24
25
|
# File 'lib/tf2_line_parser/events/damage.rb', line 23
def self.attributes
@attributes ||= [:time, :player_nick, :player_steamid, :player_team, :target_nick, :target_steamid, :target_team, :value, :weapon]
end
|
.regex ⇒ Object
7
8
9
|
# File 'lib/tf2_line_parser/events/damage.rb', line 7
def self.regex
@regex ||= /#{regex_time} #{regex_player} triggered "damage" #{regex_damage_against}\(damage "(?'value'\d+)"\)(?:( #{regex_realdamage})?( #{regex_weapon})?)$/.freeze
end
|
.regex_damage_against ⇒ Object
11
12
13
|
# File 'lib/tf2_line_parser/events/damage.rb', line 11
def self.regex_damage_against
@regex_damage_against ||= /(against #{regex_target} )?/.freeze
end
|
.regex_realdamage ⇒ Object
15
16
17
|
# File 'lib/tf2_line_parser/events/damage.rb', line 15
def self.regex_realdamage
@regex_realdamage ||= /(\(realdamage "(?'realdamage'\w*)"\))?/.freeze
end
|
.regex_weapon ⇒ Object
19
20
21
|
# File 'lib/tf2_line_parser/events/damage.rb', line 19
def self.regex_weapon
@regex_weapon ||= /(\(weapon "(?'weapon'\w*)"\))?/.freeze
end
|