Merge remote-tracking branch 'origin/sabe/rebirth' into develop
Conflicts: src/models/user.js views/shared/modals/index.jade
This commit is contained in:
@@ -68,6 +68,11 @@ habitrpg.controller('NotificationCtrl',
|
||||
$rootScope.modals.achievements.beastMaster = true;
|
||||
}, true);
|
||||
|
||||
$rootScope.$watch('user.achievements.rebirths', function(after, before){
|
||||
if(after === before) return;
|
||||
$rootScope.modals.achievements.rebirth = true;
|
||||
});
|
||||
|
||||
/*_.each(['weapon', 'head', 'chest', 'shield'], function(watched){
|
||||
$rootScope.$watch('user.items.' + watched, function(before, after){
|
||||
if (after == before) return;
|
||||
|
||||
@@ -59,6 +59,12 @@ habitrpg.controller('SettingsCtrl',
|
||||
$rootScope.$state.go('tasks');
|
||||
}
|
||||
|
||||
$scope.rebirth = function(){
|
||||
User.user.ops.rebirth({});
|
||||
$rootScope.modals.rebirth = false;
|
||||
$rootScope.$state.go('tasks');
|
||||
}
|
||||
|
||||
$scope.changePassword = function(changePass){
|
||||
if (!changePass.oldPassword || !changePass.newPassword || !changePass.confirmNewPassword) {
|
||||
return alert("Please fill out all fields");
|
||||
|
||||
@@ -139,7 +139,10 @@ angular.module('guideServices', []).
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$rootScope.$watch('user.flags.rebirthEnabled', function(after, before) {
|
||||
if (alreadyShown(before, after)) return;
|
||||
$rootScope.modals.rebirthEnabled = true;
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+5
-2
@@ -46,7 +46,9 @@ var UserSchema = new Schema({
|
||||
snowball: Number,
|
||||
streak: Number,
|
||||
challenges: Array,
|
||||
quests: Schema.Types.Mixed
|
||||
quests: Schema.Types.Mixed,
|
||||
rebirths: Number,
|
||||
rebirthLevel: Number
|
||||
},
|
||||
auth: {
|
||||
facebook: Schema.Types.Mixed,
|
||||
@@ -95,7 +97,8 @@ var UserSchema = new Schema({
|
||||
partyEnabled: Boolean, // FIXME do we need this?
|
||||
contributor: Boolean,
|
||||
classSelected: {type: Boolean, 'default': false},
|
||||
mathUpdates: Boolean
|
||||
mathUpdates: Boolean,
|
||||
rebirthEnabled: {type: Boolean, 'default': false}
|
||||
},
|
||||
history: {
|
||||
exp: Array, // [{date: Date, value: Number}], // big peformance issues if these are defined
|
||||
|
||||
+2
-1
@@ -65,7 +65,8 @@ router['delete']('/user', auth.auth, user['delete']);
|
||||
router.post('/user/revive', auth.auth, cron, user.revive); // Shared.ops
|
||||
router.post('/user/reroll', auth.auth, cron, user.reroll); // Shared.ops
|
||||
router.post('/user/reset', auth.auth, user.reset); // Shared.ops
|
||||
router.post('/user/sleep', auth.auth, cron, user.sleep); //Shared.opss
|
||||
router.post('/user/sleep', auth.auth, cron, user.sleep); //Shared.ops
|
||||
router.post('/user/rebirth', auth.auth, cron, user.rebirth); //Shared.ops
|
||||
|
||||
router.post('/user/class/change', auth.auth, cron, user.changeClass); //Shared.ops | query={class}
|
||||
router.post('/user/class/allocate', auth.auth, cron, user.allocate); //Shared.ops | query={stat}
|
||||
|
||||
@@ -137,3 +137,8 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html')
|
||||
p
|
||||
| {{Content.spells.special.snowball.value}}
|
||||
span.Pet_Currency_Gem1x.inline-gems
|
||||
div(ng-show='user.flags.rebirthEnabled')
|
||||
button.customize-option(popover='Begin a new character at Level 1 while retaining achievements, collectibles, and tasks with history.', popover-title='Orb of Rebirth', popover-trigger='mouseenter', popover-placement='left', ng-click='modals.rebirth = true', class='rebirth_orb')
|
||||
p
|
||||
| 8
|
||||
span.Pet_Currency_Gem1x.inline-gems
|
||||
|
||||
@@ -46,3 +46,4 @@ figure.herobox(ng-click='spell ? castEnd(profile, "user", $event) : clickMember(
|
||||
.avatar-level(ng-class='userLevelStyle(profile,"label")')
|
||||
i.icon-circle-arrow-up.icon-white(ng-show='profile.stats.buffs.str || profile.stats.buffs.per || profile.stats.buffs.con || profile.stats.buffs.int || profile.stats.buffs.stealth', tooltip='Buffed', style='margin-right:5px;')
|
||||
| Lvl {{profile.stats.lvl}}
|
||||
i.icon-plus-sign.icon-white(ng-show='profile.achievements.rebirths', tooltip='Reborn, max level {{profile.achievements.rebirthLevel}}', style='margin-left:5px')
|
||||
|
||||
@@ -7,7 +7,7 @@ div(modal='modals.achievements.streak')
|
||||
.achievement.achievement-thermometer
|
||||
| You have stacked your "Streaker" Achievement! Every 21 days of streak, you gain 1 achievement point here.
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.streak = false') Ok
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.streak = false') OK
|
||||
|
||||
// Max Gear
|
||||
div(modal='modals.achievements.ultimateGear')
|
||||
@@ -17,7 +17,7 @@ div(modal='modals.achievements.ultimateGear')
|
||||
.achievement.achievement-armor
|
||||
| You have earned the "Ultimate Gear" Achievement for upgrading to the maximum gear set!
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.ultimateGear = false') Ok
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.ultimateGear = false') OK
|
||||
|
||||
// Beast Master
|
||||
div(modal='modals.achievements.beastMaster')
|
||||
@@ -28,7 +28,7 @@ div(modal='modals.achievements.beastMaster')
|
||||
.achievement.achievement-rat
|
||||
| You have earned the "Beast Master" Achievement for collecting all the pets!
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.beastMaster = false') Ok
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.beastMaster = false') OK
|
||||
|
||||
// Contributor
|
||||
div(modal='user.flags.contributor')
|
||||
@@ -40,7 +40,15 @@ div(modal='user.flags.contributor')
|
||||
{{user.profile.name}}, you awesome person! You're now a level {{user.contributor.level}} contributor for helping HabitRPG. See <a href='http://habitrpg.wikia.com/wiki/Contributor_Rewards' target='_blank'>what prizes you've earned for your contribution!</a>
|
||||
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='set({"flags.contributor":false})') Ok
|
||||
|
||||
button.btn.btn-default.cancel(ng-click='set({"flags.contributor":false})') OK
|
||||
|
||||
//Rebirth
|
||||
div(modal='modals.achievements.rebirth')
|
||||
.modal-header
|
||||
h3 Achievement!
|
||||
.modal-body
|
||||
.achievement.achievement-sun
|
||||
| You've begun a new adventure! This is Rebirth {{user.achievements.rebirths}} for you, and the highest Level you've attained is {{user.achievements.rebirthLevel}}. To stack this Achievement, begin your next new adventure when you've reached an even higher Level!
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='modals.achievements.rebirth = false') OK
|
||||
|
||||
|
||||
@@ -8,4 +8,5 @@ include ./members
|
||||
include ./settings
|
||||
include ./drops
|
||||
include ./classes
|
||||
include ./quests
|
||||
include ./quests
|
||||
include ./rebirth
|
||||
@@ -0,0 +1,45 @@
|
||||
// Created by Sabe on 12/22/13.
|
||||
|
||||
div(modal='modals.rebirthEnabled')
|
||||
.modal-header
|
||||
h3 Rebirth: New Adventure Available!
|
||||
.modal-body
|
||||
.rebirth_orb.pull-left(style='margin-right: 5px')
|
||||
p
|
||||
span.
|
||||
You've unlocked Rebirth! This special Market item allows you to begin a new game at level 1 while keeping your tasks, achievements, pets, and more. Use it to breathe new life into HabitRPG if you feel you've achieved it all, or to experience new features with the fresh eyes of a beginning character!
|
||||
.modal-footer
|
||||
button.btn.btn-default.cancel(ng-click='modals.rebirthEnabled = false') Close
|
||||
|
||||
div(modal='modals.rebirth')
|
||||
.modal-header
|
||||
h3 Rebirth: Begin a New Adventure
|
||||
.modal-body
|
||||
include ../gems
|
||||
.rebirth_orb.pull-left(style='margin-right: 5px')
|
||||
p Rebirth starts your character over from Level 1, as if you had created a new account.
|
||||
br
|
||||
p Your adventure begins anew with a clean slate:
|
||||
.unordered
|
||||
li You return to full Health.
|
||||
li You have no Experience, Gold, or equipment.
|
||||
li Your Habits, Dailies, and To-Dos reset to yellow, and streaks reset.
|
||||
li You have the starting class of Warrior until you earn a new class.
|
||||
br
|
||||
p Your new character inherits a few things from their predecessor:
|
||||
.unordered
|
||||
li Tasks, history, and settings remain.
|
||||
li Challenge, Guild, and Party memberships remain.
|
||||
li Gems, backer tiers, and contributor levels remain.
|
||||
li Items obtained from Gems or drops (such as pets and mounts) remain, though you cannot access them until you unlock them again.
|
||||
br
|
||||
.achievement-sun.pull-left(style='margin-right: 5px')
|
||||
p You also earn an Achievement for beginning a new adventure!
|
||||
.modal-footer
|
||||
button.btn.btn-large.cancel(ng-click='modals.rebirth = false') Never mind
|
||||
span(ng-if='user.balance < 2')
|
||||
a.btn.btn-success.btn-large(ng-click="modals.buyGems = true") Buy More Gems
|
||||
span.gem-cost Not enough Gems
|
||||
span(ng-if='user.balance >= 2', ng-controller='SettingsCtrl')
|
||||
a.btn.btn-danger.btn-large(ng-click='rebirth()') Be Reborn
|
||||
span.gem-cost 8 Gems
|
||||
@@ -3,7 +3,6 @@
|
||||
// <div class='achievement achievement-tree'></div>
|
||||
// <div class='achievement achievement-comment'></div>
|
||||
// <div class='achievement achievement-cave'></div>
|
||||
// <div class='achievement achievement-sun'></div>
|
||||
// <div class='achievement achievement-boot'></div>
|
||||
// <div class='achievement achievement-coffin'></div>
|
||||
// <div class='achievement achievement-alien'></div>
|
||||
@@ -57,6 +56,14 @@
|
||||
small Has found all 90 pets (insanely difficult, give this user props!)
|
||||
hr
|
||||
|
||||
div(ng-if='profile.achievements.rebirths')
|
||||
.achievement.achievement-sun
|
||||
h5(ng-if='profile.achievements.rebirths == 1') Began a New Adventure
|
||||
h5(ng-if='profile.achievements.rebirths > 1') Began {{profile.achievements.rebirths}} New Adventures
|
||||
small.
|
||||
Used an Orb of Rebirth to start over after attaining Level {{profile.achievements.rebirthLevel}}.
|
||||
hr
|
||||
|
||||
div(ng-if='profile.achievements.helpedHabit')
|
||||
.achievement.achievement-tree
|
||||
h5 Helped Habit Grow
|
||||
@@ -100,4 +107,4 @@
|
||||
.achievement.achievement-snowball
|
||||
h5 Annoying Friends
|
||||
small Got snowballed {{profile.achievements.snowball}} times by party members.
|
||||
hr
|
||||
hr
|
||||
|
||||
Reference in New Issue
Block a user