Merge branch 'develop' of https://github.com/HabitRPG/habitica into negue/flagpm
# Conflicts: # website/client/components/chat/chatCard.vue # website/client/components/header/menu.vue
4
.github/CONTRIBUTING.md
vendored
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
# Pull Request
|
||||
|
||||
[Please see these instructions for adding a pull request](http://habitica.wikia.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API)
|
||||
[Please see these instructions for adding a pull request](http://habitica.fandom.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API)
|
||||
|
||||
# Requesting a feature
|
||||
|
||||
|
|
@ -12,4 +12,4 @@ Habitica uses [Trello](https://trello.com/b/EpoYEYod/habitica) to track feature
|
|||
|
||||
# Contributing Code
|
||||
|
||||
See [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica#Coders_.28Web_.26_Mobile.29)
|
||||
See [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica#Coders_.28Web_.26_Mobile.29)
|
||||
|
|
|
|||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,4 +1,4 @@
|
|||
[//]: # (Note: See http://habitica.wikia.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API for more info)
|
||||
[//]: # (Note: See http://habitica.fandom.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API for more info)
|
||||
|
||||
[//]: # (Put Issue # here, if applicable. This will automatically close the issue if your PR is merged in)
|
||||
Fixes put_#_and_issue_numer_here
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ Habitica [.
|
||||
For an introduction to the technologies used and how the software is organized, refer to [Guidance for Blacksmiths](http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths).
|
||||
|
||||
To set up a local install of Habitica for development and testing on various platforms, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally).
|
||||
To set up a local install of Habitica for development and testing on various platforms, see [Setting up Habitica Locally](http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally).
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ minimal dependencies on the developer's local platform. It can be used
|
|||
on a variety of systems including Windows, Mac OS X, and Linux.
|
||||
|
||||
Instructions for using the Habitica Vagrant environment are in
|
||||
[Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally).
|
||||
[Setting up Habitica Locally](http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally).
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ const Timer = require('./utils/timer');
|
|||
const connectToDb = require('./utils/connect').connectToDb;
|
||||
const closeDb = require('./utils/connect').closeDb;
|
||||
|
||||
const message = '`This party\'s collection quest has been made easier! For details, refer to http://habitica.wikia.com/wiki/User_blog:LadyAlys/Collection_Quests_are_Now_Easier`';
|
||||
const message = '`This party\'s collection quest has been made easier! For details, refer to http://habitica.fandom.com/wiki/User_blog:LadyAlys/Collection_Quests_are_Now_Easier`';
|
||||
|
||||
const timer = new Timer();
|
||||
|
||||
|
|
|
|||
88
migrations/archive/2019/20190131_habit_birthday.js
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
/* eslint-disable no-console */
|
||||
const MIGRATION_NAME = '20190131_habit_birthday';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { model as User } from '../../../website/server/models/user';
|
||||
|
||||
const progressCount = 1000;
|
||||
let count = 0;
|
||||
|
||||
async function updateUser (user) {
|
||||
count++;
|
||||
|
||||
const inc = {
|
||||
'items.food.Cake_Skeleton': 1,
|
||||
'items.food.Cake_Base': 1,
|
||||
'items.food.Cake_CottonCandyBlue': 1,
|
||||
'items.food.Cake_CottonCandyPink': 1,
|
||||
'items.food.Cake_Shade': 1,
|
||||
'items.food.Cake_White': 1,
|
||||
'items.food.Cake_Golden': 1,
|
||||
'items.food.Cake_Zombie': 1,
|
||||
'items.food.Cake_Desert': 1,
|
||||
'items.food.Cake_Red': 1,
|
||||
'achievements.habitBirthdays': 1,
|
||||
};
|
||||
const set = {};
|
||||
let push;
|
||||
|
||||
set.migration = MIGRATION_NAME;
|
||||
|
||||
if (typeof user.items.gear.owned.armor_special_birthday2018 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2019'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2019', _id: uuid()}};
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2017 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2018'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2018', _id: uuid()}};
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2016 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2017'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2017', _id: uuid()}};
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday2015 !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2016'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2016', _id: uuid()}};
|
||||
} else if (typeof user.items.gear.owned.armor_special_birthday !== 'undefined') {
|
||||
set['items.gear.owned.armor_special_birthday2015'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday2015', _id: uuid()}};
|
||||
} else {
|
||||
set['items.gear.owned.armor_special_birthday'] = false;
|
||||
push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_birthday', _id: uuid()}};
|
||||
}
|
||||
|
||||
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
|
||||
|
||||
return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: push}).exec();
|
||||
}
|
||||
|
||||
module.exports = async function processUsers () {
|
||||
let query = {
|
||||
migration: {$ne: MIGRATION_NAME},
|
||||
'auth.timestamps.loggedin': {$gt: new Date('2019-01-15')},
|
||||
};
|
||||
|
||||
const fields = {
|
||||
_id: 1,
|
||||
items: 1,
|
||||
};
|
||||
|
||||
while (true) { // eslint-disable-line no-constant-condition
|
||||
const users = await User // eslint-disable-line no-await-in-loop
|
||||
.find(query)
|
||||
.limit(250)
|
||||
.sort({_id: 1})
|
||||
.select(fields)
|
||||
.lean()
|
||||
.exec();
|
||||
|
||||
if (users.length === 0) {
|
||||
console.warn('All appropriate users found and modified.');
|
||||
console.warn(`\n${count} users processed\n`);
|
||||
break;
|
||||
} else {
|
||||
query._id = {
|
||||
$gt: users[users.length - 1],
|
||||
};
|
||||
}
|
||||
|
||||
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
|
||||
}
|
||||
};
|
||||
|
|
@ -17,7 +17,7 @@ function setUpServer () {
|
|||
setUpServer();
|
||||
|
||||
// Replace this with your migration
|
||||
const processUsers = require('./archive/2018/20181231_nye.js');
|
||||
const processUsers = require('./users/mystery-items.js');
|
||||
processUsers()
|
||||
.then(function success () {
|
||||
process.exit(0);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* eslint-disable no-console */
|
||||
const MIGRATION_NAME = 'mystery_items_201812';
|
||||
const MYSTERY_ITEMS = ['headAccessory_mystery_201812', 'back_mystery_201812'];
|
||||
const MIGRATION_NAME = 'mystery_items_201901';
|
||||
const MYSTERY_ITEMS = ['head_mystery_201901', 'body_mystery_201901'];
|
||||
import { model as User } from '../../website/server/models/user';
|
||||
import { model as UserNotification } from '../../website/server/models/userNotification';
|
||||
|
||||
|
|
|
|||
2
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "habitica",
|
||||
"version": "4.80.8",
|
||||
"version": "4.83.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "habitica",
|
||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||
"version": "4.80.8",
|
||||
"version": "4.83.0",
|
||||
"main": "./website/server/index.js",
|
||||
"dependencies": {
|
||||
"@slack/client": "^3.8.1",
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
For information about writing and running tests, see [Using Your Local Install to Modify Habitica's Website and API](http://habitica.wikia.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API).
|
||||
For information about writing and running tests, see [Using Your Local Install to Modify Habitica's Website and API](http://habitica.fandom.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API).
|
||||
|
|
|
|||
32
test/client/unit/specs/libs/highlightUsers.js
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import {highlightUsers} from '../../../../../website/client/libs/highlightUsers';
|
||||
import habiticaMarkdown from 'habitica-markdown';
|
||||
|
||||
describe('highlightUserAndEmail', () => {
|
||||
it('highlights displayname', () => {
|
||||
const text = 'hello @displayedUser';
|
||||
|
||||
const result = highlightUsers(text, 'user', 'displayedUser');
|
||||
expect(result).to.contain('<span class="at-highlight at-text">@displayedUser</span>');
|
||||
});
|
||||
|
||||
it('highlights username', () => {
|
||||
const text = 'hello @user';
|
||||
|
||||
const result = highlightUsers(text, 'user', 'displayedUser');
|
||||
expect(result).to.contain('<span class="at-highlight at-text">@user</span>');
|
||||
});
|
||||
|
||||
it('highlights email with username', () => {
|
||||
const text = habiticaMarkdown.render('hello hello@user.com');
|
||||
|
||||
const result = highlightUsers(text, 'user', 'displayedUser');
|
||||
expect(result).to.contain('>hello<span class="at-highlight at-text">@user</span>.com</a>');
|
||||
});
|
||||
|
||||
it('highlights any mention', () => {
|
||||
const text = habiticaMarkdown.render('hello y.@user.com other words');
|
||||
|
||||
const result = highlightUsers(text, 'test', 'displayedUser');
|
||||
expect(result).to.contain('<span class="at-text">@user</span>');
|
||||
});
|
||||
});
|
||||
|
|
@ -65,7 +65,7 @@ apt-get install -qq ntp
|
|||
echo Installing nvm, node and global node modules...
|
||||
/vagrant/vagrant_scripts/install_node.sh
|
||||
|
||||
echo "'vagrant up' is finished. Continue with the instructions at http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally"
|
||||
echo "'vagrant up' is finished. Continue with the instructions at http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally"
|
||||
|
||||
# Uncomment both lines to autostart the habitica server when provisioning
|
||||
# echo Starting Habitica server...
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Running
|
||||
For information about installing and running Habitica locally, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally).
|
||||
For information about installing and running Habitica locally, see [Setting up Habitica Locally](http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally).
|
||||
|
||||
# Preparation Reading
|
||||
- Vue 2 (https://vuejs.org)
|
||||
|
|
@ -18,4 +18,4 @@ The project is developed directly in the `develop` branch as long as we'll be ab
|
|||
|
||||
So far most of the work has been on the template, so there's no complex logic to understand. The only thing I would suggest you to read about is Vuex for data management: it's basically a Flux implementation: there's a central store that hold the data for the entire app, and every change to the data must happen through an action, the data cannot be mutated directly.
|
||||
|
||||
For further resources, see [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths), and in particular the ["Website Technology Stack" section](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths#Website_Technology_Stack).
|
||||
For further resources, see [Guidance for Blacksmiths](http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths), and in particular the ["Website Technology Stack" section](http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths#Website_Technology_Stack).
|
||||
|
|
|
|||
|
|
@ -1,78 +1,48 @@
|
|||
.promo_armoire_backgrounds_201901 {
|
||||
.promo_armoire_backgrounds_201902 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -445px 0px;
|
||||
background-position: 0px -422px;
|
||||
width: 423px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_bird_buddies_bundle {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -421px -337px;
|
||||
background-position: -662px 0px;
|
||||
width: 420px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_g1g1 {
|
||||
.promo_birthday_2019 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -241px -633px;
|
||||
width: 237px;
|
||||
height: 150px;
|
||||
background-position: 0px -277px;
|
||||
width: 498px;
|
||||
height: 144px;
|
||||
}
|
||||
.promo_npc_alex {
|
||||
.promo_mystery_201901 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -566px -485px;
|
||||
width: 162px;
|
||||
height: 138px;
|
||||
}
|
||||
.promo_seasonal_shop {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -403px -485px;
|
||||
width: 162px;
|
||||
height: 138px;
|
||||
}
|
||||
.promo_snow_potions {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -445px -148px;
|
||||
width: 423px;
|
||||
background-position: -662px -148px;
|
||||
width: 282px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_take_this {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -729px -485px;
|
||||
background-position: -945px -148px;
|
||||
width: 96px;
|
||||
height: 69px;
|
||||
}
|
||||
.promo_winter_wonderland_2019 {
|
||||
.scene_apollo {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -485px;
|
||||
width: 402px;
|
||||
background-position: -662px -296px;
|
||||
width: 279px;
|
||||
height: 147px;
|
||||
}
|
||||
.promo_wintery_skins {
|
||||
.scene_eating_healthy {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -337px;
|
||||
width: 420px;
|
||||
height: 147px;
|
||||
background-position: -328px 0px;
|
||||
width: 333px;
|
||||
height: 252px;
|
||||
}
|
||||
.customize-option.promo_wintery_skins {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -25px -352px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.scene_hat_guild {
|
||||
.scene_yesterdailies {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px 0px;
|
||||
width: 444px;
|
||||
height: 336px;
|
||||
}
|
||||
.scene_starting_over {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: -479px -633px;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
}
|
||||
.scene_todo_list {
|
||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||
background-position: 0px -633px;
|
||||
width: 240px;
|
||||
height: 195px;
|
||||
width: 327px;
|
||||
height: 276px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -336,103 +336,103 @@
|
|||
}
|
||||
.background_alpine_slopes {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -444px;
|
||||
background-position: -1560px -148px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_apple_picking {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -592px;
|
||||
background-position: -568px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_aquarium {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -740px;
|
||||
background-position: -1560px -444px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_archaeological_dig {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -426px -592px;
|
||||
background-position: -710px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_archery_range {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -1480px;
|
||||
background-position: -1560px -740px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_at_the_docks {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -592px;
|
||||
background-position: -852px 0px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_aurora {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -592px;
|
||||
background-position: -852px -148px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_autumn_forest {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -705px -1480px;
|
||||
background-position: -423px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_avalanche {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px 0px;
|
||||
background-position: -852px -296px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_back_alley {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -148px;
|
||||
background-position: -852px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_back_of_giant_beast {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -296px;
|
||||
background-position: 0px 0px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_bamboo_forest {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px 0px;
|
||||
background-position: 0px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_bayou {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -592px;
|
||||
background-position: -142px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_beach {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -740px;
|
||||
background-position: -284px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_beehive {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -989px -1036px;
|
||||
background-position: -991px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_bell_tower {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1130px -1036px;
|
||||
background-position: -1132px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_beside_well {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -142px -740px;
|
||||
background-position: -426px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -456,7 +456,7 @@
|
|||
}
|
||||
.background_bridge {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -740px;
|
||||
background-position: -568px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -468,7 +468,7 @@
|
|||
}
|
||||
.background_buried_treasure {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -426px -740px;
|
||||
background-position: -710px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -486,7 +486,7 @@
|
|||
}
|
||||
.background_chessboard_land {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -740px;
|
||||
background-position: -852px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -510,31 +510,31 @@
|
|||
}
|
||||
.background_cozy_barn {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -740px;
|
||||
background-position: -994px 0px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_cozy_bedroom {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -740px;
|
||||
background-position: -994px -148px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_cozy_library {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px 0px;
|
||||
background-position: -994px -296px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_creepy_castle {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -148px;
|
||||
background-position: -994px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_crosscountry_ski_trail {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -296px;
|
||||
background-position: -994px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -546,13 +546,13 @@
|
|||
}
|
||||
.background_dark_deep {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -444px;
|
||||
background-position: -994px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_deep_mine {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -1036px;
|
||||
background-position: -568px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -564,7 +564,7 @@
|
|||
}
|
||||
.background_desert_dunes {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -740px;
|
||||
background-position: -142px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -576,7 +576,7 @@
|
|||
}
|
||||
.background_dilatory_city {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -888px;
|
||||
background-position: -284px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -600,19 +600,19 @@
|
|||
}
|
||||
.background_driving_a_coach {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -142px -888px;
|
||||
background-position: -426px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_driving_a_sleigh {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -888px;
|
||||
background-position: -568px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_dungeon {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -426px -888px;
|
||||
background-position: -710px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -624,7 +624,7 @@
|
|||
}
|
||||
.background_elegant_balcony {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -888px;
|
||||
background-position: -852px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -648,7 +648,7 @@
|
|||
}
|
||||
.background_fiber_arts_room {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -888px;
|
||||
background-position: -994px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -666,37 +666,37 @@
|
|||
}
|
||||
.background_flying_over_a_field_of_wildflowers {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -888px;
|
||||
background-position: -1136px 0px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.customize-option.background_flying_over_a_field_of_wildflowers {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -877px -903px;
|
||||
background-position: -1161px -15px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.background_flying_over_an_ancient_forest {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -888px;
|
||||
background-position: -1136px -148px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_flying_over_icy_steppes {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px 0px;
|
||||
background-position: -1136px -296px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_flying_over_rocky_canyon {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -148px;
|
||||
background-position: -1136px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_flying_over_snowy_mountains {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -296px;
|
||||
background-position: -1136px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -714,7 +714,7 @@
|
|||
}
|
||||
.background_frosty_forest {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -444px;
|
||||
background-position: -1136px -740px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -726,7 +726,7 @@
|
|||
}
|
||||
.background_garden_shed {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -592px;
|
||||
background-position: -1136px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -744,25 +744,25 @@
|
|||
}
|
||||
.background_giant_book {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -740px;
|
||||
background-position: 0px -1036px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_giant_florals {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1136px -888px;
|
||||
background-position: -142px -1036px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_giant_seashell {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -1036px;
|
||||
background-position: -284px -1036px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_giant_wave {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -142px -1036px;
|
||||
background-position: -426px -1036px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -774,197 +774,209 @@
|
|||
}
|
||||
.background_gorgeous_greenhouse {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -994px -592px;
|
||||
background-position: 0px -888px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_grand_staircase {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -142px -592px;
|
||||
background-position: -426px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_graveyard {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -148px;
|
||||
background-position: -705px -1332px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_green {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1269px -1332px;
|
||||
background-position: -423px -1332px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_guardian_statues {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -592px;
|
||||
background-position: -284px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_gumdrop_land {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -423px -1332px;
|
||||
background-position: -141px -1332px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_habit_city_streets {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -444px;
|
||||
background-position: -142px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_harvest_feast {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -141px -1332px;
|
||||
background-position: -1419px -592px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_harvest_fields {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -296px;
|
||||
background-position: 0px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_harvest_moon {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px -148px;
|
||||
background-position: -710px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_haunted_house {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1419px -296px;
|
||||
background-position: -1269px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_ice_cave {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -710px 0px;
|
||||
background-position: -710px -296px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_iceberg {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1269px -1184px;
|
||||
background-position: -987px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_idyllic_cabin {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1128px -1184px;
|
||||
background-position: -846px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_island_waterfalls {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -987px -1184px;
|
||||
background-position: -705px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_kelp_forest {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -444px;
|
||||
background-position: -710px -148px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_lighthouse_shore {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -705px -1184px;
|
||||
background-position: -1278px -888px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_lilypad {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -141px -1184px;
|
||||
background-position: -1278px -592px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_magic_beanstalk {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1278px -888px;
|
||||
background-position: -1278px 0px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_magical_candles {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -426px -444px;
|
||||
background-position: -710px 0px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_magical_museum {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -444px;
|
||||
background-position: -568px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_marble_temple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -142px -444px;
|
||||
background-position: -426px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_market {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -707px -1036px;
|
||||
background-position: -846px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_meandering_cave {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -566px -1036px;
|
||||
background-position: -705px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_medieval_kitchen {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -284px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_midnight_castle {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: 0px -444px;
|
||||
background-position: -142px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_midnight_clouds {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -987px -1480px;
|
||||
background-position: -1560px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_midnight_lake {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -296px;
|
||||
background-position: 0px -444px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_mist_shrouded_mountain {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -564px -1480px;
|
||||
background-position: -1560px -296px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_mistiflying_circus {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -423px -1480px;
|
||||
background-position: -1269px -1332px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_mountain_lake {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -1184px;
|
||||
background-position: -282px -1332px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_mountain_pyramid {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -592px;
|
||||
background-position: -1419px -888px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_night_dunes {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1560px -296px;
|
||||
background-position: -1419px -296px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_ocean_sunrise {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -296px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_old_fashioned_bakery {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -568px -148px;
|
||||
width: 141px;
|
||||
|
|
@ -984,13 +996,13 @@
|
|||
}
|
||||
.background_orchard {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1419px -592px;
|
||||
background-position: -709px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_pagodas {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1419px -148px;
|
||||
background-position: -987px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -1008,13 +1020,13 @@
|
|||
}
|
||||
.background_pumpkin_patch {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1278px 0px;
|
||||
background-position: -1560px -592px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_purple {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -848px -1036px;
|
||||
background-position: -1419px -148px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -1038,13 +1050,13 @@
|
|||
}
|
||||
.background_rainy_city {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -282px -1332px;
|
||||
background-position: -564px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_red {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1419px -888px;
|
||||
background-position: 0px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
@ -1074,37 +1086,25 @@
|
|||
}
|
||||
.background_scribes_workshop {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -852px -444px;
|
||||
background-position: -852px -592px;
|
||||
width: 141px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_seafarer_ship {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -846px -1184px;
|
||||
background-position: -850px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_shimmering_ice_prism {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -1278px -592px;
|
||||
background-position: -1128px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_shimmery_bubbles {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -425px -1036px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_slimy_swamp {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -846px -1480px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
.background_snowman_army {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-0.png');
|
||||
background-position: -705px -1332px;
|
||||
background-position: -141px -1184px;
|
||||
width: 140px;
|
||||
height: 147px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,306 @@
|
|||
.Pet_Currency_Gem {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1504px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_Currency_Gem1x {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2015px -905px;
|
||||
width: 15px;
|
||||
height: 13px;
|
||||
}
|
||||
.Pet_Currency_Gem2x {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1982px -1407px;
|
||||
width: 30px;
|
||||
height: 26px;
|
||||
}
|
||||
.PixelPaw-Gold {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1982px -1228px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
.PixelPaw {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1963px -905px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
.PixelPaw002 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1982px -1297px;
|
||||
width: 51px;
|
||||
height: 51px;
|
||||
}
|
||||
.inventory_special_congrats {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1366px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_fortify {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1366px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_getwell {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1228px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_goodluck {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1504px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_greeting {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1573px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_nye {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1765px -1444px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_opaquePotion {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -203px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_seafoam {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1963px -836px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_shinySeed {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1935px -1089px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_snowball {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1228px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_spookySparkles {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1297px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_thankyou {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1297px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_trinket {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1435px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.inventory_special_valentine {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1435px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.knockout {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1180px;
|
||||
width: 120px;
|
||||
height: 47px;
|
||||
}
|
||||
.pet_key {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1913px -1573px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.rebirth_orb {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -1444px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.seafoam_star {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1929px -968px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.shop_armoire {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1696px -1444px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.snowman {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -1089px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.zzz {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1982px -1366px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.zzz_light {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1965px -1180px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.notif_inventory_present_01 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2004px -1118px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_02 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -563px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_03 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -685px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_04 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -592px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_05 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -621px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_06 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -714px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_07 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -743px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_08 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -772px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_09 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -801px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_10 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2004px -1089px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_11 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -534px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_present_12 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1995px -650px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.notif_inventory_special_birthday {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -238px;
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
}
|
||||
.notif_inventory_special_congrats {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -336px;
|
||||
width: 20px;
|
||||
height: 22px;
|
||||
}
|
||||
.notif_inventory_special_getwell {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -313px;
|
||||
width: 20px;
|
||||
height: 22px;
|
||||
}
|
||||
.notif_inventory_special_goodluck {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -211px;
|
||||
width: 20px;
|
||||
height: 26px;
|
||||
}
|
||||
.notif_inventory_special_greeting {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -359px;
|
||||
width: 20px;
|
||||
height: 22px;
|
||||
}
|
||||
.notif_inventory_special_nye {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -184px;
|
||||
width: 24px;
|
||||
height: 26px;
|
||||
}
|
||||
.notif_inventory_special_thankyou {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -263px;
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
}
|
||||
.notif_inventory_special_valentine {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -2010px -288px;
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
}
|
||||
.npc_bailey {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -272px;
|
||||
width: 60px;
|
||||
height: 72px;
|
||||
}
|
||||
.npc_justin {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1844px -968px;
|
||||
width: 84px;
|
||||
height: 120px;
|
||||
}
|
||||
.npc_matt {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -597px -1535px;
|
||||
background-position: -1155px -1315px;
|
||||
width: 195px;
|
||||
height: 138px;
|
||||
}
|
||||
|
|
@ -12,55 +312,55 @@
|
|||
}
|
||||
.banner_flair_dysheartener {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1963px -836px;
|
||||
background-position: -1929px -1059px;
|
||||
width: 69px;
|
||||
height: 18px;
|
||||
}
|
||||
.phobia_dysheartener {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1187px -880px;
|
||||
background-position: -1627px -1061px;
|
||||
width: 201px;
|
||||
height: 195px;
|
||||
}
|
||||
.quest_alligator {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -1079px;
|
||||
background-position: -1627px -645px;
|
||||
width: 201px;
|
||||
height: 213px;
|
||||
}
|
||||
.quest_armadillo {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -435px;
|
||||
background-position: -660px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_atom1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1105px -1315px;
|
||||
background-position: -696px -1315px;
|
||||
width: 250px;
|
||||
height: 150px;
|
||||
}
|
||||
.quest_atom2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -389px -1535px;
|
||||
background-position: -947px -1315px;
|
||||
width: 207px;
|
||||
height: 138px;
|
||||
}
|
||||
.quest_atom3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -747px -440px;
|
||||
background-position: -967px -660px;
|
||||
width: 216px;
|
||||
height: 180px;
|
||||
}
|
||||
.quest_axolotl {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -747px -220px;
|
||||
background-position: -527px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_badger {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -655px;
|
||||
background-position: -1407px -660px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -72,43 +372,43 @@
|
|||
}
|
||||
.quest_beetle {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -1293px;
|
||||
background-position: -1627px -859px;
|
||||
width: 204px;
|
||||
height: 201px;
|
||||
}
|
||||
.quest_bunny {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -967px -660px;
|
||||
background-position: -1627px -1257px;
|
||||
width: 210px;
|
||||
height: 186px;
|
||||
}
|
||||
.quest_butterfly {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -967px 0px;
|
||||
background-position: -220px -435px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_cheetah {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -967px -220px;
|
||||
background-position: -440px -435px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_cow {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -1535px;
|
||||
background-position: -307px -220px;
|
||||
width: 174px;
|
||||
height: 213px;
|
||||
}
|
||||
.quest_dilatory {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -875px;
|
||||
background-position: -660px -875px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_dilatoryDistress1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -868px;
|
||||
background-position: -1627px -434px;
|
||||
width: 210px;
|
||||
height: 210px;
|
||||
}
|
||||
|
|
@ -120,19 +420,19 @@
|
|||
}
|
||||
.quest_dilatoryDistress3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -880px -875px;
|
||||
background-position: -1187px -440px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_dilatory_derby {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -875px;
|
||||
background-position: -660px -655px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_dustbunnies {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1187px 0px;
|
||||
background-position: 0px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -150,31 +450,31 @@
|
|||
}
|
||||
.quest_evilsanta2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1187px -660px;
|
||||
background-position: -1407px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_falcon {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -1095px;
|
||||
background-position: -1407px -440px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_ferret {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -307px 0px;
|
||||
background-position: -1407px -220px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_frog {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -660px -1315px;
|
||||
background-position: 0px -1315px;
|
||||
width: 221px;
|
||||
height: 213px;
|
||||
}
|
||||
.quest_ghost_stag {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -660px -1095px;
|
||||
background-position: -1100px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -186,7 +486,7 @@
|
|||
}
|
||||
.quest_goldenknight2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1356px -1315px;
|
||||
background-position: -445px -1315px;
|
||||
width: 250px;
|
||||
height: 150px;
|
||||
}
|
||||
|
|
@ -198,43 +498,43 @@
|
|||
}
|
||||
.quest_gryphon {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -307px -220px;
|
||||
background-position: -747px -440px;
|
||||
width: 216px;
|
||||
height: 177px;
|
||||
}
|
||||
.quest_guineapig {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px -440px;
|
||||
background-position: -220px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_harpy {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px -660px;
|
||||
background-position: -1187px -660px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_hedgehog {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px -1100px;
|
||||
background-position: -1187px -880px;
|
||||
width: 219px;
|
||||
height: 186px;
|
||||
}
|
||||
.quest_hippo {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: 0px -1315px;
|
||||
background-position: -307px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_horse {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -1315px;
|
||||
background-position: -1187px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_kangaroo {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px -880px;
|
||||
background-position: -880px -875px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -246,19 +546,19 @@
|
|||
}
|
||||
.quest_lostMasterclasser1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1100px -1095px;
|
||||
background-position: -440px -875px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_lostMasterclasser2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -440px -1095px;
|
||||
background-position: -220px -875px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_lostMasterclasser3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1187px -220px;
|
||||
background-position: 0px -875px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -270,73 +570,73 @@
|
|||
}
|
||||
.quest_mayhemMistiflying2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -440px -875px;
|
||||
background-position: -967px -440px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_mayhemMistiflying3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -660px -655px;
|
||||
background-position: -967px -220px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_monkey {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -440px -655px;
|
||||
background-position: -967px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_moon1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -651px;
|
||||
background-position: -1627px -217px;
|
||||
width: 216px;
|
||||
height: 216px;
|
||||
}
|
||||
.quest_moon2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -655px;
|
||||
background-position: -440px -655px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_moon3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -747px 0px;
|
||||
background-position: -220px -655px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_moonstone1 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -527px 0px;
|
||||
background-position: 0px -655px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_moonstone2 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px -220px;
|
||||
background-position: -747px -220px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_moonstone3 {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -440px -1315px;
|
||||
background-position: -747px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_nudibranch {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -217px;
|
||||
background-position: -1407px -1097px;
|
||||
width: 216px;
|
||||
height: 216px;
|
||||
}
|
||||
.quest_octopus {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -882px -1315px;
|
||||
background-position: -222px -1315px;
|
||||
width: 222px;
|
||||
height: 177px;
|
||||
}
|
||||
.quest_owl {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1187px -440px;
|
||||
background-position: 0px -435px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
@ -354,49 +654,25 @@
|
|||
}
|
||||
.quest_pterodactyl {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -660px -875px;
|
||||
background-position: -440px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_rat {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -967px -440px;
|
||||
background-position: -1187px -220px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_rock {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1627px -434px;
|
||||
background-position: -1407px -880px;
|
||||
width: 216px;
|
||||
height: 216px;
|
||||
}
|
||||
.quest_rooster {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -175px -1535px;
|
||||
background-position: 0px -1529px;
|
||||
width: 213px;
|
||||
height: 174px;
|
||||
}
|
||||
.quest_sabretooth {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -440px -435px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_seaserpent {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -435px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_sheep {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -220px -1095px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
.quest_slime {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||
background-position: -1407px 0px;
|
||||
width: 219px;
|
||||
height: 219px;
|
||||
}
|
||||
|
|
|
|||
18
website/client/assets/css/sprites/spritesmith-main-24.css
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
.Pet_HatchingPotion_Thunderstorm {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px 0px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_White {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: -69px 0px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.Pet_HatchingPotion_Zombie {
|
||||
background-image: url('~assets/images/sprites/spritesmith-main-24.png');
|
||||
background-position: 0px -69px;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 545 KiB After Width: | Height: | Size: 538 KiB |
|
Before Width: | Height: | Size: 532 KiB After Width: | Height: | Size: 551 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 393 KiB After Width: | Height: | Size: 376 KiB |
|
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 298 KiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 161 KiB |
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 182 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 165 KiB |
BIN
website/client/assets/images/sprites/spritesmith-main-24.png
Normal file
|
After Width: | Height: | Size: 714 B |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 119 KiB |
|
|
@ -35,3 +35,4 @@
|
|||
@import './pin';
|
||||
@import './animals';
|
||||
@import './iconalert';
|
||||
@import './tiers';
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer
|
||||
// more to be added on future seasons
|
||||
|
||||
$npc_market_flavor: 'winter';
|
||||
$npc_quests_flavor: 'winter';
|
||||
$npc_seasonal_flavor: 'winter';
|
||||
$npc_timetravelers_flavor: 'winter';
|
||||
$npc_tavern_flavor: 'winter';
|
||||
$npc_market_flavor: 'normal';
|
||||
$npc_quests_flavor: 'normal';
|
||||
$npc_seasonal_flavor: 'normal';
|
||||
$npc_timetravelers_flavor: 'normal';
|
||||
$npc_tavern_flavor: 'normal';
|
||||
|
|
|
|||
|
|
@ -164,30 +164,30 @@ export default {
|
|||
classGear (heroClass) {
|
||||
if (heroClass === 'rogue') {
|
||||
return {
|
||||
armor: 'armor_special_winter2019Rogue',
|
||||
head: 'head_special_winter2019Rogue',
|
||||
shield: 'shield_special_winter2019Rogue',
|
||||
weapon: 'weapon_special_winter2019Rogue',
|
||||
armor: 'armor_rogue_5',
|
||||
head: 'head_rogue_5',
|
||||
shield: 'shield_rogue_6',
|
||||
weapon: 'weapon_rogue_6',
|
||||
};
|
||||
} else if (heroClass === 'wizard') {
|
||||
return {
|
||||
armor: 'armor_special_winter2019Mage',
|
||||
head: 'head_special_winter2019Mage',
|
||||
weapon: 'weapon_special_winter2019Mage',
|
||||
armor: 'armor_wizard_5',
|
||||
head: 'head_wizard_5',
|
||||
weapon: 'weapon_wizard_6',
|
||||
};
|
||||
} else if (heroClass === 'healer') {
|
||||
return {
|
||||
armor: 'armor_special_winter2019Healer',
|
||||
head: 'head_special_winter2019Healer',
|
||||
shield: 'shield_special_winter2019Healer',
|
||||
weapon: 'weapon_special_winter2019Healer',
|
||||
armor: 'armor_healer_5',
|
||||
head: 'head_healer_5',
|
||||
shield: 'shield_healer_5',
|
||||
weapon: 'weapon_healer_6',
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
armor: 'armor_special_winter2019Warrior',
|
||||
head: 'head_special_winter2019Warrior',
|
||||
shield: 'shield_special_winter2019Warrior',
|
||||
weapon: 'weapon_special_winter2019Warrior',
|
||||
armor: 'armor_warrior_5',
|
||||
head: 'head_warrior_5',
|
||||
shield: 'shield_warrior_5',
|
||||
weapon: 'weapon_warrior_6',
|
||||
};
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
.modal-body
|
||||
.static-view(v-html='html')
|
||||
.modal-footer
|
||||
a.btn.btn-info(href='http://habitica.wikia.com/wiki/Whats_New', target='_blank') {{ this.$t('newsArchive') }}
|
||||
a.btn.btn-info(href='http://habitica.fandom.com/wiki/Whats_New', target='_blank') {{ this.$t('newsArchive') }}
|
||||
button.btn.btn-secondary(@click='tellMeLater()') {{ this.$t('tellMeLater') }}
|
||||
button.btn.btn-warning(@click='dismissAlert();') {{ this.$t('dismissAlert') }}
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
li
|
||||
router-link(to='/static/faq') {{ $t('FAQ') }}
|
||||
li
|
||||
a(href='http://habitica.wikia.com/wiki/Whats_New', target='_blank') {{ $t('oldNews') }}
|
||||
a(href='http://habitica.fandom.com/wiki/Whats_New', target='_blank') {{ $t('oldNews') }}
|
||||
li
|
||||
router-link(to='/static/merch') {{ $t('merch') }}
|
||||
li
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
li
|
||||
a(:href="getDataDisplayToolUrl", target='_blank') {{ $t('dataDisplayTool') }}
|
||||
li
|
||||
a(href='http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths', target='_blank') {{ $t('guidanceForBlacksmiths') }}
|
||||
a(href='http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths', target='_blank') {{ $t('guidanceForBlacksmiths') }}
|
||||
li
|
||||
a(href='http://devs.habitica.com/', target='_blank') {{ $t('devBlog') }}
|
||||
.col-6.social
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
.svg-icon.heart(v-html="icons.heart")
|
||||
.text {{ $t('companyDonate') }}
|
||||
.btn.btn-contribute(v-else)
|
||||
a(href='http://habitica.wikia.com/wiki/Contributing_to_Habitica', target='_blank')
|
||||
a(href='http://habitica.fandom.com/wiki/Contributing_to_Habitica', target='_blank')
|
||||
.svg-icon.heart(v-html="icons.heart")
|
||||
.text {{ $t('companyContribute') }}
|
||||
.row
|
||||
|
|
|
|||
|
|
@ -4,14 +4,7 @@ div
|
|||
.message-hidden(v-if='!inbox && msg.flagCount === 1 && user.contributor.admin') Message flagged once, not hidden
|
||||
.message-hidden(v-if='!inbox && msg.flagCount > 1 && user.contributor.admin') Message hidden
|
||||
.card-body
|
||||
h3.leader(
|
||||
:class='userLevelStyle(msg)',
|
||||
@click="showMemberModal(msg.uuid)",
|
||||
v-b-tooltip.hover.top="tierTitle",
|
||||
v-if="msg.user"
|
||||
)
|
||||
| {{msg.user}}
|
||||
.svg-icon(v-html="tierIcon")
|
||||
user-link(:userId="msg.uuid", :name="msg.user", :backer="msg.backer", :contributor="msg.contributor")
|
||||
p.time
|
||||
span.mr-1(v-if="msg.username") @{{ msg.username }}
|
||||
span.mr-1(v-if="msg.username") •
|
||||
|
|
@ -82,22 +75,6 @@ div
|
|||
.card-body {
|
||||
padding: 0.75rem 1.25rem 0.75rem 1.25rem;
|
||||
|
||||
.leader {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
h3 { // this is the user name
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
|
||||
.svg-icon {
|
||||
width: 10px;
|
||||
display: inline-block;
|
||||
margin-left: .5em;
|
||||
}
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 12px;
|
||||
color: #878190;
|
||||
|
|
@ -153,27 +130,17 @@ import max from 'lodash/max';
|
|||
|
||||
import habiticaMarkdown from 'habitica-markdown';
|
||||
import { mapState } from 'client/libs/store';
|
||||
import styleHelper from 'client/mixins/styleHelper';
|
||||
|
||||
import achievementsLib from '../../../common/script/libs/achievements';
|
||||
import userLink from '../userLink';
|
||||
|
||||
import deleteIcon from 'assets/svg/delete.svg';
|
||||
import copyIcon from 'assets/svg/copy.svg';
|
||||
import likeIcon from 'assets/svg/like.svg';
|
||||
import likedIcon from 'assets/svg/liked.svg';
|
||||
import reportIcon from 'assets/svg/report.svg';
|
||||
import tier1 from 'assets/svg/tier-1.svg';
|
||||
import tier2 from 'assets/svg/tier-2.svg';
|
||||
import tier3 from 'assets/svg/tier-3.svg';
|
||||
import tier4 from 'assets/svg/tier-4.svg';
|
||||
import tier5 from 'assets/svg/tier-5.svg';
|
||||
import tier6 from 'assets/svg/tier-6.svg';
|
||||
import tier7 from 'assets/svg/tier-7.svg';
|
||||
import tier8 from 'assets/svg/tier-mod.svg';
|
||||
import tier9 from 'assets/svg/tier-staff.svg';
|
||||
import tierNPC from 'assets/svg/tier-npc.svg';
|
||||
import {highlightUsers} from '../../libs/highlightUsers';
|
||||
|
||||
export default {
|
||||
components: {userLink},
|
||||
props: {
|
||||
msg: {},
|
||||
inbox: {
|
||||
|
|
@ -182,7 +149,6 @@ export default {
|
|||
},
|
||||
groupId: {},
|
||||
},
|
||||
mixins: [styleHelper],
|
||||
data () {
|
||||
return {
|
||||
icons: Object.freeze({
|
||||
|
|
@ -191,16 +157,6 @@ export default {
|
|||
report: reportIcon,
|
||||
delete: deleteIcon,
|
||||
liked: likedIcon,
|
||||
tier1,
|
||||
tier2,
|
||||
tier3,
|
||||
tier4,
|
||||
tier5,
|
||||
tier6,
|
||||
tier7,
|
||||
tier8,
|
||||
tier9,
|
||||
tierNPC,
|
||||
}),
|
||||
reported: false,
|
||||
};
|
||||
|
|
@ -251,18 +207,6 @@ export default {
|
|||
}
|
||||
return likeCount;
|
||||
},
|
||||
tierIcon () {
|
||||
const message = this.msg;
|
||||
const isNPC = Boolean(message.backer && message.backer.npc);
|
||||
if (isNPC) {
|
||||
return this.icons.tierNPC;
|
||||
}
|
||||
return this.icons[`tier${message.contributor.level}`];
|
||||
},
|
||||
tierTitle () {
|
||||
const message = this.msg;
|
||||
return achievementsLib.getContribText(message.contributor, message.backer) || '';
|
||||
},
|
||||
isMessageReported () {
|
||||
return this.msg.flags && this.msg.flags[this.user.id] || this.reported;
|
||||
},
|
||||
|
|
@ -321,28 +265,8 @@ export default {
|
|||
chatId: message.id,
|
||||
});
|
||||
},
|
||||
showMemberModal (memberId) {
|
||||
this.$emit('show-member-modal', memberId);
|
||||
},
|
||||
atHighlight (text) {
|
||||
const escapedDisplayName = escapeRegExp(this.user.profile.name);
|
||||
const escapedUsername = escapeRegExp(this.user.auth.local.username);
|
||||
const userRegex = new RegExp(`@(${escapedDisplayName}|${escapedUsername})(?:\\b)`, 'gi');
|
||||
const atRegex = new RegExp(/(?!\b)@[\w-]+/g);
|
||||
|
||||
if (userRegex.test(text)) {
|
||||
text = text.replace(userRegex, match => {
|
||||
return `<span class="at-highlight at-text">${match}</span>`;
|
||||
});
|
||||
}
|
||||
|
||||
if (atRegex.test(text)) {
|
||||
text = text.replace(atRegex, match => {
|
||||
return `<span class="at-text">${match}</span>`;
|
||||
});
|
||||
}
|
||||
|
||||
return text;
|
||||
return highlightUsers(text, this.user.auth.local.username, this.user.profile.name);
|
||||
},
|
||||
parseMarkdown (text) {
|
||||
return habiticaMarkdown.render(text);
|
||||
|
|
|
|||
|
|
@ -245,10 +245,7 @@ export default {
|
|||
|
||||
// Open the modal only if the data is available
|
||||
if (profile && !profile.rejected) {
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: profile,
|
||||
startingPage: 'profile',
|
||||
});
|
||||
this.$router.push({name: 'userProfile', params: {userId: profile._id}});
|
||||
}
|
||||
},
|
||||
messageLiked (message) {
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
.row
|
||||
.col-4.staff(v-for='user in staff', :class='{staff: user.type === "Staff", moderator: user.type === "Moderator", bailey: user.name === "It\'s Bailey"}')
|
||||
div
|
||||
a.title(@click="viewStaffProfile(user.uuid)") {{user.name}}
|
||||
router-link.title(:to="{'name': 'userProfile', 'params': {'userId': user.uuid}}") {{user.name}}
|
||||
.svg-icon.staff-icon(v-html="icons.tierStaff", v-if='user.type === "Staff"')
|
||||
.svg-icon.mod-icon(v-html="icons.tierMod", v-if='user.type === "Moderator" && user.name !== "It\'s Bailey"')
|
||||
.svg-icon.npc-icon(v-html="icons.tierNPC", v-if='user.name === "It\'s Bailey"')
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
li
|
||||
a(href='', v-html="$t('glossary')")
|
||||
li
|
||||
a(href='http://habitica.wikia.com/wiki/Habitica_Wiki', v-once) {{ $t('wiki') }}
|
||||
a(href='http://habitica.fandom.com/wiki/Habitica_Wiki', v-once) {{ $t('wiki') }}
|
||||
li
|
||||
a(href='https://oldgods.net/habitrpg/habitrpg_user_data_display.html', v-once) {{ $t('dataDisplayTool') }}
|
||||
li
|
||||
|
|
@ -542,15 +542,6 @@ export default {
|
|||
this.$root.$emit('bv::show::modal', 'world-boss-rage');
|
||||
}
|
||||
},
|
||||
|
||||
async viewStaffProfile (staffId) {
|
||||
let staffDetails = await this.$store.dispatch('members:fetchMember', { memberId: staffId });
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: staffDetails.data.data,
|
||||
startingPage: 'profile',
|
||||
});
|
||||
},
|
||||
|
||||
async fetchRecentMessages () {
|
||||
this.group = await this.$store.dispatch('guilds:getGroup', {groupId: TAVERN_ID});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
.row
|
||||
.form.col-6(v-if='hero && hero.profile', submit='saveHero(hero)')
|
||||
a(@click='clickMember(hero, true)')
|
||||
router-link(:to="{'name': 'userProfile', 'params': {'userId': msg.uuid}}")
|
||||
h3 {{hero.profile.name}}
|
||||
.form-group
|
||||
input.form-control(type='text', v-model='hero.contributor.text', :placeholder="$t('contribTitle')")
|
||||
|
|
@ -197,13 +197,6 @@ export default {
|
|||
window.scrollTo(0, 200);
|
||||
this.loadHero(id, index);
|
||||
},
|
||||
async clickMember (hero) {
|
||||
let heroDetails = await this.$store.dispatch('members:fetchMember', { memberId: hero._id });
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: heroDetails.data.data,
|
||||
startingPage: 'profile',
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
div
|
||||
inbox-modal
|
||||
creator-intro
|
||||
profile
|
||||
profileModal
|
||||
report-flag-modal
|
||||
b-navbar.topbar.navbar-inverse.static-top.navbar-expand-lg(type="dark", :class="navbarZIndexClass")
|
||||
b-navbar-brand.brand
|
||||
|
|
@ -55,8 +55,8 @@ div
|
|||
router-link.topbar-dropdown-item.dropdown-item(to="/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac") {{ $t('reportBug') }}
|
||||
router-link.topbar-dropdown-item.dropdown-item(to="/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a") {{ $t('askAQuestion') }}
|
||||
a.topbar-dropdown-item.dropdown-item(href="https://trello.com/c/odmhIqyW/440-read-first-table-of-contents", target='_blank') {{ $t('requestAF') }}
|
||||
a.topbar-dropdown-item.dropdown-item(href="http://habitica.wikia.com/wiki/Contributing_to_Habitica", target='_blank') {{ $t('contributing') }}
|
||||
a.topbar-dropdown-item.dropdown-item(href="http://habitica.wikia.com/wiki/Habitica_Wiki", target='_blank') {{ $t('wiki') }}
|
||||
a.topbar-dropdown-item.dropdown-item(href="http://habitica.fandom.com/wiki/Contributing_to_Habitica", target='_blank') {{ $t('contributing') }}
|
||||
a.topbar-dropdown-item.dropdown-item(href="http://habitica.fandom.com/wiki/Habitica_Wiki", target='_blank') {{ $t('wiki') }}
|
||||
a.topbar-dropdown-item.dropdown-item(@click='modForm()') {{ $t('contactForm') }}
|
||||
.currency-tray.form-inline
|
||||
.item-with-icon(v-if="userHourglasses > 0")
|
||||
|
|
@ -347,7 +347,7 @@ import logo from 'assets/svg/logo.svg';
|
|||
import InboxModal from '../userMenu/inbox.vue';
|
||||
import notificationMenu from './notificationsDropdown';
|
||||
import creatorIntro from '../creatorIntro';
|
||||
import profile from '../userMenu/profile';
|
||||
import profileModal from '../userMenu/profileModal';
|
||||
import userDropdown from './userDropdown';
|
||||
|
||||
import reportFlagModal from '../chat/reportFlagModal';
|
||||
|
|
@ -358,7 +358,7 @@ export default {
|
|||
InboxModal,
|
||||
notificationMenu,
|
||||
creatorIntro,
|
||||
profile,
|
||||
profileModal,
|
||||
reportFlagModal,
|
||||
},
|
||||
data () {
|
||||
|
|
|
|||
|
|
@ -35,11 +35,8 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
action () {
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: this.$store.state.user.data,
|
||||
startingPage: 'stats',
|
||||
});
|
||||
this.$router.push({name: 'stats'});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -102,10 +102,7 @@ export default {
|
|||
this.$root.$emit('bv::show::modal', 'inbox-modal');
|
||||
},
|
||||
showProfile (startingPage) {
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: this.user,
|
||||
startingPage,
|
||||
});
|
||||
this.$router.push({name: startingPage});
|
||||
},
|
||||
showBuyGemsModal (startingPage) {
|
||||
this.$store.state.gemModalOptions.startingPage = startingPage;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
:hide-class-badge="classBadgePosition !== 'under-avatar'",
|
||||
)
|
||||
.member-stats(:class="{'col-8': !expanded && !isHeader}")
|
||||
.d-flex.align-items-center
|
||||
.d-flex.align-items-center.profile-first-row
|
||||
class-badge(v-if="classBadgePosition === 'next-to-name'", :member-class="member.stats.class")
|
||||
.d-flex.flex-column.profile-name-character
|
||||
h3.character-name
|
||||
|
|
@ -95,9 +95,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
.profile-first-row {
|
||||
margin-bottom: .5em
|
||||
}
|
||||
|
||||
.progress-container {
|
||||
margin-left: 4px;
|
||||
margin-bottom: .5em;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.progress-container > span {
|
||||
|
|
@ -111,7 +116,6 @@
|
|||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 8px;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
.progress-container > .progress {
|
||||
|
|
@ -130,7 +134,7 @@
|
|||
|
||||
.progress-container .svg-icon, .progress-container .progress, .progress-container .small-text {
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
// Condensed version
|
||||
|
|
@ -249,10 +253,7 @@ export default {
|
|||
methods: {
|
||||
percent,
|
||||
showMemberModal (member) {
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: member,
|
||||
startingPage: 'profile',
|
||||
});
|
||||
this.$router.push({name: 'userProfile', params: {userId: member._id}});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
button.btn.btn-danger.btn-xs(@click='changeClassForUser(true)', v-once) {{ $t('changeClass') }}
|
||||
small.cost 3 {{ $t('gems') }}
|
||||
// @TODO add icon span.Pet_Currency_Gem1x.inline-gems
|
||||
hr
|
||||
hr
|
||||
|
||||
div
|
||||
.checkbox
|
||||
|
|
|
|||
|
|
@ -25,19 +25,20 @@
|
|||
div.text {{ item.sellWarningNote() }}
|
||||
br
|
||||
|
||||
div(v-once)
|
||||
div.text {{ item.notes() }}
|
||||
div(v-else)
|
||||
div(v-once)
|
||||
div.text {{ item.notes() }}
|
||||
|
||||
div
|
||||
b.how-many-to-sell {{ $t('howManyToSell') }}
|
||||
div
|
||||
b.how-many-to-sell {{ $t('howManyToSell') }}
|
||||
|
||||
div
|
||||
b-input.itemsToSell(type="number", v-model="selectedAmountToSell", :max="itemContextToSell.itemCount", min="1", @keyup.native="preventNegative($event)", step="1")
|
||||
div
|
||||
b-input.itemsToSell(type="number", v-model="selectedAmountToSell", :max="itemContextToSell.itemCount", min="1", @keyup.native="preventNegative($event)", step="1")
|
||||
|
||||
span.svg-icon.inline.icon-32(aria-hidden="true", v-html="icons.gold")
|
||||
span.value {{ item.value }}
|
||||
span.svg-icon.inline.icon-32(aria-hidden="true", v-html="icons.gold")
|
||||
span.value {{ item.value }}
|
||||
|
||||
button.btn.btn-primary(@click="sellItems()") {{ $t('sell') }}
|
||||
button.btn.btn-primary(@click="sellItems()") {{ $t('sell') }}
|
||||
|
||||
div.clearfix(slot="modal-footer")
|
||||
span.balance.float-left {{ $t('yourBalance') }}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@
|
|||
// linkStart: '[',
|
||||
// linkEnd: '](/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)',
|
||||
// },
|
||||
// "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the <%= linkStart %>Habitica Help guild<%= linkEnd %>! We're happy to help."
|
||||
// "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), come ask in the <%= linkStart %>Habitica Help guild<%= linkEnd %>! We're happy to help."
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
label.d-flex.align-items-center.justify-content-between(v-once)
|
||||
span {{ $t('notes') }}
|
||||
small(v-once)
|
||||
a(target="_blank", href="http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet") {{ $t('markdownHelpLink') }}
|
||||
a(target="_blank", href="http://habitica.fandom.com/wiki/Markdown_Cheat_Sheet") {{ $t('markdownHelpLink') }}
|
||||
|
||||
textarea.form-control(v-model="task.notes", rows="3")
|
||||
.task-modal-content(@click="handleClick($event)")
|
||||
|
|
|
|||
|
|
@ -1,21 +1,113 @@
|
|||
<template lang="pug">
|
||||
b-link(
|
||||
v-if='user && user.profile',
|
||||
@click.prevent='showProfile(user)'
|
||||
) {{user.profile.name}}
|
||||
router-link.leader(
|
||||
:to="{'name': 'userProfile', 'params': {'userId': id}}",
|
||||
:class='levelStyle()',
|
||||
v-b-tooltip.hover.top="tierTitle",
|
||||
v-if='displayName')
|
||||
| {{displayName}}
|
||||
.svg-icon(v-html="tierIcon()")
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
a {
|
||||
color: $gray-50;
|
||||
}
|
||||
|
||||
a.leader { // this is the user name
|
||||
font-family: 'Roboto Condensed', sans-serif;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
|
||||
.svg-icon {
|
||||
width: 10px;
|
||||
display: inline-block;
|
||||
margin-left: .5em;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
||||
import styleHelper from 'client/mixins/styleHelper';
|
||||
|
||||
import achievementsLib from '../../common/script/libs/achievements';
|
||||
|
||||
import tier1 from 'assets/svg/tier-1.svg';
|
||||
import tier2 from 'assets/svg/tier-2.svg';
|
||||
import tier3 from 'assets/svg/tier-3.svg';
|
||||
import tier4 from 'assets/svg/tier-4.svg';
|
||||
import tier5 from 'assets/svg/tier-5.svg';
|
||||
import tier6 from 'assets/svg/tier-6.svg';
|
||||
import tier7 from 'assets/svg/tier-7.svg';
|
||||
import tier8 from 'assets/svg/tier-mod.svg';
|
||||
import tier9 from 'assets/svg/tier-staff.svg';
|
||||
import tierNPC from 'assets/svg/tier-npc.svg';
|
||||
|
||||
export default {
|
||||
props: ['user'],
|
||||
props: ['user', 'userId', 'name', 'backer', 'contributor'],
|
||||
mixins: [styleHelper],
|
||||
data () {
|
||||
return {
|
||||
icons: Object.freeze({
|
||||
tier1,
|
||||
tier2,
|
||||
tier3,
|
||||
tier4,
|
||||
tier5,
|
||||
tier6,
|
||||
tier7,
|
||||
tier8,
|
||||
tier9,
|
||||
tierNPC,
|
||||
}),
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
displayName () {
|
||||
if (this.name) {
|
||||
return this.name;
|
||||
} else if (this.user && this.user.profile) {
|
||||
return this.user.profile.name;
|
||||
}
|
||||
},
|
||||
level () {
|
||||
if (this.contributor) {
|
||||
return this.contributor.level;
|
||||
} else if (this.user && this.user.contributor) {
|
||||
return this.user.contributor.level;
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
isNPC () {
|
||||
if (this.backer) {
|
||||
return this.backer.level;
|
||||
} else if (this.user && this.user.backer) {
|
||||
return this.user.backer.level;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
id () {
|
||||
return this.userId || this.user._id;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
async showProfile (user) {
|
||||
let heroDetails = await this.$store.dispatch('members:fetchMember', { memberId: user._id });
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: heroDetails.data.data,
|
||||
startingPage: 'profile',
|
||||
});
|
||||
tierIcon () {
|
||||
if (this.isNPC) {
|
||||
return this.icons.tierNPC;
|
||||
}
|
||||
return this.icons[`tier${this.level}`];
|
||||
},
|
||||
tierTitle () {
|
||||
return achievementsLib.getContribText(this.level, this.isNPC) || '';
|
||||
},
|
||||
levelStyle () {
|
||||
return this.userLevelStyleFromLevel(this.level, this.isNPC);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,150 +1,148 @@
|
|||
<template lang="pug">
|
||||
div
|
||||
b-modal#profile(title="Profile", size='lg', :hide-footer="true")
|
||||
.header(slot='modal-header')
|
||||
.profile-actions
|
||||
button.btn.btn-secondary.message-icon(@click='sendMessage()', v-b-tooltip.hover.left="$t('sendMessage')")
|
||||
.svg-icon.message-icon(v-html="icons.message")
|
||||
button.btn.btn-secondary.gift-icon(@click='openSendGemsModal()', v-b-tooltip.hover.bottom="$t('sendGems')")
|
||||
.svg-icon.gift-icon(v-html="icons.gift")
|
||||
button.btn.btn-secondary.remove-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) === -1',
|
||||
@click="blockUser()", v-b-tooltip.hover.right="$t('blockWarning')")
|
||||
.svg-icon.remove-icon(v-html="icons.remove")
|
||||
button.btn.btn-secondary.positive-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) !== -1',
|
||||
@click="unblockUser()", v-b-tooltip.hover.right="$t('unblock')")
|
||||
.svg-icon.positive-icon(v-html="icons.positive")
|
||||
button.btn.btn-secondary.positive-icon(v-if='this.userLoggedIn.contributor.admin && !adminToolsLoaded',
|
||||
@click="loadAdminTools()", v-b-tooltip.hover.right="'Admin - Load Tools'")
|
||||
.svg-icon.positive-icon(v-html="icons.edit")
|
||||
span(v-if='this.userLoggedIn.contributor.admin && adminToolsLoaded')
|
||||
button.btn.btn-secondary.positive-icon(v-if='!hero.flags || (hero.flags && !hero.flags.chatRevoked)',
|
||||
@click="adminRevokeChat()", v-b-tooltip.hover.bottom="'Admin - Revoke Chat Privileges'")
|
||||
.svg-icon.positive-icon(v-html="icons.megaphone")
|
||||
button.btn.btn-secondary.positive-icon(v-if='hero.flags && hero.flags.chatRevoked',
|
||||
@click="adminReinstateChat()", v-b-tooltip.hover.bottom="'Admin - Reinstate Chat Privileges'")
|
||||
.svg-icon.positive-icon(v-html="icons.challenge")
|
||||
button.btn.btn-secondary.positive-icon(v-if='!hero.auth.blocked',
|
||||
@click="adminBlockUser()", v-b-tooltip.hover.right="'Admin - Ban User'")
|
||||
.svg-icon.positive-icon(v-html="icons.lock")
|
||||
button.btn.btn-secondary.positive-icon(v-if='hero.auth.blocked',
|
||||
@click="adminUnblockUser()", v-b-tooltip.hover.right="'Admin - Unblock User'")
|
||||
.svg-icon.positive-icon(v-html="icons.member")
|
||||
.row
|
||||
.col-12
|
||||
member-details(:member="user")
|
||||
.profile(v-if='user')
|
||||
.header
|
||||
.profile-actions
|
||||
button.btn.btn-secondary.message-icon(@click='sendMessage()', v-b-tooltip.hover.left="$t('sendMessage')")
|
||||
.svg-icon.message-icon(v-html="icons.message")
|
||||
button.btn.btn-secondary.gift-icon(@click='openSendGemsModal()', v-b-tooltip.hover.bottom="$t('sendGems')")
|
||||
.svg-icon.gift-icon(v-html="icons.gift")
|
||||
button.btn.btn-secondary.remove-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) === -1',
|
||||
@click="blockUser()", v-b-tooltip.hover.right="$t('blockWarning')")
|
||||
.svg-icon.remove-icon(v-html="icons.remove")
|
||||
button.btn.btn-secondary.positive-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) !== -1',
|
||||
@click="unblockUser()", v-b-tooltip.hover.right="$t('unblock')")
|
||||
.svg-icon.positive-icon(v-html="icons.positive")
|
||||
button.btn.btn-secondary.positive-icon(v-if='this.userLoggedIn.contributor.admin && !adminToolsLoaded',
|
||||
@click="loadAdminTools()", v-b-tooltip.hover.right="'Admin - Load Tools'")
|
||||
.svg-icon.positive-icon(v-html="icons.edit")
|
||||
span(v-if='this.userLoggedIn.contributor.admin && adminToolsLoaded')
|
||||
button.btn.btn-secondary.positive-icon(v-if='!hero.flags || (hero.flags && !hero.flags.chatRevoked)',
|
||||
@click="adminRevokeChat()", v-b-tooltip.hover.bottom="'Admin - Revoke Chat Privileges'")
|
||||
.svg-icon.positive-icon(v-html="icons.megaphone")
|
||||
button.btn.btn-secondary.positive-icon(v-if='hero.flags && hero.flags.chatRevoked',
|
||||
@click="adminReinstateChat()", v-b-tooltip.hover.bottom="'Admin - Reinstate Chat Privileges'")
|
||||
.svg-icon.positive-icon(v-html="icons.challenge")
|
||||
button.btn.btn-secondary.positive-icon(v-if='!hero.auth.blocked',
|
||||
@click="adminBlockUser()", v-b-tooltip.hover.right="'Admin - Ban User'")
|
||||
.svg-icon.positive-icon(v-html="icons.lock")
|
||||
button.btn.btn-secondary.positive-icon(v-if='hero.auth.blocked',
|
||||
@click="adminUnblockUser()", v-b-tooltip.hover.right="'Admin - Unblock User'")
|
||||
.svg-icon.positive-icon(v-html="icons.member")
|
||||
.row
|
||||
.col-12.text-center.nav
|
||||
.nav-item(@click='selectPage("profile")', :class="{active: selectedPage === 'profile'}") {{ $t('profile') }}
|
||||
.nav-item(@click='selectPage("stats")', :class="{active: selectedPage === 'stats'}") {{ $t('stats') }}
|
||||
.nav-item(@click='selectPage("achievements")', :class="{active: selectedPage === 'achievements'}") {{ $t('achievements') }}
|
||||
#userProfile.standard-page(v-show='selectedPage === "profile"', v-if='user.profile')
|
||||
.row
|
||||
.col-12.col-md-8
|
||||
.header.mb-3
|
||||
h1 {{user.profile.name}}
|
||||
div
|
||||
.name(v-if='user.auth && user.auth.local && user.auth.local.username') @{{ user.auth.local.username }}
|
||||
div
|
||||
.name {{ user._id }}
|
||||
.col-12.col-md-4
|
||||
button.btn.btn-secondary(v-if='user._id === userLoggedIn._id', @click='editing = !editing') {{ $t('edit') }}
|
||||
.row(v-if='!editing')
|
||||
.col-12.col-md-8
|
||||
.about
|
||||
h2 {{ $t('about') }}
|
||||
p(v-if='user.profile.blurb', v-markdown='user.profile.blurb')
|
||||
p(v-else) {{ $t('noDescription') }}
|
||||
.photo
|
||||
h2 {{ $t('photo') }}
|
||||
img.img-rendering-auto(v-if='user.profile.imageUrl', :src='user.profile.imageUrl')
|
||||
p(v-else) {{ $t('noPhoto') }}
|
||||
.col-12
|
||||
member-details(:member="user")
|
||||
.row
|
||||
.col-12.col-md-6.offset-md-3.text-center.nav
|
||||
.nav-item(@click='selectPage("profile")', :class="{active: selectedPage === 'profile'}") {{ $t('profile') }}
|
||||
.nav-item(@click='selectPage("stats")', :class="{active: selectedPage === 'stats'}") {{ $t('stats') }}
|
||||
.nav-item(@click='selectPage("achievements")', :class="{active: selectedPage === 'achievements'}") {{ $t('achievements') }}
|
||||
#userProfile.standard-page(v-show='selectedPage === "profile"', v-if='user.profile')
|
||||
.row
|
||||
.col-12.col-md-8
|
||||
.header.mb-3
|
||||
h1 {{user.profile.name}}
|
||||
.name(v-if='user.auth && user.auth.local && user.auth.local.username') @{{ user.auth.local.username }}
|
||||
.col-12.col-md-4
|
||||
button.btn.btn-secondary(v-if='user._id === userLoggedIn._id', @click='editing = !editing', style='float:right;') {{ $t('edit') }}
|
||||
.row(v-if='!editing')
|
||||
.col-12.col-md-8
|
||||
.about.profile-section
|
||||
h2 {{ $t('about') }}
|
||||
p(v-if='user.profile.blurb', v-markdown='user.profile.blurb')
|
||||
p(v-else) {{ $t('noDescription') }}
|
||||
.photo.profile-section
|
||||
h2 {{ $t('photo') }}
|
||||
img.img-rendering-auto(v-if='user.profile.imageUrl', :src='user.profile.imageUrl')
|
||||
p(v-else) {{ $t('noPhoto') }}
|
||||
|
||||
.col-12.col-md-4
|
||||
.info
|
||||
h2 {{ $t('info') }}
|
||||
div
|
||||
strong {{ $t('joined') }}:
|
||||
| {{userJoinedDate}}
|
||||
div
|
||||
strong {{ $t('latestCheckin') }}:
|
||||
| {{userLastLoggedIn}}
|
||||
div
|
||||
strong {{ $t('totalLogins') }}:
|
||||
span {{ $t('totalCheckins', {count: user.loginIncentives}) }}
|
||||
div
|
||||
| {{getProgressDisplay()}}
|
||||
.progress
|
||||
.progress-bar(role='progressbar', :aria-valuenow='incentivesProgress', aria-valuemin='0', aria-valuemax='100', :style='{width: incentivesProgress + "%"}')
|
||||
span.sr-only {{ incentivesProgress }}% {{$t('complete')}}
|
||||
// @TODO: Implement in V2 .social
|
||||
.col-12.col-md-4
|
||||
.info.profile-section
|
||||
h2 {{ $t('info') }}
|
||||
.info-item
|
||||
.info-item-label {{ $t('joined') }}:
|
||||
.info-item-value {{userJoinedDate}}
|
||||
.info-item
|
||||
.info-item-label {{ $t('totalLogins') }}:
|
||||
.info-item-value {{ user.loginIncentives }}
|
||||
.info-item
|
||||
.info-item-label {{ $t('latestCheckin') }}:
|
||||
.info-item-value {{userLastLoggedIn}}
|
||||
.info-item
|
||||
| {{getProgressDisplay()}}
|
||||
.progress
|
||||
.progress-bar(role='progressbar', :aria-valuenow='incentivesProgress', aria-valuemin='0', aria-valuemax='100', :style='{width: incentivesProgress + "%"}')
|
||||
span.sr-only {{ incentivesProgress }}% {{$t('complete')}}
|
||||
// @TODO: Implement in V2 .social
|
||||
|
||||
.row(v-if='editing')
|
||||
h1 {{$t('editProfile')}}
|
||||
.col-12
|
||||
.alert.alert-info.alert-sm(v-html='$t("communityGuidelinesWarning", managerEmail)')
|
||||
.row(v-if='editing')
|
||||
h1 {{$t('editProfile')}}
|
||||
.col-12
|
||||
.alert.alert-info.alert-sm(v-html='$t("communityGuidelinesWarning", managerEmail)')
|
||||
|
||||
// TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak
|
||||
.form-group
|
||||
label {{ $t('displayName') }}
|
||||
input.form-control(type='text', :placeholder="$t('fullName')", v-model='editingProfile.name')
|
||||
.form-group
|
||||
label {{ $t('photoUrl') }}
|
||||
input.form-control(type='url', v-model='editingProfile.imageUrl', :placeholder="$t('imageUrl')")
|
||||
.form-group
|
||||
label {{ $t('about') }}
|
||||
textarea.form-control(rows=5, :placeholder="$t('displayBlurbPlaceholder')", v-model='editingProfile.blurb')
|
||||
// include ../../shared/formatting-help
|
||||
//- .form-group
|
||||
//- label Facebook
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.facebook')
|
||||
//- .form-group
|
||||
//- label Instagram
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.instagram')
|
||||
//- .form-group
|
||||
//- label Twitter
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.twitter')
|
||||
// TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak
|
||||
.form-group
|
||||
label {{ $t('displayName') }}
|
||||
input.form-control(type='text', :placeholder="$t('fullName')", v-model='editingProfile.name')
|
||||
.form-group
|
||||
label {{ $t('photoUrl') }}
|
||||
input.form-control(type='url', v-model='editingProfile.imageUrl', :placeholder="$t('imageUrl')")
|
||||
.form-group
|
||||
label {{ $t('about') }}
|
||||
textarea.form-control(rows=5, :placeholder="$t('displayBlurbPlaceholder')", v-model='editingProfile.blurb')
|
||||
// include ../../shared/formatting-help
|
||||
//- .form-group
|
||||
//- label Facebook
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.facebook')
|
||||
//- .form-group
|
||||
//- label Instagram
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.instagram')
|
||||
//- .form-group
|
||||
//- label Twitter
|
||||
//- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.twitter')
|
||||
|
||||
.col-12.text-center
|
||||
button.btn.btn-primary(@click='save()') {{ $t("save") }}
|
||||
button.btn.btn-warning(@click='editing = false') {{ $t("cancel") }}
|
||||
#achievements.standard-page.container(v-show='selectedPage === "achievements"', v-if='user.achievements')
|
||||
.row(v-for='(category, key) in achievements')
|
||||
h2.col-12.text-center {{ $t(key+'Achievs') }}
|
||||
.col-12.col-md-3.text-center(v-for='(achievement, key) in category.achievements')
|
||||
.box.achievement-container(:id='key + "-achievement"', :class='{"achievement-unearned": !achievement.earned}')
|
||||
b-popover(
|
||||
:target="'#' + key + '-achievement'",
|
||||
triggers="hover",
|
||||
placement="top",
|
||||
)
|
||||
h4.popover-content-title {{ achievement.title }}
|
||||
div.popover-content-text(v-html="achievement.text")
|
||||
.achievement(:class='achievement.icon + "2x"', v-if='achievement.earned')
|
||||
.counter.badge.badge-info.stack-count(v-if='achievement.optionalCount') {{achievement.optionalCount}}
|
||||
.achievement.achievement-unearned(class='achievement-unearned2x', v-if='!achievement.earned')
|
||||
hr.col-12
|
||||
.row
|
||||
.col-12.col-md-6(v-if='user.achievements.challenges')
|
||||
.achievement-icon.achievement-karaoke
|
||||
h2.text-center {{$t('challengesWon')}}
|
||||
div(v-for='chal in user.achievements.challenges')
|
||||
span(v-markdown='chal')
|
||||
hr
|
||||
.col-12.col-md-6(v-if='user.achievements.quests')
|
||||
.achievement-icon.achievement-alien
|
||||
h2.text-center {{$t('questsCompleted')}}
|
||||
div(v-for='(value, key) in user.achievements.quests')
|
||||
span {{ content.quests[key].text() }} ({{ value }})
|
||||
profileStats(
|
||||
:user='user',
|
||||
v-show='selectedPage === "stats"',
|
||||
:showAllocation='showAllocation()',
|
||||
v-if='user.preferences')
|
||||
.col-12.text-center
|
||||
button.btn.btn-primary(@click='save()') {{ $t("save") }}
|
||||
button.btn.btn-warning(@click='editing = false') {{ $t("cancel") }}
|
||||
#achievements.standard-page.container(v-show='selectedPage === "achievements"', v-if='user.achievements')
|
||||
.row(v-for='(category, key) in achievements')
|
||||
h2.col-12.text-center {{ $t(key+'Achievs') }}
|
||||
.col-12.col-md-3.text-center(v-for='(achievement, key) in category.achievements')
|
||||
.box.achievement-container(:id='key + "-achievement"', :class='{"achievement-unearned": !achievement.earned}')
|
||||
b-popover(
|
||||
:target="'#' + key + '-achievement'",
|
||||
triggers="hover",
|
||||
placement="top",
|
||||
)
|
||||
h4.popover-content-title {{ achievement.title }}
|
||||
div.popover-content-text(v-html="achievement.text")
|
||||
.achievement(:class='achievement.icon + "2x"', v-if='achievement.earned')
|
||||
.counter.badge.badge-info.stack-count(v-if='achievement.optionalCount') {{achievement.optionalCount}}
|
||||
.achievement.achievement-unearned(class='achievement-unearned2x', v-if='!achievement.earned')
|
||||
hr.col-12
|
||||
.row
|
||||
.col-12.col-md-6(v-if='user.achievements.challenges')
|
||||
.achievement-icon.achievement-karaoke
|
||||
h2.text-center {{$t('challengesWon')}}
|
||||
div(v-for='chal in user.achievements.challenges')
|
||||
span(v-markdown='chal')
|
||||
hr
|
||||
.col-12.col-md-6(v-if='user.achievements.quests')
|
||||
.achievement-icon.achievement-alien
|
||||
h2.text-center {{$t('questsCompleted')}}
|
||||
div(v-for='(value, key) in user.achievements.quests')
|
||||
span {{ content.quests[key].text() }} ({{ value }})
|
||||
profileStats(
|
||||
:user='user',
|
||||
v-show='selectedPage === "stats"',
|
||||
:showAllocation='showAllocation()',
|
||||
v-if='user.preferences')
|
||||
send-gems-modal(:userReceivingGems='userReceivingGems')
|
||||
</template>
|
||||
|
||||
<style lang="scss" >
|
||||
#profile {
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
.profile {
|
||||
.member-details {
|
||||
.character-name, small, .small-text {
|
||||
color: #878190;
|
||||
|
|
@ -159,6 +157,20 @@ div
|
|||
color: white;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.progress-container > .progress {
|
||||
background-color: $gray-500 !important;
|
||||
height: 16px !important;
|
||||
vertical-align: middle !important;
|
||||
|
||||
.progress-bar {
|
||||
height: 16px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.profile-name-character {
|
||||
margin-left: 4px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.message-icon svg {
|
||||
|
|
@ -218,7 +230,7 @@ div
|
|||
.header {
|
||||
h1 {
|
||||
color: $purple-200;
|
||||
margin-bottom: 0rem;
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
|
||||
h4 {
|
||||
|
|
@ -307,7 +319,65 @@ div
|
|||
}
|
||||
}
|
||||
|
||||
.member-details {
|
||||
.character-name, small, .small-text {
|
||||
color: #878190;
|
||||
}
|
||||
|
||||
.progress-container > .progress {
|
||||
background-color: $gray-500;
|
||||
}
|
||||
}
|
||||
|
||||
.gearTitle {
|
||||
color: white;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.profile-section {
|
||||
h2 {
|
||||
overflow: hidden;
|
||||
size: 16px;
|
||||
color: $gray-50;
|
||||
}
|
||||
h2:after {
|
||||
background-color: $gray-500;
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 1px;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 90%;
|
||||
left: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.info {
|
||||
|
||||
.info-item {
|
||||
color: $gray-200;
|
||||
size: 14px;
|
||||
margin-bottom: 8px;
|
||||
|
||||
.info-item-label {
|
||||
font-weight: bold;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.info-item-value {
|
||||
display: inline-block;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 8px;
|
||||
|
||||
.progress-bar {
|
||||
background-color: $green-10 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
|
@ -339,6 +409,7 @@ import member from 'assets/svg/member-icon.svg';
|
|||
import edit from 'assets/svg/edit.svg';
|
||||
|
||||
export default {
|
||||
props: ['userId', 'startingPage'],
|
||||
directives: {
|
||||
markdown,
|
||||
},
|
||||
|
|
@ -377,20 +448,9 @@ export default {
|
|||
selectedPage: 'profile',
|
||||
achievements: {},
|
||||
content: Content,
|
||||
user: undefined,
|
||||
};
|
||||
},
|
||||
mounted () {
|
||||
this.$root.$on('habitica:show-profile', (data) => {
|
||||
if (!data.user || !data.startingPage) return;
|
||||
// @TODO: We may be able to remove the need for store
|
||||
this.$store.state.profileUser = data.user;
|
||||
this.$store.state.profileOptions.startingPage = data.startingPage;
|
||||
this.$root.$emit('bv::show::modal', 'profile');
|
||||
});
|
||||
},
|
||||
destroyed () {
|
||||
this.$root.$off('habitica:show-profile');
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
userLoggedIn: 'user.data',
|
||||
|
|
@ -408,34 +468,6 @@ export default {
|
|||
costumeItems () {
|
||||
return this.user.items.gear.costume;
|
||||
},
|
||||
user () {
|
||||
let user = this.userLoggedIn;
|
||||
|
||||
// Reset editing when user is changed. Move to watch or is this good?
|
||||
this.editing = false;
|
||||
this.hero = {};
|
||||
this.adminToolsLoaded = false;
|
||||
|
||||
let profileUser = this.$store.state.profileUser;
|
||||
|
||||
if (profileUser._id && profileUser._id !== this.userLoggedIn._id) {
|
||||
user = profileUser;
|
||||
}
|
||||
|
||||
this.editingProfile.name = user.profile.name;
|
||||
this.editingProfile.imageUrl = user.profile.imageUrl;
|
||||
this.editingProfile.blurb = user.profile.blurb;
|
||||
|
||||
if (!user.achievements.quests) user.achievements.quests = {};
|
||||
if (!user.achievements.challenges) user.achievements.challenges = {};
|
||||
// @TODO: this common code should handle the above
|
||||
this.achievements = achievementsLib.getAchievementsForProfile(user);
|
||||
|
||||
// @TODO For some reason markdown doesn't seem to be handling numbers or maybe undefined?
|
||||
user.profile.blurb = user.profile.blurb ? `${user.profile.blurb}` : '';
|
||||
|
||||
return user;
|
||||
},
|
||||
incentivesProgress () {
|
||||
return this.getIncentivesProgress();
|
||||
},
|
||||
|
|
@ -457,16 +489,50 @@ export default {
|
|||
return this.$store.getters['members:hasClass'](this.userLoggedIn);
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.loadUser();
|
||||
},
|
||||
watch: {
|
||||
startingPageOption () {
|
||||
this.selectedPage = this.$store.state.profileOptions.startingPage;
|
||||
startingPage () {
|
||||
this.selectedPage = this.startingPage;
|
||||
},
|
||||
async userId () {
|
||||
this.loadUser();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
async loadUser () {
|
||||
let user = this.userLoggedIn;
|
||||
|
||||
// Reset editing when user is changed. Move to watch or is this good?
|
||||
this.editing = false;
|
||||
this.hero = {};
|
||||
this.adminToolsLoaded = false;
|
||||
|
||||
let profileUserId = this.userId;
|
||||
|
||||
if (profileUserId && profileUserId !== this.userLoggedIn._id) {
|
||||
let response = await this.$store.dispatch('members:fetchMember', { memberId: profileUserId });
|
||||
user = response.data.data;
|
||||
}
|
||||
|
||||
this.editingProfile.name = user.profile.name;
|
||||
this.editingProfile.imageUrl = user.profile.imageUrl;
|
||||
this.editingProfile.blurb = user.profile.blurb;
|
||||
|
||||
if (!user.achievements.quests) user.achievements.quests = {};
|
||||
if (!user.achievements.challenges) user.achievements.challenges = {};
|
||||
// @TODO: this common code should handle the above
|
||||
this.achievements = achievementsLib.getAchievementsForProfile(user);
|
||||
|
||||
// @TODO For some reason markdown doesn't seem to be handling numbers or maybe undefined?
|
||||
user.profile.blurb = user.profile.blurb ? `${user.profile.blurb}` : '';
|
||||
|
||||
this.user = user;
|
||||
},
|
||||
selectPage (page) {
|
||||
this.selectedPage = page;
|
||||
// @TODO: rename this property?
|
||||
this.$store.state.profileOptions.startingPage = page;
|
||||
history.replaceState(null, null, '');
|
||||
},
|
||||
sendMessage () {
|
||||
this.$root.$emit('habitica::new-inbox-message', {
|
||||
|
|
@ -562,7 +628,6 @@ export default {
|
|||
showAllocation () {
|
||||
return this.user._id === this.userLoggedIn._id && this.hasClass;
|
||||
},
|
||||
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
50
website/client/components/userMenu/profileModal.vue
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<template lang="pug">
|
||||
b-modal#profile(size='lg', :hide-footer="true", :hide-header="true", @hidden="onHidden", @shown="onShown()")
|
||||
profile(:userId='userId', :startingPage='startingPage', style="margin-top:24px;")
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
import profile from './profile';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
profile,
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
userId: undefined,
|
||||
startingPage: undefined,
|
||||
path: undefined,
|
||||
};
|
||||
},
|
||||
mounted () {
|
||||
this.$root.$on('habitica:show-profile', (data) => {
|
||||
this.userId = data.userId;
|
||||
this.startingPage = data.startingPage || 'profile';
|
||||
this.path = data.path;
|
||||
this.$root.$emit('bv::show::modal', 'profile');
|
||||
});
|
||||
},
|
||||
destroyed () {
|
||||
this.$root.$off('habitica:show-profile');
|
||||
},
|
||||
methods: {
|
||||
onShown () {
|
||||
history.pushState('', null, this.path);
|
||||
},
|
||||
onHidden () {
|
||||
if (this.$route.path !== window.location.pathname) {
|
||||
this.$router.go(-1);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1,21 +1,24 @@
|
|||
<template lang="pug">
|
||||
div
|
||||
// @TODO: profile modal is pulled in on the header. So.. seems a little odd to depend on it that way, but for now let's depend
|
||||
.container
|
||||
.standard-page
|
||||
profile(:userId='userId', :startingPage='startingPage')
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import profile from './profile';
|
||||
<style lang="scss" scoped>
|
||||
@import '~client/assets/scss/colors.scss';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
profile,
|
||||
},
|
||||
mounted () {
|
||||
// @TODO: Do we need this page?
|
||||
this.$root.$emit('habitica:show-profile', {
|
||||
user: {},
|
||||
startingPage: 'profile',
|
||||
});
|
||||
},
|
||||
};
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
import profile from './profile';
|
||||
|
||||
export default {
|
||||
props: ['userId', 'startingPage'],
|
||||
components: {
|
||||
profile,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
.info {{ $t(bullet) }}
|
||||
.row
|
||||
.col-12.text-center
|
||||
a(href='http://habitica.wikia.com/wiki/World_Bosses' target='_blank').footer-link {{ $t('worldBossLink') }}
|
||||
a(href='http://habitica.fandom.com/wiki/World_Bosses' target='_blank').footer-link {{ $t('worldBossLink') }}
|
||||
</template>
|
||||
|
||||
<style>
|
||||
|
|
|
|||
18
website/client/libs/highlightUsers.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
export function highlightUsers (text, userName, displayName) {
|
||||
const findAnyMentionRegex = '@[\\w-]+(?:\\b)';
|
||||
|
||||
const atRegex = new RegExp(`${findAnyMentionRegex}`, 'gi');
|
||||
const currentUser = [`@${userName}`, `@${displayName}`];
|
||||
|
||||
if (atRegex.test(text)) {
|
||||
text = text.replace(atRegex, match => {
|
||||
if (currentUser.includes(match)) {
|
||||
return `<span class="at-highlight at-text">${match}</span>`;
|
||||
}
|
||||
|
||||
return `<span class="at-text">${match}</span>`;
|
||||
});
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
|
@ -107,6 +107,15 @@ const router = new VueRouter({
|
|||
{ name: 'logout', path: '/logout', component: Logout },
|
||||
{ name: 'resetPassword', path: '/reset-password', component: RegisterLoginReset, meta: {requiresLogin: false} },
|
||||
{ name: 'tasks', path: '/', component: UserTasks },
|
||||
{
|
||||
name: 'userProfile',
|
||||
path: '/profile/:userId',
|
||||
component: ProfilePage,
|
||||
props: true,
|
||||
children: [
|
||||
{ name: 'userProfilePage', path: ':startingPage', component: ProfilePage },
|
||||
],
|
||||
},
|
||||
{
|
||||
path: '/inventory',
|
||||
component: InventoryContainer,
|
||||
|
|
@ -354,6 +363,31 @@ router.beforeEach(function routerGuard (to, from, next) {
|
|||
page: to.name || to.path,
|
||||
});
|
||||
|
||||
if ((to.name === 'userProfile' || to.name === 'userProfilePage') && from.name !== null) {
|
||||
let startingPage = 'profile';
|
||||
if (to.params.startingPage !== undefined) {
|
||||
startingPage = to.params.startingPage;
|
||||
}
|
||||
router.app.$emit('habitica:show-profile', {
|
||||
userId: to.params.userId,
|
||||
startingPage,
|
||||
path: to.path,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if ((to.name === 'stats' || to.name === 'achievements' || to.name === 'profile') && from.name !== null) {
|
||||
router.app.$emit('habitica:show-profile', {
|
||||
startingPage: to.name,
|
||||
path: to.path,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (from.name === 'userProfile' || from.name === 'userProfilePage' || from.name === 'stats' || from.name === 'achievements' || from.name === 'profile') {
|
||||
router.app.$root.$emit('bv::hide::modal', 'profile');
|
||||
}
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ request that your changes be translated; changes are automatically
|
|||
copied to Transifex on a regular basis.
|
||||
|
||||
If you want to help with translations, please first read [Guidance for
|
||||
Linguists](http://habitrpg.wikia.com/wiki/Guidance_for_Linguists) and
|
||||
Linguists](http://habitica.fandom.com/wiki/Guidance_for_Linguists) and
|
||||
note especially its information about the [Translations Trello
|
||||
card](https://trello.com/c/SvTsLdRF/12-translations).
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"unsubChallenge": "Повредена връзка на предизвикателство: тази задача е била част от предизвикателство, но Вие сте се отписали от него. Какво искате да направите с останалите задачи?",
|
||||
"challengeWinner": "Беше победител в следните предизвикателства",
|
||||
"challenges": "Предизвикателства",
|
||||
"challengesLink": "<a href='http://habitica.wikia.com/wiki/Challenges' target='_blank'>Предизвикателства</a>",
|
||||
"challengesLink": "<a href='http://habitica.fandom.com/wiki/Challenges' target='_blank'>Предизвикателства</a>",
|
||||
"challengePrize": "Награда за предизвикателството",
|
||||
"endDate": "Крайна дата",
|
||||
"noChallenges": "Все още няма предизвикателства. Посетете",
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
"costumeText": "Ако предпочитате вида на друго снаряжение пред това, което носите, отметнете кутийката „Използване на костюм“, за да облечете костюм, докато носите бойното си снаряжение отдолу.",
|
||||
"useCostume": "Използване на костюм",
|
||||
"useCostumeInfo1": "Натиснете „Използване на костюм“, за да екипирате героя си без да променяте показателите на своето бойно снаряжение! Това означава, че можете да екипирате най-добрите показатели вляво и да облечете героя си с по-добре изглеждаща екипировка вдясно.",
|
||||
"useCostumeInfo2": "След като натиснете „Използване на костюм“, героят Ви ще изглежда доста обикновен… но не се притеснявайте! Ако погледнете вляво, ще видите, че бойното Ви снаряжение е все още екипирано. След това можете да направите героя си по-интересен! Каквото и да екипирате вдясно, то няма да повлияе на показателите Ви, но може да направи героя Ви да изглежда страхотно. Опитайте различни комбинации, смесвайте комплекти и съчетайте костюма със своите любимци, превози и фонови изображения.<br><br>Имате още въпроси? Разгледайте <a href=\"http://habitica.wikia.com/wiki/Equipment#Costumes\">страницата с костюмите</a> в уикито. Направили сте перфектно съчетание? Изфукайте се в <a href=\"/groups/guild/3884eeaa-2d6a-45e8-a279-ada6de9709e1\">гилдията „Карнавал на костюмите“ (Costume Carnival)</a> или се покажете в кръчмата!",
|
||||
"useCostumeInfo2": "След като натиснете „Използване на костюм“, героят Ви ще изглежда доста обикновен… но не се притеснявайте! Ако погледнете вляво, ще видите, че бойното Ви снаряжение е все още екипирано. След това можете да направите героя си по-интересен! Каквото и да екипирате вдясно, то няма да повлияе на показателите Ви, но може да направи героя Ви да изглежда страхотно. Опитайте различни комбинации, смесвайте комплекти и съчетайте костюма със своите любимци, превози и фонови изображения.<br><br>Имате още въпроси? Разгледайте <a href=\"http://habitica.fandom.com/wiki/Equipment#Costumes\">страницата с костюмите</a> в уикито. Направили сте перфектно съчетание? Изфукайте се в <a href=\"/groups/guild/3884eeaa-2d6a-45e8-a279-ada6de9709e1\">гилдията „Карнавал на костюмите“ (Costume Carnival)</a> или се покажете в кръчмата!",
|
||||
"costumePopoverText": "Изберете „Използване на костюм“, за да екипирате героя си без да променяте показателите на своето бойно снаряжение! Това означава, че облечете каквото пожелаете на героя си без да премахвате бойното си снаряжение.",
|
||||
"autoEquipPopoverText": "Изберете това, за да екипирате всеки предмет в момента, когато го купите.",
|
||||
"costumeDisabled": "Вие изключихте костюма си.",
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
"allocatePerPop": "Добавяне на точка към Усет",
|
||||
"allocateInt": "Разпределени точки към Интелигентност:",
|
||||
"allocateIntPop": "Добавяне на точка към Интелигентност",
|
||||
"noMoreAllocate": "След като достигнахте ниво 100, вече няма да получавате повече показателни точки. Може да продължавате да вдигате нива или да започнете ново приключение от ниво 1, използвайки <a href='http://habitica.wikia.com/wiki/Orb_of_Rebirth' target='_blank'>Кълбото на прераждането</a>, вече достъпно безплатно на пазара.",
|
||||
"noMoreAllocate": "След като достигнахте ниво 100, вече няма да получавате повече показателни точки. Може да продължавате да вдигате нива или да започнете ново приключение от ниво 1, използвайки <a href='http://habitica.fandom.com/wiki/Orb_of_Rebirth' target='_blank'>Кълбото на прераждането</a>, вече достъпно безплатно на пазара.",
|
||||
"stats": "Показатели",
|
||||
"achievs": "Постижения",
|
||||
"strength": "Сила",
|
||||
|
|
@ -156,7 +156,7 @@
|
|||
"optOutOfClasses": "Отказване",
|
||||
"optOutOfPMs": "Отказване",
|
||||
"chooseClass": "Изберете клас",
|
||||
"chooseClassLearnMarkdown": "[Научете повече относно класовата система на Хабитика](http://habitica.wikia.com/wiki/Class_System)",
|
||||
"chooseClassLearnMarkdown": "[Научете повече относно класовата система на Хабитика](http://habitica.fandom.com/wiki/Class_System)",
|
||||
"optOutOfClassesText": "Не Ви се занимава с класове? Искате да изберете по-късно? Откажете се от тях — ще бъдете воин без специални умения. Можете да прочетете относно класовата система по-късно в уикито, както и да включите класовете по всяко време от Потребителската иконка -> Настройки.",
|
||||
"selectClass": "Избиране на <%= heroClass %>",
|
||||
"select": "Избиране",
|
||||
|
|
@ -194,11 +194,11 @@
|
|||
"unequipPetMountBackground": "Разекипиране на любимец, превоз, фон",
|
||||
"animalSkins": "Животински кожи",
|
||||
"chooseClassHeading": "Изберете класа си! Или се откажете и го оставете за по-късно.",
|
||||
"warriorWiki": "<a href='http://habitica.wikia.com/wiki/Warrior' target='_blank'>Воин</a>",
|
||||
"mageWiki": "<a href='http://habitica.wikia.com/wiki/Mage' target='_blank'>Магьосник</a>",
|
||||
"rogueWiki": "<a href='http://habitica.wikia.com/wiki/Rogue' target='_blank'>Мошеник</a>",
|
||||
"healerWiki": "<a href='http://habitica.wikia.com/wiki/Healer' target='_blank'>Лечител</a>",
|
||||
"chooseClassLearn": "<a href='http://habitica.wikia.com/wiki/Class_System' target='_blank'>Научете повече за класовете</a>",
|
||||
"warriorWiki": "<a href='http://habitica.fandom.com/wiki/Warrior' target='_blank'>Воин</a>",
|
||||
"mageWiki": "<a href='http://habitica.fandom.com/wiki/Mage' target='_blank'>Магьосник</a>",
|
||||
"rogueWiki": "<a href='http://habitica.fandom.com/wiki/Rogue' target='_blank'>Мошеник</a>",
|
||||
"healerWiki": "<a href='http://habitica.fandom.com/wiki/Healer' target='_blank'>Лечител</a>",
|
||||
"chooseClassLearn": "<a href='http://habitica.fandom.com/wiki/Class_System' target='_blank'>Научете повече за класовете</a>",
|
||||
"str": "СИЛ",
|
||||
"con": "ЯКО",
|
||||
"per": "УСЕ",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
"commGuidePara029": "<strong>Обществените гилдии приличат на кръчмата, но вместо да се обсъждат общи неща, те имат определена тема.</strong> Публичният чат на гилдията би трябвало да се концентрира върху тази тема. Например, членовете на гилдията „Думоковачи“ може да се възмутят, ако разговорът изведнъж се концентрира върху градинарството, вместо върху писането; а членовете на гилдията „Любители на драконите“ може би не се интересуват от разгадаване на древни руни. Някои гилдии може да позволяват това, но общото правило е: <strong>спазвайте темата!</strong>",
|
||||
"commGuidePara031": "Някои обществени гилдии може да съдържат чувствителни теми като депресия, религия, политика и т.н. В това няма проблем, стига разговорите в тези гилдии да спазват Правилата и условията или Правилата на обществените места, както и да спазват темата си.",
|
||||
"commGuidePara033": "<strong>В обществените гилдии НЕ трябва да има съдържание, подходящо само за възрастни. Ако такова ще се обсъжда често, това трябва да се посочи в заглавието на гилдията.</strong> Целта на това е Хабитика да е безопасно и приятно място за всички.",
|
||||
"commGuidePara035": "<strong>Ако в гилдията се обсъждат различни теми, неподходящи за широката публика, би било добре да поставяте предупреждение към коментарите си (например: „Внимание: тук се говори за самонараняване“).</strong> За тези предупреждения може да има и други правила, които гилдиите могат да опишат по подробно. Ако е възможно, моля, използвайте синтаксиса на <a href='http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet' target='_blank'>markdown</a>, за да скриете неподходящото съдържание на нов ред, така че онези, които искат да избегнат четенето му, да могат просто да го подминат без изобщо да го видят. Екипът и модераторите на Хабитика могат въпреки всичко да премахнат това съдържание по собствена преценка.",
|
||||
"commGuidePara035": "<strong>Ако в гилдията се обсъждат различни теми, неподходящи за широката публика, би било добре да поставяте предупреждение към коментарите си (например: „Внимание: тук се говори за самонараняване“).</strong> За тези предупреждения може да има и други правила, които гилдиите могат да опишат по подробно. Ако е възможно, моля, използвайте синтаксиса на <a href='http://habitica.fandom.com/wiki/Markdown_Cheat_Sheet' target='_blank'>markdown</a>, за да скриете неподходящото съдържание на нов ред, така че онези, които искат да избегнат четенето му, да могат просто да го подминат без изобщо да го видят. Екипът и модераторите на Хабитика могат въпреки всичко да премахнат това съдържание по собствена преценка.",
|
||||
"commGuidePara036": "Освен това, когато се обсъждат такива неща, те трябва да са по темата — обсъждането на самонараняване може да има смисъл в гилдия за борба с депресията, но споменаването му може да не е толкова подходящо в музикална гилдия, например. Ако видите някого, който често нарушава това правило, особено ако вече му е обърнато внимание на това, моля, докладвайте публикациите му и се свържете с модераторите чрез <a href='http://contact.habitica.com/' target='_blank'>формуляра за връзка с модераторите</a>.",
|
||||
"commGuidePara037": "<strong>Гилдия, било тя обществена или частна, не може да бъде създавана с цел да бъде нападана дадена група или човек.</strong> Създаването на подобна гилдия е основание за незабавно блокиране. Борете се с вредните си навици, а не с другарите си приключенци!",
|
||||
"commGuidePara038": "<strong>Всички предизвикателства в кръчмата и такива от обществени гилдии също трябва да спазват тези правила.</strong>",
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
"commGuidePara068": "Напред, смели приключенецо, разбий няколко ежедневни задачи!",
|
||||
"commGuideHeadingLinks": "Полезни връзки",
|
||||
"commGuideLink01": "<a href='/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a' target='_blank'>Помощ за Хабитика: Задайте въпрос</a>: гилдия, в която потребителите могат да задават въпроси!",
|
||||
"commGuideLink02": "<a href='http://habitica.wikia.com/wiki/Habitica_Wiki' target='_blank'>Уикито</a>: най-голямата колекция от информация относно Хабитика.",
|
||||
"commGuideLink02": "<a href='http://habitica.fandom.com/wiki/Habitica_Wiki' target='_blank'>Уикито</a>: най-голямата колекция от информация относно Хабитика.",
|
||||
"commGuideLink03": "<a href='https://github.com/HabitRPG/habitica' target='_blank'>GitHub</a>: за докладване на проблеми и помощ с кода!",
|
||||
"commGuideLink04": "<a href='https://trello.com/b/EpoYEYod/' target='_blank'>Основната дъска в Трело</a>: за заявяване на нови функционалности за уеб сайта.",
|
||||
"commGuideLink05": "<a href='https://trello.com/b/mXK3Eavg/' target='_blank'>Мобилната дъска в Трело</a>: за заявяване на нови функционалности за версиите за мобилни устройства.",
|
||||
|
|
|
|||
|
|
@ -64,10 +64,10 @@
|
|||
"playerTiers": "Нива на играчите",
|
||||
"tier": "Ниво",
|
||||
"visitHeroes": "Посетете залата на героите (сътрудници и дарители)",
|
||||
"conLearn": "<a href='http://habitica.wikia.com/wiki/Contributor_Rewards' target='_blank'>Научете повече относно наградите за принос</a>",
|
||||
"conLearn": "<a href='http://habitica.fandom.com/wiki/Contributor_Rewards' target='_blank'>Научете повече относно наградите за принос</a>",
|
||||
"conLearnHow": "Научете как да допринесете за развитието на Хабитика",
|
||||
"conLearnURL": "http://habitica.wikia.com/wiki/Contributing_to_Habitica",
|
||||
"conRewardsURL": "http://habitica.wikia.com/wiki/Contributor_Rewards",
|
||||
"conLearnURL": "http://habitica.fandom.com/wiki/Contributing_to_Habitica",
|
||||
"conRewardsURL": "http://habitica.fandom.com/wiki/Contributor_Rewards",
|
||||
"surveysSingle": "Помогнал(а) за развитието на Хабитика чрез попълване на въпросник или включване в мащабно организирано изпитание. Благодарим Ви!",
|
||||
"surveysMultiple": "Помогнал(а) за развитието на Хабитика <%= count %> пъти чрез попълване на въпросник или включване в мащабно организирано изпитание. Благодарим Ви!",
|
||||
"currentSurvey": "Настоящо проучване",
|
||||
|
|
@ -76,5 +76,5 @@
|
|||
"blurbGuildsPage": "Гилдиите са групи за разговори по общи интереси, създавани от играчите и за играчите. Прегледайте списъка и се присъединете към гилдиите, които Ви се струват интересни!",
|
||||
"blurbChallenges": "Предизвикателствата се създават от играчите. Присъединявайки се към предизвикателство, Вие ще добавите задачите от него към своята дъска, а спечелването на предизвикателство ще Ви спечели постижение, а често пъти и награда от диаманти.",
|
||||
"blurbHallPatrons": "Това е залата на дарителите, където почитаме благородните приключенци, подкрепили първоначалната кампания в Kickstarter. Благодарим им, че ни помогнаха да дадем живот на Хабитика!",
|
||||
"blurbHallContributors": "Това е залата на сътрудниците, където почитаме хората с принос към Хабитика. Дали чрез код, изображения, музика, текстове или просто услужливост, те са си заслужили <a href='http://habitica.wikia.com/wiki/Contributor_Rewards' target='_blank'>диаманти, изключителни предмети</a> и <a href='http://habitica.wikia.com/wiki/Contributor_Titles' target='_blank'>престижни звания</a>. Вие също можете да допринесете за развитието на Хабитика! <a href='http://habitica.wikia.com/wiki/Contributing_to_Habitica' target='_blank'> Научете повече тук</a>"
|
||||
"blurbHallContributors": "Това е залата на сътрудниците, където почитаме хората с принос към Хабитика. Дали чрез код, изображения, музика, текстове или просто услужливост, те са си заслужили <a href='http://habitica.fandom.com/wiki/Contributor_Rewards' target='_blank'>диаманти, изключителни предмети</a> и <a href='http://habitica.fandom.com/wiki/Contributor_Titles' target='_blank'>престижни звания</a>. Вие също можете да допринесете за развитието на Хабитика! <a href='http://habitica.fandom.com/wiki/Contributing_to_Habitica' target='_blank'> Научете повече тук</a>"
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
"dontDespair": "Не се отчайвайте!",
|
||||
"deathPenaltyDetails": "Изгубихте ниво, всичкото си злато и един предмет от екипировката, но можете да си ги върнете с усърдна работа! Късмет — ще се справите.",
|
||||
"refillHealthTryAgain": "Възстановете здравето си и опитайте отново",
|
||||
"dyingOftenTips": "Това често ли Ви се случва? <a href='http://habitica.wikia.com/wiki/Death_Mechanics#Strategies_for_Staying_Alive' target='_blank'>Ето няколко съвета!</a>",
|
||||
"dyingOftenTips": "Това често ли Ви се случва? <a href='http://habitica.fandom.com/wiki/Death_Mechanics#Strategies_for_Staying_Alive' target='_blank'>Ето няколко съвета!</a>",
|
||||
"losingHealthWarning": "Внимавайте — губите здраве!",
|
||||
"losingHealthWarning2": "Не позволявайте на здравето Ви да спадне до 0! Ако това се случи, ще загубите ниво, златото си и един предмет от екипировката.",
|
||||
"toRegainHealth": "За да възстановите здраве:",
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@
|
|||
"androidFaqAnswer1": "Добрите навици (тези с +) са задачи, които може да изпълнявате многократно всеки ден, като например яденето на зеленчуци. Лошите навици (тези с -) са задачи, които трябва да избягвате, като например гризането на нокти. Навиците с + и - имат добър и лош избор, като например използването на стълби срещу използването на асансьор. Добрите навици Ви носят опит и злато. Лошите навици отнемат от здравето Ви.\n\nЕжедневните задачи са такива, които трябва да изпълнявате всеки ден, като например миене на зъбите или проверка на е-пощата. Може да настройвате дните, в които една ежедневна задача трябва да бъде изпълнявана, като я докоснете и редактирате. Ако пропуснете да изпълните ежедневна задача, героят Ви ще получи щети след края на деня. Не добавяйте твърде много ежедневни задачи наведнъж!\n\nЗадачите представляват списък от неща, които трябва да направите. Завършването на задача Ви носи злато и опит. От задачите не можете да изгубите здраве. Можете да добавите крайна дата към задача като я докоснете и редактирате.",
|
||||
"webFaqAnswer1": "Добрите навици (тези с :heavy_plus_sign:) са задачи, които може да изпълнявате многократно всеки ден, като например яденето на зеленчуци. Лошите навици (тези с :heavy_minus_sign:) са задачи, които трябва да избягвате, като например гризането на нокти. Навиците с :heavy_plus_sign: и :heavy_minus_sign: имат добър и лош избор, като например използването на стълби срещу използването на асансьор. Добрите навици Ви носят опит и злато. Лошите навици отнемат от здравето Ви.\nЕжедневните задачи са такива, които трябва да изпълнявате всеки ден, като например миене на зъбите или проверка на е-пощата. Може да настройвате дните, в които една ежедневна задача трябва да бъде изпълнявана, като щракнете върху моливчето и я редактирате. Ако пропуснете да изпълните ежедневна задача, героят Ви ще получи щети след края на деня. Не добавяйте твърде много ежедневни задачи наведнъж!\nЗадачите представляват списък от неща, които трябва да направите. Завършването на задача Ви носи злато и опит. От задачите не можете да изгубите здраве. Можете да добавите крайна дата към задача като щракнете върху моливчето и я редактирате.",
|
||||
"faqQuestion2": "Мога ли да разгледам няколко примерни задачи?",
|
||||
"iosFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n<br><br>\n* [Примерни навици](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
|
||||
"androidFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n<br><br>\n* [Примерни навици](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
|
||||
"webFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n* [Примерни навици](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
|
||||
"iosFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n<br><br>\n* [Примерни навици](http://habitica.fandom.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.fandom.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.fandom.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.fandom.com/wiki/Sample_Custom_Rewards)",
|
||||
"androidFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n<br><br>\n* [Примерни навици](http://habitica.fandom.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.fandom.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.fandom.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.fandom.com/wiki/Sample_Custom_Rewards)",
|
||||
"webFaqAnswer2": "В уикито има четири списъка с примерни задачи за вдъхновение:\n* [Примерни навици](http://habitica.fandom.com/wiki/Sample_Habits)\n* [Примерни ежедневни задачи](http://habitica.fandom.com/wiki/Sample_Dailies)\n* [Примерни задачи](http://habitica.fandom.com/wiki/Sample_To-Dos)\n* [Примерни персонализирани награди] (http://habitica.fandom.com/wiki/Sample_Custom_Rewards)",
|
||||
"faqQuestion3": "Защо задачите ми променят цвета си?",
|
||||
"iosFaqAnswer3": "Вашите задачи променят цвета си според това колко добре ги изпълнявате в момента! Всяка нова задача започва в неутрално жълто. Когато изпълнявате ежедневните си задачи или по-често вършите добрите си навици, задачите постепенно сменят цвета си към синьо. Ако пропуснете ежедневна задача или се поддадете на лош навик, задачата ще почервенее. Колкото по-червена е една задача, толкова по-голяма награда носи, но и толкова повече ще Ви нарани, ако е ежедневна или лош навик. Това ви помага да се мотивирате и да изпълните задачите, които ви създават проблеми.",
|
||||
"androidFaqAnswer3": "Вашите задачи променят цвета си според това колко добре ги изпълнявате в момента! Всяка нова задача започва в неутрално жълто. Когато изпълнявате ежедневните си задачи или по-често вършите добрите си навици, задачите постепенно сменят цвета си към синьо. Ако пропуснете ежедневна задача или се поддадете на лош навик, задачата ще почервенее. Колкото по-червена е една задача, толкова по-голяма награда носи, но и толкова повече ще Ви нарани, ако е ежедневна или лош навик. Това ви помага да се мотивирате и да изпълните задачите, които ви създават проблеми.",
|
||||
|
|
@ -22,12 +22,12 @@
|
|||
"webFaqAnswer4": "Има няколко неща, които могат да Ви нанесат щети. Първо, ако не изпълните своите ежедневни задачи през деня, и ако не ги отметнете на екрана, който Ви се появи на следващата сутрин, тези незавършени ежедневни задачи ще Ви наранят. Второ, ако щракнете върху лош навик, ще поемете щети. И накрая, ако се биете срещу главатар заедно с групата си и някой от нея не е изпълнил всичките си ежедневни задачи, главатарят ще Ви нападне. Основният начин да оздравеете е да качите ниво, тъй като така възстановявате изцяло здравето си. Може също така да си купите лековита отвара от колоната с награди, използвайки златото си. Освен това, след ниво 10 може да изберете да станете лечител и да придобиете умения за лечение. Ако в групата Ви има лечител, той също може да Ви излекува. Научете повече като изберете „Група“ от лентата за навигация.",
|
||||
"faqQuestion5": "Как да играя Хабитика с приятелите си?",
|
||||
"iosFaqAnswer5": "Най-добрият начин е да си направите група! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Идете в Меню > Група и щракнете „Създаване на нова група“, ако все още нямате такава. След това докоснете списъка с членовете и докоснете „Покана“ в горния десен ъгъл, за да добавите приятелите си, като въведете техните потребителски идентификатори (низ от цифри и букви, които може да откриете в „Настройки > Подробности за профила“ в приложението, или в „Настройки > ППИ“ в уеб сайта). В уеб сайта можете да поканите приятелите си и чрез е-писмо; тази възможност ще бъде добавена и към приложението в някое бъдещо обновление.\n\nВ уеб сайта, вие и приятелите Ви можете също да се присъединявате към гилдии, които представляват обществени стаи за разговори. Гилдиите ще бъдат добавени към приложението в някое бъдещо обновление!",
|
||||
"androidFaqAnswer5": "Най-добрият начин е да си направите група! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Ако все още нямата група, идете в [уеб сайта(https://habitica.com/), за да си направите. Също така можете заедно да се присъединявате към гилдии (Общност > Гилдии). Гилдиите представляват стаи за разговори, концентрирани върху споделен интерес или преследването на обща цел и могат да бъдат обществени или частни. Можете да се присъедините към колкото желаете гилдии, но групата Ви може да бъде само една.\n\nЗа повече подробности, вижте страниците в уикито за [Групите](http://habitica.wikia.com/wiki/Party) и [Гилдиите](http://habitica.wikia.com/wiki/Guilds).",
|
||||
"webFaqAnswer5": "Най-добрият начин е да си направите група като щракнете върху „Група“ в лентата за навигация! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Можете също заедно да се присъединявате към гилдии („Общност > Гилдии“ в лентата за навигация). Гилдиите са стаи за разговори, организирани около общ интерес или преследването на обща цел, и могат да бъдат обществени или частни. Можете да се присъедините към колкото искате гилдии, но само към една група. За по-подробна информация, прегледайте страниците в уикито относно [Групите](http://habitica.wikia.com/wiki/Party) и [Гилдиите](http://habitica.wikia.com/wiki/Guilds).",
|
||||
"androidFaqAnswer5": "Най-добрият начин е да си направите група! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Ако все още нямата група, идете в [уеб сайта(https://habitica.com/), за да си направите. Също така можете заедно да се присъединявате към гилдии (Общност > Гилдии). Гилдиите представляват стаи за разговори, концентрирани върху споделен интерес или преследването на обща цел и могат да бъдат обществени или частни. Можете да се присъедините към колкото желаете гилдии, но групата Ви може да бъде само една.\n\nЗа повече подробности, вижте страниците в уикито за [Групите](http://habitica.fandom.com/wiki/Party) и [Гилдиите](http://habitica.fandom.com/wiki/Guilds).",
|
||||
"webFaqAnswer5": "Най-добрият начин е да си направите група като щракнете върху „Група“ в лентата за навигация! Групите могат заедно да изпълняват мисии, да се бият с чудовища и да използват уменията си, за да се подкрепят. Можете също заедно да се присъединявате към гилдии („Общност > Гилдии“ в лентата за навигация). Гилдиите са стаи за разговори, организирани около общ интерес или преследването на обща цел, и могат да бъдат обществени или частни. Можете да се присъедините към колкото искате гилдии, но само към една група. За по-подробна информация, прегледайте страниците в уикито относно [Групите](http://habitica.fandom.com/wiki/Party) и [Гилдиите](http://habitica.fandom.com/wiki/Guilds).",
|
||||
"faqQuestion6": "Как да се сдобия с любимец или превоз?",
|
||||
"iosFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в Меню > Предмети.\n\nЗа да се излюпи любимец Ви трябва яйце и излюпваща отвара. Докоснете яйцето, за да определите какво искате да се излюпи и изберете „Излюпване“. След това изберете излюпваща отвара, за да определите цвета! Идете в Меню > Любимци, за да екипирате новия си любимец като го докоснете.\n\nМожете да превърнете любимците си в превози като ги храните от Меню > Любимци. Докоснете любимец и изберете „Хранене“! Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка или [вижте информацията наготово тук](http://habitica.wikia.com/wiki/Food#Food_Preferences). След като вече имате превоз, идете в Меню > Превози и го докоснете, за да го екипирате.\n\nМоже да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"androidFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в Меню > Предмети.\n\nЗа да се излюпи любимец Ви трябва яйце и излюпваща отвара. Докоснете яйцето, за да определите какво искате да се излюпи от него, и изберете „Излюпване с отвара“. След това изберете излюпваща отвара, за да определите цвета! За да екипирате новия си любимец, идете в Меню > Конюшня > Любимци, изберете вид, а след това желания любимец и изберете „Използване“ (героят Ви няма да се обнови, за да видите промяната).\n\nМожете да превърнете любимците си в превози, като ги храните от Меню > Конюшня [ > Любимци ]. Докоснете любимец и изберете „Хранене“! Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка, или [вижте информацията наготово тук](http://habitica.wikia.com/wiki/Food#Food_Preferences). За да екипирате превоза си, идете в Меню > Конюшня > Превози, изберете вид, а след това желания превози, и изберете „Използване“ (героят Ви няма да се обнови, за да видите промяната).\n\nМоже да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"webFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път, когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в „Инвентар > Предмети“. За да се излюпи любимец, Ви трябва яйце и излюпваща отвара. Когато се сдобиете с яйце и излюпваща отвара, идете в „Инвентар > Конюшня“, за да излюпите любимеца си, като щракнете върху изображението му. След като излюпите любимец, можете да го екипирате на героя си, като щракнете върху него. Можете да превърнете любимците си в превози като ги храните от „Инвентар > Конюшня“. Завлачете избраната храна от лентата с действия в дъното на екрана и я пуснете върху любимеца, за да го нахраните. Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка или [вижте информацията наготово тук](http://habitica.wikia.com/wiki/Food#Food_Preferences). След като вече имате превоз, щракнете върху него, за да го екипирате на героя си. Може да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"iosFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в Меню > Предмети.\n\nЗа да се излюпи любимец Ви трябва яйце и излюпваща отвара. Докоснете яйцето, за да определите какво искате да се излюпи и изберете „Излюпване“. След това изберете излюпваща отвара, за да определите цвета! Идете в Меню > Любимци, за да екипирате новия си любимец като го докоснете.\n\nМожете да превърнете любимците си в превози като ги храните от Меню > Любимци. Докоснете любимец и изберете „Хранене“! Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка или [вижте информацията наготово тук](http://habitica.fandom.com/wiki/Food#Food_Preferences). След като вече имате превоз, идете в Меню > Превози и го докоснете, за да го екипирате.\n\nМоже да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"androidFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в Меню > Предмети.\n\nЗа да се излюпи любимец Ви трябва яйце и излюпваща отвара. Докоснете яйцето, за да определите какво искате да се излюпи от него, и изберете „Излюпване с отвара“. След това изберете излюпваща отвара, за да определите цвета! За да екипирате новия си любимец, идете в Меню > Конюшня > Любимци, изберете вид, а след това желания любимец и изберете „Използване“ (героят Ви няма да се обнови, за да видите промяната).\n\nМожете да превърнете любимците си в превози, като ги храните от Меню > Конюшня [ > Любимци ]. Докоснете любимец и изберете „Хранене“! Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка, или [вижте информацията наготово тук](http://habitica.fandom.com/wiki/Food#Food_Preferences). За да екипирате превоза си, идете в Меню > Конюшня > Превози, изберете вид, а след това желания превози, и изберете „Използване“ (героят Ви няма да се обнови, за да видите промяната).\n\nМоже да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"webFaqAnswer6": "Когато достигнете ниво 3 се отключва системата за падане на предмети. Всеки път, когато завършите задача, ще имате шанс да Ви се падне яйце, излюпваща отвара или храна. Тези неща ще се съхраняват в „Инвентар > Предмети“. За да се излюпи любимец, Ви трябва яйце и излюпваща отвара. Когато се сдобиете с яйце и излюпваща отвара, идете в „Инвентар > Конюшня“, за да излюпите любимеца си, като щракнете върху изображението му. След като излюпите любимец, можете да го екипирате на героя си, като щракнете върху него. Можете да превърнете любимците си в превози като ги храните от „Инвентар > Конюшня“. Завлачете избраната храна от лентата с действия в дъното на екрана и я пуснете върху любимеца, за да го нахраните. Ще трябва да нахраните любимеца си много пъти, преди той да се превърне в превоз, но ако разберете каква е любимата му храна, той ще расте по-бързо. Опитайте чрез проба и грешка или [вижте информацията наготово тук](http://habitica.fandom.com/wiki/Food#Food_Preferences). След като вече имате превоз, щракнете върху него, за да го екипирате на героя си. Може да получите яйца за любимци от мисии, ако завършите някои конкретни мисии. (Вижте по-надолу, за да научите повече относно мисиите.)",
|
||||
"faqQuestion7": "Как да стана воин, магьосник, мошеник или лечител?",
|
||||
"iosFaqAnswer7": "Когато достигнете ниво 10, може да изберете да станете воин, магьосник, мошеник или лечител. (Всички играчи по подразбиране започват като воини.) Всеки клас има различна екипировка; различни умения, които могат да използват след ниво 11; и различни предимства. Воините могат лесно да нанасят щети на главатарите, както и да понесат повече щети от задачите си и като цяло правят групата си по-силна. Магьосниците също с лекота нанасят щети на главатарите, а също и качват нива по-бързо и възстановяват маната на групата си. Мошениците печелят най-много злато и намират най-много предмети, и могат да помогнат на останалите в групата да имат същия късмет. И накрая, лечителите могат да лекуват себе си и останалите в групата.\n\nАко не искате веднага да избирате клас, например ако все още събирате средства, с които да закупите цялата екипировка за текущия си клас, може да решите по-късно и когато сте готов(а), да го направите в Меню > Избор на клас.",
|
||||
"androidFaqAnswer7": "Когато достигнете ниво 10, може да изберете да станете воин, магьосник, мошеник или лечител. (Всички играчи по подразбиране започват като воини.) Всеки клас има различна екипировка; различни умения, които могат да използват след ниво 11; и различни предимства. Воините могат лесно да нанасят щети на главатарите, както и да понесат повече щети от задачите си и като цяло правят групата си по-силна. Магьосниците също с лекота нанасят щети на главатарите, а също и качват нива по-бързо и възстановяват маната на групата си. Мошениците печелят най-много злато и намират най-много предмети, и могат да помогнат на останалите в групата да имат същия късмет. И накрая, лечителите могат да лекуват себе си и останалите в групата.\n\nАко не искате веднага да избирате клас, например ако все още събирате средства, с които да закупите цялата екипировка за текущия си клас, може да се откажете от тази възможност, и когато сте готов(а), да го направите в Меню > Избор на клас.",
|
||||
|
|
@ -41,18 +41,18 @@
|
|||
"androidFaqAnswer9": "Първо, ще трябва да създадете група или да се присъедините към такава (вижте малко по-нагоре). Въпреки че можете да се биете с чудовища и сам(а), ние Ви препоръчваме да го правите в група, тъй като така мисиите ще бъдат доста по-лесни. Освен това, приятелите ще Ви насърчават и мотивират да изпълнявате задачите си!\n\nСлед това ще Ви трябва свитък с мисия (свитъците с мисии се пазят в Меню > Предмети). Има три начина да се сдобиете с такъв:\n\n— На ниво 15 получавате последователност от мисии, тоест три свързани мисии. Подобни последователности се отключват и на ниво 30, 40 и 60;\n— Когато поканите хора в групата си, ще получите свитъка за Василисъка!\n— Можете да купувате мисии от магазина за мисии в замяна на злато и диаманти.\n\nЗа да се биете с главатаря или да събирате предмети за събираческа мисия, просто завършвайте задачите си както обикновено, а те ще бъдат превърнати в щети след края на деня. (Може да се наложи да презаредите, като плъзнете пръст надолу по екрана, за да видите как здравето на главатаря намалява.) Ако се биете с главатар и сте пропуснали дори една ежедневна задача, той ще нанесе щети на групата Ви в същото време, когато Вие нанасяте щети на него.\n\nСлед ниво 11, магьосниците и воините получават умения, с които могат да нанасят допълнителни щети на главатаря, така че тези класове са добър избор на ниво 10, ако искате да удряте здраво.",
|
||||
"webFaqAnswer9": "Първо, ще трябва да създадете група или да се присъедините към такава, като щракнете върху „Група“ в лентата за навигация. Въпреки че можете да се биете с чудовища и сам(а), ние Ви препоръчваме да го правите в група, тъй като така мисиите ще бъдат доста по-лесни. Освен това, приятелите ще Ви насърчават и мотивират да изпълнявате задачите си! След това ще Ви трябва свитък с мисия (свитъците с мисии се пазят в „Инвентар > Мисии“). Има четири начина да се сдобиете с такъв:\n* Когато поканите хора в групата си, ще получите свитъка за Василисъка!\n* На ниво 15 получавате последователност от мисии, тоест три свързани мисии. Подобни последователности се отключват и на ниво 30, 40 и 60;\n* Можете да купувате мисии от магазина за мисии („Магазини > Мисии“) в замяна на злато и диаманти.\n* Когато се отчитате в Хабитика определен брой пъти, ще получите като награда свитъци с зисии. Ще получите свитък при 1-вото, 7-мото, 22-рото и 40-тото си отчитане.\nЗа да се биете с главатаря или да събирате предмети за събираческа мисия, просто завършвайте задачите си както обикновено, а те ще бъдат превърнати в щети след края на деня. (Може да се наложи да презаредите, за да видите как здравето на главатаря намалява.) Ако се биете с главатар и сте пропуснали дори една ежедневна задача, той ще нанесе щети на групата Ви в същото време, когато Вие нанасяте щети на него. След ниво 11, магьосниците и воините получават умения, с които могат да нанасят допълнителни щети на главатаря, така че тези класове са добър избор на ниво 10, ако искате да удряте здраво.",
|
||||
"faqQuestion10": "Какво са диамантите и как да се сдобия с тях?",
|
||||
"iosFaqAnswer10": "Диамантите се купуват с истински пари; това става като докоснете иконката с диамант в горната част. Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n\nОсвен да бъдат купени, има три други начина играчите да се сдобият с диаманти:\n\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Предизвикателства“, за да се присъедините към някое.\n* Чрез абониране, което дава възможност за купуване на определен брой диаманти всеки месец;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи приложението без тях, няма да бъдат ощетени)",
|
||||
"androidFaqAnswer10": "Диамантите се купуват с истински пари; това става като докоснете иконката с диамант в горната част. Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n\nОсвен да бъдат купени, има три други начина играчите да се сдобият с диаманти:\n\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Предизвикателства“, за да се присъедините към някое.\n* Чрез абониране, което дава възможност за купуване на определен брой диаманти всеки месец;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи приложението без тях, няма да бъдат ощетени)",
|
||||
"webFaqAnswer10": "Диамантите се купуват с истински пари, но [абонираните](https://habitica.com/user/settings/subscription) могат да ги купуват със злато. Когато хората се абонират или купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им! Освен да бъдат купени с пари или чрез абониране, има два други начина играчите да се сдобият с диаманти:\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Разглеждане на предизвикателствата“, за да се присъедините към някое.\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи уеб сайта без тях, няма да бъдат ощетени!",
|
||||
"iosFaqAnswer10": "Диамантите се купуват с истински пари; това става като докоснете иконката с диамант в горната част. Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n\nОсвен да бъдат купени, има три други начина играчите да се сдобият с диаманти:\n\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Предизвикателства“, за да се присъедините към някое.\n* Чрез абониране, което дава възможност за купуване на определен брой диаманти всеки месец;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи приложението без тях, няма да бъдат ощетени)",
|
||||
"androidFaqAnswer10": "Диамантите се купуват с истински пари; това става като докоснете иконката с диамант в горната част. Когато хората купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им!\n\nОсвен да бъдат купени, има три други начина играчите да се сдобият с диаманти:\n\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Предизвикателства“, за да се присъедините към някое.\n* Чрез абониране, което дава възможност за купуване на определен брой диаманти всеки месец;\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи приложението без тях, няма да бъдат ощетени)",
|
||||
"webFaqAnswer10": "Диамантите се купуват с истински пари, но [абонираните](https://habitica.com/user/settings/subscription) могат да ги купуват със злато. Когато хората се абонират или купуват диаманти, те ни помагат да поддържаме уеб сайта работещ. Благодарим за подкрепата им! Освен да бъдат купени с пари или чрез абониране, има два други начина играчите да се сдобият с диаманти:\n* Чрез спечелване на предизвикателство, което е било създадено от друг играч. Идете в „Общност > Разглеждане на предизвикателствата“, за да се присъедините към някое.\n* Чрез допринасяне към Хабитика. Вижте тази статия в уикито за повече информация: [Допринасяне към Хабитика](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\nИмайте предвид, че предметите, купени с диаманти, не дават повече показатели, така че играчите, използващи уеб сайта без тях, няма да бъдат ощетени!",
|
||||
"faqQuestion11": "Как да съобщя за проблем или да предложа нова функционалност?",
|
||||
"iosFaqAnswer11": "Можете да докладвате проблеми, да предложите нова функционалност или да изпратите обратна връзка от „Меню > Относно > Докладване на проблем“ и „Меню > Относно > Изпращане на обратна връзка“! Ще направим всичко по силите си, за да Ви съдействаме.",
|
||||
"androidFaqAnswer11": "Можете да докладвате проблеми, да предложите нова функционалност или да изпратите обратна връзка от „Относно > Докладване на проблем“ и „Относно > Изпращане на обратна връзка“! Ще направим всичко по силите си, за да Ви съдействаме.",
|
||||
"webFaqAnswer11": "За да докладвате проблем, идете в [Помощ > Докладване на проблем](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) и прочетете точките над текстовото поле. Ако не можете да влезете в Хабитика, изпратете ни данните си за влизане (без паролата!! на [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Не се притеснявайте, ще Ви помогнем при първа възможност! Предложенията на нови функционалности се събират в Трело. Идете в [Помощ > Предлагане на функционалност](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) и следвайте инструкциите.",
|
||||
"faqQuestion12": "Как да се бия със световен главатар?",
|
||||
"iosFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено.\n\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.wikia.com/wiki/World_Bosses) в уикито.",
|
||||
"androidFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено.\n\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.wikia.com/wiki/World_Bosses) в уикито.",
|
||||
"webFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено. Възможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви. Световният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му. Може да прочетете повече относно [миналите световни главатари](http://habitica.wikia.com/wiki/World_Bosses) в уикито.",
|
||||
"iosFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.wikia.com/wiki/FAQ), задайте го в кръчмата чрез Меню > Кръчма! Ще се радваме да помогнем.",
|
||||
"androidFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.wikia.com/wiki/FAQ), задайте го в кръчмата чрез Меню > Кръчма! Ще се радваме да помогнем.",
|
||||
"webFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.wikia.com/wiki/FAQ), задайте го в [Помощната гилдия на Хабитика](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Ще се радваме да помогнем."
|
||||
"iosFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено.\n\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.fandom.com/wiki/World_Bosses) в уикито.",
|
||||
"androidFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено.\n\nВъзможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви.\n\nСветовният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му.\n\nМоже да прочетете повече относно [миналите световни главатари](http://habitica.fandom.com/wiki/World_Bosses) в уикито.",
|
||||
"webFaqAnswer12": "Световните главатари са специални чудовища, които се появяват в кръчмата. Всички активни потребители автоматично се бият с главатаря като задачите и уменията им автоматично му нанасят щети, както обикновено. Възможно е в същото време да изпълнявате обикновена мисия. В такъв случай задачите и уменията Ви ще влияят както на световния главатар, така и на мисията на групата Ви. Световният главатар не може да Ви нанесе щети или да навреди на профила Ви. Вместо това той има лента за ярост, която се запълва, когато потребителите пропускат ежедневните си задачи. Ако лентата за ярост се напълни до края, чудовището ще нападне някой от компютърните персонажи на уеб сайта и ще промени изображението му. Може да прочетете повече относно [миналите световни главатари](http://habitica.fandom.com/wiki/World_Bosses) в уикито.",
|
||||
"iosFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.fandom.com/wiki/FAQ), задайте го в кръчмата чрез Меню > Кръчма! Ще се радваме да помогнем.",
|
||||
"androidFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.fandom.com/wiki/FAQ), задайте го в кръчмата чрез Меню > Кръчма! Ще се радваме да помогнем.",
|
||||
"webFaqStillNeedHelp": "Ако имате въпрос, който не намирате в този списък или в [ЧЗВ в уикито](http://habitica.fandom.com/wiki/FAQ), задайте го в [Помощната гилдия на Хабитика](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Ще се радваме да помогнем."
|
||||
}
|
||||
|
|
@ -21,10 +21,10 @@
|
|||
"chores": "Домакинска работа",
|
||||
"clearBrowserData": "Изчистване на данните на браузъра",
|
||||
"communityBug": "Докладване на проблем",
|
||||
"communityExtensions": "<a href='http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations' target='_blank'>Добавки и разширения</a>",
|
||||
"communityExtensions": "<a href='http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations' target='_blank'>Добавки и разширения</a>",
|
||||
"communityFacebook": "Фейсбук",
|
||||
"communityFeature": "Предлагане на функционалност",
|
||||
"communityForum": "<a target='_blank' href='http://habitica.wikia.com/wiki/Special:Forum'>Форум</a>",
|
||||
"communityForum": "<a target='_blank' href='http://habitica.fandom.com/wiki/Special:Forum'>Форум</a>",
|
||||
"communityKickstarter": "Kickstarter",
|
||||
"communityReddit": "Reddit",
|
||||
"companyAbout": "Как работи",
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
"marketing3Header": "Приложения и разширения",
|
||||
"marketing3Lead1": "Приложенията за **iPhone и Андроид** Ви позволяват да се грижите за задачите си в движение. Наясно сме, че влизането в уеб сайта и натискането на бутони може би е старомодно.",
|
||||
"marketing3Lead2Title": "Интеграции",
|
||||
"marketing3Lead2": "Други **инструменти от трети страни** свързват Хабитика с различни страни на живота Ви. Нашият ППИ предоставя лесна интеграция с неща като [разширението за Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=bg-BG), чрез което губите точки живот, ако разглеждате непродуктивни уеб сайтове, и получавате точки, когато посещавате продуктивни такива. [Вижте повече тук](http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations)",
|
||||
"marketing3Lead2": "Други **инструменти от трети страни** свързват Хабитика с различни страни на живота Ви. Нашият ППИ предоставя лесна интеграция с неща като [разширението за Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=bg-BG), чрез което губите точки живот, ако разглеждате непродуктивни уеб сайтове, и получавате точки, когато посещавате продуктивни такива. [Вижте повече тук](http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations)",
|
||||
"marketing4Header": "Употреба в институции",
|
||||
"marketing4Lead1": "Образованието е една от най-добрите области за превръщане в игра. Всички знаем колко залепени за телефоните и игрите са днешните ученици — използвайте тази енергия! Поставете учениците си в среда на приятелско съревнование. Награждавайте доброто поведение с редки награди. Наблюдавайте как оценките и поведението им се подобряват.",
|
||||
"marketing4Lead1Title": "Игра в образованието",
|
||||
|
|
@ -271,7 +271,7 @@
|
|||
"emailTaken": "Тази е-поща вече се използва от съществуващ профил.",
|
||||
"newEmailRequired": "Липсва нов адрес на е-поща.",
|
||||
"usernameTime": "Време е да си създадете потребителско име!",
|
||||
"usernameInfo": "Имената, които се използват за вписване в системата, вече са уникални потребителски имена, които ще се виждат до екранните имена и ще могат да се ползват за покани, @споменавания и пращане на съобщения.<br><br>Ако искате да научите повече за тази промяна, <a href='http://habitica.wikia.com/wiki/Player_Names' target='_blank'>посетете уикито ни</a>.",
|
||||
"usernameInfo": "Имената, които се използват за вписване в системата, вече са уникални потребителски имена, които ще се виждат до екранните имена и ще могат да се ползват за покани, @споменавания и пращане на съобщения.<br><br>Ако искате да научите повече за тази промяна, <a href='http://habitica.fandom.com/wiki/Player_Names' target='_blank'>посетете уикито ни</a>.",
|
||||
"usernameTOSRequirements": "Потребителските имена трябва са съобразени с <a href='/static/terms' target='_blank'>Условията за ползване</a> и <a href='/static/community-guidelines' target='_blank'>Обществените правила</a>. Ако преди това не сте имали име за вписване, то потребителското Ви име е създадено автоматично.",
|
||||
"usernameTaken": "Потребителското име е заето.",
|
||||
"passwordConfirmationMatch": "Повторената парола не съвпада с първата.",
|
||||
|
|
|
|||
|
|
@ -472,6 +472,8 @@
|
|||
"armorSpecialBirthday2017Notes": "Честит рожден ден, Хабитика! Сложете си тази причудлива купонджийска мантия, за да отпразнувате този прекрасен ден. Не променя показателите.",
|
||||
"armorSpecialBirthday2018Text": "Чудновата купонджийска мантия",
|
||||
"armorSpecialBirthday2018Notes": "Честит рожден ден, Хабитика! Сложете си тази чудновата купонджийска мантия, за да отпразнувате този прекрасен ден. Не променя показателите.",
|
||||
"armorSpecialBirthday2019Text": "Outlandish Party Robes",
|
||||
"armorSpecialBirthday2019Notes": "Happy Birthday, Habitica! Wear these Outlandish Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||
"armorSpecialGaymerxText": "Бойна броня с цветовете на дъгата",
|
||||
"armorSpecialGaymerxNotes": "В чест на конференцията GaymerX, тази специална броня е оцветена с шарка на дъга! GaymerX е игрално изложение в чест на ЛГБТ културата и игрите и е отворено за всички.",
|
||||
"armorSpecialSpringRogueText": "Елегантен котешки костюм",
|
||||
|
|
@ -1158,6 +1160,8 @@
|
|||
"headMystery201810Notes": "Ако се окаже, че пътят Ви минава през някое зловещо място, то червените очи на този шлем със сигурност ще изплашат враговете, които могат да се появят на пътя Ви. Не променя показателите. Предмет за абонати: октомври 2018 г.",
|
||||
"headMystery201811Text": "Шапка на великолепния магьосник",
|
||||
"headMystery201811Notes": "Ако носите тази перната шапка, ще изпъквате и на най-шантавите сбирки на магьосници! Не променя показателите. Предмет за абонати: декември 2018 г.",
|
||||
"headMystery201901Text": "Polaris Helm",
|
||||
"headMystery201901Notes": "The glowing gems on this helm contain light magically captured from winter auroras. Confers no benefit. January 2019 Subscriber Item.",
|
||||
"headMystery301404Text": "Украсен цилиндър",
|
||||
"headMystery301404Notes": "Украсен цилиндър за най-изтънчените и високопоставени членове на обществото. Не променя показателите. Предмет за абонати: януари 3015 г.",
|
||||
"headMystery301405Text": "Обикновен цилиндър",
|
||||
|
|
@ -1603,6 +1607,8 @@
|
|||
"bodyMystery201706Notes": "Това наметало има тайни джобове, където можете да скриете всичкото злато, което измъкнете от задачите си. Не променя показателите. Предмет за абонати: юни 2017 г.",
|
||||
"bodyMystery201711Text": "Шал на килимния летец",
|
||||
"bodyMystery201711Notes": "Този мек плетен шал изглежда доста впечатляващо, когато се развява от вятъра. Не променя показателите. Предмет за абонати: ноември 2017 г.",
|
||||
"bodyMystery201901Text": "Polaris Pauldrons",
|
||||
"bodyMystery201901Notes": "These shimmering pauldrons are strong, but will rest on your shoulders as weightlessly as a ray of dancing light. Confers no benefit. January 2019 Subscriber Item.",
|
||||
"bodyArmoireCozyScarfText": "Удобен шал",
|
||||
"bodyArmoireCozyScarfNotes": "С този лек шал ще Ви бъде топло, докато вършите зимната си работа. Увеличава якостта и усета с по <%= attrs %>. Омагьосан гардероб: Фенерджийски комплект (предмет 4 от 4).",
|
||||
"headAccessory": "аксесоар за глава",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"stringNotFound": "Текстът „<%= string %>“ не е намерен.",
|
||||
"titleIndex": "Хабитика | Животът Ви, превърнат в ролева игра",
|
||||
"habitica": "Хабитика",
|
||||
"habiticaLink": "<a href='http://habitica.wikia.com/wiki/Habitica' target='_blank'>Хабитика</a>",
|
||||
"habiticaLink": "<a href='http://habitica.fandom.com/wiki/Habitica' target='_blank'>Хабитика</a>",
|
||||
"onward": "Напред!",
|
||||
"done": "Готово",
|
||||
"gotIt": "Разбрано!",
|
||||
|
|
@ -90,8 +90,8 @@
|
|||
"needMoreGems": "Нуждаете се от още диаманти?",
|
||||
"needMoreGemsInfo": "Купете диаманти сега, или станете абонат, за да можете да купувате диаманти със злато, да получавате тайнствени предмети, да имате по-високи ограничения за падания на предмети и още!",
|
||||
"moreInfo": "Повече информация",
|
||||
"moreInfoChallengesURL": "http://habitica.wikia.com/wiki/Challenges",
|
||||
"moreInfoTagsURL": "http://habitica.wikia.com/wiki/Tags",
|
||||
"moreInfoChallengesURL": "http://habitica.fandom.com/wiki/Challenges",
|
||||
"moreInfoTagsURL": "http://habitica.fandom.com/wiki/Tags",
|
||||
"showMoreMore": "(повече)",
|
||||
"showMoreLess": "(по-малко)",
|
||||
"gemsWhatFor": "Щракнете за закупуване на диаманти! Диамантите служат за купуване на специални неща като мисии, персонализиране на героя и сезонна екипировка.",
|
||||
|
|
@ -147,7 +147,7 @@
|
|||
"askQuestion": "Задаване на въпрос",
|
||||
"reportBug": "Докладване на проблем",
|
||||
"HabiticaWiki": "Уикито на Хабитика",
|
||||
"HabiticaWikiFrontPage": "http://habitica.wikia.com/wiki/Habitica_Wiki",
|
||||
"HabiticaWikiFrontPage": "http://habitica.fandom.com/wiki/Habitica_Wiki",
|
||||
"contributeToHRPG": "Принос към Хабитика",
|
||||
"overview": "Обзор за нови потребители",
|
||||
"January": "Януари",
|
||||
|
|
|
|||