mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Login Incentives (#8230)
* feat(incentives): login bennies WIP * feat(content): incentive prize content WIP * fix(content): placeholders pass tests * WIP(content): Bard instrument placeholder * feat(content): Incentives build * chore(sprites): compile and fix some strings * WIP(incentives): quests and backgrounds * fix(quests): correct buy/launch handling * [WIP] Incentives rewarding (#8226) * Added login incentive rewards * Updated incentive rewards * Added incentive modal and updated notification structure * Added analytics to sleeping * Added login incentives to user analytics * Fixed unit tests and ensured that prizes are incremented and not replaced * Updated style of daily login incentive modal * Added rewards modal * Added translations * Added loigin incentive ui elements to profile * Updated login incentives structure and abstracted to common.content * Added dynamic display for login incentives on profile * Added purple potion image * Updated daily login modal * Fixed progress calculation * Added bard gear * Updated login incentive rewards * Fixed styles and text * Added multiple read for notifications * Fixed lint issues * Fixed styles and added 50 limit * Updated quest keys * Added login incentives reward page * Fixed tests * Fixed linting and tests * Read named notifications route. Add image for backgrounds * Fixed style issues and added tranlsations to login incentive notification * Hided abiltiy to purchase incentive backgrounds and added message to detail how to unlock * Updated awarded message * Fixed text and updated progress counter to display better * Fixed purple potion reward text * Fixed check in backgrouns reward text * fix(quest): pass tests * Added display of multiple rewards * Updated modal styles * Fixed neagtive 50 issue * Remvoed total count from daily login incentives modal * Fixed magic paw display * fix(awards): give bunnies again * WIP(incentives): more progress on BG shop * fix(incentives): actually award backgrounds * fix(incentives): more BG fixy * fix(backgrounds): don't gem-buy checkin bgs * Added dust bunny notification * fix(incentives): don't redisplay bunny award * chore(news): Bailey and different promo sprite
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
*/
|
||||
|
||||
angular.module('habitrpg').factory('Guide',
|
||||
['$rootScope', 'User', '$timeout', '$state', 'Analytics',
|
||||
function($rootScope, User, $timeout, $state, Analytics) {
|
||||
['$rootScope', 'User', '$timeout', '$state', 'Analytics', 'Notification', 'Shared', 'Social',
|
||||
function($rootScope, User, $timeout, $state, Analytics, Notification, Shared, Social) {
|
||||
|
||||
var chapters = {
|
||||
intro: [
|
||||
@@ -202,12 +202,26 @@ function($rootScope, User, $timeout, $state, Analytics) {
|
||||
if (lastKnownStep === -2) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (i > lastKnownStep) {
|
||||
if (step.gold) ups['stats.gp'] = User.user.stats.gp + step.gold;
|
||||
if (step.experience) ups['stats.exp'] = User.user.stats.exp + step.experience;
|
||||
ups['flags.tour.'+k] = i;
|
||||
}
|
||||
|
||||
if (step.final) { // -2 indicates complete
|
||||
if (k === 'intro') {
|
||||
// Manually show bunny scroll reward
|
||||
var rewardData = {
|
||||
reward: [Shared.content.quests.dustbunnies],
|
||||
rewardKey: ['inventory_quest_scroll_dustbunnies'],
|
||||
rewardText: Shared.content.quests.dustbunnies.text(),
|
||||
message: window.env.t('checkinEarned'),
|
||||
nextRewardAt: 1,
|
||||
};
|
||||
Notification.showLoginIncentive(User.user, rewardData, Social.loadWidgets);
|
||||
}
|
||||
//Mark tour complete
|
||||
ups['flags.tour.'+k] = -2;
|
||||
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'tutorial','eventLabel':k+'-web','eventValue':i+1,'complete':true})
|
||||
}
|
||||
@@ -259,9 +273,11 @@ function($rootScope, User, $timeout, $state, Analytics) {
|
||||
_.times(page, function(p){
|
||||
opts.steps = opts.steps.concat(chapters[chapter][p]);
|
||||
})
|
||||
|
||||
var end = opts.steps.length;
|
||||
opts.steps = opts.steps.concat(chapters[chapter][page]);
|
||||
chap._removeState('end');
|
||||
|
||||
if (chap._inited) {
|
||||
chap.goTo(end);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user