Class: RPG::Class

Inherits:
BaseItem show all
Defined in:
lib/R3EXS/RGSS3.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.



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
# File 'lib/R3EXS/RGSS3.rb', line 690

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.



720
721
722
# File 'lib/R3EXS/RGSS3.rb', line 720

def exp_params
  @exp_params
end

#learningsObject

Returns the value of attribute learnings.



722
723
724
# File 'lib/R3EXS/RGSS3.rb', line 722

def learnings
  @learnings
end

#paramsObject

Returns the value of attribute params.



721
722
723
# File 'lib/R3EXS/RGSS3.rb', line 721

def params
  @params
end

Instance Method Details

#exp_for_level(level) ⇒ Object



710
711
712
713
714
715
716
717
718
# File 'lib/R3EXS/RGSS3.rb', line 710

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