feat(event): Habit Birthday 2016
Also adds AWS Elastic Beanstalk local config file to .gitignore.
1
.gitignore
vendored
@@ -28,5 +28,6 @@ coverage
|
|||||||
coverage.html
|
coverage.html
|
||||||
common/dist/scripts/*
|
common/dist/scripts/*
|
||||||
common/dist/sprites/habitrpg-shared.css
|
common/dist/sprites/habitrpg-shared.css
|
||||||
|
.elasticbeanstalk/config.yml
|
||||||
|
|
||||||
test/spec/mocks/translations.js
|
test/spec/mocks/translations.js
|
||||||
|
|||||||
764
common/dist/sprites/spritesmith-main-0.css
vendored
BIN
common/dist/sprites/spritesmith-main-0.png
vendored
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 274 KiB |
302
common/dist/sprites/spritesmith-main-3.css
vendored
@@ -24,13 +24,13 @@
|
|||||||
}
|
}
|
||||||
.hair_base_9_red {
|
.hair_base_9_red {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1352px -546px;
|
background-position: -1352px -364px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.customize-option.hair_base_9_red {
|
.customize-option.hair_base_9_red {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1377px -561px;
|
background-position: -1377px -379px;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
}
|
}
|
||||||
@@ -2286,7 +2286,7 @@
|
|||||||
}
|
}
|
||||||
.head_armoire_lunarCrown {
|
.head_armoire_lunarCrown {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1352px -364px;
|
background-position: -348px -182px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -2298,7 +2298,7 @@
|
|||||||
}
|
}
|
||||||
.head_armoire_plagueDoctorHat {
|
.head_armoire_plagueDoctorHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -348px -182px;
|
background-position: -1352px -546px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -2370,265 +2370,265 @@
|
|||||||
}
|
}
|
||||||
.shop_armor_armoire_crystalCrescentRobes {
|
.shop_armor_armoire_crystalCrescentRobes {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1435px -1547px;
|
background-position: -132px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_dragonTamerArmor {
|
.shop_armor_armoire_dragonTamerArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1394px -1547px;
|
background-position: -91px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_gladiatorArmor {
|
.shop_armor_armoire_gladiatorArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1353px -1547px;
|
background-position: -1649px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_goldenToga {
|
.shop_armor_armoire_goldenToga {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1312px -1547px;
|
background-position: -1608px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_hornedIronArmor {
|
.shop_armor_armoire_hornedIronArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1271px -1547px;
|
background-position: -1567px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_lunarArmor {
|
.shop_armor_armoire_lunarArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1230px -1547px;
|
background-position: -1526px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_plagueDoctorOvercoat {
|
.shop_armor_armoire_plagueDoctorOvercoat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1189px -1547px;
|
background-position: -1485px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_rancherRobes {
|
.shop_armor_armoire_rancherRobes {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1148px -1547px;
|
background-position: -1444px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_royalRobes {
|
.shop_armor_armoire_royalRobes {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1107px -1547px;
|
background-position: -1403px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_armoire_shepherdRobes {
|
.shop_armor_armoire_shepherdRobes {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1066px -1547px;
|
background-position: -1362px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_eyewear_armoire_plagueDoctorMask {
|
.shop_eyewear_armoire_plagueDoctorMask {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1025px -1547px;
|
background-position: -1321px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_blackCat {
|
.shop_head_armoire_blackCat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -984px -1547px;
|
background-position: -1280px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_blueFloppyHat {
|
.shop_head_armoire_blueFloppyHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -943px -1547px;
|
background-position: -1239px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_blueHairbow {
|
.shop_head_armoire_blueHairbow {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -902px -1547px;
|
background-position: -1198px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_crystalCrescentHat {
|
.shop_head_armoire_crystalCrescentHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -861px -1547px;
|
background-position: -1157px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_dragonTamerHelm {
|
.shop_head_armoire_dragonTamerHelm {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -820px -1547px;
|
background-position: -1116px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_gladiatorHelm {
|
.shop_head_armoire_gladiatorHelm {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -779px -1547px;
|
background-position: -1075px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_goldenLaurels {
|
.shop_head_armoire_goldenLaurels {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -738px -1547px;
|
background-position: -1034px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_hornedIronHelm {
|
.shop_head_armoire_hornedIronHelm {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -697px -1547px;
|
background-position: -993px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_lunarCrown {
|
.shop_head_armoire_lunarCrown {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -656px -1547px;
|
background-position: -952px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_orangeCat {
|
.shop_head_armoire_orangeCat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1456px;
|
background-position: -911px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_plagueDoctorHat {
|
.shop_head_armoire_plagueDoctorHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -574px -1547px;
|
background-position: -870px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_rancherHat {
|
.shop_head_armoire_rancherHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -533px -1547px;
|
background-position: -829px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_redFloppyHat {
|
.shop_head_armoire_redFloppyHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -492px -1547px;
|
background-position: -788px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_redHairbow {
|
.shop_head_armoire_redHairbow {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -369px -1547px;
|
background-position: -306px -182px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_royalCrown {
|
.shop_head_armoire_royalCrown {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -328px -1547px;
|
background-position: -583px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_shepherdHeaddress {
|
.shop_head_armoire_shepherdHeaddress {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -287px -1547px;
|
background-position: -542px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_violetFloppyHat {
|
.shop_head_armoire_violetFloppyHat {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -246px -1547px;
|
background-position: -501px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_armoire_yellowHairbow {
|
.shop_head_armoire_yellowHairbow {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -205px -1547px;
|
background-position: -460px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_armoire_dragonTamerShield {
|
.shop_shield_armoire_dragonTamerShield {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -164px -1547px;
|
background-position: -419px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_armoire_gladiatorShield {
|
.shop_shield_armoire_gladiatorShield {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -123px -1547px;
|
background-position: -378px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_armoire_midnightShield {
|
.shop_shield_armoire_midnightShield {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -82px -1547px;
|
background-position: -337px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_armoire_royalCane {
|
.shop_shield_armoire_royalCane {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -41px -1547px;
|
background-position: -296px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_basicCrossbow {
|
.shop_weapon_armoire_basicCrossbow {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: 0px -1547px;
|
background-position: -255px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_batWand {
|
.shop_weapon_armoire_batWand {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1547px -1497px;
|
background-position: -214px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_blueLongbow {
|
.shop_weapon_armoire_blueLongbow {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1547px -1456px;
|
background-position: -173px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_crystalCrescentStaff {
|
.shop_weapon_armoire_crystalCrescentStaff {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1456px -1406px;
|
background-position: -132px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_glowingSpear {
|
.shop_weapon_armoire_glowingSpear {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1456px -1365px;
|
background-position: -91px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_goldWingStaff {
|
.shop_weapon_armoire_goldWingStaff {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1365px -1315px;
|
background-position: -1547px -1497px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_ironCrook {
|
.shop_weapon_armoire_ironCrook {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1365px -1274px;
|
background-position: -1547px -1456px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_lunarSceptre {
|
.shop_weapon_armoire_lunarSceptre {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1274px -1224px;
|
background-position: -1456px -1406px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_mythmakerSword {
|
.shop_weapon_armoire_mythmakerSword {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1274px -1183px;
|
background-position: -1456px -1365px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_rancherLasso {
|
.shop_weapon_armoire_rancherLasso {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1183px -1133px;
|
background-position: -1365px -1315px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_weapon_armoire_shepherdsCrook {
|
.shop_weapon_armoire_shepherdsCrook {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1183px -1092px;
|
background-position: -1365px -1274px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
@@ -2892,311 +2892,329 @@
|
|||||||
}
|
}
|
||||||
.shop_armor_healer_1 {
|
.shop_armor_healer_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1092px -1042px;
|
background-position: -1274px -1224px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_healer_2 {
|
.shop_armor_healer_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1092px -1001px;
|
background-position: -1274px -1183px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_healer_3 {
|
.shop_armor_healer_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1001px -951px;
|
background-position: -1183px -1133px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_healer_4 {
|
.shop_armor_healer_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1001px -910px;
|
background-position: -1183px -1092px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_healer_5 {
|
.shop_armor_healer_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1666px -1456px;
|
background-position: -1092px -1042px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_rogue_1 {
|
.shop_armor_rogue_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -615px -1547px;
|
background-position: -1092px -1001px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_rogue_2 {
|
.shop_armor_rogue_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1497px;
|
background-position: -306px -223px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_rogue_3 {
|
.shop_armor_rogue_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1666px -1497px;
|
background-position: -747px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_rogue_4 {
|
.shop_armor_rogue_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -306px -182px;
|
background-position: -364px -273px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_rogue_5 {
|
.shop_armor_rogue_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -306px -223px;
|
background-position: -364px -314px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_0 {
|
.shop_armor_special_0 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -364px -273px;
|
background-position: -455px -364px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_1 {
|
.shop_armor_special_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -364px -314px;
|
background-position: -455px -405px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_2 {
|
.shop_armor_special_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -455px -364px;
|
background-position: -546px -455px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_finnedOceanicArmor {
|
.shop_armor_special_finnedOceanicArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -455px -405px;
|
background-position: -546px -496px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_warrior_1 {
|
.shop_armor_warrior_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -546px -455px;
|
background-position: -637px -546px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_warrior_2 {
|
.shop_armor_warrior_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -546px -496px;
|
background-position: -637px -587px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_warrior_3 {
|
.shop_armor_warrior_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -637px -546px;
|
background-position: -728px -637px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_warrior_4 {
|
.shop_armor_warrior_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -637px -587px;
|
background-position: -728px -678px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_warrior_5 {
|
.shop_armor_warrior_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -728px -637px;
|
background-position: -819px -728px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_wizard_1 {
|
.shop_armor_wizard_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -728px -678px;
|
background-position: -819px -769px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_wizard_2 {
|
.shop_armor_wizard_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -819px -728px;
|
background-position: -910px -819px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_wizard_3 {
|
.shop_armor_wizard_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -819px -769px;
|
background-position: -910px -860px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_wizard_4 {
|
.shop_armor_wizard_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -910px -819px;
|
background-position: -1001px -910px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_wizard_5 {
|
.shop_armor_wizard_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -910px -860px;
|
background-position: -1001px -951px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.slim_armor_healer_1 {
|
.slim_armor_healer_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1365px;
|
background-position: 0px -1547px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_healer_2 {
|
.slim_armor_healer_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1274px;
|
background-position: -1625px -1456px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_healer_3 {
|
.slim_armor_healer_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1183px;
|
background-position: -1625px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_healer_4 {
|
.slim_armor_healer_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1625px -1092px;
|
background-position: -1625px -1274px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_healer_5 {
|
.slim_armor_healer_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1534px -91px;
|
background-position: -1625px -1183px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_rogue_1 {
|
.slim_armor_rogue_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1534px 0px;
|
background-position: -1625px -1092px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_rogue_2 {
|
.slim_armor_rogue_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1365px -1365px;
|
background-position: -1534px -91px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_rogue_3 {
|
.slim_armor_rogue_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1274px -1365px;
|
background-position: -1534px 0px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_rogue_4 {
|
.slim_armor_rogue_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1183px -1365px;
|
background-position: -1365px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_rogue_5 {
|
.slim_armor_rogue_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1092px -1365px;
|
background-position: -1274px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_special_2 {
|
.slim_armor_special_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1001px -1365px;
|
background-position: -1183px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_special_finnedOceanicArmor {
|
.slim_armor_special_finnedOceanicArmor {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -910px -1365px;
|
background-position: -1092px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_warrior_1 {
|
.slim_armor_warrior_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -819px -1365px;
|
background-position: -1001px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_warrior_2 {
|
.slim_armor_warrior_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -728px -1365px;
|
background-position: -910px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_warrior_3 {
|
.slim_armor_warrior_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -637px -1365px;
|
background-position: -819px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_warrior_4 {
|
.slim_armor_warrior_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -546px -1365px;
|
background-position: -728px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_warrior_5 {
|
.slim_armor_warrior_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -455px -1365px;
|
background-position: -637px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_wizard_1 {
|
.slim_armor_wizard_1 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -364px -1365px;
|
background-position: -546px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_wizard_2 {
|
.slim_armor_wizard_2 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -273px -1365px;
|
background-position: -455px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_wizard_3 {
|
.slim_armor_wizard_3 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -182px -1365px;
|
background-position: -364px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_wizard_4 {
|
.slim_armor_wizard_4 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -91px -1365px;
|
background-position: -273px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_wizard_5 {
|
.slim_armor_wizard_5 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: 0px -1365px;
|
background-position: -182px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.broad_armor_special_birthday {
|
.broad_armor_special_birthday {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1443px -1274px;
|
background-position: -91px -1365px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.broad_armor_special_birthday2015 {
|
.broad_armor_special_birthday2015 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1443px -1183px;
|
background-position: 0px -1365px;
|
||||||
|
width: 90px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
|
.broad_armor_special_birthday2016 {
|
||||||
|
background-image: url(spritesmith-main-3.png);
|
||||||
|
background-position: -1443px -1274px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_birthday {
|
.shop_armor_special_birthday {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -410px -1547px;
|
background-position: -624px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_birthday2015 {
|
.shop_armor_special_birthday2015 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -451px -1547px;
|
background-position: -665px -1547px;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
.shop_armor_special_birthday2016 {
|
||||||
|
background-image: url(spritesmith-main-3.png);
|
||||||
|
background-position: -706px -1547px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.slim_armor_special_birthday {
|
.slim_armor_special_birthday {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1443px -1092px;
|
background-position: -1443px -1183px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_special_birthday2015 {
|
.slim_armor_special_birthday2015 {
|
||||||
|
background-image: url(spritesmith-main-3.png);
|
||||||
|
background-position: -1443px -1092px;
|
||||||
|
width: 90px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
|
.slim_armor_special_birthday2016 {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1443px -1001px;
|
background-position: -1443px -1001px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
@@ -3336,175 +3354,133 @@
|
|||||||
}
|
}
|
||||||
.shop_armor_special_fall2015Healer {
|
.shop_armor_special_fall2015Healer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1476px -1547px;
|
background-position: -173px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fall2015Mage {
|
.shop_armor_special_fall2015Mage {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1517px -1547px;
|
background-position: -214px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fall2015Rogue {
|
.shop_armor_special_fall2015Rogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1558px -1547px;
|
background-position: -255px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fall2015Warrior {
|
.shop_armor_special_fall2015Warrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1599px -1547px;
|
background-position: -296px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fallHealer {
|
.shop_armor_special_fallHealer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -1640px -1547px;
|
background-position: -337px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fallMage {
|
.shop_armor_special_fallMage {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: 0px -1588px;
|
background-position: -378px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fallRogue {
|
.shop_armor_special_fallRogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -41px -1588px;
|
background-position: -419px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_armor_special_fallWarrior {
|
.shop_armor_special_fallWarrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -82px -1588px;
|
background-position: -460px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fall2015Healer {
|
.shop_head_special_fall2015Healer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -123px -1588px;
|
background-position: -501px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fall2015Mage {
|
.shop_head_special_fall2015Mage {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -164px -1588px;
|
background-position: -542px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fall2015Rogue {
|
.shop_head_special_fall2015Rogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -205px -1588px;
|
background-position: -583px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fall2015Warrior {
|
.shop_head_special_fall2015Warrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -246px -1588px;
|
background-position: -624px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fallHealer {
|
.shop_head_special_fallHealer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -287px -1588px;
|
background-position: -665px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fallMage {
|
.shop_head_special_fallMage {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -328px -1588px;
|
background-position: -706px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fallRogue {
|
.shop_head_special_fallRogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -369px -1588px;
|
background-position: -747px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_head_special_fallWarrior {
|
.shop_head_special_fallWarrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -410px -1588px;
|
background-position: -788px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fall2015Healer {
|
.shop_shield_special_fall2015Healer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -451px -1588px;
|
background-position: -829px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fall2015Rogue {
|
.shop_shield_special_fall2015Rogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -492px -1588px;
|
background-position: -870px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fall2015Warrior {
|
.shop_shield_special_fall2015Warrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -533px -1588px;
|
background-position: -911px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fallHealer {
|
.shop_shield_special_fallHealer {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -574px -1588px;
|
background-position: -952px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fallRogue {
|
.shop_shield_special_fallRogue {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -615px -1588px;
|
background-position: -993px -1588px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.shop_shield_special_fallWarrior {
|
.shop_shield_special_fallWarrior {
|
||||||
background-image: url(spritesmith-main-3.png);
|
background-image: url(spritesmith-main-3.png);
|
||||||
background-position: -656px -1588px;
|
background-position: -1034px -1588px;
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fall2015Healer {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -697px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fall2015Mage {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -738px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fall2015Rogue {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -779px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fall2015Warrior {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -820px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fallHealer {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -861px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fallMage {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -902px -1588px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.shop_weapon_special_fallRogue {
|
|
||||||
background-image: url(spritesmith-main-3.png);
|
|
||||||
background-position: -943px -1588px;
|
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
common/dist/sprites/spritesmith-main-3.png
vendored
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
956
common/dist/sprites/spritesmith-main-4.css
vendored
BIN
common/dist/sprites/spritesmith-main-4.png
vendored
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
946
common/dist/sprites/spritesmith-main-5.css
vendored
BIN
common/dist/sprites/spritesmith-main-5.png
vendored
|
Before Width: | Height: | Size: 369 KiB After Width: | Height: | Size: 371 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 420 B |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.1 KiB |
@@ -260,6 +260,8 @@
|
|||||||
"armorSpecialBirthdayNotes": "Happy Birthday, Habitica! Wear these Absurd Party Robes to celebrate this wonderful day. Confers no benefit.",
|
"armorSpecialBirthdayNotes": "Happy Birthday, Habitica! Wear these Absurd Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||||
"armorSpecialBirthday2015Text": "Silly Party Robes",
|
"armorSpecialBirthday2015Text": "Silly Party Robes",
|
||||||
"armorSpecialBirthday2015Notes": "Happy Birthday, Habitica! Wear these Silly Party Robes to celebrate this wonderful day. Confers no benefit.",
|
"armorSpecialBirthday2015Notes": "Happy Birthday, Habitica! Wear these Silly Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||||
|
"armorSpecialBirthday2016Text": "Ridiculous Party Robes",
|
||||||
|
"armorSpecialBirthday2016Notes": "Happy Birthday, Habitica! Wear these Ridiculous Party Robes to celebrate this wonderful day. Confers no benefit.",
|
||||||
|
|
||||||
"armorSpecialGaymerxText": "Rainbow Warrior Armor",
|
"armorSpecialGaymerxText": "Rainbow Warrior Armor",
|
||||||
"armorSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special armor is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
|
"armorSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special armor is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
|
||||||
|
|||||||
@@ -160,6 +160,12 @@
|
|||||||
"thankyou3": "I'm very grateful - thank you!",
|
"thankyou3": "I'm very grateful - thank you!",
|
||||||
"thankyouCardAchievementTitle": "Greatly Grateful",
|
"thankyouCardAchievementTitle": "Greatly Grateful",
|
||||||
"thankyouCardAchievementText": "Thanks for being thankful! Sent or received <%= cards %> Thank-You cards.",
|
"thankyouCardAchievementText": "Thanks for being thankful! Sent or received <%= cards %> Thank-You cards.",
|
||||||
|
"birthdayCard": "Birthday Card",
|
||||||
|
"birthdayCardExplanation": "You both receive the Birthday Bonanza achievement!",
|
||||||
|
"birthdayCardNotes": "Send a birthday card to a party member.",
|
||||||
|
"birthday0": "Happy birthday to you!",
|
||||||
|
"birthdayCardAchievementTitle": "Birthday Bonanza",
|
||||||
|
"birthdayCardAchievementText": "Many happy returns! Sent or received <%= cards %> birthday cards.",
|
||||||
"streakAchievement": "You earned a streak achievement!",
|
"streakAchievement": "You earned a streak achievement!",
|
||||||
"firstStreakAchievement": "21-Day Streak",
|
"firstStreakAchievement": "21-Day Streak",
|
||||||
"streakAchievementCount": "<%= streaks %> 21-Day Streaks",
|
"streakAchievementCount": "<%= streaks %> 21-Day Streaks",
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ export const EVENTS = {
|
|||||||
fall2015: { start: '2015-09-21', end: '2015-11-01' },
|
fall2015: { start: '2015-09-21', end: '2015-11-01' },
|
||||||
gaymerx: { start: '2015-12-01', end: '2015-12-14' },
|
gaymerx: { start: '2015-12-01', end: '2015-12-14' },
|
||||||
winter2016: { start: '2015-12-18', end: '2016-02-02' },
|
winter2016: { start: '2015-12-18', end: '2016-02-02' },
|
||||||
|
birthday2016: { start: '2016-01-29', end: '2016-02-02' },
|
||||||
};
|
};
|
||||||
|
|
||||||
export const GEAR_TYPES = [
|
export const GEAR_TYPES = [
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ let armor = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
birthday: {
|
birthday: {
|
||||||
event: EVENTS.birthday,
|
|
||||||
text: t('armorSpecialBirthdayText'),
|
text: t('armorSpecialBirthdayText'),
|
||||||
notes: t('armorSpecialBirthdayNotes'), value: 0,
|
notes: t('armorSpecialBirthdayNotes'), value: 0,
|
||||||
},
|
},
|
||||||
@@ -359,6 +358,13 @@ let armor = {
|
|||||||
value: 90,
|
value: 90,
|
||||||
con: 15,
|
con: 15,
|
||||||
},
|
},
|
||||||
|
birthday2016: {
|
||||||
|
event: EVENTS.birthday2016,
|
||||||
|
text: t('armorSpecialBirthday2016Text'),
|
||||||
|
notes: t('armorSpecialBirthday2016Notes'),
|
||||||
|
value: 0,
|
||||||
|
canOwn: ownsItem('armor_special_birthday2016'),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let back = {
|
let back = {
|
||||||
|
|||||||
@@ -662,7 +662,42 @@ api.spells = {
|
|||||||
}
|
}
|
||||||
return user.stats.gp -= 10;
|
return user.stats.gp -= 10;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
birthday: {
|
||||||
|
text: t('birthdayCard'),
|
||||||
|
mana: 0,
|
||||||
|
value: 10,
|
||||||
|
immediateUse: true,
|
||||||
|
silent: true,
|
||||||
|
target: 'user',
|
||||||
|
notes: t('birthdayCardNotes'),
|
||||||
|
cast: function(user, target) {
|
||||||
|
var base;
|
||||||
|
if (user === target) {
|
||||||
|
if ((base = user.achievements).birthday == null) {
|
||||||
|
base.birthday = 0;
|
||||||
}
|
}
|
||||||
|
user.achievements.birthday++;
|
||||||
|
} else {
|
||||||
|
_.each([user, target], function(t) {
|
||||||
|
var base1;
|
||||||
|
if ((base1 = t.achievements).birthday == null) {
|
||||||
|
base1.birthday = 0;
|
||||||
|
}
|
||||||
|
return t.achievements.birthday++;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (!target.items.special.birthdayReceived) {
|
||||||
|
target.items.special.birthdayReceived = [];
|
||||||
|
}
|
||||||
|
target.items.special.birthdayReceived.push(user.profile.name);
|
||||||
|
target.flags.cardReceived = true;
|
||||||
|
if (typeof target.markModified === "function") {
|
||||||
|
target.markModified('items.special.birthdayReceived');
|
||||||
|
}
|
||||||
|
return user.stats.gp -= 10;
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -684,7 +719,12 @@ api.cardTypes = {
|
|||||||
valentine: {
|
valentine: {
|
||||||
key: 'valentine',
|
key: 'valentine',
|
||||||
messageOptions: 4
|
messageOptions: 4
|
||||||
}
|
},
|
||||||
|
birthday: {
|
||||||
|
key: 'birthday',
|
||||||
|
messageOptions: 1,
|
||||||
|
yearRound: true,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
_.each(api.spells, function(spellClass) {
|
_.each(api.spells, function(spellClass) {
|
||||||
@@ -1139,91 +1179,51 @@ api.questMounts = _.transform(api.questEggs, function(m, egg) {
|
|||||||
api.food = {
|
api.food = {
|
||||||
Meat: {
|
Meat: {
|
||||||
text: t('foodMeat'),
|
text: t('foodMeat'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Base',
|
target: 'Base',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Milk: {
|
Milk: {
|
||||||
text: t('foodMilk'),
|
text: t('foodMilk'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'White',
|
target: 'White',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Potatoe: {
|
Potatoe: {
|
||||||
text: t('foodPotatoe'),
|
text: t('foodPotatoe'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Desert',
|
target: 'Desert',
|
||||||
article: 'a '
|
article: 'a '
|
||||||
},
|
},
|
||||||
Strawberry: {
|
Strawberry: {
|
||||||
text: t('foodStrawberry'),
|
text: t('foodStrawberry'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Red',
|
target: 'Red',
|
||||||
article: 'a '
|
article: 'a '
|
||||||
},
|
},
|
||||||
Chocolate: {
|
Chocolate: {
|
||||||
text: t('foodChocolate'),
|
text: t('foodChocolate'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Shade',
|
target: 'Shade',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Fish: {
|
Fish: {
|
||||||
text: t('foodFish'),
|
text: t('foodFish'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Skeleton',
|
target: 'Skeleton',
|
||||||
article: 'a '
|
article: 'a '
|
||||||
},
|
},
|
||||||
RottenMeat: {
|
RottenMeat: {
|
||||||
text: t('foodRottenMeat'),
|
text: t('foodRottenMeat'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Zombie',
|
target: 'Zombie',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
CottonCandyPink: {
|
CottonCandyPink: {
|
||||||
text: t('foodCottonCandyPink'),
|
text: t('foodCottonCandyPink'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'CottonCandyPink',
|
target: 'CottonCandyPink',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
CottonCandyBlue: {
|
CottonCandyBlue: {
|
||||||
text: t('foodCottonCandyBlue'),
|
text: t('foodCottonCandyBlue'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'CottonCandyBlue',
|
target: 'CottonCandyBlue',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Honey: {
|
Honey: {
|
||||||
text: t('foodHoney'),
|
text: t('foodHoney'),
|
||||||
canBuy: (function() {
|
|
||||||
return true;
|
|
||||||
}),
|
|
||||||
canDrop: true,
|
|
||||||
target: 'Golden',
|
target: 'Golden',
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
@@ -1238,51 +1238,91 @@ api.food = {
|
|||||||
Cake_Skeleton: {
|
Cake_Skeleton: {
|
||||||
text: t('foodCakeSkeleton'),
|
text: t('foodCakeSkeleton'),
|
||||||
target: 'Skeleton',
|
target: 'Skeleton',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Base: {
|
Cake_Base: {
|
||||||
text: t('foodCakeBase'),
|
text: t('foodCakeBase'),
|
||||||
target: 'Base',
|
target: 'Base',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_CottonCandyBlue: {
|
Cake_CottonCandyBlue: {
|
||||||
text: t('foodCakeCottonCandyBlue'),
|
text: t('foodCakeCottonCandyBlue'),
|
||||||
target: 'CottonCandyBlue',
|
target: 'CottonCandyBlue',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_CottonCandyPink: {
|
Cake_CottonCandyPink: {
|
||||||
text: t('foodCakeCottonCandyPink'),
|
text: t('foodCakeCottonCandyPink'),
|
||||||
target: 'CottonCandyPink',
|
target: 'CottonCandyPink',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Shade: {
|
Cake_Shade: {
|
||||||
text: t('foodCakeShade'),
|
text: t('foodCakeShade'),
|
||||||
target: 'Shade',
|
target: 'Shade',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_White: {
|
Cake_White: {
|
||||||
text: t('foodCakeWhite'),
|
text: t('foodCakeWhite'),
|
||||||
target: 'White',
|
target: 'White',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Golden: {
|
Cake_Golden: {
|
||||||
text: t('foodCakeGolden'),
|
text: t('foodCakeGolden'),
|
||||||
target: 'Golden',
|
target: 'Golden',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Zombie: {
|
Cake_Zombie: {
|
||||||
text: t('foodCakeZombie'),
|
text: t('foodCakeZombie'),
|
||||||
target: 'Zombie',
|
target: 'Zombie',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Desert: {
|
Cake_Desert: {
|
||||||
text: t('foodCakeDesert'),
|
text: t('foodCakeDesert'),
|
||||||
target: 'Desert',
|
target: 'Desert',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Cake_Red: {
|
Cake_Red: {
|
||||||
text: t('foodCakeRed'),
|
text: t('foodCakeRed'),
|
||||||
target: 'Red',
|
target: 'Red',
|
||||||
|
canBuy: (function() {
|
||||||
|
return true;
|
||||||
|
}),
|
||||||
|
canDrop: true,
|
||||||
article: ''
|
article: ''
|
||||||
},
|
},
|
||||||
Candy_Skeleton: {
|
Candy_Skeleton: {
|
||||||
|
|||||||
85
migrations/20160129_habit_birthday.js
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
var migrationName = '20160129_habit_birthday.js';
|
||||||
|
var authorName = 'Sabe'; // in case script author needs to know when their ...
|
||||||
|
var authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; //... own data is done
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Award 2016 party robes if user has 2015 robes, 2015 robes if they have the 2014 robes,
|
||||||
|
* and 2014 robes otherwise
|
||||||
|
*/
|
||||||
|
|
||||||
|
var dbserver = 'localhost:27017'; // FOR TEST DATABASE
|
||||||
|
// var dbserver = 'username:password@ds031379-a0.mongolab.com:31379'; // FOR PRODUCTION DATABASE
|
||||||
|
var dbname = 'habitrpg';
|
||||||
|
|
||||||
|
var mongo = require('mongoskin');
|
||||||
|
var _ = require('lodash');
|
||||||
|
|
||||||
|
var dbUsers = mongo.db(dbserver + '/' + dbname + '?auto_reconnect').collection('users');
|
||||||
|
|
||||||
|
// specify a query to limit the affected users (empty for all users):
|
||||||
|
var query = {
|
||||||
|
};
|
||||||
|
|
||||||
|
// specify fields we are interested in to limit retrieved data (empty if we're not reading data):
|
||||||
|
var fields = {
|
||||||
|
'items.gear.owned': 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
console.warn('Updating users...');
|
||||||
|
var progressCount = 1000;
|
||||||
|
var count = 0;
|
||||||
|
dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
||||||
|
if (err) { return exiting(1, 'ERROR! ' + err); }
|
||||||
|
if (!user) {
|
||||||
|
console.warn('All appropriate users found and modified.');
|
||||||
|
return displayData();
|
||||||
|
}
|
||||||
|
count++;
|
||||||
|
|
||||||
|
// specify user data to change:
|
||||||
|
var set = {'migration':migrationName};
|
||||||
|
if (user.items && user.items.gear && user.items.gear.owned && user.items.gear.owned.hasOwnProperty('armor_special_birthday2015')) {
|
||||||
|
set['items.gear.owned.armor_special_birthday2016'] = false;
|
||||||
|
} else if (user.items && user.items.gear && user.items.gear.owned && user.items.gear.owned.hasOwnProperty('armor_special_birthday')) {
|
||||||
|
set['items.gear.owned.armor_special_birthday2015'] = false;
|
||||||
|
} else {
|
||||||
|
set['items.gear.owned.armor_special_birthday'] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var 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
|
||||||
|
};
|
||||||
|
|
||||||
|
dbUsers.update({_id:user._id}, {$set:set});
|
||||||
|
dbUsers.update({_id:user._id}, {$inc:inc});
|
||||||
|
|
||||||
|
if (count%progressCount == 0) console.warn(count + ' ' + user._id);
|
||||||
|
if (user._id == authorUuid) console.warn(authorName + ' processed');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function displayData() {
|
||||||
|
console.warn('\n' + count + ' users processed\n');
|
||||||
|
return exiting(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function exiting(code, msg) {
|
||||||
|
code = code || 0; // 0 = success
|
||||||
|
if (code && !msg) { msg = 'ERROR!'; }
|
||||||
|
if (msg) {
|
||||||
|
if (code) { console.error(msg); }
|
||||||
|
else { console.log( msg); }
|
||||||
|
}
|
||||||
|
process.exit(code);
|
||||||
|
}
|
||||||
@@ -112,3 +112,6 @@ li.spaced
|
|||||||
|
|
||||||
.reduce-top-margin
|
.reduce-top-margin
|
||||||
margin-top: -10px
|
margin-top: -10px
|
||||||
|
|
||||||
|
.slight-right-margin
|
||||||
|
margin-right: 1em
|
||||||
|
|||||||
@@ -58,7 +58,8 @@ var UserSchema = new Schema({
|
|||||||
habiticaDays: Number,
|
habiticaDays: Number,
|
||||||
greeting: Number,
|
greeting: Number,
|
||||||
thankyou: Number,
|
thankyou: Number,
|
||||||
costumeContests: Number
|
costumeContests: Number,
|
||||||
|
birthday: Number
|
||||||
},
|
},
|
||||||
auth: {
|
auth: {
|
||||||
blocked: Boolean,
|
blocked: Boolean,
|
||||||
@@ -243,7 +244,9 @@ var UserSchema = new Schema({
|
|||||||
greeting: Number,
|
greeting: Number,
|
||||||
greetingReceived: Array,
|
greetingReceived: Array,
|
||||||
thankyou: Number,
|
thankyou: Number,
|
||||||
thankyouReceived: Array
|
thankyouReceived: Array,
|
||||||
|
birthday: Number,
|
||||||
|
birthdayReceived: Array
|
||||||
},
|
},
|
||||||
|
|
||||||
// -------------- Animals -------------------
|
// -------------- Animals -------------------
|
||||||
|
|||||||
@@ -1,5 +1,48 @@
|
|||||||
h2 1/26/2016 - JANUARY SUBSCRIBER ITEM AND AVATAR CUSTOMIZATION IN THE ANDROID APP
|
h2 1/29/2016 - HABITICA BIRTHDAY BASH: CAKE, ACHIEVEMENTS, BIRTHDAY CARDS, AND PARTY ROBES! PLUS, LAST CHANCE FOR JANUARY AND WINTER WONDERLAND ITEMS
|
||||||
hr
|
hr
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.npc_matt.pull-right
|
||||||
|
h3 Habitica Birthday Bash
|
||||||
|
p January 31st is Habitica's Birthday, and this year we have something extra-special to enjoy: Habitica has hit over one million users! Thank you so much for being here with us - it means a lot.
|
||||||
|
br
|
||||||
|
p Now come join us and the NPCs as we celebrate!
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.Pet_Food_Cake_Base.pull-left.slight-right-margin
|
||||||
|
h3 Cake for Everybody!
|
||||||
|
p In honor of the festivities, everyone has been awarded an assortment of cake to feed to your pets! Yum, yum. Plus, for the next two days <a href='/#/options/inventory/drops'>Alexander the Merchant</a> is now selling cake in his shop, and cake will sometimes drop when you complete your tasks. Cake works just like normal pet food, but if you want to know what type of pet likes each slice, <a href='http://habitica.wikia.com/wiki/Food' target='_blank'>the wiki has spoilers</a>.
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.shop_armor_special_birthday2016.pull-left.slight-right-margin
|
||||||
|
h3 Party Robes
|
||||||
|
p Until February 1st only, there are Party Robes available for free in the <a href='/#/tasks'>Rewards column</a>! Don them with pride.
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.achievement-habitBirthday2x.pull-right
|
||||||
|
h3 Birthday Bash Achievement
|
||||||
|
p In honor of Habitica's birthday, everyone has been awarded the Habitica Birthday Bash achievement! This achievement stacks for each Birthday Bash you celebrate with us.
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.inventory_special_birthday.pull-right
|
||||||
|
h3 Birthday Cards
|
||||||
|
p You can now send <a href='/#/options/inventory/drops'>Birthday Cards</a> to your party mates! If you do so, you'll both get the Birthday Bonanza badge. These birthday cards will be available year-round for 10 Gold each.
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
.promo_mystery_201601.pull-right
|
||||||
|
h3 Last Chance for January Item Set
|
||||||
|
p Reminder: this is the final day to <a href='/#/options/settings/subscription'>subscribe</a> and receive the Champion of Resolution Item Set! If you want the Resolution Slayer or the Helm of True Resolve, now's the time! Thanks so much for your support <3
|
||||||
|
tr
|
||||||
|
td
|
||||||
|
h3 Last Chance for Winter Wonderland Outfits & Hair Colors
|
||||||
|
p On February 1st, everything will be back to normal in Habitica, so if you still have any remaining Winter Wonderland Items that you want to buy, you'd better do it now! The <a href='/#/options/inventory/seasonalshop'>Seasonal Edition items</a> and <a href='/#/options/profile/avatar'>Hair Colors</a> won't be back until next December, and if the Limited Edition items return they will have increased prices or changed art, so strike while the iron is hot!
|
||||||
|
|
||||||
|
if menuItem !== 'oldNews'
|
||||||
|
hr
|
||||||
|
a(href='/static/old-news', target='_blank') Read older news
|
||||||
|
|
||||||
|
mixin oldNews
|
||||||
|
h2 1/26/2016 - JANUARY SUBSCRIBER ITEM AND AVATAR CUSTOMIZATION IN THE ANDROID APP
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
.promo_mystery_201601.pull-right
|
.promo_mystery_201601.pull-right
|
||||||
@@ -11,12 +54,6 @@ h2 1/26/2016 - JANUARY SUBSCRIBER ITEM AND AVATAR CUSTOMIZATION IN THE ANDROID A
|
|||||||
h3 Android App Update: Avatar Customization
|
h3 Android App Update: Avatar Customization
|
||||||
p We've released an <a href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica&hl=en' target='_blank'>update to the Android app</a> including... AVATAR CUSTOMIZATION! Now you can edit your avatar on the go. We've also crushed a bunch of bugs and crashes, so be sure to download it now.
|
p We've released an <a href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica&hl=en' target='_blank'>update to the Android app</a> including... AVATAR CUSTOMIZATION! Now you can edit your avatar on the go. We've also crushed a bunch of bugs and crashes, so be sure to download it now.
|
||||||
p.small.muted by Viirus
|
p.small.muted by Viirus
|
||||||
|
|
||||||
if menuItem !== 'oldNews'
|
|
||||||
hr
|
|
||||||
a(href='/static/old-news', target='_blank') Read older news
|
|
||||||
|
|
||||||
mixin oldNews
|
|
||||||
h2 1/20/2016 - NEW STAFF MEMBER, NEW YEAR'S RESOLUTION BLOG POSTS, AND RESOLUTION CHALLENGE
|
h2 1/20/2016 - NEW STAFF MEMBER, NEW YEAR'S RESOLUTION BLOG POSTS, AND RESOLUTION CHALLENGE
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ div(ng-if='::profile.achievements.costumeContests')
|
|||||||
!=env.t('costumeContestTextPlural', {number: "{{::profile.achievements.costumeContests}}"})
|
!=env.t('costumeContestTextPlural', {number: "{{::profile.achievements.costumeContests}}"})
|
||||||
hr
|
hr
|
||||||
|
|
||||||
each card in ['greeting', 'thankyou', 'nye', 'valentine']
|
each card in ['greeting', 'thankyou', 'nye', 'valentine', 'birthday']
|
||||||
div(ng-if='::profile.achievements.#{card}')
|
div(ng-if='::profile.achievements.#{card}')
|
||||||
div(class='achievement achievement-#{card}')
|
div(class='achievement achievement-#{card}')
|
||||||
h5=env.t(card + 'CardAchievementTitle')
|
h5=env.t(card + 'CardAchievementTitle')
|
||||||
|
|||||||