mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
@@ -302,7 +302,7 @@
|
|||||||
"_commentitemsother" : "OTHER ITEMS",
|
"_commentitemsother" : "OTHER ITEMS",
|
||||||
"healthPotionName" : "Health Potion",
|
"healthPotionName" : "Health Potion",
|
||||||
"healthPotionNotes" : "Recover 15 HP Instantly",
|
"healthPotionNotes" : "Recover 15 HP Instantly",
|
||||||
"rerollName" : "Re-Roll",
|
"rerollName" : "Fortify",
|
||||||
"rerollNotes" : "Resets your task values back to yellow. Useful when everything's red and it's hard to stay alive.",
|
"rerollNotes" : "Resets your task values back to yellow. Useful when everything's red and it's hard to stay alive.",
|
||||||
"rerollModelHeader" : "Reset Your Tasks",
|
"rerollModelHeader" : "Reset Your Tasks",
|
||||||
"rerollModelText1" : "Highly discouraged because red tasks provide good incentive to improve",
|
"rerollModelText1" : "Highly discouraged because red tasks provide good incentive to improve",
|
||||||
|
|||||||
@@ -55,22 +55,30 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', 'User', 'API_URL',
|
|||||||
'items.eggs': user.items.eggs,
|
'items.eggs': user.items.eggs,
|
||||||
'stats.gp': User.user.stats.gp + $scope.selectedEgg.value
|
'stats.gp': User.user.stats.gp + $scope.selectedEgg.value
|
||||||
});
|
});
|
||||||
|
if (user.items.eggs[$scope.selectedEgg.name] < 1) {
|
||||||
$scope.selectedEgg = null;
|
$scope.selectedEgg = null;
|
||||||
|
}
|
||||||
|
|
||||||
} else if ($scope.selectedPotion) {
|
} else if ($scope.selectedPotion) {
|
||||||
user.items.hatchingPotions[$scope.selectedPotion.name]--;
|
user.items.hatchingPotions[$scope.selectedPotion.name]--;
|
||||||
User.setMultiple({
|
User.setMultiple({
|
||||||
'items.hatchingPotions': user.items.hatchingPotions,
|
'items.hatchingPotions': user.items.hatchingPotions,
|
||||||
'stats.gp': User.user.stats.gp + $scope.selectedPotion.value
|
'stats.gp': User.user.stats.gp + $scope.selectedPotion.value
|
||||||
});
|
});
|
||||||
|
if (user.items.hatchingPotions[$scope.selectedPotion.name] < 1) {
|
||||||
$scope.selectedPotion = null;
|
$scope.selectedPotion = null;
|
||||||
|
}
|
||||||
|
|
||||||
} else if ($scope.selectedFood) {
|
} else if ($scope.selectedFood) {
|
||||||
user.items.food[$scope.selectedFood.name]--;
|
user.items.food[$scope.selectedFood.name]--;
|
||||||
User.setMultiple({
|
User.setMultiple({
|
||||||
'items.food': user.items.food,
|
'items.food': user.items.food,
|
||||||
'stats.gp': User.user.stats.gp + $scope.selectedFood.value
|
'stats.gp': User.user.stats.gp + $scope.selectedFood.value
|
||||||
});
|
});
|
||||||
|
if (user.items.food[$scope.selectedFood.name] < 1) {
|
||||||
$scope.selectedFood = null;
|
$scope.selectedFood = null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +89,7 @@ habitrpg.controller("InventoryCtrl", ['$rootScope', '$scope', 'User', 'API_URL',
|
|||||||
$scope.hatch = function(egg, potion){
|
$scope.hatch = function(egg, potion){
|
||||||
var pet = egg.name+"-"+potion.name;
|
var pet = egg.name+"-"+potion.name;
|
||||||
if (user.items.pets[pet])
|
if (user.items.pets[pet])
|
||||||
return alert("You already have that pet, hatch a different combo.");
|
return alert("You already have that pet. Try hatching a different combination!");
|
||||||
|
|
||||||
var setObj = {};
|
var setObj = {};
|
||||||
setObj['items.pets.' + pet] = 5;
|
setObj['items.pets.' + pet] = 5;
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User', '
|
|||||||
/* Figure out whether we wanna put this in habitrpg-shared
|
/* Figure out whether we wanna put this in habitrpg-shared
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sorted = [updated.weapon, updated.armor, updated.head, updated.shield, updated.potion, updated.reroll];
|
sorted = [updated.weapon, updated.armor, updated.head, updated.shield, updated.potion];
|
||||||
$scope.itemStore = sorted;
|
$scope.itemStore = sorted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ script(type='text/ng-template', id='partials/options.inventory.inventory.html')
|
|||||||
a(target='_blank', href='http://www.kickstarter.com/profile/523661924') Alexander the Merchant
|
a(target='_blank', href='http://www.kickstarter.com/profile/523661924') Alexander the Merchant
|
||||||
.popover-content
|
.popover-content
|
||||||
p
|
p
|
||||||
| Welcome to the Market. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here! If you have unwanted drops, sell them to me.
|
| Welcome to the Market! Buy hard-to-find eggs and potions! Sell your extras! Commission useful services! Come see what we have to offer.
|
||||||
p
|
p
|
||||||
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')
|
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')
|
||||||
| Sell {{selectedEgg.name}} for {{selectedEgg.value}} Gold
|
| Sell {{selectedEgg.name}} for {{selectedEgg.value}} Gold
|
||||||
@@ -77,6 +77,10 @@ script(type='text/ng-template', id='partials/options.inventory.inventory.html')
|
|||||||
p
|
p
|
||||||
| {{food.value}}
|
| {{food.value}}
|
||||||
span.Pet_Currency_Gem1x.inline-gems
|
span.Pet_Currency_Gem1x.inline-gems
|
||||||
|
li.customize-menu
|
||||||
|
menu.pets-menu(label='Services')
|
||||||
|
div
|
||||||
|
// Once grunt-spritesmith is merged, let's use https://github.com/browserquest/BrowserQuest/blob/master/client/img/1/item-firepotion.png
|
||||||
|
button.btn(popover='Return all tasks to neutral value (yellow color).', popover-title=env.t('rerollName'), popover-trigger='mouseenter', popover-placement='left', ng-click='modals.reroll = true')
|
||||||
|
| Fortify 4
|
||||||
|
span.Pet_Currency_Gem1x.inline-gems
|
||||||
|
|||||||
@@ -30,10 +30,11 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
|
|||||||
select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()')
|
select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()')
|
||||||
hr
|
hr
|
||||||
h4 Misc
|
h4 Misc
|
||||||
button.btn(ng-hide='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",true)') Hide Header
|
button.btn(ng-hide='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",true)', popover-trigger='mouseenter', popover-placement='right', popover='Hide your avatar, Health/Experience bars, and party.') Hide Header
|
||||||
button.btn(ng-show='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",false)') Show Header
|
button.btn(ng-show='user.preferences.hideHeader', ng-click='set("preferences.hideHeader",false)', popover-trigger='mouseenter', popover='Display your avatar, Health/Experience bars, and party.') Show Header
|
||||||
button.btn(ng-click='showTour()') Show Tour
|
button.btn(ng-click='showTour()', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') Show Tour
|
||||||
button.btn(ng-click='showBailey()') Show Bailey
|
button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey
|
||||||
|
button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover='Manually change values like Health, Level, and Gold.') Fix Character Values
|
||||||
|
|
||||||
div(ng-show='user.auth.local')
|
div(ng-show='user.auth.local')
|
||||||
hr
|
hr
|
||||||
@@ -49,9 +50,8 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
|
|||||||
|
|
||||||
hr
|
hr
|
||||||
h4 Danger Zone
|
h4 Danger Zone
|
||||||
a.btn.btn-danger(ng-click='modals.reset = true', tooltip='Resets your entire account (dangerous).') Reset
|
a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover='Start over, removing all levels, gold, gear, history, and tasks.') Reset Account
|
||||||
a.btn.btn-danger(ng-click='modals.restore = true', tooltip='Restores attributes to your character.') Restore
|
a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover='Cancel and remove your HabitRPG account.') Delete Account
|
||||||
a.btn.btn-danger(ng-click='modals.delete = true', tooltip='Delete your account.') Delete
|
|
||||||
|
|
||||||
script(type='text/ng-template', id='partials/options.settings.api.html')
|
script(type='text/ng-template', id='partials/options.settings.api.html')
|
||||||
.row.fluid
|
.row.fluid
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
table.table.table-striped
|
table.table.table-striped
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
a(target='_blank', href='http://community.habitrpg.com/forums/lfg') LFG Posts
|
a(target='_blank', href='http://community.habitrpg.com/forums/lfg') Looking for Group (Party Wanted) Posts
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
a(target='_blank', href='http://www.youtube.com/watch?feature=player_embedded&v=cT5ghzZFfao') Tutorial
|
a(target='_blank', href='http://www.youtube.com/watch?feature=player_embedded&v=cT5ghzZFfao') Tutorial
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
a.pull-right.gem-wallet(ng-click='modals.buyGems = true', popover-trigger='mouseenter', popover-title='Gems', popover="Used for buying special items (reroll, eggs, hatching potions, etc). You'll need to unlock those features before being able to use Gems.", popover-placement='bottom')
|
a.pull-right.gem-wallet(ng-click='modals.buyGems = true', popover-trigger='mouseenter', popover-title='Gems', popover="Used for buying special items and services (eggs, hatching potions, Fortify, etc.). You'll need to unlock those features before being able to use Gems.", popover-placement='bottom')
|
||||||
span.task-action-btn.tile.flush.bright.add-gems-btn +
|
span.task-action-btn.tile.flush.bright.add-gems-btn +
|
||||||
span.task-action-btn.tile.flush.neutral
|
span.task-action-btn.tile.flush.neutral
|
||||||
.Gems
|
.Gems
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
// Re-Roll modal
|
// Re-Roll modal
|
||||||
div(modal='modals.reroll')
|
div(modal='modals.reroll')
|
||||||
.modal-header
|
.modal-header
|
||||||
h3 Reset Your Tasks
|
h3 Fortify: Back to Yellow
|
||||||
.modal-body
|
.modal-body
|
||||||
include ../gems
|
include ../gems
|
||||||
p.
|
p.
|
||||||
Purchasing a Re-Roll will reset all your tasks to a neutral (yellow) state, as if you'd just added them. Consider
|
Fortify will return all your tasks to a neutral (yellow) state, as if you'd just added them. Consider
|
||||||
this an option of last resort, red tasks provide good incentive to improve. But if all that red fills you with
|
this an option of last resort! Red tasks provide good incentive to improve. But if all that red fills you with
|
||||||
despair, and the beginning of each new day proves lethal, spend the Gems and catch a reprieve!
|
despair, and the beginning of each new day proves lethal, spend the Gems and catch a reprieve!
|
||||||
|
|
||||||
.modal-footer
|
.modal-footer
|
||||||
@@ -14,6 +14,6 @@ div(modal='modals.reroll')
|
|||||||
a.btn.btn-success.btn-large(ng-click="modals.buyGems = true") Buy More Gems
|
a.btn.btn-success.btn-large(ng-click="modals.buyGems = true") Buy More Gems
|
||||||
span.gem-cost Not enough Gems
|
span.gem-cost Not enough Gems
|
||||||
span(ng-if='user.balance >= 1', ng-controller='SettingsCtrl')
|
span(ng-if='user.balance >= 1', ng-controller='SettingsCtrl')
|
||||||
a.btn.btn-danger.btn-large(ng-click='reroll()') Re-Roll
|
a.btn.btn-danger.btn-large(ng-click='reroll()') Fortify
|
||||||
span.gem-cost 4 Gems
|
span.gem-cost 4 Gems
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,37 @@
|
|||||||
div(ng-controller='SettingsCtrl')
|
div(ng-controller='SettingsCtrl')
|
||||||
div(modal='modals.reset')
|
div(modal='modals.reset')
|
||||||
.modal-header
|
.modal-header
|
||||||
h3 Reset
|
h3 Reset Account
|
||||||
.modal-body
|
.modal-body
|
||||||
p This resets your entire account - your tasks will be deleted and your character will start over.
|
p This resets your entire account - your tasks will be deleted and your character will start over.
|
||||||
p This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.
|
p.
|
||||||
|
This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.
|
||||||
.modal-footer
|
.modal-footer
|
||||||
button.btn.btn-default.cancel(ng-click='modals.reset = false') Close
|
button.btn.btn-default.cancel(ng-click='modals.reset = false') Never mind
|
||||||
button.btn.btn-danger(data-dismiss='modal', ng-click='reset()') Reset
|
button.btn.btn-danger(data-dismiss='modal', ng-click='reset()') Do it, reset my account!
|
||||||
|
|
||||||
div(modal='modals.restore')
|
div(modal='modals.restore')
|
||||||
.modal-header
|
.modal-header
|
||||||
h3 Restore
|
h3 Fix Values
|
||||||
.modal-body
|
.modal-body
|
||||||
p HabitRPG is quite Beta-quality at present, and many find they need to restore character attributes as a result. Enter your numbers here and it will be applied automatically to your character. This will be removed once Habit is more stable.
|
p If you've encountered a bug or made a mistake that unfairly changed your character (damage you shouldn't have taken, Gold you didn't really earn, etc.), you can manually correct your numbers here. Yes, this makes it possible to cheat: use this feature wisely, or you'll sabotage your own habit-building!
|
||||||
|
p Note that you cannot restore Streaks on individual tasks here. To do that, edit the Daily and go to Advanced Options, where you will find a Restore Streak field.
|
||||||
div.restore-options
|
div.restore-options
|
||||||
form#restore-form.form-horizontal
|
form#restore-form.form-horizontal
|
||||||
h3 Stats
|
h3 Stats
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', step="any", data-for='stats.hp', ng-model='restoreValues.stats.hp')
|
input.option-content(type='number', step="any", data-for='stats.hp', ng-model='restoreValues.stats.hp')
|
||||||
span.input-suffix HP
|
span.input-suffix Health
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', step="any", data-for='stats.exp', ng-model='restoreValues.stats.exp')
|
input.option-content(type='number', step="any", data-for='stats.exp', ng-model='restoreValues.stats.exp')
|
||||||
span.input-suffix Exp
|
span.input-suffix Experience
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', step="any", data-for='stats.gp', ng-model='restoreValues.stats.gp')
|
input.option-content(type='number', step="any", data-for='stats.gp', ng-model='restoreValues.stats.gp')
|
||||||
span.input-suffix GP
|
span.input-suffix Gold
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', data-for='stats.lvl', ng-model='restoreValues.stats.lvl')
|
input.option-content(type='number', data-for='stats.lvl', ng-model='restoreValues.stats.lvl')
|
||||||
span.input-suffix Level
|
span.input-suffix Level
|
||||||
h3 Items
|
h3 Equipment
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', data-for='items.weapon', ng-model='restoreValues.items.weapon')
|
input.option-content(type='number', data-for='items.weapon', ng-model='restoreValues.items.weapon')
|
||||||
span.input-suffix Weapon
|
span.input-suffix Weapon
|
||||||
@@ -42,14 +44,15 @@ div(ng-controller='SettingsCtrl')
|
|||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', data-for='items.shield', ng-model='restoreValues.items.shield')
|
input.option-content(type='number', data-for='items.shield', ng-model='restoreValues.items.shield')
|
||||||
span.input-suffix Shield
|
span.input-suffix Shield
|
||||||
h3 Streak Achievements
|
h3 Achievements
|
||||||
.option-group.option-medium
|
.option-group.option-medium
|
||||||
input.option-content(type='number', data-for='achievements.streak', ng-model='restoreValues.achievements.streak')
|
input.option-content(type='number', data-for='achievements.streak', ng-model='restoreValues.achievements.streak')
|
||||||
span.input-suffix 21-Day Streak
|
span.input-suffix 21-Day Streaks
|
||||||
//- This is causing too many problems for users
|
//- This is causing too many problems for users
|
||||||
h3 Other
|
h3 Other
|
||||||
a.btn.btn-small.btn-warning(ng-controller='FooterCtrl', ng-click='addMissedDay()') Trigger New Day
|
a.btn.btn-small.btn-warning(ng-controller='FooterCtrl', ng-click='addMissedDay()') Trigger New Day
|
||||||
.modal-footer
|
.modal-footer
|
||||||
|
button.btn.btn-default.cancel(ng-click='modals.restore = false') Discard Changes
|
||||||
button.btn.btn-primary(ng-click='restore()') Save & Close
|
button.btn.btn-primary(ng-click='restore()') Save & Close
|
||||||
|
|
||||||
div(modal='modals.delete')
|
div(modal='modals.delete')
|
||||||
@@ -57,9 +60,9 @@ div(ng-controller='SettingsCtrl')
|
|||||||
h3 Delete Account
|
h3 Delete Account
|
||||||
.modal-body
|
.modal-body
|
||||||
p.
|
p.
|
||||||
Woa woa woa! Are you sure? This will seriously delete your account forever, and it can never be restored. If you're absolutely certain, type <strong>DELETE</strong> into the text-box below.
|
Are you sure? This will delete your account forever, and it can never be restored! You will need to register a new account to use HabitRPG again. Banked or spent Gems will not be refunded. If you're absolutely certain, type <strong>DELETE</strong> into the text box below.
|
||||||
p
|
p
|
||||||
input(type='text', ng-model='_deleteAccount')
|
input(type='text', ng-model='_deleteAccount')
|
||||||
.modal-footer
|
.modal-footer
|
||||||
button.btn.btn-default(ng-click='modals.delete = false') Cancel
|
button.btn.btn-default(ng-click='modals.delete = false') Never mind
|
||||||
button.btn.btn-danger.btn-small(ng-disabled='_deleteAccount != "DELETE"', ng-click='delete()') Delete Account
|
button.btn.btn-danger.btn-small(ng-disabled='_deleteAccount != "DELETE"', ng-click='delete()') Do it, delete my account!
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ li(bindonce='list', ng-repeat='task in obj[list.type+"s"]', class='task {{taskCl
|
|||||||
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!"}', ng-click='task.challenge.id || (task.priority="!!")') Medium
|
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!"}', ng-click='task.challenge.id || (task.priority="!!")') Medium
|
||||||
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!!"}', ng-click='task.challenge.id || (task.priority="!!!")') Hard
|
button.task-action-btn.tile(type='button', ng-class='{active: task.priority=="!!!"}', ng-click='task.challenge.id || (task.priority="!!!")') Hard
|
||||||
//span(ng-if='task.type=="daily" && !task.challenge.id')
|
//span(ng-if='task.type=="daily" && !task.challenge.id')
|
||||||
|
br
|
||||||
span(ng-if='task.type=="daily"')
|
span(ng-if='task.type=="daily"')
|
||||||
legend.option-title Restore Streak
|
legend.option-title Restore Streak
|
||||||
input.option-content(type='number', ng-model='task.streak')
|
input.option-content(type='number', ng-model='task.streak')
|
||||||
|
|||||||
Reference in New Issue
Block a user