elvarg 0.0.5 → 0.0.6
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/lib/hiscores/player.rb +57 -0
- data/lib/hiscores/skill.rb +13 -4
- data/lib/stats/skill.rb +6 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3118f2f2f8a4592ebe5e1bbd48e54165fc4119344dd395fb05f4418f924a685f
|
4
|
+
data.tar.gz: 3b24d648e84bf24139b8667ea5f024b2f2079f355ae6763ad3e131b801a024d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38cb35cd448c88b6adef48f938abb9668cc3aa383cef6cc3b6eb508003edb02b84ef024ddd862d48f9456b1ad740acb9a8e02accc462975b7a136b6a4c004042
|
7
|
+
data.tar.gz: d3f00779a83fe02ab7f428bc50af1a4a7806bbc14a183eb2b9bb979d3c71a99eca54b37c7fb1afac0afc4d27f0669749bb4c531e513c779a56ca8ff9eb28ebc7
|
data/lib/hiscores/player.rb
CHANGED
@@ -8,8 +8,13 @@ module Elvarg #:nodoc:
|
|
8
8
|
# Represents a Player on the Hiscores
|
9
9
|
class Player
|
10
10
|
include Elvarg::Stats
|
11
|
+
# The Player's username
|
11
12
|
attr_reader :username
|
13
|
+
# The Hiscore's mode.
|
14
|
+
# This can be :default, :ironman, :ultimate, etc.
|
15
|
+
# @see Hiscores::MODES for complete list
|
12
16
|
attr_reader :mode
|
17
|
+
# A Hash of all Stats available in OldSchool Runescape's Hiscores
|
13
18
|
attr_reader :skills
|
14
19
|
|
15
20
|
##
|
@@ -34,6 +39,58 @@ module Elvarg #:nodoc:
|
|
34
39
|
parse_data(Hiscores.search_for(username, mode))
|
35
40
|
end
|
36
41
|
|
42
|
+
##
|
43
|
+
# Determines if this Player is/was a member at one point in time.
|
44
|
+
#
|
45
|
+
# @example The player, "Ruby", has trained member's only skills
|
46
|
+
# player = Elvarg::Hiscores::Player.new 'Ruby'
|
47
|
+
# player.member? #=> true
|
48
|
+
#
|
49
|
+
# @note This methods determines member status based on if the Player
|
50
|
+
# has trained any member skills.
|
51
|
+
# @see free?
|
52
|
+
# @return [true] if the Player has trained member's only skills.
|
53
|
+
# @return [false] if the Player only trained free-to-play skills.
|
54
|
+
def member?
|
55
|
+
@skills.each { |_, skill| return true if skill.xp > 0 && skill.member? }
|
56
|
+
false
|
57
|
+
end
|
58
|
+
|
59
|
+
##
|
60
|
+
# Determines if this Player is a free-to-play player.
|
61
|
+
#
|
62
|
+
# @example The player, "Ruby", has trained member's only skills
|
63
|
+
# player = Elvarg::Hiscores::Player.new 'Ruby'
|
64
|
+
# player.free? #=> false
|
65
|
+
#
|
66
|
+
# @note This is the inverse of #member?
|
67
|
+
# @see member?
|
68
|
+
# @return [true] if the Player only trained free-to-play skills.
|
69
|
+
# @return [false] if the Player has trained member's only skills.
|
70
|
+
def free?
|
71
|
+
!member?
|
72
|
+
end
|
73
|
+
|
74
|
+
##
|
75
|
+
# Determines if this Player is a skiller (combat level 3).
|
76
|
+
#
|
77
|
+
# If a Player has any combat level > 1 (with the exception of 10 hitpoints)
|
78
|
+
# that Player is classified as a Skiller.
|
79
|
+
#
|
80
|
+
# @example The player, "Ruby", is not a skiller
|
81
|
+
# player = Elvarg::Hiscores::Player.new 'Ruby'
|
82
|
+
# player.skiller? #=> false
|
83
|
+
#
|
84
|
+
# @return [true]
|
85
|
+
# @return [false]
|
86
|
+
def skiller?
|
87
|
+
@skills.each do |key, skill|
|
88
|
+
next if key == :hitpoints && skill.level <= 10
|
89
|
+
return false if skill.level > 1 && skill.combat?
|
90
|
+
end
|
91
|
+
true
|
92
|
+
end
|
93
|
+
|
37
94
|
private
|
38
95
|
|
39
96
|
##
|
data/lib/hiscores/skill.rb
CHANGED
@@ -5,15 +5,24 @@ module Elvarg #:nodoc:
|
|
5
5
|
##
|
6
6
|
# Represents a Skill on the Hiscores
|
7
7
|
class Skill < Stats::Skill
|
8
|
-
#
|
8
|
+
# The rank of the Skill the Player has on the Hiscores
|
9
9
|
attr_reader :rank
|
10
|
-
#
|
10
|
+
# The level of the Skill the Player has on the Hiscores
|
11
11
|
attr_reader :level
|
12
|
-
#
|
12
|
+
# The experience of the Skill the Player has on the Hiscores
|
13
13
|
attr_reader :exp
|
14
14
|
|
15
15
|
##
|
16
|
-
#
|
16
|
+
# Creates a Hiscores Skill object
|
17
|
+
#
|
18
|
+
# @see Stats::SKILLS
|
19
|
+
# @see Stats::Skill#initialize
|
20
|
+
# @param symbol [Symbol] the Symbol of the Skill (required)
|
21
|
+
# see Stats::SKILLS for complete list
|
22
|
+
# @param id [Integer] the unique id of the Skill (default) 0
|
23
|
+
# @param rank [Integer] the Player's rank in this Skill (default) -1
|
24
|
+
# @param level [Integer] the Player's level in this Skill (default) 1
|
25
|
+
# @param exp [Integer] the Player's experience in this Skill (default) 0
|
17
26
|
def initialize(symbol, id = 0, rank = -1, level = 1, exp = 0)
|
18
27
|
super(symbol, id)
|
19
28
|
@rank = rank
|
data/lib/stats/skill.rb
CHANGED
@@ -45,22 +45,22 @@ module Elvarg #:nodoc:
|
|
45
45
|
# Determines if this Skill is a member's only skill.
|
46
46
|
#
|
47
47
|
# @example Slayer is a member's only skill.
|
48
|
-
# Elvarg::Stats::Skill.new(:hunter).
|
48
|
+
# Elvarg::Stats::Skill.new(:hunter).member? #=> true
|
49
49
|
# @example Runecraft is a free-to-play skill.
|
50
|
-
# Elvarg::Stats::Skill.new(:runecraft).
|
50
|
+
# Elvarg::Stats::Skill.new(:runecraft).member? #=> false
|
51
51
|
# @return [true] if this Skill is a member's only skill.
|
52
52
|
# @return [false] if this Skill is free-to-play.
|
53
|
-
def
|
53
|
+
def member?
|
54
54
|
MEMBER_SKILLS.include? @symbol
|
55
55
|
end
|
56
56
|
|
57
57
|
##
|
58
58
|
# Determines if this Skill is a free-to-play skill.
|
59
59
|
#
|
60
|
-
# @note This is the inverse of
|
61
|
-
# @see
|
60
|
+
# @note This is the inverse of #member?
|
61
|
+
# @see member?
|
62
62
|
def free?
|
63
|
-
!
|
63
|
+
!member?
|
64
64
|
end
|
65
65
|
|
66
66
|
##
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elvarg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcello A. Sabino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby Gem that provides useful methods for OldSchool RuneScape related
|
14
14
|
applications.
|