class LZRTag::Player::Statistics
Attributes
stats[R]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
LZRTag::Player::Life::new
# File lib/lzrtag/player/stats_player.rb, line 9 def initialize(*args) @stats = { "Kills" => 0, "Deaths" => 0, "DamageDone" => 0, "DamageReceived" => 0, "Healed" => 0, } super(*args); end
print_end_line()
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 76 def self.print_end_line() stats = ["Kills", "Deaths", "DMG Done", "DMG Rec", "Healed"] sep = "\u2501" * 10; puts "\u2517" + sep + ("\u2537" + sep)*(stats.count) + "\u251B"; end
print_start_line()
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 67 def self.print_start_line() stats = ["Kills", "Deaths", "DMG Done", "DMG Rec", "Healed"] sep = "\u2501" * 10; puts "\u250F" + sep + ("\u252F" + sep) * (stats.count) + "\u2513"; puts "\u2503" + (" %8s \u2502" * (stats.count) + " %8s \u2503") % ["Name", stats].flatten; puts "\u2523" + sep + ("\u253F" + sep)*(stats.count) + "\u252B"; end
Public Instance Methods
_increment_stat(key, value)
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 28 def _increment_stat(key, value) _update_stat(key, @stats[key] + value); end
_set_dead(d, player = nil)
click to toggle source
Calls superclass method
# File lib/lzrtag/player/stats_player.rb, line 53 def _set_dead(d, player = nil) return unless super(d, player); return unless d; player._increment_stat("Kills", 1) if(player); _increment_stat("Deaths", 1); end
_update_stat(key, value)
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 21 def _update_stat(key, value) return unless(@stats.keys.include? key); return if(@stats[key] == value); @stats[key] = value; _pub_to("Stats/#{key}", value, retain: true); end
clear_all_topics()
click to toggle source
Calls superclass method
LZRTag::Player::Life#clear_all_topics
# File lib/lzrtag/player/stats_player.rb, line 98 def clear_all_topics() super(); @stats.keys.each do |k| _pub_to("Stats/#{k}", "", retain: true); end end
damage_by(*args)
click to toggle source
Calls superclass method
LZRTag::Player::Life#damage_by
# File lib/lzrtag/player/stats_player.rb, line 46 def damage_by(*args) dmg_done = super(*args); _increment_stat("DamageReceived", dmg_done); args[1]._increment_stat("DamageDone", dmg_done) if(args[1]) end
print_stat_line()
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 83 def print_stat_line() outStr = "\u2503 %8s "; strArgs = [@name]; @stats.each do |key, val| strArgs << val; outStr += "\u2502 %8d "; end outStr += "\u2503"; puts outStr % strArgs; end
ratio_kd()
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 62 def ratio_kd() return @stats["Kills"]/([1, @stats["Deaths"]].max); end
regenerate(*args)
click to toggle source
Calls superclass method
LZRTag::Player::Life#regenerate
# File lib/lzrtag/player/stats_player.rb, line 41 def regenerate(*args) healDone = super(*args); _increment_stat("Healed", healDone); end
reset()
click to toggle source
# File lib/lzrtag/player/stats_player.rb, line 32 def reset() @stats.keys.each do |k| @stats[k] = 0; _pub_to("Stats/#{k}", 0, retain: true); end # super(); // TO DO! end