rpglevel

2.0.1 • Public • Published

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()

Readme

Keywords

Package Sidebar

Install

npm i rpglevel

Weekly Downloads

0

Version

2.0.1

License

MIT

Last publish

Collaborators

  • kjirou