Merge branch 'develop' into hairlessbear-add_quest_rewards_to_pending_quest

This commit is contained in:
Blade Barringer
2015-06-17 18:51:30 -05:00
86 changed files with 7989 additions and 7619 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
+159 -111
View File
@@ -1,216 +1,216 @@
.achievement-alien {
background-image: url(spritesmith0.png);
background-position: -1403px -1301px;
background-position: -1949px -479px;
width: 24px;
height: 26px;
}
.achievement-alpha {
background-image: url(spritesmith0.png);
background-position: -1833px -1729px;
background-position: -1924px -182px;
width: 24px;
height: 26px;
}
.achievement-armor {
background-image: url(spritesmith0.png);
background-position: -1378px -1301px;
background-position: -1924px -479px;
width: 24px;
height: 26px;
}
.achievement-boot {
background-image: url(spritesmith0.png);
background-position: -1353px -1301px;
background-position: -1899px -479px;
width: 24px;
height: 26px;
}
.achievement-bow {
background-image: url(spritesmith0.png);
background-position: -1403px -1274px;
background-position: -1949px -452px;
width: 24px;
height: 26px;
}
.achievement-cactus {
background-image: url(spritesmith0.png);
background-position: -1378px -1274px;
background-position: -1924px -452px;
width: 24px;
height: 26px;
}
.achievement-cake {
background-image: url(spritesmith0.png);
background-position: -1353px -1274px;
background-position: -1899px -452px;
width: 24px;
height: 26px;
}
.achievement-cave {
background-image: url(spritesmith0.png);
background-position: -1494px -1392px;
background-position: -1949px -425px;
width: 24px;
height: 26px;
}
.achievement-coffin {
background-image: url(spritesmith0.png);
background-position: -1469px -1392px;
background-position: -1924px -425px;
width: 24px;
height: 26px;
}
.achievement-comment {
background-image: url(spritesmith0.png);
background-position: -1444px -1392px;
background-position: -1899px -425px;
width: 24px;
height: 26px;
}
.achievement-costumeContest {
background-image: url(spritesmith0.png);
background-position: -1494px -1365px;
background-position: -1949px -398px;
width: 24px;
height: 26px;
}
.achievement-dilatory {
background-image: url(spritesmith0.png);
background-position: -1469px -1365px;
background-position: -1924px -398px;
width: 24px;
height: 26px;
}
.achievement-firefox {
background-image: url(spritesmith0.png);
background-position: -1444px -1365px;
background-position: -1899px -398px;
width: 24px;
height: 26px;
}
.achievement-habitBirthday {
background-image: url(spritesmith0.png);
background-position: -1585px -1483px;
background-position: -1949px -371px;
width: 24px;
height: 26px;
}
.achievement-heart {
background-image: url(spritesmith0.png);
background-position: -1560px -1483px;
background-position: -1924px -371px;
width: 24px;
height: 26px;
}
.achievement-karaoke {
background-image: url(spritesmith0.png);
background-position: -1535px -1483px;
background-position: -1899px -371px;
width: 24px;
height: 26px;
}
.achievement-ninja {
background-image: url(spritesmith0.png);
background-position: -1585px -1456px;
background-position: -1949px -344px;
width: 24px;
height: 26px;
}
.achievement-nye {
background-image: url(spritesmith0.png);
background-position: -1560px -1456px;
background-position: -1924px -344px;
width: 24px;
height: 26px;
}
.achievement-perfect {
background-image: url(spritesmith0.png);
background-position: -1808px -1729px;
background-position: -1899px -182px;
width: 24px;
height: 26px;
}
.achievement-rat {
background-image: url(spritesmith0.png);
background-position: -1676px -1574px;
background-position: -1949px -317px;
width: 24px;
height: 26px;
}
.achievement-shield {
background-image: url(spritesmith0.png);
background-position: -1651px -1574px;
background-position: -1924px -317px;
width: 24px;
height: 26px;
}
.achievement-shinySeed {
background-image: url(spritesmith0.png);
background-position: -1626px -1574px;
background-position: -1899px -317px;
width: 24px;
height: 26px;
}
.achievement-snowball {
background-image: url(spritesmith0.png);
background-position: -1676px -1547px;
background-position: -1949px -290px;
width: 24px;
height: 26px;
}
.achievement-spookDust {
background-image: url(spritesmith0.png);
background-position: -1651px -1547px;
background-position: -1924px -290px;
width: 24px;
height: 26px;
}
.achievement-stoikalm {
background-image: url(spritesmith0.png);
background-position: -1626px -1547px;
background-position: -1899px -290px;
width: 24px;
height: 26px;
}
.achievement-sun {
background-image: url(spritesmith0.png);
background-position: -1767px -1665px;
background-position: -1949px -263px;
width: 24px;
height: 26px;
}
.achievement-sword {
background-image: url(spritesmith0.png);
background-position: -1742px -1665px;
background-position: -1924px -263px;
width: 24px;
height: 26px;
}
.achievement-thermometer {
background-image: url(spritesmith0.png);
background-position: -1717px -1665px;
background-position: -1899px -263px;
width: 24px;
height: 26px;
}
.achievement-tree {
background-image: url(spritesmith0.png);
background-position: -1767px -1638px;
background-position: -1949px -236px;
width: 24px;
height: 26px;
}
.achievement-triadbingo {
background-image: url(spritesmith0.png);
background-position: -1742px -1638px;
background-position: -1924px -236px;
width: 24px;
height: 26px;
}
.achievement-ultimate-healer {
background-image: url(spritesmith0.png);
background-position: -1717px -1638px;
background-position: -1899px -236px;
width: 24px;
height: 26px;
}
.achievement-ultimate-mage {
background-image: url(spritesmith0.png);
background-position: -1858px -1756px;
background-position: -1949px -209px;
width: 24px;
height: 26px;
}
.achievement-ultimate-rogue {
background-image: url(spritesmith0.png);
background-position: -1833px -1756px;
background-position: -1924px -209px;
width: 24px;
height: 26px;
}
.achievement-ultimate-warrior {
background-image: url(spritesmith0.png);
background-position: -1808px -1756px;
background-position: -1899px -209px;
width: 24px;
height: 26px;
}
.achievement-valentine {
background-image: url(spritesmith0.png);
background-position: -1858px -1729px;
background-position: -1949px -182px;
width: 24px;
height: 26px;
}
.achievement-wolf {
background-image: url(spritesmith0.png);
background-position: -1535px -1456px;
background-position: -1899px -344px;
width: 24px;
height: 26px;
}
@@ -1866,13 +1866,13 @@
}
.hair_mustache_1_porange {
background-image: url(spritesmith0.png);
background-position: -708px -592px;
background-position: 0px -1434px;
width: 90px;
height: 90px;
}
.customize-option.hair_mustache_1_porange {
background-image: url(spritesmith0.png);
background-position: -733px -607px;
background-position: -25px -1449px;
width: 60px;
height: 60px;
}
@@ -1890,13 +1890,13 @@
}
.hair_mustache_1_ppurple {
background-image: url(spritesmith0.png);
background-position: -182px -1434px;
background-position: -708px -592px;
width: 90px;
height: 90px;
}
.customize-option.hair_mustache_1_ppurple {
background-image: url(spritesmith0.png);
background-position: -207px -1449px;
background-position: -733px -607px;
width: 60px;
height: 60px;
}
@@ -3762,431 +3762,479 @@
}
.hair_bangs_3_pumpkin {
background-image: url(spritesmith0.png);
background-position: 0px -1434px;
background-position: -1638px -1798px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pumpkin {
background-image: url(spritesmith0.png);
background-position: -25px -1449px;
background-position: -1663px -1813px;
width: 60px;
height: 60px;
}
.hair_bangs_3_purple {
background-image: url(spritesmith0.png);
background-position: -637px -979px;
background-position: -1729px -1798px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_purple {
background-image: url(spritesmith0.png);
background-position: -662px -994px;
background-position: -1754px -1813px;
width: 60px;
height: 60px;
}
.hair_bangs_3_pyellow {
background-image: url(spritesmith0.png);
background-position: -546px -979px;
background-position: -1899px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pyellow {
background-image: url(spritesmith0.png);
background-position: -571px -994px;
background-position: -1924px -15px;
width: 60px;
height: 60px;
}
.hair_bangs_3_pyellow2 {
background-image: url(spritesmith0.png);
background-position: -455px -979px;
background-position: -1899px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pyellow2 {
background-image: url(spritesmith0.png);
background-position: -480px -994px;
background-position: -1924px -106px;
width: 60px;
height: 60px;
}
.hair_bangs_3_rainbow {
background-image: url(spritesmith0.png);
background-position: -364px -979px;
background-position: -182px -1434px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_rainbow {
background-image: url(spritesmith0.png);
background-position: -389px -994px;
background-position: -207px -1449px;
width: 60px;
height: 60px;
}
.hair_bangs_3_red {
background-image: url(spritesmith0.png);
background-position: -273px -979px;
background-position: -637px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_red {
background-image: url(spritesmith0.png);
background-position: -298px -994px;
background-position: -662px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_snowy {
background-image: url(spritesmith0.png);
background-position: -182px -979px;
background-position: -546px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_snowy {
background-image: url(spritesmith0.png);
background-position: -207px -994px;
background-position: -571px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_white {
background-image: url(spritesmith0.png);
background-position: -91px -979px;
background-position: -455px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_white {
background-image: url(spritesmith0.png);
background-position: -116px -994px;
background-position: -480px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_winternight {
background-image: url(spritesmith0.png);
background-position: 0px -979px;
background-position: -364px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_winternight {
background-image: url(spritesmith0.png);
background-position: -25px -994px;
background-position: -389px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_winterstar {
background-image: url(spritesmith0.png);
background-position: -989px -819px;
background-position: -273px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_winterstar {
background-image: url(spritesmith0.png);
background-position: -1014px -834px;
background-position: -298px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_yellow {
background-image: url(spritesmith0.png);
background-position: -989px -728px;
background-position: -182px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_yellow {
background-image: url(spritesmith0.png);
background-position: -1014px -743px;
background-position: -207px -994px;
width: 60px;
height: 60px;
}
.hair_bangs_3_zombie {
background-image: url(spritesmith0.png);
background-position: -989px -637px;
background-position: -91px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_zombie {
background-image: url(spritesmith0.png);
background-position: -1014px -652px;
background-position: -116px -994px;
width: 60px;
height: 60px;
}
.hair_base_10_TRUred {
background-image: url(spritesmith0.png);
background-position: -989px -546px;
background-position: 0px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_TRUred {
background-image: url(spritesmith0.png);
background-position: -1014px -561px;
background-position: -25px -994px;
width: 60px;
height: 60px;
}
.hair_base_10_aurora {
background-image: url(spritesmith0.png);
background-position: -989px -455px;
background-position: -989px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_aurora {
background-image: url(spritesmith0.png);
background-position: -1014px -470px;
background-position: -1014px -834px;
width: 60px;
height: 60px;
}
.hair_base_10_black {
background-image: url(spritesmith0.png);
background-position: -989px -364px;
background-position: -989px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_black {
background-image: url(spritesmith0.png);
background-position: -1014px -379px;
background-position: -1014px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_blond {
background-image: url(spritesmith0.png);
background-position: -989px -273px;
background-position: -989px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_blond {
background-image: url(spritesmith0.png);
background-position: -1014px -288px;
background-position: -1014px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_blue {
background-image: url(spritesmith0.png);
background-position: -989px -182px;
background-position: -989px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_blue {
background-image: url(spritesmith0.png);
background-position: -1014px -197px;
background-position: -1014px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_brown {
background-image: url(spritesmith0.png);
background-position: -989px -91px;
background-position: -989px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_brown {
background-image: url(spritesmith0.png);
background-position: -1014px -106px;
background-position: -1014px -470px;
width: 60px;
height: 60px;
}
.hair_base_10_candycane {
background-image: url(spritesmith0.png);
background-position: -989px 0px;
background-position: -989px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_candycane {
background-image: url(spritesmith0.png);
background-position: -1014px -15px;
background-position: -1014px -379px;
width: 60px;
height: 60px;
}
.hair_base_10_candycorn {
background-image: url(spritesmith0.png);
background-position: -819px -888px;
background-position: -989px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_candycorn {
background-image: url(spritesmith0.png);
background-position: -844px -903px;
background-position: -1014px -288px;
width: 60px;
height: 60px;
}
.hair_base_10_festive {
background-image: url(spritesmith0.png);
background-position: -728px -888px;
background-position: -989px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_festive {
background-image: url(spritesmith0.png);
background-position: -753px -903px;
background-position: -1014px -197px;
width: 60px;
height: 60px;
}
.hair_base_10_frost {
background-image: url(spritesmith0.png);
background-position: -637px -888px;
background-position: -989px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_frost {
background-image: url(spritesmith0.png);
background-position: -662px -903px;
background-position: -1014px -106px;
width: 60px;
height: 60px;
}
.hair_base_10_ghostwhite {
background-image: url(spritesmith0.png);
background-position: -546px -888px;
background-position: -989px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ghostwhite {
background-image: url(spritesmith0.png);
background-position: -571px -903px;
background-position: -1014px -15px;
width: 60px;
height: 60px;
}
.hair_base_10_green {
background-image: url(spritesmith0.png);
background-position: -455px -888px;
background-position: -819px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_green {
background-image: url(spritesmith0.png);
background-position: -480px -903px;
background-position: -844px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_halloween {
background-image: url(spritesmith0.png);
background-position: -364px -888px;
background-position: -728px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_halloween {
background-image: url(spritesmith0.png);
background-position: -389px -903px;
background-position: -753px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_holly {
background-image: url(spritesmith0.png);
background-position: -273px -888px;
background-position: -637px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_holly {
background-image: url(spritesmith0.png);
background-position: -298px -903px;
background-position: -662px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_hollygreen {
background-image: url(spritesmith0.png);
background-position: -182px -888px;
background-position: -546px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_hollygreen {
background-image: url(spritesmith0.png);
background-position: -207px -903px;
background-position: -571px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_midnight {
background-image: url(spritesmith0.png);
background-position: -91px -888px;
background-position: -455px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_midnight {
background-image: url(spritesmith0.png);
background-position: -116px -903px;
background-position: -480px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_pblue {
background-image: url(spritesmith0.png);
background-position: 0px -888px;
background-position: -364px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pblue {
background-image: url(spritesmith0.png);
background-position: -25px -903px;
background-position: -389px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_pblue2 {
background-image: url(spritesmith0.png);
background-position: -889px -740px;
background-position: -273px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pblue2 {
background-image: url(spritesmith0.png);
background-position: -914px -755px;
background-position: -298px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_peppermint {
background-image: url(spritesmith0.png);
background-position: -798px -740px;
background-position: -182px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_peppermint {
background-image: url(spritesmith0.png);
background-position: -823px -755px;
background-position: -207px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_pgreen {
background-image: url(spritesmith0.png);
background-position: -707px -740px;
background-position: -91px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pgreen {
background-image: url(spritesmith0.png);
background-position: -732px -755px;
background-position: -116px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_pgreen2 {
background-image: url(spritesmith0.png);
background-position: -1080px 0px;
background-position: 0px -888px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pgreen2 {
background-image: url(spritesmith0.png);
background-position: -1105px -15px;
background-position: -25px -903px;
width: 60px;
height: 60px;
}
.hair_base_10_porange {
background-image: url(spritesmith0.png);
background-position: -910px -979px;
background-position: -889px -740px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_porange {
background-image: url(spritesmith0.png);
background-position: -935px -994px;
background-position: -914px -755px;
width: 60px;
height: 60px;
}
.hair_base_10_porange2 {
background-image: url(spritesmith0.png);
background-position: -819px -979px;
background-position: -798px -740px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_porange2 {
background-image: url(spritesmith0.png);
background-position: -844px -994px;
background-position: -823px -755px;
width: 60px;
height: 60px;
}
.hair_base_10_ppink {
background-image: url(spritesmith0.png);
background-position: -728px -979px;
background-position: -707px -740px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppink {
background-image: url(spritesmith0.png);
background-position: -732px -755px;
width: 60px;
height: 60px;
}
.hair_base_10_ppink2 {
background-image: url(spritesmith0.png);
background-position: -1080px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppink2 {
background-image: url(spritesmith0.png);
background-position: -1105px -15px;
width: 60px;
height: 60px;
}
.hair_base_10_ppurple {
background-image: url(spritesmith0.png);
background-position: -910px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppurple {
background-image: url(spritesmith0.png);
background-position: -935px -994px;
width: 60px;
height: 60px;
}
.hair_base_10_ppurple2 {
background-image: url(spritesmith0.png);
background-position: -819px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppurple2 {
background-image: url(spritesmith0.png);
background-position: -844px -994px;
width: 60px;
height: 60px;
}
.hair_base_10_pumpkin {
background-image: url(spritesmith0.png);
background-position: -728px -979px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pumpkin {
background-image: url(spritesmith0.png);
background-position: -753px -994px;
width: 60px;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

After

Width:  |  Height:  |  Size: 305 KiB

+2782 -2722
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 78 KiB

+2603 -2627
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 150 KiB

+514 -442
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 151 KiB

+494 -512
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 KiB

After

Width:  |  Height:  |  Size: 696 KiB

+462 -432
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 KiB

After

Width:  |  Height:  |  Size: 364 KiB

+767 -737
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

+3
View File
@@ -90,6 +90,9 @@
"questEggSheepText": "Sheep",
"questEggSheepAdjective": "woolly",
"questEggCuttlefishText": "Cuttlefish",
"questEggCuttlefishAdjective": "cuddly",
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into a <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
-1
View File
@@ -85,7 +85,6 @@
"audioTheme_off": "Off",
"audioTheme_danielTheBard": "Daniel The Bard",
"audioTheme_wattsTheme": "Watts' Theme",
"audioTheme_gokulTheme": "Gokul Theme",
"askQuestion": "Ask a Question",
"reportBug": "Report a Bug",
"contributeToHRPG": "Contribute to HabitRPG",
+8 -1
View File
@@ -237,6 +237,13 @@
"questSheepBoss": "Thunder Ram",
"questSheepCompletion": "Impressed by your diligence, the Thunder Ram is drained of its fury. It launches three huge hailstones in your direction, and then fades away with a low rumble. Upon closer inspection, you discover that the hailstones are actually three fluffy eggs. You gather them up, and then stroll home under a blue sky.",
"questSheepDropSheepEgg": "Sheep (Egg)",
"questSheepUnlockText": "Unlocks purchasable sheep eggs in the Market"
"questSheepUnlockText": "Unlocks purchasable sheep eggs in the Market",
"questKrakenText": "The Kraken of Inkomplete",
"questKrakenNotes": "It's a warm, sunny day as you sail across the Inkomplete Bay, but your thoughts are clouded with worries about everything that you still need to do. It seems that as soon as you finish one task, another crops up, and then another...<br><br>Suddenly, the boat gives a horrible jolt, and slimy tentacles burst out of the water on all sides! \"We're being attacked by the Kraken of Inkomplete!\" Wolvenhalo cries.<br><br>\"Quickly!\" Lemoness calls to you. \"Strike down as many tentacles and tasks as you can, before new ones can rise up to take their place!\"",
"questKrakenBoss": "The Kraken of Inkomplete",
"questKrakenCompletion": "As the Kraken flees, several eggs float to the surface of the water. Lemoness examines them, and her suspicion turns to delight. \"Cuttlefish eggs!\" she says. \"Here, take them as a reward for everything you've completed.\"",
"questKrakenDropCuttlefishEgg": "Cuttlefish (Egg)",
"questKrakenUnlockText": "Unlocks purchasable cuttlefish eggs in the Market"
}
+20
View File
@@ -926,6 +926,7 @@ api.questEggs =
Bunny: text: t('questEggBunnyText'), adjective: t('questEggBunnyAdjective'), canBuy: false
Slime: text: t('questEggSlimeText'), adjective: t('questEggSlimeAdjective'), canBuy: false
Sheep: text: t('questEggSheepText'), adjective: t('questEggSheepAdjective'), canBuy: false
Cuttlefish: text: t('questEggCuttlefishText'), adjective: t('questEggCuttlefishAdjective'), canBuy: false
_.each api.questEggs, (egg,key) ->
_.defaults egg,
@@ -1726,6 +1727,25 @@ api.quests =
exp: 125
unlock: t('questSheepUnlockText')
kraken:
text: t('questKrakenText')
notes: t('questKrakenNotes')
completion: t('questKrakenCompletion')
value: 4
boss:
name: t('questKrakenBoss')
hp: 800
str: 2
drop:
items: [
{type: 'eggs', key: 'Cuttlefish', text: t('questKrakenDropCuttlefishEgg')}
{type: 'eggs', key: 'Cuttlefish', text: t('questKrakenDropCuttlefishEgg')}
{type: 'eggs', key: 'Cuttlefish', text: t('questKrakenDropCuttlefishEgg')}
]
gp: 55
exp: 500
unlock: t('questKrakenUnlockText')
_.each api.quests, (v,key) ->
_.defaults v, {key,canBuy:true}
b = v.boss
+1
View File
@@ -49,6 +49,7 @@ module.exports = function(config) {
"website/public/js/services/memberServices.js",
"website/public/js/services/guideServices.js",
"website/public/js/services/challengeServices.js",
"website/public/js/services/taskServices.js",
"website/public/js/services/paymentServices.js",
"website/public/js/filters/money.js",
@@ -174,4 +174,12 @@ describe('Challenges Controller', function() {
expect(scope.filterChallenges(notOwnNotMem)).to.eql(true);
});
});
describe('editTask', function() {
it('is Tasks.editTask', function() {
inject(function(Tasks) {
expect(scope.editTask).to.eql(Tasks.editTask);
});
});
});
});
+31
View File
@@ -0,0 +1,31 @@
'use strict';
describe('Tasks Controller', function() {
var $rootScope, scope, user, ctrl;
beforeEach(function() {
user = specHelper.newUser();
module(function($provide) {
$provide.value('User', {user: user});
$provide.value('Guide', {});
});
inject(function($rootScope, $controller){
scope = $rootScope.$new();
$controller('RootCtrl', {$scope: scope, User: {user: user}});
ctrl = $controller('TasksCtrl', {$scope: scope, User: {user: user}});
});
});
describe('editTask', function() {
it('is Tasks.editTask', function() {
inject(function(Tasks) {
expect(scope.editTask).to.eql(Tasks.editTask);
});
});
});
});
+69
View File
@@ -0,0 +1,69 @@
'use strict';
describe('Tasks Service', function() {
var rootScope, tasks, user;
beforeEach(function() {
module(function($provide) {
user = specHelper.newUser();
$provide.value('User', {user: user});
});
inject(function(_$rootScope_, Tasks, User) {
rootScope = _$rootScope_;
rootScope.charts = {};
tasks = Tasks;
});
});
describe('editTask', function() {
var task;
beforeEach(function(){
task = { id: 'task-id' }; // @TODO: replace with task factory
});
it('toggles the _editing property', function() {
tasks.editTask(task);
expect(task._editing).to.eql(true);
tasks.editTask(task);
expect(task._editing).to.eql(false);
});
it('sets _tags to true by default', function() {
tasks.editTask(task);
expect(task._tags).to.eql(true);
});
it('sets _tags to false if preference for collapsed tags is turned on', function() {
user.preferences.tagsCollapsed = true;
tasks.editTask(task);
expect(task._tags).to.eql(false);
});
it('sets _advanced to true by default', function(){
user.preferences.advancedCollapsed = true;
tasks.editTask(task);
expect(task._advanced).to.eql(false);
});
it('sets _advanced to false if preference for collapsed advance menu is turned on', function() {
user.preferences.advancedCollapsed = false;
tasks.editTask(task);
expect(task._advanced).to.eql(true);
});
it('closes task chart if it exists', function() {
rootScope.charts[task.id] = true;
tasks.editTask(task);
expect(rootScope.charts[task.id]).to.eql(false);
});
});
});
@@ -1,7 +1,7 @@
"use strict";
habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', 'Challenges', 'Notification', '$compile', 'Groups', '$state', '$stateParams',
function($rootScope, $scope, Shared, User, Challenges, Notification, $compile, Groups, $state, $stateParams) {
habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', 'Challenges', 'Notification', '$compile', 'Groups', '$state', '$stateParams', 'Tasks',
function($rootScope, $scope, Shared, User, Challenges, Notification, $compile, Groups, $state, $stateParams, Tasks) {
// Use presence of cid to determine whether to show a list or a single
// challenge
@@ -49,6 +49,8 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
});
};
$scope.editTask = Tasks.editTask;
/**
* Create
*/
+4 -2
View File
@@ -1,7 +1,7 @@
"use strict";
habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','Notification', '$http', 'ApiUrl', '$timeout', 'Shared', 'Guide',
function($scope, $rootScope, $location, User, Notification, $http, ApiUrl, $timeout, Shared, Guide) {
habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','Notification', '$http', 'ApiUrl', '$timeout', 'Shared', 'Guide', 'Tasks',
function($scope, $rootScope, $location, User, Notification, $http, ApiUrl, $timeout, Shared, Guide, Tasks) {
$scope.obj = User.user; // used for task-lists
$scope.user = User.user;
@@ -65,6 +65,8 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
list.focus = true;
};
$scope.editTask = Tasks.editTask;
/**
* Add the new task to the actions log
*/
@@ -18,14 +18,6 @@ function habitrpgTasks($rootScope, User) {
// main: '@', // true if it's the user's main list
// obj: '='
//},
controller: ['$scope', '$rootScope', function($scope, $rootScope){
$scope.editTask = function(task){
task._editing = !task._editing;
task._tags = User.user.preferences.tagsCollapsed;
task._advanced = User.user.preferences.advancedCollapsed;
if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false;
};
}],
link: function(scope, element, attrs) {
// $scope.obj needs to come from controllers, so we can pass by ref
scope.main = attrs.main;
@@ -0,0 +1,24 @@
'use strict';
angular
.module('habitrpg')
.factory('Tasks', tasksFactory);
tasksFactory.$inject = [
'$rootScope',
'User'
];
function tasksFactory($rootScope, User) {
function editTask(task) {
task._editing = !task._editing;
task._tags = !User.user.preferences.tagsCollapsed;
task._advanced = !User.user.preferences.advancedCollapsed;
if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false;
}
return {
editTask: editTask
};
}
+1
View File
@@ -46,6 +46,7 @@
"js/services/groupServices.js",
"js/services/memberServices.js",
"js/services/guideServices.js",
"js/services/taskServices.js",
"js/services/challengeServices.js",
"js/services/paymentServices.js",
+1 -1
View File
@@ -311,7 +311,7 @@ var UserSchema = new Schema({
skin: {type:String, 'default':'915533'},
shirt: {type: String, 'default': 'blue'},
timezoneOffset: Number,
sound: {type:String, 'default':'off', enum: ['off','danielTheBard', 'wattsTheme', 'gokulTheme']},
sound: {type:String, 'default':'off', enum: ['off','danielTheBard', 'wattsTheme']},
language: String,
automaticAllocation: Boolean,
allocationMode: {type:String, enum: ['flat','classbased','taskbased'], 'default': 'flat'},
@@ -194,7 +194,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html')
| {{::egg.value}}&nbsp;
span.Pet_Currency_Gem1x.inline-gems
//- buyable quest eggs. TODO: Get this from a collection so we don't have to maintain this ridiculous comma-delimited list
each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin',rock:'Rock',bunny:'Bunny',slime:'Slime',sheep:'Sheep'}
each egg,quest in {gryphon:'Gryphon',hedgehog:'Hedgehog',ghost_stag:'Deer',rat:'Rat',octopus:'Octopus',dilatory_derby:'Seahorse',harpy:'Parrot',rooster:'Rooster',spider:'Spider',owl:'Owl',penguin:'Penguin',rock:'Rock',bunny:'Bunny',slime:'Slime',sheep:'Sheep',kraken:'Cuttlefish'}
div(ng-show='user.achievements.quests.#{quest} > 0')
button.customize-option(popover='{{::Content.eggs.#{egg}.notes()}}', popover-title!=env.t("egg", {eggType: "{{::Content.eggs.#{egg}.text()}}"}), popover-trigger='mouseenter', popover-placement='top', popover-append-to-body='true', ng-click='purchase("eggs", Content.eggs.#{egg})', class='Pet_Egg_#{egg}')
p
+1 -1
View File
@@ -220,7 +220,7 @@ nav.toolbar(ng-controller='AuthCtrl', ng-class='{active: isToolbarHidden}')
div
ul.toolbar-submenu(ng-click='expandMenu(null)')
// Using [{k,v}] instead of {k:v,k:v} to maintain order ('off' at top)
for theme in ['off','danielTheBard', 'wattsTheme', 'gokulTheme']
for theme in ['off','danielTheBard', 'wattsTheme']
li
a(ng-class="{'bg-primary':user.preferences.sound=='#{theme}'}", ng-click="set({'preferences.sound':'#{theme}'})")=env.t('audioTheme_'+theme)
+30 -17
View File
@@ -1,31 +1,44 @@
h5 6/16/2015 - SEARCH BAR, CHALLENGES FILTER, INTERMITTENT REFRESH, AND VISUAL TWEAKS
h5 6/17/2015 - CUTTLEFISH PET QUEST AND QUEST DISPLAY IMPROVEMENTS
hr
tr
td
h5 Search Bar
p You can now easily search for a specific task by using the handy search bar on the upper right of the task page!
p.small.muted by Jiří Chára
.quest_kraken.pull-right
h5 Cuttlefish Pet Quest
p A new pet quest is available in the <a href='/#/options/inventory/drops' target='_blank'>Market</a>: The Kraken of Inkomplete! A pleasant day sailing is ruined when a Kraken attacks. Can you strike down the tasks and tentacles that keep cropping up? If so, you'll be awarded with some cuttlefish eggs!
p.small.muted art by Lemoness and Wolvenhalo
p.small.muted writing by Lemoness
tr
td
h5 New Challenges Filter
p Now you can filter Challenges based on whether or not you own the Challenge! Easily see all the Challenges that you've created with a single click.
p.small.muted by theHollidayInn
tr
td
h5 Intermittent Refresh
p To improve performance, HabitRPG now refreshes automatically after 6 hours of inactivity to combat bugs and make sure that you have the most up-to-date code. You're always welcome to refresh more frequently, of course.
p.small.muted by cheerskevin
tr
td
h5 Visual Tweaks
p We now have a highlighted Help button, to remind people about those resources, and a denser task edit style!
p.small.muted by excentris and nthomsn
h5 Quest Display Improvements
p Now you can see the details of a pending quest on the Party Page by clicking the new "Quest Details" tab above the quest invitations. We hope this helps you decide whether or not you want to accept the quest!
p.small.muted by hairlessbear
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
h5 6/16/2015 - SEARCH BAR, CHALLENGES FILTER, INTERMITTENT REFRESH, AND VISUAL TWEAKS
tr
td
h5 Search Bar
p You can now easily search for a specific task by using the handy search bar on the upper right of the task page!
p.small.muted by Jiří Chára
tr
td
h5 New Challenges Filter
p Now you can filter Challenges based on whether or not you own the Challenge! Easily see all the Challenges that you've created with a single click.
p.small.muted by theHollidayInn
tr
td
h5 Intermittent Refresh
p To improve performance, HabitRPG now refreshes automatically after 6 hours of inactivity to combat bugs and make sure that you have the most up-to-date code. You're always welcome to refresh more frequently, of course.
p.small.muted by cheerskevin
tr
td
h5 Visual Tweaks
p We now have a highlighted Help button, to remind people about those resources, and a denser task edit style!
p.small.muted by excentris and nthomsn
h5 6/11/2015 - REPEATING TASKS, START DATE, AND MOBILE APP UPDATES!
p
br
+1 -1
View File
@@ -1,5 +1,5 @@
fieldset.option-group(ng-if='!$state.includes("options.social.challenges")')
p.option-title.mega(ng-click='task._tags = !task._tags', tooltip=env.t('expandCollapse'))=env.t('tags')
label.checkbox(ng-repeat='tag in user.tags', ng-class="{visuallyhidden: task._tags}")
label.checkbox(ng-repeat='tag in user.tags', ng-if='task._tags')
input(type='checkbox', ng-model='task.tags[tag.id]')
markdown(text='tag.name')