achievement-unlocked

1.0.2 • Public • Published

achievement-unlocked

Achievement detection - not just for games..

get going

var achieve = require('../lib/index.js').Achieve
achieve.defineProperty('user_logins', 0)
achieve.defineAchievement('Time to change your password', [
    {
        propName:'user_logins', 
        activation:'ACTIVE_IF_EQUALS_OR_GREATER_THAN', 
        activationValue:'10'
    }
])
achieve.setValue('user_logins', 10)
achieve.checkAchievements()

advanced uses

Combine multiple properties to define an achievement, only when all properties are active will the achievement be active.

a.defineAchievement('You unlocked badass ninja acheivement!!', [
    {
        propName:'selectedWeapon', 
        activation:'ACTIVE_IF_EQUALS', 
        activationValue:'3'
    },
    {
        propName:'killedEnemies', 
        activation:'ACTIVE_IF_GREATER_THAN', 
        activationValue:'23'
    },
    {
        propName:'currentLevel', 
        activation:'ACTIVE_IF_GREATER_THAN', 
        activationValue:'9'
    },
    {
        propName:'secretsFound', 
        activation:'ACTIVE_IF_GREATER_THAN', 
        activationValue:'3'
    },
    {
        propName:'playerHealth', 
        activation:'ACTIVE_IF_LESS_THAN', 
        activationValue:'30'
    }

])

More examples in tests

reuse existing properties and achievements will unlock as the property changes over time

a.defineProperty('readFAQ', 0)
a.defineAchievement('You discovered our help resouce', [
    {
        propName:'readFAQ', 
        activation:'ACTIVE_IF_EQUALS', 
        activationValue:'1'
    }
])
a.defineAchievement('Thanks for checking the help guide', [
    {
        propName:'readFAQ', 
        activation:'ACTIVE_IF_EQUALS', 
        activationValue:'3'
    }
])
a.defineAchievement('You are turning into a real guru now!', [
    {
        propName:'readFAQ', 
        activation:'ACTIVE_IF_EQUALS', 
        activationValue:'6'
    }
])
a.addValue('readFAQ', 1)
a.addValue('readFAQ', 2)
a.addValue('readFAQ', 3)

view the progress of achievements

Check the active state of each property and progress percentage

a.checkAchievements() // computes each achievement property activity status
a.getAchievements() // returns all achievements and their properties

testing

npm run test

compile source

npm run compile

Attribution

Readme

Keywords

none

Package Sidebar

Install

npm i achievement-unlocked

Weekly Downloads

0

Version

1.0.2

License

ISC

Last publish

Collaborators

  • jaymc