mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +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:
@@ -23,6 +23,7 @@ import appearances from './appearance';
|
||||
import backgrounds from './appearance/backgrounds.js'
|
||||
import spells from './spells';
|
||||
import faq from './faq';
|
||||
import loginIncentives from './loginIncentives';
|
||||
|
||||
api.mystery = mysterySets;
|
||||
|
||||
@@ -2653,6 +2654,113 @@ api.quests = {
|
||||
unlock: t('questFerretUnlockText'),
|
||||
},
|
||||
},
|
||||
dustbunnies: {
|
||||
text: t('questDustBunniesText'),
|
||||
notes: t('questDustBunniesNotes'),
|
||||
completion: t('questDustBunniesCompletion'),
|
||||
value: 4,
|
||||
category: 'unlockable',
|
||||
unlockCondition: {
|
||||
condition: 'create account',
|
||||
text: t('createAccountReward')
|
||||
},
|
||||
boss: {
|
||||
name: t('questDustBunniesBoss'),
|
||||
hp: 100,
|
||||
str: 0.5
|
||||
},
|
||||
drop: {
|
||||
gp: 8,
|
||||
exp: 42
|
||||
}
|
||||
},
|
||||
moon1: {
|
||||
text: t('questMoon1Text'),
|
||||
notes: t('questMoon1Notes'),
|
||||
completion: t('questMoon1Completion'),
|
||||
value: 4,
|
||||
category: 'unlockable',
|
||||
unlockCondition: {
|
||||
condition: 'login incentive',
|
||||
incentiveThreshold: 7,
|
||||
text: t('loginReward', {count: 7})
|
||||
},
|
||||
collect: {
|
||||
shard: {
|
||||
text: t('questMoon1CollectShards'),
|
||||
count: 20
|
||||
},
|
||||
},
|
||||
drop: {
|
||||
items: [
|
||||
{
|
||||
type: 'gear',
|
||||
key: "head_special_lunarWarriorHelm",
|
||||
text: t('questMoon1DropHeadgear')
|
||||
},
|
||||
],
|
||||
gp: 7,
|
||||
exp: 50
|
||||
}
|
||||
},
|
||||
moon2: {
|
||||
text: t('questMoon2Text'),
|
||||
notes: t('questMoon2Notes'),
|
||||
completion: t('questMoon2Completion'),
|
||||
previous: 'moon1',
|
||||
value: 4,
|
||||
category: 'unlockable',
|
||||
unlockCondition: {
|
||||
condition: 'login incentive',
|
||||
incentiveThreshold: 22,
|
||||
text: t('loginReward', {count: 22})
|
||||
},
|
||||
boss: {
|
||||
name: t('questMoon2Boss'),
|
||||
hp: 100,
|
||||
str: 1.5
|
||||
},
|
||||
drop: {
|
||||
items: [
|
||||
{
|
||||
type: 'gear',
|
||||
key: "armor_special_lunarWarriorArmor",
|
||||
text: t('questMoon2DropArmor')
|
||||
}
|
||||
],
|
||||
gp: 37,
|
||||
exp: 275
|
||||
}
|
||||
},
|
||||
moon3: {
|
||||
text: t('questMoon3Text'),
|
||||
notes: t('questMoon3Notes'),
|
||||
completion: t('questMoon3Completion'),
|
||||
previous: 'moon2',
|
||||
value: 4,
|
||||
category: 'unlockable',
|
||||
unlockCondition: {
|
||||
condition: 'login incentive',
|
||||
incentiveThreshold: 40,
|
||||
text: t('loginReward', {count: 40})
|
||||
},
|
||||
boss: {
|
||||
name: t('questMoon3Boss'),
|
||||
hp: 1000,
|
||||
str: 2
|
||||
},
|
||||
drop: {
|
||||
items: [
|
||||
{
|
||||
type: 'gear',
|
||||
key: "weapon_special_lunarScythe",
|
||||
text: t('questMoon3DropWeapon')
|
||||
},
|
||||
],
|
||||
gp: 67,
|
||||
exp: 650
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
_.each(api.quests, function(v, key) {
|
||||
@@ -2777,3 +2885,5 @@ api.userDefaults = {
|
||||
};
|
||||
|
||||
api.faq = faq;
|
||||
|
||||
api.loginIncentives = loginIncentives(api);
|
||||
|
||||
Reference in New Issue
Block a user