1.0.2 • Published 8 years ago

achievement-unlocked v1.0.2

Weekly downloads
6
License
ISC
Repository
github
Last release
8 years ago

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

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago