Class: RPG::Class

Inherits:
BaseItem show all
Defined in:
lib/rpg/class.rb,
lib/rpg/class/learning.rb

Defined Under Namespace

Classes: Learning

Instance Attribute Summary collapse

Attributes inherited from BaseItem

#description, #features, #icon_index, #id, #name, #note

Instance Method Summary collapse

Constructor Details

#initializeClass

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

#exp_paramsObject

Returns the value of attribute exp_params.



31
32
33
# File 'lib/rpg/class.rb', line 31

def exp_params
  @exp_params
end

#learningsObject

Returns the value of attribute learnings.



33
34
35
# File 'lib/rpg/class.rb', line 33

def learnings
  @learnings
end

#paramsObject

Returns the value of attribute params.



32
33
34
# File 'lib/rpg/class.rb', line 32

def params
  @params
end

Instance Method Details

#exp_for_level(level) ⇒ Object



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