Class: RPG::Class
- Inherits:
-
BaseItem
- Object
- BaseItem
- RPG::Class
- Defined in:
- lib/rpg/class.rb,
lib/rpg/class/learning.rb
Defined Under Namespace
Classes: Learning
Instance Attribute Summary (collapse)
-
- (Object) exp_params
Returns the value of attribute exp_params.
-
- (Object) learnings
Returns the value of attribute learnings.
-
- (Object) params
Returns the value of attribute params.
Attributes inherited from BaseItem
#description, #features, #icon_index, #id, #name, #note
Instance Method Summary (collapse)
- - (Object) exp_for_level(level)
-
- (Class) initialize
constructor
A new instance of Class.
Constructor Details
- (Class) initialize
Returns a new instance of Class
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rpg/class.rb', line 3 def initialize super @exp_params = [30,20,30,30] @params = Table.new(8,100) (1..99).each do |i| @params[0,i] = 400+i*50 @params[1,i] = 80+i*10 (2..5).each {|j| @params[j,i] = 15+i*5/4 } (6..7).each {|j| @params[j,i] = 30+i*5/2 } end @learnings = [] @features.push(RPG::BaseItem::Feature.new(23, 0, 1)) @features.push(RPG::BaseItem::Feature.new(22, 0, 0.95)) @features.push(RPG::BaseItem::Feature.new(22, 1, 0.05)) @features.push(RPG::BaseItem::Feature.new(22, 2, 0.04)) @features.push(RPG::BaseItem::Feature.new(41, 1)) @features.push(RPG::BaseItem::Feature.new(51, 1)) @features.push(RPG::BaseItem::Feature.new(52, 1)) end |
Instance Attribute Details
- (Object) exp_params
Returns the value of attribute exp_params
31 32 33 |
# File 'lib/rpg/class.rb', line 31 def exp_params @exp_params end |
- (Object) learnings
Returns the value of attribute learnings
33 34 35 |
# File 'lib/rpg/class.rb', line 33 def learnings @learnings end |
- (Object) params
Returns the value of attribute params
32 33 34 |
# File 'lib/rpg/class.rb', line 32 def params @params end |
Instance Method Details
- (Object) exp_for_level(level)
22 23 24 25 26 27 28 29 30 |
# File 'lib/rpg/class.rb', line 22 def exp_for_level(level) lv = level.to_f basis = @exp_params[0].to_f extra = @exp_params[1].to_f acc_a = @exp_params[2].to_f acc_b = @exp_params[3].to_f return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/ (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i end |