Manage the "level" and the "exp"
JavaScript HTML
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
public
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json
testem.json

README.md

rpglevel

npm version Build Status

Manage the "level" and the "exp"

Installation

npm install rpglevel

Or, you can use in browser through the browserify.

Example

var RPGLevel = require('rpglevel');

var lv = new RPGLevel();

//
// Define Exp-Table by formula.
//
//   Lv1 = 0
//   Lv2 = 4
//   Lv3 = 6  (Total = 10)
//   Lv4 = 8  (Total = 18)
//   Lv5 = 10 (Total = 28)
//
lv.defineExpTable(function(level){
  return level * 2;
}, {
  maxLevel: 5
});

// You got exps with 2 levels up.
lv.gainExp(10);

// get your level
console.log(lv.getLevel());  // -> 3

// get more information
console.log(lv.getStates());  // -> { level:3, .. }

API Reference

RPGLevel Class

  • new RPGLevel()

RPGLevel Instance

  • defineExpTable(formula, options={})
    • Set Exp-Table by formula that is for each levels.
    • Define a fomula like function(level){ return level * level; }.
    • Also, a fomula has helper data for calculation in second arg, it is usable as function(level, data){ .. }.
  • defineExpTableByArray(necessaryExps)
    • Set Exp-Table by delta exp list. For example, [0, 2, 4, 8] means what it needs total exps [Lv1=0, Lv2=2, Lv3=6, Lv4=14].
    • For that reason, list[0] is always to contain 0.
  • getMinLevel()
  • getMaxLevel()
  • getStartLevel()
  • getExp()
  • getTotalNecessaryExp(fromLevel, toLevel)
  • getNecessaryExpByLevel(level)
  • getMaxExp()
  • setExp(exp)
  • setLevel(level)
  • resetExp()
  • gainExp(exp)
    • That returns a object what includes informations about growths in this time.
    • The object is like this: { beforeLevel: 3, afterLevel: 5, levelDelta: 2, isLevelUp: true ... }.
  • drainExp(exp)
    • That reduces your exps.
  • gainLevel(levelUpCount)
  • drainLevel(levelDownCount)
  • getStates()
    • Returns your statuses about level and exps.
  • getLevel()
  • isMaxLevel()