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
print_start_line() click to toggle source

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
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