Merge branch 'develop' of https://github.com/lefnire/habitrpg into develop

This commit is contained in:
Slappybag 2013-05-07 17:48:09 +01:00
commit 5f48658eff
6 changed files with 107 additions and 85 deletions

View file

@ -75,7 +75,7 @@
"AdvancedOptions": "Разширени опции",
"Difficulty": "Трудност",
"DifficultyHelpTitle": "Колко труден е тази задача?",
"DifficultyHelpContent": "Това умножава стойността на задачата. Използвай пестеливо, разчитай повече на нашия алгоритъм за корекция на стойностите. Но някои задачи са много по-трудни ("Да си напишеш дисертацията" срещу "Да си почистиш зъбите с конец"). Кликни за повече информация.",
"DifficultyHelpContent": "Това умножава стойността на задачата. Използвай пестеливо, разчитай повече на нашия алгоритъм за корекция на стойностите. Но някои задачи са много по-трудни (\"Да си напишеш дисертацията\" срещу \"Да си почистиш зъбите с конец\"). Кликни за повече информация.",
"Easy": "Лесно",
"Medium": "Средно",
"Hard": "Трудно",

View file

@ -250,12 +250,12 @@
"NPCAugustinText" : "Welcome to the Market! I'm the merchant, Alexander. Dying to get that particular pet you're after, but don't want to wait for it to drop? Buy it here!",
"NPCJohanssonName" : "Daniel Johansson",
"NPCJohanssonText" : "Welcome to the Tavern! I'm Daniel, the bar keep. If you want to rest a while (going on vacation?), I'll set you up at the inn - dailies won't hurt you while you're resting. The minimum stay is 24h, but you can check out any time. Stay a while & meet the clientele.",
"NPCMelchiorName" : "Ian Melchior "
"NPCMelchiorText" : ""
"NPCBowenName" : "Justin Bowen"
"NPCBowenText" : ""
"NPCBochName" : "Matt Boch"
"NPCBochText" : ""
"NPCMelchiorName" : "Ian Melchior ",
"NPCMelchiorText" : "",
"NPCBowenName" : "Justin Bowen",
"NPCBowenText" : "",
"NPCBochName" : "Matt Boch",
"NPCBochText" : "",

View file

@ -5,76 +5,94 @@
// mongo habitrpg ./node_modules/underscore/underscore.js migrations/20130327_apply_tokens.js
var mapping = [
{ // $1
{
tier: 1,
tokens: 0,
users: []
},
{ // $5
{
tier: 5,
tokens: 20,
users: ['9']
users: []
},
{ // $10
{
tier: 10,
tokens: 50,
users: []
},
{ // $15
{
tier: 15,
tokens: 100,
users: []
},
{ // $30
{
tier: 30,
tokens: 150,
users: []
},
{ // $45
{
tier: 45,
tokens: 170,
users: []
},
{ // $60
{
tier: 60,
tokens: 200,
users: []
},
{ // $70
{
tier: 70,
tokens: 240,
users: []
},
{ // $80
{
tier: 80,
tokens: 240,
users: []
},
{ // $90
{
tier: 90,
tokens: 280,
users: []
},
{ // $300
{
tier: 300,
tokens: 500,
users: []
},
{ // $800
{
tier: 800,
tokens: 500,
users: []
}
];
db.users.find().forEach(function(user){
if (!user._id) return;
var possibleUserIds = [user._id];
if (!!user.local) {
if (!!user.local.username) possibleUserIds.push(user.local.username);
if (!!user.local.email) possibleUserIds.push(user.local.email);
}
_.each(mapping, function(tier){
if(
(!user.backer || !user.backer.tokensApplied) &&
var userInTier = !_.isEmpty(_.intersection(tier.users, possibleUserIds));
if (userInTier) {
var tokenInc = 0,
backer = user.backer || {};
if (!backer.tokensApplied) {
tokenInc = tier.tokens;
backer.tokensApplied = true;
}
backer.tier = tier.tier;
(
_.contains(tier.users, user._id) ||
!!user.local && (
_.contains(tier.users, user.local.username) ||
_.contains(tier.users, user.local.email)
)
)
) {
try {
db.users.update(
{_id:user._id},
{
$set: { 'backer.tokensApplied': true, 'flags.ads': 'hide' },
$inc: { balance: (tier.tokens/4) }
$set: { backer: backer, 'flags.ads': 'hide' },
$inc: { balance: (tokenInc/4) }
}
);
} catch(e) {
@ -83,27 +101,4 @@ db.users.find().forEach(function(user){
}
})
})
// This doesn't work, but shows the idea we're after better than the above
/*
_.each(mapping, function(tier){
db.users.update(
{
$or: [
{ _id: { $in: tier.users } },
{ 'auth.local.username': { $in: tier.users } },
{ 'auth.local.email': { $in: tier.users } }
],
'backer.tokensApplied': { $exists: false }
},
{
$set: { 'backer.tokensApplied': true, 'flags.ads': 'hide' },
$inc: { balance: (tier.tokens/4) }
},
{ multi: true}
)
})
*/
})

View file

@ -178,37 +178,64 @@
<!--<div class='achievement achievement-bow'></div>-->
<!--<div class='achievement achievement-shield'></div>-->
<!--<div class='achievement achievement-karaoke'></div>-->
{{#if @profile.backer.npc}}
<div class='achievement achievement-helm'></div><span class='label label-success'>{{@profile.backer.npc}} NPC</span>
<hr/>
{{/}}
{{#if @profile.backer.contributor}}
<div class='achievement achievement-firefox'></div><span class='label label-inverse'>{{@profile.backer.contributor}}</span>
<hr/>
{{/}}
{{#if @profile.backer.tier}}
<div class='achievement achievement-heart'></div>Kickstarter Backer - ${{@profile.backer.tier}} Tier
<hr/>
{{/}}
{#if @profile.achievements.streak}
<div class='achievement achievement-thermometer'></div> {@profile.achievements.streak} Streak Achievement(s)
<hr/>
{/}
{#if @profile.achievements.originalUser}
<div class='achievement achievement-cake'></div>Original User
<hr/>
{/}
{#if @profile.achievements.beastMaster}
<div class='achievement achievement-rat'></div>Beast Master
<hr/>
{/}
{#if @profile.achievements.ultimateGear}
<div class='achievement achievement-armor'></div>Ultimate Gear
<hr/>
{/}
<app:avatar:achievement unlocked={{@profile.backer.npc}} classes='achievement-helm' unlockable=false profile={{@profile}}>
<p><span class='label label-success'>{{@profile.backer.npc}} NPC</span></p>
<small>Backed the Kickstarter project at the maximum level!</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={{@profile.backer.contributor}} classes='achievement-firefox' unlockable=true profile={{@profile}}>
<p>
{{#if @profile.backer.contributor}}
<span class='label label-inverse'>{{@profile.backer.contributor}}</span>
{{else}}
<span class='label'>Contributor</span>
{{/}}
</p>
<small>Has contributed to HabitRPG (code, design, pixel art, legal advice, etc)</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={{@profile.backer.tier}} classes='achievement-heart' unlockable=false profile={{@profile}}>
<p>Kickstarter Backer - ${{@profile.backer.tier}} Tier</p>
<small>Backed the Kickstarter Project</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={@profile.achievements.streak} classes='achievement-thermometer' unlockable=true profile={@profile}>
<p>{#if @profile.achievements.streak}{@profile.achievements.streak}{else}0{/} Streak Achievement(s)</p>
<small>Has performed {#if @profile.achievements.streak}{@profile.achievements.streak}{else}0{/} 21-day streaks on Dailies</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={@profile.achievements.originalUser} classes='achievement-cake' unlockable=false profile={@profile}>
<p>Original User</p>
<small>Goes way back to the Habit's days of yore (bless them for soldiering through bugs!)</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={@profile.achievements.ultimateGear} classes='achievement-armor' unlockable=true profile={@profile}>
<p>Ultimate Gear</p>
<small>Has upgraded to the maximum weapon and armor set</small>
</app:avatar:achievement>
<app:avatar:achievement unlocked={@profile.achievements.beastMaster} classes='achievement-rat' unlockable=true profile={@profile}>
<p>Beast Master</p>
<small>Has found all 90 pets (insanely difficult, give this user props!)</small>
</app:avatar:achievement>
</div>
<achievement: nonvoid>
{#if @unlocked}
<div class='achievement {{@classes}}'></div>{@content}
<hr/>
{else if @unlockable} <!-- only show silhouettes on own tab -->
{{#if equal(_user.id,@profile.id)}}
<span class='muted'>
{@content}
</span>
<hr/>
{{/}}
{/}
<inventory:>
<!-- we'll have other inventory here later too, like enchantments, quest scrolls, etc -->
<app:pets:inventory/>

View file

@ -13,7 +13,7 @@
<li><a data-toggle='tab' data-target="#profileStable"><i class='icon-leaf'></i> Stable</a></li>
{/if}
<li><a data-toggle='tab' data-target="#profileTavern"><i class='icon-glass'></i> Tavern</a></li>
{#if _user.achievements}<li><a data-toggle='tab' data-target="#profileAchievements"><i class='icon-certificate'></i> Achievements</a></li>{/}
<li><a data-toggle='tab' data-target="#profileAchievements"><i class='icon-certificate'></i> Achievements</a></li>
{{#if _loggedIn}}
<li><a data-toggle='tab' data-target="#profileSettings"><i class='icon-wrench'></i> Settings</a></li>
{{/}}