Merge branch 'develop' into srrvnn-develop

This commit is contained in:
Blade Barringer
2015-11-02 06:45:45 -06:00
654 changed files with 19170 additions and 15663 deletions
+16 -4
View File
@@ -93,10 +93,22 @@
a(target='_blank', href='http://www.kickstarter.com/profile/523661924')=env.t('alexander')
.popover-content
p=env.t('welcomeMarket')
p
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')=env.t('sellEggForGold', {itemType: "{{selectedEgg.text()}}", gold: "{{selectedEgg.value}}"})
button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()')=env.t('sellPotionForGold', {itemType: "{{selectedPotion.text()}}", gold: "{{selectedPotion.value}}"})
button.btn.btn-primary(ng-show='selectedFood', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedFood.text()}}", gold: "{{selectedFood.value}}"})
hr(ng-show='selectedEgg || selectedPotion || selectedFood')
div(ng-show='selectedEgg || selectedPotion || selectedFood')
.pull-left.customize-option(class='Pet_Egg_{{selectedEgg.key}}' ng-show='selectedEgg')
p(ng-show='selectedEgg')
!=env.t('displayEggForGold', {itemType: "{{selectedEgg.text()}}"})
.pull-left.customize-option(class='Pet_HatchingPotion_{{selectedPotion.key}}' ng-show='selectedPotion')
p(ng-show='selectedPotion')
!=env.t('displayPotionForGold', {itemType: "{{selectedPotion.text()}}"})
.pull-left.customize-option(class='Pet_Food_{{selectedFood.key}}' ng-show='selectedFood')
p(ng-show='selectedFood')
!=env.t('displayItemForGold', {itemType: "{{selectedFood.text()}}"})
.clearfix
button.btn.btn-primary.btn-block(ng-show='selectedEgg', ng-click='sellInventory()')=env.t('sellForGold', {itemType: "{{selectedEgg.text()}}", gold: "{{selectedEgg.value}}"})
button.btn.btn-primary.btn-block(ng-show='selectedPotion', ng-click='sellInventory()')=env.t('sellForGold', {itemType: "{{selectedPotion.text()}}", gold: "{{selectedPotion.value}}"})
button.btn.btn-primary.btn-block(ng-show='selectedFood', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedFood.text()}}", gold: "{{selectedFood.value}}"})
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=env.t('eggs'))
@@ -4,6 +4,13 @@
h3.equipment-title.hint(popover-trigger='mouseenter',
popover-placement='right', popover-append-to-body='true',
popover=env.t('battleGearText'))=env.t('battleGear')
.checkbox.equipment-title
label
input(type="checkbox", ng-model="user.preferences.autoEquip",
ng-change='set({"preferences.autoEquip":user.preferences.autoEquip ? true : false})')
|  
=env.t('autoEquipBattleGear')
div
button.btn.btn-default(type="button", ng-click='dequip("battleGear");') {{env.t("unequipBattleGear")}}
+2 -1
View File
@@ -9,7 +9,8 @@ include ../../shared/mixins
.arrow.hidden-xs
h3.popover-title=env.t('ian')
.popover-content
p=env.t('ianText')
p(ng-if='env.worldDmg.quests')=env.t('ianBrokenText')
p(ng-if='!env.worldDmg.quests')=env.t('ianText')
h3.equipment-title=env.t('yourQuests')
+ownedQuests(true,'right')
@@ -5,7 +5,8 @@
.arrow.hidden-xs
h3.popover-title!=env.t('seasonalShopTitle', {linkStart:"<a href='http://blog.habitrpg.com/who' target='_blank'>", linkEnd: "</a>"})
.popover-content
p!=env.t('seasonalShopFallText')
p(ng-if='!env.worldDmg.seasonalShop')!=env.t('seasonalShopFallText')
p(ng-if='env.worldDmg.seasonalShop')!=env.t('seasonalShopFallTextBroken')
.well(ng-if='User.user.achievements.rebirths > 0')=env.t('seasonalShopRebirth')
@@ -12,7 +12,7 @@
.pull-right
span.inventory_special_trinket.inline-gems
b x{{user.purchased.plan.consecutive.trinkets}}
p!=env.t('timeTravelersPopover', {linkStart: "<a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>", linkEnd: "</a>"})
p!=env.t('timeTravelersPopover')
.row: .col-md-7
.alert.alert-info(ng-if='hasAllTimeTravelerItems()')=env.t('timeTravelersAlreadyOwned')
+22 -22
View File
@@ -103,19 +103,19 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
br.visible-xs
button.btn.btn-block.btn-primary(ng-click='openDayStartModal(dayStart)',
ng-disabled='dayStart == user.preferences.dayStart')
| Save Custom Day Start
=env.t('saveCustomDayStart')
.personal-options.col-md-6
.panel.panel-default
.panel-heading
span Registration
span=env.t('registration')
.panel-body
div(ng-if='user.auth.facebook.id')
button.btn.btn-primary(disabled='disabled', ng-if='!user.auth.local.username')=env.t('registeredWithFb')
button.btn.btn-danger(ng-click='http("delete","/api/v2/user/auth/social",null,"detachedFacebook")', ng-if='user.auth.local.username')=env.t('detachFacebook')
hr
div(ng-if='!user.auth.local.username')
p Add local authentication:
p=env.t('addLocalAuth')
form(ng-submit='http("post","/api/v2/register",localAuth,"addedLocalAuth")', ng-init='localAuth={}', name='localAuth', novalidate)
//-.alert.alert-danger(ng-messages='changeUsername.$error && changeUsername.submitted')=env.t('fillAll')
.form-group
@@ -189,15 +189,15 @@ script(type='text/ng-template', id='partials/options.settings.promo.html')
small= env.t('couponText')
div(ng-if='user.contributor.sudo')
hr
h4 Generate Codes
h4=env.t('generateCodes')
form.form(role='form',ng-submit='generateCodes(_codes)',ng-init='_codes={}')
.form-group
input.form-control(type='text',ng-model='_codes.event',placeholder="Event code (eg, 'wondercon')")
.form-group
input.form-control(type='number',ng-model='_codes.count',placeholder="Number of codes to generate (eg, 250)")
.form-group
button.btn.btn-primary(type='submit') Generate
a.btn.btn-default(href='/api/v2/coupons?_id={{user._id}}&apiToken={{user.apiToken}}') Get Codes
button.btn.btn-primary(type='submit')=env.t('generate')
a.btn.btn-default(href='/api/v2/coupons?_id={{user._id}}&apiToken={{user.apiToken}}')=env.t('getCodes')
script(type='text/ng-template', id='partials/options.settings.api.html')
.container-fluid
@@ -214,12 +214,12 @@ script(type='text/ng-template', id='partials/options.settings.api.html')
hr
h2 Webhooks
h2=env.t('webhooks')
table.table.table-striped
thead(ng-if='hasWebhooks')
tr
th Enabled
th Webhook URL
th=env.t('enabled')
th=env.t('webhookURL')
th
tbody
tr(ng-repeat="webhook in user.preferences.webhooks | toArray:true | orderBy:'sort'")
@@ -235,9 +235,9 @@ script(type='text/ng-template', id='partials/options.settings.api.html')
td(colspan=2)
form.form-horizontal(ng-submit='addWebhook(_newWebhook.url)')
.form-group.col-sm-10
input.form-control(type='url', ng-model='_newWebhook.url', placeholder='Webhook URL')
input.form-control(type='url', ng-model='_newWebhook.url', placeholder=env.t('webhookURL'))
.col-sm-2
button.btn.btn-sm.btn-primary(type='submit') Add
button.btn.btn-sm.btn-primary(type='submit')=env.t('add')
script(id='partials/options.settings.export.html', type="text/ng-template")
.container-fluid
@@ -258,7 +258,7 @@ mixin subPerks()
tr
td
span.hint(popover=env.t('buyGemsGoldText', {gemCost: "{{Shared.planGemLimits.convRate}}", gemLimit: "{{Shared.planGemLimits.convCap}}"}),popover-trigger='mouseenter',popover-placement='right') #{env.t('buyGemsGold')}&nbsp;
span.badge.badge-success(ng-show='_subscription.key!="basic_earned"') Cap raised to {{ [25 + user.purchased.plan.consecutive.gemCapExtra + Math.floor(Content.subscriptionBlocks[_subscription.key].months/3*5), 50] | min }}
span.badge.badge-success(ng-show='_subscription.key!="basic_earned"')=env.t('buyGemsGoldCap', {amount: '{{:: gemGoldCap(_subscription) | min }}'})
tr
td
span.hint(popover=env.t('retainHistoryText'),popover-trigger='mouseenter',popover-placement='right')=env.t('retainHistory')
@@ -269,8 +269,8 @@ mixin subPerks()
td
span.hint(popover=env.t('mysteryItemText'),popover-trigger='mouseenter',popover-placement='right') #{env.t('mysteryItem')}&nbsp;
div(ng-show='_subscription.key!="basic_earned"')
.badge.badge-success +{{Math.floor(Content.subscriptionBlocks[_subscription.key].months/3)}} Mystic Hourglass
.small.muted Mystic Hourglasses allow purchasing a previous month's Mystery Item set.
.badge.badge-success=env.t('mysticHourglass', {amount: '+{{:: numberOfMysticHourglasses(_subscription)}}'})
.small.muted=env.t('mysticHourglassText')
tr
td
span.hint(popover=env.t('supportDevsText'),popover-trigger='mouseenter',popover-placement='right')=env.t('supportDevs')
@@ -324,17 +324,17 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template')
| #{env.t('subCanceled')} <strong>{{moment(user.purchased.plan.dateTerminated).format('MM/DD/YYYY')}}</strong>
tr(ng-if='!user.purchased.plan.dateTerminated'): td
h4=env.t('subscribed')
p(ng-if='user.purchased.plan.planId') Recurring ${{Content.subscriptionBlocks[user.purchased.plan.planId].price}} each {{Content.subscriptionBlocks[user.purchased.plan.planId].months}} Month(s) ({{user.purchased.plan.paymentMethod}})
p(ng-if='user.purchased.plan.planId')=env.t('purchasedPlanId', {price: '{{Content.subscriptionBlocks[user.purchased.plan.planId].price}}', months: '{{Content.subscriptionBlocks[user.purchased.plan.planId].months}}', plan: '{{user.purchased.plan.paymentMethod}}'})
tr(ng-if='user.purchased.plan.extraMonths'): td
span.glyphicon.glyphicon-credit-card
| You have {{user.purchased.plan.extraMonths | number:2}} months of subscription credit.
| &nbsp;#{env.t('purchasedPlanExtraMonths', {months: '{{user.purchased.plan.extraMonths | number:2}}'})}
tr(ng-if='user.purchased.plan.consecutive.count || user.purchased.plan.consecutive.offset'): td
span.glyphicon.glyphicon-forward
| &nbsp;Consecutive Subscription
| &nbsp;#{env.t('consecutiveSubscription')}
ul.list-unstyled
li Consecutive Months: {{user.purchased.plan.consecutive.count + user.purchased.plan.consecutive.offset}}
li Gem Cap Extra: {{user.purchased.plan.consecutive.gemCapExtra}}
li Mystic Hourglasses: {{user.purchased.plan.consecutive.trinkets}}
li #{env.t('consecutiveMonths')} {{user.purchased.plan.consecutive.count + user.purchased.plan.consecutive.offset}}
li #{env.t('gemCapExtra')} {{user.purchased.plan.consecutive.gemCapExtra}}
li #{env.t('mysticHourglasses')} {{user.purchased.plan.consecutive.trinkets}}
div(ng-if='!user.purchased.plan.customerId || (user.purchased.plan.customerId && user.purchased.plan.dateTerminated)')
.form-group
.radio(ng-repeat='block in Content.subscriptionBlocks | toArray | omit: "discount==true" | orderBy:"months"')
@@ -355,8 +355,8 @@ script(id='partials/options.settings.subscription.html',type='text/ng-template')
h3(ng-if='(user.purchased.plan.customerId && user.purchased.plan.dateTerminated)')= env.t("resubscribe")
a.btn.btn-primary(ng-click='Payments.showStripe({subscription:_subscription.key, coupon:_subscription.coupon})', ng-disabled='!_subscription.key')= env.t('card')
a.btn.btn-success(href='/paypal/subscribe?_id={{user._id}}&apiToken={{user.apiToken}}&sub={{_subscription.key}}{{_subscription.coupon ? "&coupon="+_subscription.coupon : ""}}', ng-disabled='!_subscription.key') PayPal
a.btn.btn-warning(ng-click="Payments.amazonPayments.init({type: 'subscription', subscription:_subscription.key, coupon:_subscription.coupon})") Amazon Payments
a.btn.btn-success(href='/paypal/subscribe?_id={{user._id}}&apiToken={{user.apiToken}}&sub={{_subscription.key}}{{_subscription.coupon ? "&coupon="+_subscription.coupon : ""}}', ng-disabled='!_subscription.key')=env.t('paypal')
a.btn.btn-warning(ng-click="Payments.amazonPayments.init({type: 'subscription', subscription:_subscription.key, coupon:_subscription.coupon})")=env.t('amazonPayments')
div(ng-if='user.purchased.plan.customerId')
.btn.btn-primary(ng-if='!user.purchased.plan.dateTerminated && user.purchased.plan.paymentMethod=="Stripe"', ng-click='Payments.showStripeEdit()')=env.t('subUpdateCard')
.btn.btn-sm.btn-danger(ng-if='!user.purchased.plan.dateTerminated', ng-click='Payments.cancelSubscription()')=env.t('cancelSub')
+6 -4
View File
@@ -186,11 +186,13 @@ script(type='text/ng-template', id='partials/options.social.challenges.html')
| {{challenge.group.name}}
a(ui-sref="options.social.party" ng-if="challenge.group.type=='party'")
| {{challenge.group.name}}
li
li(ng-if='challenge.leader.profile.name')
=env.t('by') + ' '
a(ng-click='clickMember(challenge.leader._id, true)') {{challenge.leader.profile.name}}
li
=env.t('participants', {membercount: "{{challenge.memberCount}}"})
a(ng-click='clickMember(challenge.leader._id, true)') {{::challenge.leader.profile.name}}
li(ng-if='!challenge.leader.profile.name',
popover=env.t('noChallengeOwnerPopover'),
popover-trigger='mouseenter')=env.t('noChallengeOwner')
li=env.t('participants', {membercount: "{{challenge.memberCount}}"})
li(ng-show='challenge.prize')
p!=env.t('prizeValue', {gemcount: "{{challenge.prize}}", gemicon: "<span class='inline-block Pet_Currency_Gem1x'></span>"})
li.bg-transparent
+1 -4
View File
@@ -1,8 +1,5 @@
div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAccepted')
p If you would like to post messages in the Tavern or any party or guild chat, please first read our
|&nbsp;
a(target='_blank', href='/static/community-guidelines')=env.t('communityGuidelines')
|&nbsp;and then click the button below to indicate that you accept them.
p!=env.t('requestAcceptGuidelines', {linkStart: '<a target="_blank", href="/static/community-guidelines">', linkEnd: '</a>'})
.chat-controls
div
button.btn.btn-warning(ng-click='acceptCommunityGuidelines()')=env.t('iAcceptCommunityGuidelines')
@@ -2,13 +2,18 @@ div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left
div(ng-if='::Content.quests[group.quest.key].boss')
if tavern
p!=env.t('tavernBossInfo')
p(ng-if='!env.worldDmg.quests')!=env.t('tavernBossInfo')
p(ng-if='env.worldDmg.quests')!=env.t('tavernBossInfoBroken')
else
p!=env.t('bossDmg1')
p(ng-if='!env.worldDmg.quests')!=env.t('bossDmg1')
p(ng-if='env.worldDmg.quests')!=env.t('bossDmg1Broken')
br
p=env.t('bossDmg2')
p(ng-if='!env.worldDmg.quests')=env.t('bossDmg2')
p(ng-if='env.worldDmg.quests')=env.t('bossDmg2Broken')
div(ng-if='::Content.quests[group.quest.key].collect')
p=env.t('bossColl1')
p(ng-if='!env.worldDmg.quests')=env.t('bossColl1')
p(ng-if='env.worldDmg.quests')=env.t('bossColl1Broken')
br
p=env.t('bossColl2')
p(ng-if='!env.worldDmg.quests')=env.t('bossColl2')
p(ng-if='env.worldDmg.quests')=env.t('bossColl2Broken')
@@ -19,7 +19,8 @@ div(ng-if='group.quest.active===false')
hr
div(class="#{env.worldDmg.quests ? 'npc_ian_broken' : 'npc_ian'}").pull-left
p=env.t('questStart')
p(ng-if='!env.worldDmg.quests')=env.t('questStart')
p(ng-if='env.worldDmg.quests')=env.t('questStartBroken')
span(ng-if='user.party.quest.RSVPNeeded')
button.btn.btn-sm.btn-success(ng-click='questAccept()')=env.t('accept')
+4 -2
View File
@@ -14,10 +14,12 @@
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/2014640723')=env.t('daniel')
.popover-content
| {{user.preferences.sleep ? env.t('innText',{name: user.profile.name}) : env.t('danielText')}}
span(ng-if='!env.worldDmg.tavern') {{user.preferences.sleep ? env.t('innText',{name: user.profile.name}) : env.t('danielText')}}
span(ng-if='env.worldDmg.tavern') {{user.preferences.sleep ? env.t('innTextBroken',{name: user.profile.name}) : env.t('danielTextBroken')}}
button.btn-block.btn.btn-lg.btn-success(ng-click='User.user.ops.sleep({})')
| {{user.preferences.sleep ? env.t('innCheckOut') : env.t('innCheckIn')}}
span(ng-if='!user.preferences.sleep')=env.t('danielText2')
span(ng-if='!user.preferences.sleep && !env.worldDmg.tavern')=env.t('danielText2')
span(ng-if='!user.preferences.sleep && env.worldDmg.tavern')=env.t('danielText2Broken')
// Resources