diff --git a/.eslintrc b/.eslintrc
index 7613632120..870626d394 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -32,7 +32,6 @@
"no-octal": 2,
"no-process-env": 2,
"no-proto": 2,
- "no-implied-eval": 2,
"yoda": 2,
"wrap-iife": 2,
"radix": 2,
@@ -59,7 +58,6 @@
"no-path-concat": 2,
"arrow-spacing": 2,
"constructor-super": 2,
- "generator-star-spacing": 2,
"no-arrow-condition": 2,
"no-class-assign": 2,
"no-const-assign": 2,
diff --git a/.nvmrc b/.nvmrc
index 313d2e48ee..f77856a6f1 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-0.10.40
\ No newline at end of file
+4.3.1
diff --git a/.travis.yml b/.travis.yml
index a5ff61b605..86de1b5103 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
language: node_js
node_js:
- - '0.10'
+ - '4.3.1'
before_install:
- "npm install -g npm@2"
- "npm install -g gulp"
diff --git a/common/dist/sprites/spritesmith-largeSprites-0.png b/common/dist/sprites/spritesmith-largeSprites-0.png
index c60f97779f..a1bdfee053 100644
Binary files a/common/dist/sprites/spritesmith-largeSprites-0.png and b/common/dist/sprites/spritesmith-largeSprites-0.png differ
diff --git a/common/dist/sprites/spritesmith-main-0.png b/common/dist/sprites/spritesmith-main-0.png
index 05bf2a7567..b03b2c3146 100644
Binary files a/common/dist/sprites/spritesmith-main-0.png and b/common/dist/sprites/spritesmith-main-0.png differ
diff --git a/common/dist/sprites/spritesmith-main-1.png b/common/dist/sprites/spritesmith-main-1.png
index 1a858f1b3a..fb6bb67bb3 100644
Binary files a/common/dist/sprites/spritesmith-main-1.png and b/common/dist/sprites/spritesmith-main-1.png differ
diff --git a/common/dist/sprites/spritesmith-main-10.css b/common/dist/sprites/spritesmith-main-10.css
index cc9d09bb4a..5bd228202d 100644
--- a/common/dist/sprites/spritesmith-main-10.css
+++ b/common/dist/sprites/spritesmith-main-10.css
@@ -1,1992 +1,1962 @@
+.Mount_Icon_Fox-Peppermint {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -424px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-Red {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -1244px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-Shade {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -424px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-Skeleton {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-Spooky {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -82px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-White {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -670px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Fox-Zombie {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -1080px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Frog-Base {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -212px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-CottonCandyBlue {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -106px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-CottonCandyPink {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -212px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Desert {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Golden {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -106px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Red {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Shade {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -318px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Skeleton {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -318px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-White {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px -230px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Frog-Zombie {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -106px -230px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Icon_Gryphon-Base {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -164px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-CottonCandyBlue {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -246px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-CottonCandyPink {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -328px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Desert {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -410px -345px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Golden {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -506px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Red {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -506px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-RoyalPurple {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -506px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Shade {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -506px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Skeleton {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px -445px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-White {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -82px -445px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Gryphon-Zombie {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -164px -445px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Hedgehog-Base {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -246px -445px;
+ width: 81px;
+ height: 99px;
+}
.Mount_Icon_Hedgehog-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -306px;
+ background-position: -328px -445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -1106px;
+ background-position: -410px -445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -806px;
+ background-position: -492px -445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -106px;
+ background-position: -588px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -106px;
+ background-position: -588px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -106px;
+ background-position: -588px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -279px 0px;
+ background-position: -588px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-White {
background-image: url(spritesmith-main-10.png);
- background-position: -279px -100px;
+ background-position: -588px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -206px;
+ background-position: 0px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -206px;
+ background-position: -82px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -206px;
+ background-position: -164px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -206px;
+ background-position: -246px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -361px 0px;
+ background-position: -328px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -361px -100px;
+ background-position: -410px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -361px -200px;
+ background-position: -492px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -306px;
+ background-position: -574px -545px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -306px;
+ background-position: -670px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-White {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -306px;
+ background-position: -670px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -306px;
+ background-position: -670px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_JackOLantern-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -106px 0px;
+ background-position: -318px -230px;
width: 90px;
height: 105px;
}
.Mount_Icon_LionCub-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -443px 0px;
+ background-position: -670px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -443px -100px;
+ background-position: -670px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -443px -200px;
+ background-position: 0px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -443px -300px;
+ background-position: -82px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Ethereal {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -406px;
+ background-position: -164px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -406px;
+ background-position: -246px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -406px;
+ background-position: -328px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -406px;
+ background-position: -410px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -406px;
+ background-position: -492px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -406px;
+ background-position: -574px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -525px 0px;
+ background-position: -656px -645px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-White {
background-image: url(spritesmith-main-10.png);
- background-position: -525px -100px;
+ background-position: -752px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -525px -200px;
+ background-position: -752px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Mammoth-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -525px -300px;
+ background-position: -752px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_MantisShrimp-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -525px -400px;
+ background-position: -752px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Base {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -506px;
+ background-position: -752px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -506px;
+ background-position: -752px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -506px;
+ background-position: -752px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -506px;
+ background-position: -834px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -506px;
+ background-position: -834px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -506px;
+ background-position: -834px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -506px;
+ background-position: -834px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -607px 0px;
+ background-position: -834px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-White {
background-image: url(spritesmith-main-10.png);
- background-position: -607px -100px;
+ background-position: -834px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Monkey-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -607px -200px;
+ background-position: -834px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -607px -300px;
+ background-position: 0px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -607px -400px;
+ background-position: -82px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -607px -500px;
+ background-position: -164px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -689px 0px;
+ background-position: -246px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -689px -100px;
+ background-position: -328px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -689px -200px;
+ background-position: -410px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -689px -300px;
+ background-position: -492px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -689px -400px;
+ background-position: -574px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-White {
background-image: url(spritesmith-main-10.png);
- background-position: -689px -500px;
+ background-position: -656px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Octopus-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -606px;
+ background-position: -738px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Orca-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -606px;
+ background-position: -820px -745px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -606px;
+ background-position: -916px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -606px;
+ background-position: -916px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -606px;
+ background-position: -916px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -606px;
+ background-position: -916px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -606px;
+ background-position: -916px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -606px;
+ background-position: -916px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -606px;
+ background-position: -916px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -771px 0px;
+ background-position: -916px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-White {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -100px;
+ background-position: 0px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_Owl-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -200px;
+ background-position: -82px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -300px;
+ background-position: -164px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -400px;
+ background-position: -246px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -500px;
+ background-position: -328px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -771px -600px;
+ background-position: -410px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -706px;
+ background-position: -492px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -706px;
+ background-position: -574px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -706px;
+ background-position: -656px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -706px;
+ background-position: -738px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -706px;
+ background-position: -820px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -706px;
+ background-position: -902px -845px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-White {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -706px;
+ background-position: -998px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_PandaCub-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -706px;
+ background-position: -998px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -706px;
+ background-position: -998px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -706px;
+ background-position: -998px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -853px 0px;
+ background-position: -998px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -100px;
+ background-position: -998px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -200px;
+ background-position: -998px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -300px;
+ background-position: -998px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -400px;
+ background-position: -998px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -500px;
+ background-position: 0px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-White {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -600px;
+ background-position: -82px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Parrot-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -853px -700px;
+ background-position: -164px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Base {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -806px;
+ background-position: -246px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -806px;
+ background-position: -328px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -806px;
+ background-position: -410px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -806px;
+ background-position: -492px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -806px;
+ background-position: -574px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -806px;
+ background-position: -656px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -806px;
+ background-position: -738px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -806px;
+ background-position: -820px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-White {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -806px;
+ background-position: -902px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Penguin-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -806px;
+ background-position: -984px -945px;
width: 81px;
height: 99px;
}
.Mount_Icon_Phoenix-Base {
background-image: url(spritesmith-main-10.png);
- background-position: 0px 0px;
+ background-position: -212px -230px;
width: 105px;
height: 105px;
}
.Mount_Icon_Rat-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -935px 0px;
+ background-position: -1080px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -100px;
+ background-position: -1080px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -200px;
+ background-position: -1080px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -300px;
+ background-position: -1080px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -400px;
+ background-position: -1080px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -500px;
+ background-position: -1080px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -600px;
+ background-position: -1080px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -700px;
+ background-position: -1080px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-White {
background-image: url(spritesmith-main-10.png);
- background-position: -935px -800px;
+ background-position: -1080px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rat-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -906px;
+ background-position: 0px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -906px;
+ background-position: -82px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -906px;
+ background-position: -164px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -906px;
+ background-position: -246px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -906px;
+ background-position: -328px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -906px;
+ background-position: -410px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -906px;
+ background-position: -492px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -906px;
+ background-position: -574px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -906px;
+ background-position: -656px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-White {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -906px;
+ background-position: -738px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rock-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -906px;
+ background-position: -820px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -906px;
+ background-position: -902px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px 0px;
+ background-position: -984px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -100px;
+ background-position: -1066px -1045px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -200px;
+ background-position: -1162px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -300px;
+ background-position: -1162px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -400px;
+ background-position: -1162px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -500px;
+ background-position: -1162px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -600px;
+ background-position: -1162px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -700px;
+ background-position: -1162px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Rooster-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -800px;
+ background-position: -1162px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1017px -900px;
+ background-position: -1162px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px 0px;
+ background-position: -1162px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -100px;
+ background-position: -1162px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -200px;
+ background-position: -1162px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -300px;
+ background-position: -1244px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -400px;
+ background-position: -424px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -500px;
+ background-position: -1244px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -600px;
+ background-position: -1244px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -700px;
+ background-position: -1244px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sabretooth-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -800px;
+ background-position: -1244px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1099px -900px;
+ background-position: -1244px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -1006px;
+ background-position: -1244px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -1006px;
+ background-position: -1244px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -1006px;
+ background-position: -1244px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -1006px;
+ background-position: -1244px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -1006px;
+ background-position: 0px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -1006px;
+ background-position: -82px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -1006px;
+ background-position: -164px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-White {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -1006px;
+ background-position: -246px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Seahorse-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -1006px;
+ background-position: -328px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -1006px;
+ background-position: -410px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -1006px;
+ background-position: -492px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -1006px;
+ background-position: -574px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -984px -1006px;
+ background-position: -656px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1006px;
+ background-position: -738px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px 0px;
+ background-position: -820px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -100px;
+ background-position: -902px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -200px;
+ background-position: -984px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -300px;
+ background-position: -1066px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sheep-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -400px;
+ background-position: -1148px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -500px;
+ background-position: -1230px -1145px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -600px;
+ background-position: -1326px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -700px;
+ background-position: -1326px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -800px;
+ background-position: -1326px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -900px;
+ background-position: -1326px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1181px -1000px;
+ background-position: -1326px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -1106px;
+ background-position: -1326px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -197px 0px;
+ background-position: -1326px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-White {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -1106px;
+ background-position: -1326px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -1106px;
+ background-position: -1326px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Base {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -1326px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-CottonCandyBlue {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -1326px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-CottonCandyPink {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -1326px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Desert {
+ background-image: url(spritesmith-main-10.png);
+ background-position: 0px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Golden {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -82px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Red {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -164px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Shade {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -246px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Skeleton {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -328px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-White {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -410px -1245px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Snail-Zombie {
+ background-image: url(spritesmith-main-10.png);
+ background-position: -492px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -1106px;
+ background-position: -574px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -1106px;
+ background-position: -656px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -1106px;
+ background-position: -738px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -1106px;
+ background-position: -820px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -1106px;
+ background-position: -902px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -1106px;
+ background-position: -984px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -1106px;
+ background-position: -1066px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -1106px;
+ background-position: -1148px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-White {
background-image: url(spritesmith-main-10.png);
- background-position: -984px -1106px;
+ background-position: -1230px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1106px;
+ background-position: -1312px -1245px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1148px -1106px;
+ background-position: -1408px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px 0px;
+ background-position: -1408px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -100px;
+ background-position: -1408px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -200px;
+ background-position: -1408px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -300px;
+ background-position: -1408px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -400px;
+ background-position: -1408px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -500px;
+ background-position: -1408px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -600px;
+ background-position: -1408px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -700px;
+ background-position: -1408px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -800px;
+ background-position: -1408px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -1206px;
+ background-position: -738px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -1206px;
+ background-position: -820px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -1206px;
+ background-position: -902px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -984px -1206px;
+ background-position: -984px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1206px;
+ background-position: -1066px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1148px -1206px;
+ background-position: -1148px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1230px -1206px;
+ background-position: -1230px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px 0px;
+ background-position: -1312px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -100px;
+ background-position: -1394px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -200px;
+ background-position: -1490px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -900px;
+ background-position: -1408px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -1000px;
+ background-position: -1408px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1263px -1100px;
+ background-position: -1408px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -1206px;
+ background-position: 0px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -1206px;
+ background-position: -82px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -1206px;
+ background-position: -164px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -1206px;
+ background-position: -246px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -1206px;
+ background-position: -328px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -1206px;
+ background-position: -410px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -1206px;
+ background-position: -492px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-White {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -1206px;
+ background-position: -574px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -1206px;
+ background-position: -656px -1345px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turkey-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -300px;
+ background-position: -1490px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -400px;
+ background-position: -1490px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -500px;
+ background-position: -1490px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -600px;
+ background-position: -1490px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -700px;
+ background-position: -1490px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -800px;
+ background-position: -1490px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -900px;
+ background-position: -1490px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -1000px;
+ background-position: -1490px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -1100px;
+ background-position: -1490px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1345px -1200px;
+ background-position: -1490px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -1306px;
+ background-position: -1490px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -1306px;
+ background-position: -1490px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -1306px;
+ background-position: -1490px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -1306px;
+ background-position: 0px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -1306px;
+ background-position: -82px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -1306px;
+ background-position: -164px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -1306px;
+ background-position: -246px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -1306px;
+ background-position: -328px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -1306px;
+ background-position: -410px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-White {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -1306px;
+ background-position: -492px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -1306px;
+ background-position: -574px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -1306px;
+ background-position: -656px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -984px -1306px;
+ background-position: -738px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1306px;
+ background-position: -820px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1148px -1306px;
+ background-position: -902px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1230px -1306px;
+ background-position: -984px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -1312px -1306px;
+ background-position: -1066px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px 0px;
+ background-position: -1148px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -100px;
+ background-position: -1230px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -200px;
+ background-position: -1312px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -300px;
+ background-position: -1394px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -400px;
+ background-position: -1476px -1445px;
width: 81px;
height: 99px;
}
.Mount_Icon_Wolf-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -500px;
+ background-position: -1572px 0px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -600px;
+ background-position: -1572px -100px;
width: 81px;
height: 99px;
}
.Pet-BearCub-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -700px;
+ background-position: -1572px -200px;
width: 81px;
height: 99px;
}
.Pet-BearCub-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -800px;
+ background-position: -1572px -300px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -900px;
+ background-position: -1572px -400px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -1000px;
+ background-position: -1572px -500px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -1100px;
+ background-position: -1572px -600px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Polar {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -1200px;
+ background-position: -1572px -700px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1427px -1300px;
+ background-position: -1572px -800px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: 0px -1406px;
+ background-position: -1572px -900px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -82px -1406px;
+ background-position: -1572px -1000px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -164px -1406px;
+ background-position: -1572px -1100px;
width: 81px;
height: 99px;
}
.Pet-BearCub-White {
background-image: url(spritesmith-main-10.png);
- background-position: -246px -1406px;
+ background-position: -1572px -1200px;
width: 81px;
height: 99px;
}
.Pet-BearCub-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -328px -1406px;
+ background-position: -1572px -1300px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -410px -1406px;
+ background-position: -1572px -1400px;
width: 81px;
height: 99px;
}
.Pet-Bunny-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -492px -1406px;
+ background-position: 0px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -574px -1406px;
+ background-position: -82px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -656px -1406px;
+ background-position: -164px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -738px -1406px;
+ background-position: -246px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -820px -1406px;
+ background-position: -328px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -902px -1406px;
+ background-position: -410px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -984px -1406px;
+ background-position: -492px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1406px;
+ background-position: -574px -1545px;
width: 81px;
height: 99px;
}
.Pet-Bunny-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1148px -1406px;
+ background-position: -656px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1230px -1406px;
+ background-position: -738px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1312px -1406px;
+ background-position: -820px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1394px -1406px;
+ background-position: -902px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px 0px;
+ background-position: -984px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -100px;
+ background-position: -1066px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Peppermint {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -200px;
+ background-position: -1148px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -300px;
+ background-position: -1230px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -400px;
+ background-position: -1312px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -500px;
+ background-position: -1394px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Spooky {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -600px;
+ background-position: -1476px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -700px;
+ background-position: -1558px -1545px;
width: 81px;
height: 99px;
}
.Pet-Cactus-Zombie {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -800px;
+ background-position: -1654px 0px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Base {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -900px;
+ background-position: -1654px -100px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-CottonCandyBlue {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -1000px;
+ background-position: -1654px -200px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-CottonCandyPink {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -1100px;
+ background-position: -1654px -300px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Desert {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -1200px;
+ background-position: -1654px -400px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Golden {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -1300px;
+ background-position: -1654px -500px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Red {
background-image: url(spritesmith-main-10.png);
- background-position: -1509px -1400px;
+ background-position: -1654px -600px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Shade {
background-image: url(spritesmith-main-10.png);
- background-position: -1591px 0px;
+ background-position: -1654px -700px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-Skeleton {
background-image: url(spritesmith-main-10.png);
- background-position: -1591px -100px;
+ background-position: -1654px -800px;
width: 81px;
height: 99px;
}
.Pet-Cheetah-White {
background-image: url(spritesmith-main-10.png);
- background-position: -1591px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cheetah-Zombie {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Base {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-CottonCandyBlue {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-CottonCandyPink {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Desert {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Golden {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Red {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Shade {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Skeleton {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-White {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -1200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cuttlefish-Zombie {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Base {
- background-image: url(spritesmith-main-10.png);
- background-position: -1591px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-CottonCandyBlue {
- background-image: url(spritesmith-main-10.png);
- background-position: 0px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-CottonCandyPink {
- background-image: url(spritesmith-main-10.png);
- background-position: -82px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Desert {
- background-image: url(spritesmith-main-10.png);
- background-position: -164px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Golden {
- background-image: url(spritesmith-main-10.png);
- background-position: -246px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Red {
- background-image: url(spritesmith-main-10.png);
- background-position: -328px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Shade {
- background-image: url(spritesmith-main-10.png);
- background-position: -410px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Skeleton {
- background-image: url(spritesmith-main-10.png);
- background-position: -492px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-White {
- background-image: url(spritesmith-main-10.png);
- background-position: -574px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Deer-Zombie {
- background-image: url(spritesmith-main-10.png);
- background-position: -656px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Base {
- background-image: url(spritesmith-main-10.png);
- background-position: -738px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-CottonCandyBlue {
- background-image: url(spritesmith-main-10.png);
- background-position: -820px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-CottonCandyPink {
- background-image: url(spritesmith-main-10.png);
- background-position: -902px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Desert {
- background-image: url(spritesmith-main-10.png);
- background-position: -984px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Golden {
- background-image: url(spritesmith-main-10.png);
- background-position: -1066px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Hydra {
- background-image: url(spritesmith-main-10.png);
- background-position: -1148px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Peppermint {
- background-image: url(spritesmith-main-10.png);
- background-position: -1230px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Red {
- background-image: url(spritesmith-main-10.png);
- background-position: -1312px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Shade {
- background-image: url(spritesmith-main-10.png);
- background-position: -1394px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Skeleton {
- background-image: url(spritesmith-main-10.png);
- background-position: -1476px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Spooky {
- background-image: url(spritesmith-main-10.png);
- background-position: -1558px -1506px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-White {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Dragon-Zombie {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Base {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-CottonCandyBlue {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-CottonCandyPink {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Desert {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Golden {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Red {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Shade {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Skeleton {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-White {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Egg-Zombie {
- background-image: url(spritesmith-main-10.png);
- background-position: -1673px -1100px;
+ background-position: -1654px -900px;
width: 81px;
height: 99px;
}
diff --git a/common/dist/sprites/spritesmith-main-10.png b/common/dist/sprites/spritesmith-main-10.png
index 8a780001d0..5c9846249c 100644
Binary files a/common/dist/sprites/spritesmith-main-10.png and b/common/dist/sprites/spritesmith-main-10.png differ
diff --git a/common/dist/sprites/spritesmith-main-11.css b/common/dist/sprites/spritesmith-main-11.css
index 9da59b421f..cdd2e59cf9 100644
--- a/common/dist/sprites/spritesmith-main-11.css
+++ b/common/dist/sprites/spritesmith-main-11.css
@@ -1,1812 +1,1992 @@
-.Pet-FlyingPig-Base {
+.Pet-Cheetah-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -82px 0px;
width: 81px;
height: 99px;
}
-.Pet-FlyingPig-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Peppermint {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Spooky {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-FlyingPig-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Peppermint {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Spooky {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Fox-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Frog-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Gryphon-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Hedgehog-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Horse-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-JackOLantern-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Peppermint {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Spooky {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-LionCub-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Mammoth-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-MantisShrimp-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Monkey-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Octopus-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Owl-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Peppermint {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Spooky {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-PandaCub-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Parrot-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Penguin-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Phoenix-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -82px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -164px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -246px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -328px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -410px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -492px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -574px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -656px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -738px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -820px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rat-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rock-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rooster-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rooster-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rooster-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rooster-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: 0px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Rooster-Golden {
+.Pet-Cuttlefish-Base {
background-image: url(spritesmith-main-11.png);
background-position: -82px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Rooster-Red {
+.Pet-Cuttlefish-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cuttlefish-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Deer-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Hydra {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Peppermint {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Dragon-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Egg-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Peppermint {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-FlyingPig-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Peppermint {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Fox-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Frog-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Gryphon-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Hedgehog-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Horse-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-JackOLantern-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Peppermint {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-LionCub-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Mammoth-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-MantisShrimp-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Monkey-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Octopus-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Owl-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Peppermint {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-PandaCub-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Parrot-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Parrot-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Parrot-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -164px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Rooster-Shade {
+.Pet-Parrot-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -246px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Rooster-Skeleton {
+.Pet-Parrot-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -328px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Rooster-White {
+.Pet-Parrot-Red {
background-image: url(spritesmith-main-11.png);
background-position: -410px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Rooster-Zombie {
+.Pet-Parrot-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -492px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Base {
+.Pet-Parrot-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -574px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-CottonCandyBlue {
+.Pet-Parrot-White {
background-image: url(spritesmith-main-11.png);
background-position: -656px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-CottonCandyPink {
+.Pet-Parrot-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -738px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Desert {
+.Pet-Penguin-Base {
background-image: url(spritesmith-main-11.png);
background-position: -820px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Golden {
+.Pet-Penguin-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -902px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Red {
+.Pet-Penguin-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -984px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Shade {
+.Pet-Penguin-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1066px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Skeleton {
+.Pet-Penguin-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1148px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-White {
+.Pet-Penguin-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1230px 0px;
width: 81px;
height: 99px;
}
-.Pet-Sabretooth-Zombie {
+.Pet-Penguin-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -100px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Base {
+.Pet-Penguin-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -200px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-CottonCandyBlue {
+.Pet-Penguin-White {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -300px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-CottonCandyPink {
+.Pet-Penguin-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -400px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Desert {
+.Pet-Phoenix-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -500px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Golden {
+.Pet-Rat-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -600px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Red {
+.Pet-Rat-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -700px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Shade {
+.Pet-Rat-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -800px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Skeleton {
+.Pet-Rat-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -900px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-White {
+.Pet-Rat-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -1000px;
width: 81px;
height: 99px;
}
-.Pet-Seahorse-Zombie {
+.Pet-Rat-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Base {
+.Pet-Rat-Shade {
background-image: url(spritesmith-main-11.png);
background-position: 0px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-CottonCandyBlue {
+.Pet-Rat-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -82px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-CottonCandyPink {
+.Pet-Rat-White {
background-image: url(spritesmith-main-11.png);
background-position: -164px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Desert {
+.Pet-Rat-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -246px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Golden {
+.Pet-Rock-Base {
background-image: url(spritesmith-main-11.png);
background-position: -328px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Red {
+.Pet-Rock-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -410px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Shade {
+.Pet-Rock-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -492px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Skeleton {
+.Pet-Rock-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -574px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-White {
+.Pet-Rock-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -656px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Sheep-Zombie {
+.Pet-Rock-Red {
background-image: url(spritesmith-main-11.png);
background-position: -738px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Base {
+.Pet-Rock-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -820px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-CottonCandyBlue {
+.Pet-Rock-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -902px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-CottonCandyPink {
+.Pet-Rock-White {
background-image: url(spritesmith-main-11.png);
background-position: -984px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Desert {
+.Pet-Rock-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1066px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Golden {
+.Pet-Rooster-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1148px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Red {
+.Pet-Rooster-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Shade {
+.Pet-Rooster-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1312px 0px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Skeleton {
+.Pet-Rooster-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -100px;
width: 81px;
height: 99px;
}
-.Pet-Slime-White {
+.Pet-Rooster-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -200px;
width: 81px;
height: 99px;
}
-.Pet-Slime-Zombie {
+.Pet-Rooster-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -300px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Base {
+.Pet-Rooster-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -400px;
width: 81px;
height: 99px;
}
-.Pet-Snake-CottonCandyBlue {
+.Pet-Rooster-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -500px;
width: 81px;
height: 99px;
}
-.Pet-Snake-CottonCandyPink {
+.Pet-Rooster-White {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -600px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Desert {
+.Pet-Rooster-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -700px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Golden {
+.Pet-Sabretooth-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -800px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Red {
+.Pet-Sabretooth-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -900px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Shade {
+.Pet-Sabretooth-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -1000px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Skeleton {
+.Pet-Sabretooth-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Snake-White {
+.Pet-Sabretooth-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Snake-Zombie {
+.Pet-Sabretooth-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1394px 0px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Base {
+.Pet-Sabretooth-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -100px;
width: 81px;
height: 99px;
}
-.Pet-Spider-CottonCandyBlue {
+.Pet-Sabretooth-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -200px;
width: 81px;
height: 99px;
}
-.Pet-Spider-CottonCandyPink {
+.Pet-Sabretooth-White {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -300px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Desert {
+.Pet-Sabretooth-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -400px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Golden {
+.Pet-Seahorse-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -500px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Red {
+.Pet-Seahorse-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -600px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Shade {
+.Pet-Seahorse-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -700px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Skeleton {
+.Pet-Seahorse-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -800px;
width: 81px;
height: 99px;
}
-.Pet-Spider-White {
+.Pet-Seahorse-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -900px;
width: 81px;
height: 99px;
}
-.Pet-Spider-Zombie {
+.Pet-Seahorse-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -1000px;
width: 81px;
height: 99px;
}
-.Pet-TRex-Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -902px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -984px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -1066px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -1148px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -1230px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Red {
- background-image: url(spritesmith-main-11.png);
- background-position: -1312px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Shade {
- background-image: url(spritesmith-main-11.png);
- background-position: -1394px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Skeleton {
- background-image: url(spritesmith-main-11.png);
- background-position: -1476px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-White {
- background-image: url(spritesmith-main-11.png);
- background-position: -1476px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-TRex-Zombie {
- background-image: url(spritesmith-main-11.png);
- background-position: -1476px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Tiger-Veteran {
+.Pet-Seahorse-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -1100px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Base {
+.Pet-Seahorse-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -1200px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-CottonCandyBlue {
+.Pet-Seahorse-White {
background-image: url(spritesmith-main-11.png);
background-position: 0px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-CottonCandyPink {
+.Pet-Seahorse-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -82px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Desert {
+.Pet-Sheep-Base {
background-image: url(spritesmith-main-11.png);
background-position: -164px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Golden {
+.Pet-Sheep-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -246px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Peppermint {
+.Pet-Sheep-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -328px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Red {
+.Pet-Sheep-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -410px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Shade {
+.Pet-Sheep-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -492px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Skeleton {
+.Pet-Sheep-Red {
background-image: url(spritesmith-main-11.png);
background-position: -574px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Spooky {
+.Pet-Sheep-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -656px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-White {
+.Pet-Sheep-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -738px -1300px;
width: 81px;
height: 99px;
}
-.Pet-TigerCub-Zombie {
+.Pet-Sheep-White {
background-image: url(spritesmith-main-11.png);
background-position: -820px -1300px;
width: 81px;
height: 99px;
}
-.Pet-Turkey-Base {
+.Pet-Sheep-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1230px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1312px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1394px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1476px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1476px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1476px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Slime-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -300px;
width: 81px;
height: 99px;
}
-.Pet-Turkey-Gilded {
+.Pet-Snail-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -400px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Base {
+.Pet-Snail-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -500px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-CottonCandyBlue {
+.Pet-Snail-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -600px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-CottonCandyPink {
+.Pet-Snail-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -700px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Desert {
+.Pet-Snail-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -800px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Golden {
+.Pet-Snail-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -900px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Red {
+.Pet-Snail-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -1000px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Shade {
+.Pet-Snail-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -1100px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Skeleton {
+.Pet-Snail-White {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -1200px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-White {
+.Pet-Snail-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -1300px;
width: 81px;
height: 99px;
}
-.Pet-Unicorn-Zombie {
+.Pet-Snake-Base {
background-image: url(spritesmith-main-11.png);
background-position: 0px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Base {
+.Pet-Snake-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -82px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-CottonCandyBlue {
+.Pet-Snake-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -164px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-CottonCandyPink {
+.Pet-Snake-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -246px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Desert {
+.Pet-Snake-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -328px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Golden {
+.Pet-Snake-Red {
background-image: url(spritesmith-main-11.png);
background-position: -410px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Red {
+.Pet-Snake-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -492px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Shade {
+.Pet-Snake-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -574px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Skeleton {
+.Pet-Snake-White {
background-image: url(spritesmith-main-11.png);
background-position: -656px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-White {
+.Pet-Snake-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -738px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Whale-Zombie {
+.Pet-Spider-Base {
background-image: url(spritesmith-main-11.png);
background-position: -820px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Base {
+.Pet-Spider-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -902px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-CottonCandyBlue {
+.Pet-Spider-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -984px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-CottonCandyPink {
+.Pet-Spider-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1066px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Desert {
+.Pet-Spider-Golden {
background-image: url(spritesmith-main-11.png);
background-position: -1148px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Golden {
+.Pet-Spider-Red {
background-image: url(spritesmith-main-11.png);
background-position: -1230px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Peppermint {
+.Pet-Spider-Shade {
background-image: url(spritesmith-main-11.png);
background-position: -1312px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Red {
+.Pet-Spider-Skeleton {
background-image: url(spritesmith-main-11.png);
background-position: -1394px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Shade {
+.Pet-Spider-White {
background-image: url(spritesmith-main-11.png);
background-position: -1476px -1400px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Skeleton {
+.Pet-Spider-Zombie {
background-image: url(spritesmith-main-11.png);
background-position: -1558px 0px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Spooky {
+.Pet-TRex-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1558px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: 0px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -82px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -164px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -246px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -328px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -410px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -492px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -574px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TRex-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -656px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Tiger-Veteran {
background-image: url(spritesmith-main-11.png);
background-position: -1558px -100px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Veteran {
+.Pet-TigerCub-Base {
background-image: url(spritesmith-main-11.png);
background-position: -1558px -200px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-White {
+.Pet-TigerCub-CottonCandyBlue {
background-image: url(spritesmith-main-11.png);
background-position: -1558px -300px;
width: 81px;
height: 99px;
}
-.Pet-Wolf-Zombie {
+.Pet-TigerCub-CottonCandyPink {
background-image: url(spritesmith-main-11.png);
background-position: -1558px -400px;
width: 81px;
height: 99px;
}
-.Pet_HatchingPotion_Base {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -552px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_CottonCandyBlue {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -812px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_CottonCandyPink {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -604px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_Desert {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -656px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_Golden {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -708px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_Peppermint {
- background-image: url(spritesmith-main-11.png);
- background-position: -1558px -760px;
- width: 48px;
- height: 51px;
-}
-.Pet_HatchingPotion_Red {
+.Pet-TigerCub-Desert {
background-image: url(spritesmith-main-11.png);
background-position: -1558px -500px;
- width: 48px;
- height: 51px;
+ width: 81px;
+ height: 99px;
}
-.Pet_HatchingPotion_Shade {
+.Pet-TigerCub-Golden {
background-image: url(spritesmith-main-11.png);
- background-position: -1558px -864px;
- width: 48px;
- height: 51px;
+ background-position: -1558px -600px;
+ width: 81px;
+ height: 99px;
}
-.Pet_HatchingPotion_Skeleton {
+.Pet-TigerCub-Peppermint {
background-image: url(spritesmith-main-11.png);
- background-position: -1558px -916px;
- width: 48px;
- height: 51px;
+ background-position: -1558px -700px;
+ width: 81px;
+ height: 99px;
}
-.Pet_HatchingPotion_Spooky {
+.Pet-TigerCub-Red {
background-image: url(spritesmith-main-11.png);
- background-position: -1558px -968px;
- width: 48px;
- height: 51px;
+ background-position: -1558px -800px;
+ width: 81px;
+ height: 99px;
}
-.Pet_HatchingPotion_White {
+.Pet-TigerCub-Shade {
background-image: url(spritesmith-main-11.png);
- background-position: -1558px -1020px;
- width: 48px;
- height: 51px;
+ background-position: -1558px -900px;
+ width: 81px;
+ height: 99px;
}
-.Pet_HatchingPotion_Zombie {
+.Pet-TigerCub-Skeleton {
background-image: url(spritesmith-main-11.png);
- background-position: -1558px -1072px;
- width: 48px;
- height: 51px;
+ background-position: -1558px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TigerCub-Spooky {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1558px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TigerCub-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1558px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-TigerCub-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1558px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Turkey-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -738px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Turkey-Gilded {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -820px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -902px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -984px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1066px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1148px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1230px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1312px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1394px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1476px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1558px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Unicorn-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-CottonCandyBlue {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-CottonCandyPink {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Desert {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Golden {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Red {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Shade {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Skeleton {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-White {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Whale-Zombie {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Base {
+ background-image: url(spritesmith-main-11.png);
+ background-position: -1640px -1100px;
+ width: 81px;
+ height: 99px;
}
diff --git a/common/dist/sprites/spritesmith-main-11.png b/common/dist/sprites/spritesmith-main-11.png
index 98aa52ebd0..b7b875c13e 100644
Binary files a/common/dist/sprites/spritesmith-main-11.png and b/common/dist/sprites/spritesmith-main-11.png differ
diff --git a/common/dist/sprites/spritesmith-main-12.css b/common/dist/sprites/spritesmith-main-12.css
new file mode 100644
index 0000000000..348d26879c
--- /dev/null
+++ b/common/dist/sprites/spritesmith-main-12.css
@@ -0,0 +1,144 @@
+.Pet-Wolf-CottonCandyBlue {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -82px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-CottonCandyPink {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -246px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Desert {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -246px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Golden {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -164px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Peppermint {
+ background-image: url(spritesmith-main-12.png);
+ background-position: 0px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Red {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -82px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Shade {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -164px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Skeleton {
+ background-image: url(spritesmith-main-12.png);
+ background-position: 0px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Spooky {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -246px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Veteran {
+ background-image: url(spritesmith-main-12.png);
+ background-position: 0px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-White {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -82px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Wolf-Zombie {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -164px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet_HatchingPotion_Base {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -294px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_CottonCandyBlue {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -328px -52px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_CottonCandyPink {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -328px -104px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Desert {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -328px -156px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Golden {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -328px -208px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Peppermint {
+ background-image: url(spritesmith-main-12.png);
+ background-position: 0px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Red {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -49px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Shade {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -98px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Skeleton {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -147px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Spooky {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -196px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_White {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -245px -300px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_HatchingPotion_Zombie {
+ background-image: url(spritesmith-main-12.png);
+ background-position: -328px 0px;
+ width: 48px;
+ height: 51px;
+}
diff --git a/common/dist/sprites/spritesmith-main-12.png b/common/dist/sprites/spritesmith-main-12.png
new file mode 100644
index 0000000000..9e87c01766
Binary files /dev/null and b/common/dist/sprites/spritesmith-main-12.png differ
diff --git a/common/dist/sprites/spritesmith-main-3.png b/common/dist/sprites/spritesmith-main-3.png
index 89f74d94c8..872da3b988 100644
Binary files a/common/dist/sprites/spritesmith-main-3.png and b/common/dist/sprites/spritesmith-main-3.png differ
diff --git a/common/dist/sprites/spritesmith-main-4.png b/common/dist/sprites/spritesmith-main-4.png
index d57928abbf..8fc203cd4a 100644
Binary files a/common/dist/sprites/spritesmith-main-4.png and b/common/dist/sprites/spritesmith-main-4.png differ
diff --git a/common/dist/sprites/spritesmith-main-5.css b/common/dist/sprites/spritesmith-main-5.css
index dc55df9be1..024cc840da 100644
--- a/common/dist/sprites/spritesmith-main-5.css
+++ b/common/dist/sprites/spritesmith-main-5.css
@@ -120,175 +120,31 @@
}
.shop_body_special_wondercon_black {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -144px;
+ background-position: -697px -1680px;
width: 40px;
height: 40px;
}
.shop_body_special_wondercon_gold {
background-image: url(spritesmith-main-5.png);
- background-position: -1066px -1680px;
+ background-position: -1107px -1680px;
width: 40px;
height: 40px;
}
.shop_body_special_wondercon_red {
background-image: url(spritesmith-main-5.png);
- background-position: -1025px -1680px;
+ background-position: -1066px -1680px;
width: 40px;
height: 40px;
}
.shop_eyewear_special_wondercon_black {
background-image: url(spritesmith-main-5.png);
- background-position: -984px -1680px;
+ background-position: -1025px -1680px;
width: 40px;
height: 40px;
}
.shop_eyewear_special_wondercon_red {
background-image: url(spritesmith-main-5.png);
- background-position: -943px -1680px;
- width: 40px;
- height: 40px;
-}
-.headAccessory_special_bearEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -728px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_bearEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -753px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_cactusEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -819px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_cactusEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -844px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_foxEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -910px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_foxEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -935px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_lionEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1001px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_lionEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1026px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_pandaEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1092px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_pandaEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1117px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_pigEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1183px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_pigEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1208px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_tigerEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1274px -1303px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_tigerEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1299px -1318px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_wolfEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1427px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_wolfEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1452px -15px;
- width: 60px;
- height: 60px;
-}
-.shop_headAccessory_special_bearEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1700px -349px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_cactusEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1700px -308px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_foxEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1700px -267px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_lionEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1700px -226px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_pandaEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1107px -1680px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_pigEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -656px -1680px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_tigerEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -246px -1680px;
- width: 40px;
- height: 40px;
-}
-.shop_headAccessory_special_wolfEars {
- background-image: url(spritesmith-main-5.png);
- background-position: -1151px -1113px;
+ background-position: -984px -1680px;
width: 40px;
height: 40px;
}
@@ -438,145 +294,289 @@
}
.shop_head_healer_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -902px -1680px;
+ background-position: -943px -1680px;
width: 40px;
height: 40px;
}
.shop_head_healer_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -861px -1680px;
+ background-position: -902px -1680px;
width: 40px;
height: 40px;
}
.shop_head_healer_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -820px -1680px;
+ background-position: -861px -1680px;
width: 40px;
height: 40px;
}
.shop_head_healer_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -779px -1680px;
+ background-position: -820px -1680px;
width: 40px;
height: 40px;
}
.shop_head_healer_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -738px -1680px;
+ background-position: -779px -1680px;
width: 40px;
height: 40px;
}
.shop_head_rogue_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -697px -1680px;
+ background-position: -738px -1680px;
width: 40px;
height: 40px;
}
.shop_head_rogue_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -615px -1680px;
+ background-position: -656px -1680px;
width: 40px;
height: 40px;
}
.shop_head_rogue_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -574px -1680px;
+ background-position: -615px -1680px;
width: 40px;
height: 40px;
}
.shop_head_rogue_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -533px -1680px;
+ background-position: -574px -1680px;
width: 40px;
height: 40px;
}
.shop_head_rogue_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -492px -1680px;
+ background-position: -533px -1680px;
width: 40px;
height: 40px;
}
.shop_head_special_0 {
background-image: url(spritesmith-main-5.png);
- background-position: -451px -1680px;
+ background-position: -492px -1680px;
width: 40px;
height: 40px;
}
.shop_head_special_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -369px -1680px;
+ background-position: -410px -1680px;
width: 40px;
height: 40px;
}
.shop_head_special_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -328px -1680px;
+ background-position: -369px -1680px;
width: 40px;
height: 40px;
}
.shop_head_special_fireCoralCirclet {
background-image: url(spritesmith-main-5.png);
- background-position: -287px -1680px;
+ background-position: -328px -1680px;
width: 40px;
height: 40px;
}
.shop_head_warrior_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -164px -1680px;
+ background-position: -205px -1680px;
width: 40px;
height: 40px;
}
.shop_head_warrior_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -123px -1680px;
+ background-position: -164px -1680px;
width: 40px;
height: 40px;
}
.shop_head_warrior_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -82px -1680px;
+ background-position: -123px -1680px;
width: 40px;
height: 40px;
}
.shop_head_warrior_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -41px -1680px;
+ background-position: -82px -1680px;
width: 40px;
height: 40px;
}
.shop_head_warrior_5 {
background-image: url(spritesmith-main-5.png);
- background-position: 0px -1680px;
+ background-position: -41px -1680px;
width: 40px;
height: 40px;
}
.shop_head_wizard_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1380px -1253px;
+ background-position: 0px -1680px;
width: 40px;
height: 40px;
}
.shop_head_wizard_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -1380px -1212px;
+ background-position: -1380px -1253px;
width: 40px;
height: 40px;
}
.shop_head_wizard_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1233px -1113px;
+ background-position: -1380px -1212px;
width: 40px;
height: 40px;
}
.shop_head_wizard_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -431px;
+ background-position: -1700px -442px;
width: 40px;
height: 40px;
}
.shop_head_wizard_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -390px;
+ background-position: -1700px -401px;
+ width: 40px;
+ height: 40px;
+}
+.headAccessory_special_bearEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -728px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_bearEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -753px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_cactusEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -819px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_cactusEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -844px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_foxEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -910px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_foxEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -935px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_lionEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1001px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_lionEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1026px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_pandaEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1092px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_pandaEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1117px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_pigEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1183px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_pigEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1208px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_tigerEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1274px -1303px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_tigerEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1299px -1318px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_wolfEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1427px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_wolfEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1452px -15px;
+ width: 60px;
+ height: 60px;
+}
+.shop_headAccessory_special_bearEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1700px -360px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_cactusEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1700px -319px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_foxEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1700px -278px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_lionEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1700px -237px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_pandaEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1148px -1680px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_pigEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -451px -1680px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_tigerEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -246px -1680px;
+ width: 40px;
+ height: 40px;
+}
+.shop_headAccessory_special_wolfEars {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1151px -1113px;
width: 40px;
height: 40px;
}
@@ -714,103 +714,103 @@
}
.shop_shield_healer_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1087px;
+ background-position: -1700px -1098px;
width: 40px;
height: 40px;
}
.shop_shield_healer_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1046px;
+ background-position: -1700px -1057px;
width: 40px;
height: 40px;
}
.shop_shield_healer_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1005px;
+ background-position: -1700px -1016px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_0 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -964px;
+ background-position: -1700px -975px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -923px;
+ background-position: -1700px -934px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -882px;
+ background-position: -1700px -893px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -841px;
+ background-position: -1700px -852px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -800px;
+ background-position: -1700px -811px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -759px;
+ background-position: -1700px -770px;
width: 40px;
height: 40px;
}
.shop_shield_rogue_6 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -718px;
+ background-position: -1700px -729px;
width: 40px;
height: 40px;
}
.shop_shield_special_0 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -677px;
+ background-position: -1700px -688px;
width: 40px;
height: 40px;
}
.shop_shield_special_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -636px;
+ background-position: -1700px -647px;
width: 40px;
height: 40px;
}
.shop_shield_special_goldenknight {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -595px;
+ background-position: -1700px -606px;
width: 40px;
height: 40px;
}
.shop_shield_special_moonpearlShield {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -554px;
+ background-position: -1700px -565px;
width: 40px;
height: 40px;
}
.shop_shield_warrior_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -513px;
+ background-position: -1700px -524px;
width: 40px;
height: 40px;
}
.shop_shield_warrior_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -472px;
+ background-position: -1700px -483px;
width: 40px;
height: 40px;
}
.shop_shield_warrior_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -410px -1680px;
+ background-position: -287px -1680px;
width: 40px;
height: 40px;
}
@@ -930,85 +930,85 @@
}
.shop_weapon_special_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1128px;
+ background-position: -1700px -1139px;
width: 40px;
height: 40px;
}
.shop_weapon_special_critical {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -185px;
+ background-position: -1700px -196px;
width: 40px;
height: 40px;
}
.shop_weapon_special_tridentOfCrashingTides {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1169px;
+ background-position: -1700px -1180px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_0 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1210px;
+ background-position: -1700px -1221px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1251px;
+ background-position: -1700px -1262px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1292px;
+ background-position: -1700px -1303px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1333px;
+ background-position: -1700px -1344px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_4 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1374px;
+ background-position: -1700px -1385px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_5 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1415px;
+ background-position: -1700px -1426px;
width: 40px;
height: 40px;
}
.shop_weapon_warrior_6 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1456px;
+ background-position: -1700px -1467px;
width: 40px;
height: 40px;
}
.shop_weapon_wizard_0 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1497px;
+ background-position: -1700px -1508px;
width: 40px;
height: 40px;
}
.shop_weapon_wizard_1 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1538px;
+ background-position: -1700px -1549px;
width: 40px;
height: 40px;
}
.shop_weapon_wizard_2 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1579px;
+ background-position: -1700px -1590px;
width: 40px;
height: 40px;
}
.shop_weapon_wizard_3 {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1620px;
+ background-position: -1700px -1631px;
width: 40px;
height: 40px;
}
@@ -1230,13 +1230,13 @@
}
.Pet_Currency_Gem {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -104px;
+ background-position: -1700px -156px;
width: 45px;
height: 39px;
}
.Pet_Currency_Gem1x {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -1661px;
+ background-position: -1670px -364px;
width: 15px;
height: 13px;
}
@@ -1500,7 +1500,7 @@
}
.zzz {
background-image: url(spritesmith-main-5.png);
- background-position: -205px -1680px;
+ background-position: -1233px -1113px;
width: 40px;
height: 40px;
}
@@ -1656,7 +1656,7 @@
}
.inventory_quest_scroll_dilatoryDistress3_locked {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px -52px;
+ background-position: -1700px -104px;
width: 48px;
height: 51px;
}
@@ -1858,78 +1858,84 @@
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_snake {
+.inventory_quest_scroll_snail {
background-image: url(spritesmith-main-5.png);
background-position: -1078px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_spider {
+.inventory_quest_scroll_snake {
background-image: url(spritesmith-main-5.png);
background-position: -1127px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_trex {
- background-image: url(spritesmith-main-5.png);
- background-position: -1225px -1628px;
- width: 48px;
- height: 51px;
-}
-.inventory_quest_scroll_trex_undead {
+.inventory_quest_scroll_spider {
background-image: url(spritesmith-main-5.png);
background-position: -1176px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_unicorn {
+.inventory_quest_scroll_trex {
background-image: url(spritesmith-main-5.png);
background-position: -1274px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_vice1 {
+.inventory_quest_scroll_trex_undead {
background-image: url(spritesmith-main-5.png);
- background-position: -1372px -1628px;
+ background-position: -1225px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_vice1_locked {
+.inventory_quest_scroll_unicorn {
background-image: url(spritesmith-main-5.png);
background-position: -1323px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_vice2 {
- background-image: url(spritesmith-main-5.png);
- background-position: -1470px -1628px;
- width: 48px;
- height: 51px;
-}
-.inventory_quest_scroll_vice2_locked {
+.inventory_quest_scroll_vice1 {
background-image: url(spritesmith-main-5.png);
background-position: -1421px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_vice3 {
+.inventory_quest_scroll_vice1_locked {
background-image: url(spritesmith-main-5.png);
- background-position: -1568px -1628px;
+ background-position: -1372px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_vice3_locked {
+.inventory_quest_scroll_vice2 {
background-image: url(spritesmith-main-5.png);
background-position: -1519px -1628px;
width: 48px;
height: 51px;
}
-.inventory_quest_scroll_whale {
+.inventory_quest_scroll_vice2_locked {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1470px -1628px;
+ width: 48px;
+ height: 51px;
+}
+.inventory_quest_scroll_vice3 {
background-image: url(spritesmith-main-5.png);
background-position: -1617px -1628px;
width: 48px;
height: 51px;
}
+.inventory_quest_scroll_vice3_locked {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1568px -1628px;
+ width: 48px;
+ height: 51px;
+}
+.inventory_quest_scroll_whale {
+ background-image: url(spritesmith-main-5.png);
+ background-position: -1700px 0px;
+ width: 48px;
+ height: 51px;
+}
.quest_atom1 {
background-image: url(spritesmith-main-5.png);
background-position: -679px -886px;
@@ -1986,7 +1992,7 @@
}
.quest_dilatoryDistress1_fireCoral {
background-image: url(spritesmith-main-5.png);
- background-position: -1700px 0px;
+ background-position: -1700px -52px;
width: 48px;
height: 51px;
}
diff --git a/common/dist/sprites/spritesmith-main-5.png b/common/dist/sprites/spritesmith-main-5.png
index bffce423fa..1da9d1a6a6 100644
Binary files a/common/dist/sprites/spritesmith-main-5.png and b/common/dist/sprites/spritesmith-main-5.png differ
diff --git a/common/dist/sprites/spritesmith-main-6.css b/common/dist/sprites/spritesmith-main-6.css
index 69d02215e0..0156bc9b52 100644
--- a/common/dist/sprites/spritesmith-main-6.css
+++ b/common/dist/sprites/spritesmith-main-6.css
@@ -1,12 +1,12 @@
.quest_TEMPLATE_FOR_MISSING_IMAGE {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1598px;
+ background-position: -848px -1564px;
width: 221px;
height: 39px;
}
.quest_penguin {
background-image: url(spritesmith-main-6.png);
- background-position: -880px -504px;
+ background-position: -880px -531px;
width: 190px;
height: 183px;
}
@@ -24,7 +24,7 @@
}
.quest_rooster {
background-image: url(spritesmith-main-6.png);
- background-position: -880px -151px;
+ background-position: -880px -178px;
width: 213px;
height: 174px;
}
@@ -46,63 +46,69 @@
width: 219px;
height: 219px;
}
+.quest_snail {
+ background-image: url(spritesmith-main-6.png);
+ background-position: 0px -660px;
+ width: 219px;
+ height: 213px;
+}
.quest_snake {
background-image: url(spritesmith-main-6.png);
- background-position: -651px -660px;
+ background-position: -654px -660px;
width: 216px;
height: 177px;
}
.quest_spider {
background-image: url(spritesmith-main-6.png);
- background-position: -880px 0px;
+ background-position: 0px -874px;
width: 250px;
height: 150px;
}
.quest_stressbeast {
background-image: url(spritesmith-main-6.png);
- background-position: 0px 0px;
+ background-position: -660px -220px;
width: 219px;
height: 219px;
}
.quest_stressbeast_bailey {
background-image: url(spritesmith-main-6.png);
- background-position: -220px -440px;
+ background-position: -440px -440px;
width: 219px;
height: 219px;
}
.quest_stressbeast_guide {
background-image: url(spritesmith-main-6.png);
- background-position: -440px -440px;
+ background-position: -660px 0px;
width: 219px;
height: 219px;
}
.quest_stressbeast_stables {
background-image: url(spritesmith-main-6.png);
- background-position: -660px 0px;
+ background-position: 0px 0px;
width: 219px;
height: 219px;
}
.quest_trex {
background-image: url(spritesmith-main-6.png);
- background-position: -880px -326px;
+ background-position: -880px -353px;
width: 204px;
height: 177px;
}
.quest_trex_undead {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -660px;
+ background-position: -220px -660px;
width: 216px;
height: 177px;
}
.quest_unicorn {
background-image: url(spritesmith-main-6.png);
- background-position: -660px -220px;
+ background-position: -220px -440px;
width: 219px;
height: 219px;
}
.quest_vice1 {
background-image: url(spritesmith-main-6.png);
- background-position: -217px -660px;
+ background-position: -437px -660px;
width: 216px;
height: 177px;
}
@@ -114,13 +120,13 @@
}
.quest_vice2_lightCrystal {
background-image: url(spritesmith-main-6.png);
- background-position: -1016px -1638px;
+ background-position: -1733px -257px;
width: 40px;
height: 40px;
}
.quest_vice3 {
background-image: url(spritesmith-main-6.png);
- background-position: -434px -660px;
+ background-position: -880px 0px;
width: 216px;
height: 177px;
}
@@ -132,1399 +138,1375 @@
}
.shop_copper {
background-image: url(spritesmith-main-6.png);
- background-position: -1094px -283px;
+ background-position: -1733px -430px;
width: 32px;
height: 22px;
}
.shop_eyes {
background-image: url(spritesmith-main-6.png);
- background-position: -975px -1638px;
+ background-position: -1733px -216px;
width: 40px;
height: 40px;
}
.shop_gold {
background-image: url(spritesmith-main-6.png);
- background-position: -1071px -660px;
+ background-position: -1733px -453px;
width: 32px;
height: 22px;
}
.shop_opaquePotion {
background-image: url(spritesmith-main-6.png);
- background-position: -934px -1638px;
+ background-position: -1733px -93px;
width: 40px;
height: 40px;
}
.shop_potion {
background-image: url(spritesmith-main-6.png);
- background-position: -893px -1638px;
+ background-position: -1733px -175px;
width: 40px;
height: 40px;
}
.shop_reroll {
background-image: url(spritesmith-main-6.png);
- background-position: -852px -1638px;
+ background-position: -1733px -134px;
width: 40px;
height: 40px;
}
.shop_seafoam {
background-image: url(spritesmith-main-6.png);
- background-position: -1094px -250px;
+ background-position: -1733px -331px;
width: 32px;
height: 32px;
}
.shop_shinySeed {
background-image: url(spritesmith-main-6.png);
- background-position: -1094px -184px;
+ background-position: -1733px -397px;
width: 32px;
height: 32px;
}
.shop_silver {
background-image: url(spritesmith-main-6.png);
- background-position: -1085px -464px;
+ background-position: -1733px -476px;
width: 32px;
height: 22px;
}
.shop_snowball {
background-image: url(spritesmith-main-6.png);
- background-position: -1094px -151px;
+ background-position: -1733px -298px;
width: 32px;
height: 32px;
}
.shop_spookDust {
background-image: url(spritesmith-main-6.png);
- background-position: -1094px -217px;
+ background-position: -1733px -364px;
width: 32px;
height: 32px;
}
.Pet_Egg_BearCub {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1368px;
+ background-position: -946px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Bunny {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1368px;
+ background-position: -995px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Cactus {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1420px;
+ background-position: -1044px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Cheetah {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1420px;
+ background-position: -1093px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Cuttlefish {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1472px;
+ background-position: -1142px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Deer {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1472px;
+ background-position: -1191px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Dragon {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1524px;
+ background-position: -1240px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Egg {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1524px;
+ background-position: -1289px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_FlyingPig {
background-image: url(spritesmith-main-6.png);
- background-position: -490px -1638px;
+ background-position: -1338px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Fox {
background-image: url(spritesmith-main-6.png);
- background-position: -441px -1638px;
+ background-position: -980px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Frog {
background-image: url(spritesmith-main-6.png);
- background-position: -392px -1638px;
+ background-position: -931px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Gryphon {
background-image: url(spritesmith-main-6.png);
- background-position: -343px -1638px;
+ background-position: -882px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Hedgehog {
background-image: url(spritesmith-main-6.png);
- background-position: -294px -1638px;
+ background-position: -833px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Horse {
background-image: url(spritesmith-main-6.png);
- background-position: -245px -1638px;
+ background-position: -784px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_LionCub {
background-image: url(spritesmith-main-6.png);
- background-position: -196px -1638px;
+ background-position: -735px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Monkey {
background-image: url(spritesmith-main-6.png);
- background-position: -147px -1638px;
+ background-position: -686px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Octopus {
background-image: url(spritesmith-main-6.png);
- background-position: -98px -1638px;
+ background-position: -637px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Owl {
background-image: url(spritesmith-main-6.png);
- background-position: -49px -1638px;
+ background-position: -588px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_PandaCub {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1638px;
+ background-position: -539px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Parrot {
background-image: url(spritesmith-main-6.png);
- background-position: -1590px -1544px;
+ background-position: -490px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Penguin {
background-image: url(spritesmith-main-6.png);
- background-position: -1590px -1492px;
+ background-position: -441px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_PolarBear {
background-image: url(spritesmith-main-6.png);
- background-position: -1484px -1438px;
+ background-position: -392px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Rat {
background-image: url(spritesmith-main-6.png);
- background-position: -1484px -1386px;
+ background-position: -343px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Rock {
background-image: url(spritesmith-main-6.png);
- background-position: -1378px -1332px;
+ background-position: -294px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Rooster {
background-image: url(spritesmith-main-6.png);
- background-position: -1378px -1280px;
+ background-position: -245px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Sabretooth {
background-image: url(spritesmith-main-6.png);
- background-position: -539px -1638px;
+ background-position: -196px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Seahorse {
background-image: url(spritesmith-main-6.png);
- background-position: -1272px -1174px;
+ background-position: -1029px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Sheep {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1120px;
+ background-position: -98px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Slime {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1068px;
+ background-position: -49px -1670px;
+ width: 48px;
+ height: 51px;
+}
+.Pet_Egg_Snail {
+ background-image: url(spritesmith-main-6.png);
+ background-position: 0px -1670px;
width: 48px;
height: 51px;
}
.Pet_Egg_Snake {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1005px;
+ background-position: -1681px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Spider {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -953px;
+ background-position: -1632px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_TRex {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -838px;
+ background-position: -1534px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_TigerCub {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -890px;
+ background-position: -1583px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Unicorn {
background-image: url(spritesmith-main-6.png);
- background-position: -1071px -608px;
+ background-position: -1485px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Whale {
background-image: url(spritesmith-main-6.png);
- background-position: -1071px -556px;
+ background-position: -1436px -1604px;
width: 48px;
height: 51px;
}
.Pet_Egg_Wolf {
background-image: url(spritesmith-main-6.png);
- background-position: -1071px -504px;
+ background-position: -1387px -1604px;
width: 48px;
height: 51px;
}
.Pet_Food_Cake_Base {
background-image: url(spritesmith-main-6.png);
- background-position: -764px -1638px;
+ background-position: -880px -830px;
width: 43px;
height: 43px;
}
.Pet_Food_Cake_CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1690px;
+ background-position: -1733px -48px;
width: 42px;
height: 44px;
}
.Pet_Food_Cake_CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -588px -1638px;
+ background-position: 0px -1722px;
width: 43px;
height: 45px;
}
.Pet_Food_Cake_Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -632px -1638px;
+ background-position: -1169px -1670px;
width: 43px;
height: 44px;
}
.Pet_Food_Cake_Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -808px -1638px;
+ background-position: -924px -830px;
width: 43px;
height: 42px;
}
.Pet_Food_Cake_Red {
background-image: url(spritesmith-main-6.png);
- background-position: -676px -1638px;
+ background-position: -1213px -1670px;
width: 43px;
height: 44px;
}
.Pet_Food_Cake_Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -720px -1638px;
+ background-position: -1257px -1670px;
width: 43px;
height: 44px;
}
.Pet_Food_Cake_Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1085px -371px;
+ background-position: -1733px 0px;
width: 42px;
height: 47px;
}
.Pet_Food_Cake_White {
background-image: url(spritesmith-main-6.png);
- background-position: -1085px -419px;
+ background-position: -1124px -1670px;
width: 44px;
height: 44px;
}
.Pet_Food_Cake_Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1085px -326px;
+ background-position: -1078px -1670px;
width: 45px;
height: 44px;
}
.Pet_Food_Candy_Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1264px;
+ background-position: -848px -1604px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1264px;
+ background-position: -1042px -926px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1212px;
+ background-position: -993px -926px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1212px;
+ background-position: -1042px -874px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1160px;
+ background-position: -993px -874px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1160px;
+ background-position: -1146px -972px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1108px;
+ background-position: -1097px -972px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1108px;
+ background-position: -1146px -920px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_White {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1056px;
+ background-position: -1097px -920px;
width: 48px;
height: 51px;
}
.Pet_Food_Candy_Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1056px;
+ background-position: -1252px -1060px;
width: 48px;
height: 51px;
}
.Pet_Food_Chocolate {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1004px;
+ background-position: -1203px -1060px;
width: 48px;
height: 51px;
}
.Pet_Food_CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1004px;
+ background-position: -1358px -1166px;
width: 48px;
height: 51px;
}
.Pet_Food_CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -952px;
+ background-position: -1309px -1166px;
width: 48px;
height: 51px;
}
.Pet_Food_Fish {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -952px;
+ background-position: -1464px -1272px;
width: 48px;
height: 51px;
}
.Pet_Food_Honey {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -900px;
+ background-position: -1415px -1272px;
width: 48px;
height: 51px;
}
.Pet_Food_Meat {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -900px;
+ background-position: -1570px -1378px;
width: 48px;
height: 51px;
}
.Pet_Food_Milk {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -848px;
+ background-position: -1521px -1378px;
width: 48px;
height: 51px;
}
.Pet_Food_Potatoe {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -848px;
+ background-position: -1676px -1484px;
width: 48px;
height: 51px;
}
.Pet_Food_RottenMeat {
background-image: url(spritesmith-main-6.png);
- background-position: -1710px -1316px;
+ background-position: -1627px -1484px;
width: 48px;
height: 51px;
}
.Pet_Food_Saddle {
background-image: url(spritesmith-main-6.png);
- background-position: -1272px -1226px;
+ background-position: -147px -1670px;
width: 48px;
height: 51px;
}
.Pet_Food_Strawberry {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -1316px;
+ background-position: -897px -1604px;
width: 48px;
height: 51px;
}
.Mount_Body_BearCub-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -1280px;
+ background-position: -1415px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -1280px;
+ background-position: -1415px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -1280px;
+ background-position: -1415px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -1280px;
+ background-position: -1415px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -1280px;
+ background-position: -1415px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Peppermint {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -1280px;
+ background-position: 0px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Polar {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -1280px;
+ background-position: -106px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -1280px;
+ background-position: -212px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1280px;
+ background-position: -318px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1280px;
+ background-position: -424px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Spooky {
background-image: url(spritesmith-main-6.png);
- background-position: -1272px -1280px;
+ background-position: -530px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px 0px;
+ background-position: -636px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_BearCub-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -106px;
+ background-position: -742px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -212px;
+ background-position: -848px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -318px;
+ background-position: -954px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -424px;
+ background-position: -1060px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -530px;
+ background-position: -1166px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -636px;
+ background-position: -1272px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -742px;
+ background-position: -1378px -1352px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -848px;
+ background-position: -1521px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -954px;
+ background-position: -1521px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -1060px;
+ background-position: -1521px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Bunny-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -1166px;
+ background-position: -1521px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1449px -1272px;
+ background-position: -1521px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1386px;
+ background-position: -742px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -1386px;
+ background-position: -1521px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -1386px;
+ background-position: -1521px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -636px;
+ background-position: -1521px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Peppermint {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -1386px;
+ background-position: -1521px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -1386px;
+ background-position: -1521px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -1386px;
+ background-position: -1521px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -1386px;
+ background-position: -1521px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Spooky {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -1386px;
+ background-position: 0px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-White {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -1386px;
+ background-position: -106px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cactus-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1386px;
+ background-position: -212px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1386px;
+ background-position: -318px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1272px -1386px;
+ background-position: -424px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1378px -1386px;
+ background-position: -530px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px 0px;
+ background-position: -636px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -106px;
+ background-position: -742px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -212px;
+ background-position: -848px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -318px;
+ background-position: -954px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -424px;
+ background-position: -1060px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -530px;
+ background-position: -1166px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cheetah-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -636px;
+ background-position: -1272px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Cuttlefish-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -838px;
+ background-position: -1097px -115px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -838px;
+ background-position: -1097px -230px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -953px;
+ background-position: -1097px -345px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -953px;
+ background-position: -1097px -460px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -953px;
+ background-position: -1097px -575px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -953px;
+ background-position: -1097px -690px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -953px;
+ background-position: -1097px -805px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -953px;
+ background-position: 0px -1025px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-White {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -953px;
+ background-position: -106px -1025px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -880px -688px;
+ background-position: -1097px 0px;
width: 105px;
height: 114px;
}
.Mount_Body_Deer-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -1492px;
+ background-position: -1627px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -1492px;
+ background-position: -1627px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -1492px;
+ background-position: -1627px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -1492px;
+ background-position: -1627px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -1492px;
+ background-position: -1627px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -1492px;
+ background-position: -1627px -1378px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -1492px;
+ background-position: 0px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1492px;
+ background-position: -106px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1492px;
+ background-position: -212px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Deer-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1272px -1492px;
+ background-position: -318px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1378px -1492px;
+ background-position: -424px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1484px -1492px;
+ background-position: -530px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px 0px;
+ background-position: -636px -1564px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -106px;
+ background-position: -1415px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -212px;
+ background-position: -1415px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Peppermint {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -318px;
+ background-position: -1415px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -424px;
+ background-position: -1415px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1661px -530px;
+ background-position: -1415px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -1280px;
+ background-position: -1415px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Spooky {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1280px;
+ background-position: -1415px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -1166px;
+ background-position: -1272px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -1060px;
+ background-position: -1166px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -954px;
+ background-position: -1060px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -848px;
+ background-position: -954px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -742px;
+ background-position: -848px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -636px;
+ background-position: -742px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -530px;
+ background-position: -636px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -424px;
+ background-position: -530px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -318px;
+ background-position: -424px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -212px;
+ background-position: -318px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px -106px;
+ background-position: -212px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1343px 0px;
+ background-position: -106px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1166px -1174px;
+ background-position: 0px -1246px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1174px;
+ background-position: -1309px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -1174px;
+ background-position: -1309px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -1174px;
+ background-position: -1309px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -1174px;
+ background-position: -1309px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Peppermint {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -1174px;
+ background-position: -1309px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -1174px;
+ background-position: -1309px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -1174px;
+ background-position: -1309px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -1174px;
+ background-position: -1309px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Spooky {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -1174px;
+ background-position: -1309px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-White {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -1174px;
+ background-position: -1309px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1174px;
+ background-position: -1309px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -1060px;
+ background-position: -1166px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -954px;
+ background-position: -1060px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -848px;
+ background-position: -954px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -742px;
+ background-position: -848px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -636px;
+ background-position: -742px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Peppermint {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -530px;
+ background-position: -636px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -424px;
+ background-position: -530px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -318px;
+ background-position: -424px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -212px;
+ background-position: -318px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Spooky {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px -106px;
+ background-position: -212px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1237px 0px;
+ background-position: -106px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Fox-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1060px -1068px;
+ background-position: 0px -1140px;
width: 105px;
height: 105px;
}
.Mount_Body_Frog-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -838px;
+ background-position: -887px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -838px;
+ background-position: -781px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -838px;
+ background-position: -675px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -838px;
+ background-position: -569px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -838px;
+ background-position: -463px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -838px;
+ background-position: -357px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -838px;
+ background-position: -251px -874px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -986px -688px;
+ background-position: -986px -715px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-White {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -953px;
+ background-position: -880px -715px;
width: 105px;
height: 114px;
}
.Mount_Body_Frog-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -838px;
+ background-position: -212px -1025px;
width: 105px;
height: 114px;
}
.Mount_Body_Gryphon-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -954px;
+ background-position: -1060px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -848px;
+ background-position: -954px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -742px;
+ background-position: -848px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -636px;
+ background-position: -742px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -530px;
+ background-position: -636px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -424px;
+ background-position: -530px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-RoyalPurple {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -318px;
+ background-position: -424px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -212px;
+ background-position: -318px -1025px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px -106px;
+ background-position: -1627px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1131px 0px;
+ background-position: -1627px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Gryphon-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -953px;
+ background-position: -1627px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -953px;
+ background-position: -1627px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -212px -1492px;
+ background-position: -1627px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -106px -1492px;
+ background-position: -1627px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: 0px -1492px;
+ background-position: -1627px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -1378px;
+ background-position: -1627px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -1272px;
+ background-position: -1484px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -1166px;
+ background-position: -1378px -1458px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -1060px;
+ background-position: -1521px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-White {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -954px;
+ background-position: -1203px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Hedgehog-Zombie {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -848px;
+ background-position: -1203px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Base {
background-image: url(spritesmith-main-6.png);
- background-position: -1555px -742px;
+ background-position: -1203px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-CottonCandyBlue {
background-image: url(spritesmith-main-6.png);
- background-position: -318px -1386px;
+ background-position: -1203px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-CottonCandyPink {
background-image: url(spritesmith-main-6.png);
- background-position: -954px -1068px;
+ background-position: -1203px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Desert {
background-image: url(spritesmith-main-6.png);
- background-position: -848px -1068px;
+ background-position: -1203px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Golden {
background-image: url(spritesmith-main-6.png);
- background-position: -742px -1068px;
+ background-position: -1203px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Red {
background-image: url(spritesmith-main-6.png);
- background-position: -636px -1068px;
+ background-position: -1203px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Shade {
background-image: url(spritesmith-main-6.png);
- background-position: -530px -1068px;
+ background-position: -1203px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Horse-Skeleton {
background-image: url(spritesmith-main-6.png);
- background-position: -424px -1068px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-White {
- background-image: url(spritesmith-main-6.png);
- background-position: -318px -1068px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-Zombie {
- background-image: url(spritesmith-main-6.png);
- background-position: -212px -1068px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_JackOLantern-Base {
- background-image: url(spritesmith-main-6.png);
- background-position: -1661px -742px;
- width: 90px;
- height: 105px;
-}
-.Mount_Body_LionCub-Base {
- background-image: url(spritesmith-main-6.png);
- background-position: -106px -1068px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-CottonCandyBlue {
- background-image: url(spritesmith-main-6.png);
- background-position: 0px -1068px;
+ background-position: -1203px 0px;
width: 105px;
height: 105px;
}
diff --git a/common/dist/sprites/spritesmith-main-6.png b/common/dist/sprites/spritesmith-main-6.png
index 1304ba83ea..6ff4d0eb24 100644
Binary files a/common/dist/sprites/spritesmith-main-6.png and b/common/dist/sprites/spritesmith-main-6.png differ
diff --git a/common/dist/sprites/spritesmith-main-7.css b/common/dist/sprites/spritesmith-main-7.css
index 93d8d60249..9dafac8198 100644
--- a/common/dist/sprites/spritesmith-main-7.css
+++ b/common/dist/sprites/spritesmith-main-7.css
@@ -1,1368 +1,1386 @@
-.Mount_Body_LionCub-CottonCandyPink {
+.Mount_Body_Horse-White {
background-image: url(spritesmith-main-7.png);
- background-position: -1240px -106px;
+ background-position: -106px -1634px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Ethereal {
+.Mount_Body_Horse-Zombie {
background-image: url(spritesmith-main-7.png);
background-position: -1240px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Golden {
+.Mount_Body_JackOLantern-Base {
background-image: url(spritesmith-main-7.png);
- background-position: -1240px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Peppermint {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1060px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -378px -680px;
- width: 111px;
- height: 105px;
-}
-.Mount_Body_LionCub-Spooky {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Mammoth-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px -680px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_MantisShrimp-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -490px -680px;
- width: 108px;
- height: 105px;
-}
-.Mount_Body_Monkey-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1060px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1166px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1272px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1378px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Monkey-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1272px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1378px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1484px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Octopus-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Orca-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -599px -680px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -705px -680px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Owl-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -816px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Peppermint {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Spooky {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_PandaCub-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -922px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Phoenix-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1028px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rat-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rock-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1134px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Rooster-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sabretooth-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -408px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -408px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -408px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Sabretooth-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Seahorse-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1240px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1060px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1166px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1346px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1060px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1166px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Snake-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1272px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Spider-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TRex-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -408px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -544px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -544px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -544px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -272px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TigerCub-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1452px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Peppermint {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Spooky {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turkey-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -1558px -1378px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-White {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -106px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -212px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -318px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -424px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -530px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -636px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -742px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: -848px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -954px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-White {
- background-image: url(spritesmith-main-7.png);
- background-position: -1060px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -1166px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Wolf-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -408px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -544px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -680px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -680px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Golden {
- background-image: url(spritesmith-main-7.png);
- background-position: -680px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Peppermint {
- background-image: url(spritesmith-main-7.png);
- background-position: -680px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Red {
- background-image: url(spritesmith-main-7.png);
- background-position: -680px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Shade {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Skeleton {
- background-image: url(spritesmith-main-7.png);
- background-position: -544px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Spooky {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-White {
- background-image: url(spritesmith-main-7.png);
- background-position: 0px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_Wolf-Zombie {
- background-image: url(spritesmith-main-7.png);
- background-position: -136px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_BearCub-Base {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-CottonCandyBlue {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-CottonCandyPink {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-Desert {
- background-image: url(spritesmith-main-7.png);
- background-position: -1664px -1272px;
- width: 105px;
+ background-position: -212px -1634px;
+ width: 90px;
height: 105px;
}
-.Mount_Head_BearCub-Golden {
+.Mount_Body_LionCub-Base {
background-image: url(spritesmith-main-7.png);
- background-position: -1664px -1378px;
+ background-position: 0px -1634px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Peppermint {
+.Mount_Body_LionCub-CottonCandyBlue {
background-image: url(spritesmith-main-7.png);
background-position: -1664px -1484px;
width: 105px;
height: 105px;
}
+.Mount_Body_LionCub-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Ethereal {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Peppermint {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -680px -260px;
+ width: 111px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Spooky {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Mammoth-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -680px -136px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_MantisShrimp-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -680px -366px;
+ width: 108px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Monkey-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Octopus-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Orca-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -816px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Owl-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -786px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Peppermint {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Spooky {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -922px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_PandaCub-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -892px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Parrot-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1028px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Penguin-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Phoenix-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -998px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rat-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1134px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1060px -1104px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1240px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sabretooth-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -680px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -544px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -408px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -272px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -136px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -544px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -544px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Sabretooth-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -544px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Seahorse-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -680px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1060px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1166px -1210px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1346px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Slime-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1060px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1166px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1272px -1316px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snail-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1452px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -106px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -212px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -318px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -424px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -530px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1060px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1166px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TRex-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -544px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -408px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -272px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -136px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -408px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -408px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -408px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -272px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -136px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TigerCub-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1272px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1378px -1422px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Peppermint {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Spooky {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1558px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turkey-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -636px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -742px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -848px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -954px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1060px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1166px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1272px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1378px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1484px -1528px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Red {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Shade {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Skeleton {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-White {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Zombie {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -1664px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Wolf-Base {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-CottonCandyBlue {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -272px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-CottonCandyPink {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -272px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Desert {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -136px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Golden {
+ background-image: url(spritesmith-main-7.png);
+ background-position: 0px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Peppermint {
+ background-image: url(spritesmith-main-7.png);
+ background-position: -136px 0px;
+ width: 135px;
+ height: 135px;
+}
diff --git a/common/dist/sprites/spritesmith-main-7.png b/common/dist/sprites/spritesmith-main-7.png
index ae71078270..6db6a1ec75 100644
Binary files a/common/dist/sprites/spritesmith-main-7.png and b/common/dist/sprites/spritesmith-main-7.png differ
diff --git a/common/dist/sprites/spritesmith-main-8.css b/common/dist/sprites/spritesmith-main-8.css
index dd45b4e8eb..b1fc41d08f 100644
--- a/common/dist/sprites/spritesmith-main-8.css
+++ b/common/dist/sprites/spritesmith-main-8.css
@@ -1,1470 +1,1452 @@
+.Mount_Body_Wolf-Red {
+ background-image: url(spritesmith-main-8.png);
+ background-position: 0px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Shade {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -272px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Skeleton {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -136px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Spooky {
+ background-image: url(spritesmith-main-8.png);
+ background-position: 0px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-White {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -136px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_Wolf-Zombie {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -272px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_BearCub-Base {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -424px -1368px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -636px -1156px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-CottonCandyPink {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -530px -1156px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Desert {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -424px -1156px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Golden {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -318px -1156px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Peppermint {
+ background-image: url(spritesmith-main-8.png);
+ background-position: -212px -1156px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_BearCub-Polar {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -575px;
+ background-position: -106px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -1105px;
+ background-position: 0px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -575px;
+ background-position: -1256px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -742px 0px;
+ background-position: -1256px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -106px;
+ background-position: -1256px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-White {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -212px;
+ background-position: -938px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_BearCub-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -318px;
+ background-position: -938px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -424px;
+ background-position: -938px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -530px;
+ background-position: -938px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -681px;
+ background-position: -938px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -681px;
+ background-position: -742px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -999px;
+ background-position: -636px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -999px;
+ background-position: -530px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -999px;
+ background-position: -424px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -999px;
+ background-position: -318px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px 0px;
+ background-position: 0px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Bunny-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -106px;
+ background-position: -1362px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -212px;
+ background-position: -530px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -318px;
+ background-position: -726px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -424px;
+ background-position: -726px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -530px;
+ background-position: -726px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -106px;
+ background-position: -726px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -530px;
+ background-position: -726px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -636px;
+ background-position: 0px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -332px;
+ background-position: -106px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -109px -469px;
+ background-position: -212px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -215px -469px;
+ background-position: -318px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-White {
background-image: url(spritesmith-main-8.png);
- background-position: -321px -469px;
+ background-position: -424px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -427px -469px;
+ background-position: -530px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -636px 0px;
+ background-position: -636px -626px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -106px;
+ background-position: -832px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -212px;
+ background-position: -832px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -318px;
+ background-position: -832px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -424px;
+ background-position: -832px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Red {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -575px;
+ background-position: -832px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -575px;
+ background-position: -832px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -575px;
+ background-position: 0px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-White {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -575px;
+ background-position: -106px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Cheetah-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -575px;
+ background-position: -212px -732px;
width: 105px;
height: 105px;
}
.Mount_Head_Cuttlefish-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -530px 0px;
+ background-position: -212px -511px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -239px;
+ background-position: -106px -511px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -212px 0px;
+ background-position: 0px -511px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -124px;
+ background-position: -620px -345px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -124px;
+ background-position: -620px -230px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -124px;
+ background-position: -620px -115px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -318px 0px;
+ background-position: -620px 0px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -115px;
+ background-position: -514px -345px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-White {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -239px;
+ background-position: -514px -230px;
width: 105px;
height: 114px;
}
.Mount_Head_Cuttlefish-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -239px;
+ background-position: -514px -115px;
width: 105px;
height: 114px;
}
.Mount_Head_Deer-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -681px;
+ background-position: -938px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -681px;
+ background-position: -938px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -681px;
+ background-position: 0px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -681px;
+ background-position: -106px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -681px;
+ background-position: -212px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -681px;
+ background-position: -318px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -848px 0px;
+ background-position: -424px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -106px;
+ background-position: -530px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-White {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -212px;
+ background-position: -636px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Deer-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -318px;
+ background-position: -742px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -424px;
+ background-position: -848px -838px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -530px;
+ background-position: -1044px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -636px;
+ background-position: -1044px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -787px;
+ background-position: -1044px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -787px;
+ background-position: -1044px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -787px;
+ background-position: -1044px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -787px;
+ background-position: -1044px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -787px;
+ background-position: -1044px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -787px;
+ background-position: -1044px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -787px;
+ background-position: 0px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-White {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -787px;
+ background-position: -106px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Dragon-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -787px;
+ background-position: -212px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -954px 0px;
+ background-position: -318px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -106px;
+ background-position: -424px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -212px;
+ background-position: -530px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -318px;
+ background-position: -636px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -424px;
+ background-position: -742px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -530px;
+ background-position: -848px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -636px;
+ background-position: -954px -944px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -742px;
+ background-position: -1150px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-White {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -893px;
+ background-position: -1150px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Egg-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -893px;
+ background-position: -1150px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -893px;
+ background-position: -1150px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -893px;
+ background-position: -1150px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -893px;
+ background-position: -1150px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -893px;
+ background-position: -1150px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -893px;
+ background-position: -1150px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -893px;
+ background-position: -1150px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -893px;
+ background-position: 0px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -893px;
+ background-position: -106px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px 0px;
+ background-position: -212px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -106px;
+ background-position: -318px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -212px;
+ background-position: -424px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_FlyingPig-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -318px;
+ background-position: -530px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -424px;
+ background-position: -636px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -530px;
+ background-position: -742px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -636px;
+ background-position: -848px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -742px;
+ background-position: -954px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -848px;
+ background-position: -1060px -1050px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -999px;
+ background-position: -1256px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -999px;
+ background-position: -1256px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -999px;
+ background-position: -1256px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -999px;
+ background-position: -1256px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -999px;
+ background-position: -1256px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-White {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -999px;
+ background-position: -1256px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -999px;
+ background-position: -1256px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Frog-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -239px;
+ background-position: -514px 0px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -106px 0px;
+ background-position: -318px -396px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -424px 0px;
+ background-position: -212px -396px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -115px;
+ background-position: -106px -396px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -230px;
+ background-position: 0px -396px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Red {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -354px;
+ background-position: -408px -230px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -354px;
+ background-position: -408px -115px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -354px;
+ background-position: -408px 0px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-White {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -354px;
+ background-position: -212px -272px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -354px;
+ background-position: -106px -272px;
width: 105px;
height: 114px;
}
.Mount_Head_Gryphon-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -636px;
+ background-position: -742px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -742px;
+ background-position: -848px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -848px;
+ background-position: -954px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -954px;
+ background-position: -1060px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -1105px;
+ background-position: -1166px -1156px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -1105px;
+ background-position: -1362px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-RoyalPurple {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -1105px;
+ background-position: -1362px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -226px;
+ background-position: -533px -511px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -1105px;
+ background-position: -1362px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-White {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -1105px;
+ background-position: -1362px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -1105px;
+ background-position: -1362px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -1105px;
+ background-position: -1362px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -1105px;
+ background-position: -1362px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -1105px;
+ background-position: -1362px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -1105px;
+ background-position: -1362px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -1105px;
+ background-position: -1362px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px 0px;
+ background-position: 0px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -106px;
+ background-position: -106px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -212px;
+ background-position: -212px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -318px;
+ background-position: -318px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -424px;
+ background-position: -424px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -530px;
+ background-position: -530px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -636px;
+ background-position: -636px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -742px;
+ background-position: -742px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -848px;
+ background-position: -848px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -954px;
+ background-position: -954px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -1060px;
+ background-position: -1060px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -1211px;
+ background-position: -1166px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -1211px;
+ background-position: -1272px -1262px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-White {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -1211px;
+ background-position: -1468px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Horse-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -1211px;
+ background-position: -1468px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_JackOLantern-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1696px -530px;
+ background-position: -1786px -106px;
width: 90px;
height: 105px;
}
.Mount_Head_LionCub-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -1211px;
+ background-position: -1468px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -1211px;
+ background-position: -1468px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -1211px;
+ background-position: -1468px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -1211px;
+ background-position: -1468px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Ethereal {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -1211px;
+ background-position: -1468px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -1211px;
+ background-position: -1468px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -1211px;
+ background-position: -1468px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -1211px;
+ background-position: -1468px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px 0px;
+ background-position: -1468px -1166px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -115px;
+ background-position: -318px -511px;
width: 105px;
height: 110px;
}
.Mount_Head_LionCub-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -212px;
+ background-position: -106px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -318px;
+ background-position: -212px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -424px;
+ background-position: -318px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Mammoth-Base {
background-image: url(spritesmith-main-8.png);
- background-position: 0px 0px;
+ background-position: 0px -272px;
width: 105px;
height: 123px;
}
.Mount_Head_MantisShrimp-Base {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -469px;
+ background-position: -424px -511px;
width: 108px;
height: 105px;
}
.Mount_Head_Monkey-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -742px;
+ background-position: -636px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -848px;
+ background-position: -742px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -954px;
+ background-position: -848px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -1060px;
+ background-position: -954px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -1166px;
+ background-position: -1060px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Red {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -1317px;
+ background-position: -1166px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -1317px;
+ background-position: -1272px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -1317px;
+ background-position: -1378px -1368px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-White {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -1317px;
+ background-position: -1574px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Monkey-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -1317px;
+ background-position: -1574px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -1317px;
+ background-position: -1574px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -1317px;
+ background-position: -1574px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -1317px;
+ background-position: -1574px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -1317px;
+ background-position: -1574px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -1317px;
+ background-position: -1574px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -1317px;
+ background-position: -1574px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -1317px;
+ background-position: -1574px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -1317px;
+ background-position: -1574px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -1317px;
+ background-position: -1574px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_Octopus-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px 0px;
+ background-position: -1574px -1166px;
width: 105px;
height: 105px;
}
.Mount_Head_Orca-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -106px;
+ background-position: -1574px -1272px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -212px;
+ background-position: 0px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -318px;
+ background-position: -106px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -424px;
+ background-position: -212px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -530px;
+ background-position: -318px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -636px;
+ background-position: -424px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -742px;
+ background-position: -530px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -848px;
+ background-position: -636px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -954px;
+ background-position: -742px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -1060px;
+ background-position: -848px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_Owl-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -1166px;
+ background-position: -954px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -1272px;
+ background-position: -1060px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -1423px;
+ background-position: -1166px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -1423px;
+ background-position: -1272px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -1423px;
+ background-position: -1378px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -1423px;
+ background-position: -1484px -1474px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Peppermint {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -1423px;
+ background-position: -1680px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -1423px;
+ background-position: -1680px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -1423px;
+ background-position: -1680px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -742px -1423px;
+ background-position: -1680px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Spooky {
background-image: url(spritesmith-main-8.png);
- background-position: -848px -1423px;
+ background-position: -1680px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-White {
background-image: url(spritesmith-main-8.png);
- background-position: -954px -1423px;
+ background-position: -1680px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_PandaCub-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1060px -1423px;
+ background-position: -1680px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1166px -1423px;
+ background-position: -1680px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1272px -1423px;
+ background-position: -1680px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1378px -1423px;
+ background-position: -1680px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1484px -1423px;
+ background-position: -1680px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px 0px;
+ background-position: -1680px -1166px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -106px;
+ background-position: -1680px -1272px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -212px;
+ background-position: -1680px -1378px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -318px;
+ background-position: 0px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-White {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -424px;
+ background-position: -106px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Parrot-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -530px;
+ background-position: -212px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -636px;
+ background-position: -318px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -742px;
+ background-position: -424px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -848px;
+ background-position: -530px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -954px;
+ background-position: -636px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Golden {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -1060px;
+ background-position: -742px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Red {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -1166px;
+ background-position: -848px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Shade {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -1272px;
+ background-position: -954px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Skeleton {
background-image: url(spritesmith-main-8.png);
- background-position: -1590px -1378px;
+ background-position: -1060px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-White {
background-image: url(spritesmith-main-8.png);
- background-position: 0px -1529px;
+ background-position: -1166px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Penguin-Zombie {
background-image: url(spritesmith-main-8.png);
- background-position: -106px -1529px;
+ background-position: -1272px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Phoenix-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -212px -1529px;
+ background-position: -1378px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Rat-Base {
background-image: url(spritesmith-main-8.png);
- background-position: -318px -1529px;
+ background-position: -1484px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Rat-CottonCandyBlue {
background-image: url(spritesmith-main-8.png);
- background-position: -424px -1529px;
+ background-position: -1590px -1580px;
width: 105px;
height: 105px;
}
.Mount_Head_Rat-CottonCandyPink {
background-image: url(spritesmith-main-8.png);
- background-position: -530px -1529px;
+ background-position: -1468px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Rat-Desert {
background-image: url(spritesmith-main-8.png);
- background-position: -636px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-Golden {
- background-image: url(spritesmith-main-8.png);
- background-position: -742px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-Red {
- background-image: url(spritesmith-main-8.png);
- background-position: -848px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-Shade {
- background-image: url(spritesmith-main-8.png);
- background-position: -954px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-Skeleton {
- background-image: url(spritesmith-main-8.png);
- background-position: -1060px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-White {
- background-image: url(spritesmith-main-8.png);
- background-position: -1166px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rat-Zombie {
- background-image: url(spritesmith-main-8.png);
- background-position: -1272px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Base {
- background-image: url(spritesmith-main-8.png);
- background-position: -1378px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-CottonCandyBlue {
- background-image: url(spritesmith-main-8.png);
- background-position: -1484px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-CottonCandyPink {
- background-image: url(spritesmith-main-8.png);
- background-position: -1590px -1529px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Desert {
- background-image: url(spritesmith-main-8.png);
- background-position: -1696px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Golden {
- background-image: url(spritesmith-main-8.png);
- background-position: -1696px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Red {
- background-image: url(spritesmith-main-8.png);
- background-position: -1696px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Shade {
- background-image: url(spritesmith-main-8.png);
- background-position: -1696px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-Skeleton {
- background-image: url(spritesmith-main-8.png);
- background-position: -424px -1211px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rock-White {
- background-image: url(spritesmith-main-8.png);
- background-position: -1696px -424px;
+ background-position: -1786px 0px;
width: 105px;
height: 105px;
}
diff --git a/common/dist/sprites/spritesmith-main-8.png b/common/dist/sprites/spritesmith-main-8.png
index 1d91f040d2..b78b98aec8 100644
Binary files a/common/dist/sprites/spritesmith-main-8.png and b/common/dist/sprites/spritesmith-main-8.png differ
diff --git a/common/dist/sprites/spritesmith-main-9.css b/common/dist/sprites/spritesmith-main-9.css
index 99e5ba0200..24e7a89bbe 100644
--- a/common/dist/sprites/spritesmith-main-9.css
+++ b/common/dist/sprites/spritesmith-main-9.css
@@ -1,1554 +1,1530 @@
-.Mount_Head_Rock-Zombie {
+.Mount_Head_Rat-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1134px -212px;
+ background-position: 0px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -530px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -848px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -424px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -530px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -636px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -742px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -848px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -954px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Rooster-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sabretooth-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -544px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -136px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -272px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -272px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -136px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -272px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Sabretooth-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -408px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Seahorse-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -1240px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-White {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -106px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -212px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -318px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -424px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -636px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Golden {
+.Mount_Head_Rat-Red {
background-image: url(spritesmith-main-9.png);
background-position: -742px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sheep-Red {
+.Mount_Head_Rat-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -848px -1240px;
+ background-position: -106px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sheep-Shade {
+.Mount_Head_Rat-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -954px -1240px;
+ background-position: -212px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sheep-Skeleton {
+.Mount_Head_Rat-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1060px -1240px;
+ background-position: -318px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sheep-White {
+.Mount_Head_Rat-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1166px -1240px;
+ background-position: -424px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sheep-Zombie {
+.Mount_Head_Rock-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px 0px;
+ background-position: -530px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Slime-Base {
+.Mount_Head_Rock-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -106px;
+ background-position: -636px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_Slime-CottonCandyBlue {
+.Mount_Head_Rock-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -212px;
+ background-position: -378px -680px;
width: 105px;
height: 105px;
}
-.Mount_Head_Slime-CottonCandyPink {
+.Mount_Head_Rock-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -816px -575px;
+ background-position: -484px -680px;
width: 105px;
height: 105px;
}
-.Mount_Head_Slime-Desert {
+.Mount_Head_Rock-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -816px -681px;
+ background-position: -590px -680px;
width: 105px;
height: 105px;
}
-.Mount_Head_Slime-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -106px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -212px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -318px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -424px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -530px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -636px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -742px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snake-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -922px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -106px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -212px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -318px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -424px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -530px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -636px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -742px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -1346px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Spider-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TRex-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -408px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -408px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -136px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -272px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -408px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -544px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -544px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -544px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TigerCub-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Peppermint {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -1028px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Spooky {
- background-image: url(spritesmith-main-9.png);
- background-position: -106px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -212px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -318px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turkey-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -1134px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: 0px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -106px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -212px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -318px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Unicorn-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -424px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -530px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -636px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -742px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -848px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -954px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Whale-Red {
+.Mount_Head_Rock-Red {
background-image: url(spritesmith-main-9.png);
background-position: -1060px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Shade {
+.Mount_Head_Rock-Shade {
background-image: url(spritesmith-main-9.png);
background-position: -1240px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Skeleton {
+.Mount_Head_Rock-Skeleton {
background-image: url(spritesmith-main-9.png);
background-position: -1240px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-White {
+.Mount_Head_Rock-White {
background-image: url(spritesmith-main-9.png);
background-position: -1240px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Zombie {
+.Mount_Head_Rock-Zombie {
background-image: url(spritesmith-main-9.png);
background-position: -1240px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Wolf-Base {
+.Mount_Head_Rooster-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -136px 0px;
+ background-position: -1240px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sabretooth-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -544px 0px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-CottonCandyBlue {
+.Mount_Head_Sabretooth-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -136px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -272px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -272px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -136px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -272px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -408px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Sabretooth-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -408px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Seahorse-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -696px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -816px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -106px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -212px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -318px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -424px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -530px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -636px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -742px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -922px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -106px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -212px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -318px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -424px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Slime-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -530px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -636px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -742px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -848px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snail-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1028px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -106px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -212px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -318px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -424px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -530px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -636px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Snake-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -742px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -848px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -954px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TRex-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -408px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -136px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -272px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -408px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -544px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -544px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -544px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TigerCub-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1134px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -106px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -212px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Peppermint {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -318px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -424px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -530px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -636px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Spooky {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -742px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -848px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -954px -1134px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Turkey-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1240px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: 0px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -106px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -212px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -318px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -424px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -530px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -636px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -272px -680px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -848px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Base {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -954px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-CottonCandyBlue {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1060px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-CottonCandyPink {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1166px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Desert {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Golden {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Red {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Shade {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Skeleton {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-White {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -1346px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Wolf-Base {
background-image: url(spritesmith-main-9.png);
background-position: -136px -544px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-CottonCandyPink {
+.Mount_Head_Wolf-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
background-position: -272px -544px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Desert {
+.Mount_Head_Wolf-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
background-position: -408px -544px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Golden {
+.Mount_Head_Wolf-Desert {
background-image: url(spritesmith-main-9.png);
background-position: -544px -544px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Peppermint {
+.Mount_Head_Wolf-Golden {
background-image: url(spritesmith-main-9.png);
background-position: -680px 0px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Red {
+.Mount_Head_Wolf-Peppermint {
background-image: url(spritesmith-main-9.png);
background-position: -680px -136px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Shade {
+.Mount_Head_Wolf-Red {
background-image: url(spritesmith-main-9.png);
background-position: -680px -272px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Skeleton {
+.Mount_Head_Wolf-Shade {
background-image: url(spritesmith-main-9.png);
background-position: -680px -408px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Spooky {
+.Mount_Head_Wolf-Skeleton {
background-image: url(spritesmith-main-9.png);
background-position: -680px -544px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-White {
+.Mount_Head_Wolf-Spooky {
background-image: url(spritesmith-main-9.png);
background-position: 0px -680px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Zombie {
+.Mount_Head_Wolf-White {
background-image: url(spritesmith-main-9.png);
background-position: -136px -680px;
width: 135px;
height: 135px;
}
+.Mount_Head_Wolf-Zombie {
+ background-image: url(spritesmith-main-9.png);
+ background-position: -136px 0px;
+ width: 135px;
+ height: 135px;
+}
.Mount_Icon_BearCub-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1066px -1546px;
+ background-position: -824px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1148px -1546px;
+ background-position: -1312px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1230px -1546px;
+ background-position: -906px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1698px -1400px;
+ background-position: -988px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1394px -1546px;
+ background-position: -1070px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Peppermint {
background-image: url(spritesmith-main-9.png);
- background-position: -1476px -1546px;
+ background-position: -1152px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Polar {
background-image: url(spritesmith-main-9.png);
- background-position: -1558px -1546px;
+ background-position: -1234px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1698px 0px;
+ background-position: -1316px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1698px -100px;
+ background-position: -1452px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1698px -200px;
+ background-position: -1452px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Spooky {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -424px;
+ background-position: -1452px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -524px;
+ background-position: -1452px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -624px;
+ background-position: -1452px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -724px;
+ background-position: -1452px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -824px;
+ background-position: -1452px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -924px;
+ background-position: -1452px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -1024px;
+ background-position: -1452px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -1124px;
+ background-position: -1452px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1346px -1224px;
+ background-position: -1452px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: 0px -1346px;
+ background-position: -1452px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -82px -1346px;
+ background-position: -1452px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-White {
background-image: url(spritesmith-main-9.png);
- background-position: -164px -1346px;
+ background-position: -1452px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -246px -1346px;
+ background-position: -1534px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -328px -1346px;
+ background-position: -1534px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -410px -1346px;
+ background-position: -1534px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -492px -1346px;
+ background-position: -1534px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -574px -1346px;
+ background-position: -1534px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -656px -1346px;
+ background-position: -1534px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Peppermint {
background-image: url(spritesmith-main-9.png);
- background-position: -738px -1346px;
+ background-position: -1534px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -820px -1346px;
+ background-position: -1534px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -902px -1346px;
+ background-position: -1534px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -984px -1346px;
+ background-position: -1534px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Spooky {
background-image: url(spritesmith-main-9.png);
- background-position: -1066px -1346px;
+ background-position: -1534px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1148px -1346px;
+ background-position: -1534px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1230px -1346px;
+ background-position: -1534px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1312px -1346px;
+ background-position: -1534px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px 0px;
+ background-position: 0px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -100px;
+ background-position: -82px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -200px;
+ background-position: -164px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -300px;
+ background-position: -246px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -400px;
+ background-position: -328px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -500px;
+ background-position: -410px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -600px;
+ background-position: -492px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -700px;
+ background-position: -574px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -800px;
+ background-position: -656px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -900px;
+ background-position: -738px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -1000px;
+ background-position: -820px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -1100px;
+ background-position: -902px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -1200px;
+ background-position: -984px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1452px -1300px;
+ background-position: -1066px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px 0px;
+ background-position: -1148px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -100px;
+ background-position: -1230px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -200px;
+ background-position: -742px -1346px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -300px;
+ background-position: -1394px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -400px;
+ background-position: -1476px -1452px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -500px;
+ background-position: -1616px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -600px;
+ background-position: -1616px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -700px;
+ background-position: -1616px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -800px;
+ background-position: -1616px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -900px;
+ background-position: -1616px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -1000px;
+ background-position: -1616px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -1100px;
+ background-position: -1616px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -1200px;
+ background-position: -1616px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1534px -1300px;
+ background-position: -1616px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: 0px -1446px;
+ background-position: -1616px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -82px -1446px;
+ background-position: -1616px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -164px -1446px;
+ background-position: -1616px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -246px -1446px;
+ background-position: -1616px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -328px -1446px;
+ background-position: -1616px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -410px -1446px;
+ background-position: -1616px -1400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Peppermint {
background-image: url(spritesmith-main-9.png);
- background-position: -492px -1446px;
+ background-position: 0px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -574px -1446px;
+ background-position: -82px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -656px -1446px;
+ background-position: -164px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -738px -1446px;
+ background-position: -246px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Spooky {
background-image: url(spritesmith-main-9.png);
- background-position: -820px -1446px;
+ background-position: -328px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-White {
background-image: url(spritesmith-main-9.png);
- background-position: -902px -1446px;
+ background-position: -410px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -984px -1446px;
+ background-position: -492px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1066px -1446px;
+ background-position: -574px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1148px -1446px;
+ background-position: -656px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1230px -1446px;
+ background-position: -738px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1312px -1446px;
+ background-position: -820px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1394px -1446px;
+ background-position: -902px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1476px -1446px;
+ background-position: -984px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px 0px;
+ background-position: -1066px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -100px;
+ background-position: -1148px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -200px;
+ background-position: -1230px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -300px;
+ background-position: -1312px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -400px;
+ background-position: -1394px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -500px;
+ background-position: -1476px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -600px;
+ background-position: -1558px -1552px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -700px;
+ background-position: -1698px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Golden {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -800px;
+ background-position: -1698px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Peppermint {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -900px;
+ background-position: -1698px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Red {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -1000px;
+ background-position: -1698px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Shade {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -1100px;
+ background-position: -1698px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Skeleton {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -1200px;
+ background-position: -1698px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Spooky {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -1300px;
+ background-position: -1698px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-White {
background-image: url(spritesmith-main-9.png);
- background-position: -1616px -1400px;
+ background-position: -1698px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Zombie {
background-image: url(spritesmith-main-9.png);
- background-position: 0px -1546px;
+ background-position: -1698px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Base {
background-image: url(spritesmith-main-9.png);
- background-position: -82px -1546px;
+ background-position: -1698px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-CottonCandyBlue {
background-image: url(spritesmith-main-9.png);
- background-position: -164px -1546px;
+ background-position: -1698px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-CottonCandyPink {
background-image: url(spritesmith-main-9.png);
- background-position: -246px -1546px;
+ background-position: -1698px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Desert {
background-image: url(spritesmith-main-9.png);
- background-position: -328px -1546px;
+ background-position: -1698px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -410px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Peppermint {
- background-image: url(spritesmith-main-9.png);
- background-position: -492px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -574px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -656px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -738px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Spooky {
- background-image: url(spritesmith-main-9.png);
- background-position: -820px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -902px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Fox-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -984px -1546px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Frog-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -378px -680px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -484px -680px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -590px -680px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -696px -680px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -816px 0px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -816px -115px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -816px -230px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -816px -345px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -816px -460px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Frog-Zombie {
- background-image: url(spritesmith-main-9.png);
- background-position: -272px -680px;
- width: 105px;
- height: 114px;
-}
-.Mount_Icon_Gryphon-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-CottonCandyBlue {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-CottonCandyPink {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Desert {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Golden {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Red {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-RoyalPurple {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Shade {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Skeleton {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-White {
- background-image: url(spritesmith-main-9.png);
- background-position: -1698px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Gryphon-Zombie {
background-image: url(spritesmith-main-9.png);
background-position: -1698px -1300px;
width: 81px;
height: 99px;
}
-.Mount_Icon_Hedgehog-Base {
- background-image: url(spritesmith-main-9.png);
- background-position: -1312px -1546px;
- width: 81px;
- height: 99px;
-}
diff --git a/common/dist/sprites/spritesmith-main-9.png b/common/dist/sprites/spritesmith-main-9.png
index 6d24359800..718d501985 100644
Binary files a/common/dist/sprites/spritesmith-main-9.png and b/common/dist/sprites/spritesmith-main-9.png differ
diff --git a/common/img/sprites/spritesmith/quests/inventory_quest_scroll_snail.png b/common/img/sprites/spritesmith/quests/inventory_quest_scroll_snail.png
new file mode 100644
index 0000000000..c23f657cfa
Binary files /dev/null and b/common/img/sprites/spritesmith/quests/inventory_quest_scroll_snail.png differ
diff --git a/common/img/sprites/spritesmith/quests/quest_snail.png b/common/img/sprites/spritesmith/quests/quest_snail.png
new file mode 100644
index 0000000000..bb80a3e55a
Binary files /dev/null and b/common/img/sprites/spritesmith/quests/quest_snail.png differ
diff --git a/common/img/sprites/spritesmith/stable/eggs/Pet_Egg_Snail.png b/common/img/sprites/spritesmith/stable/eggs/Pet_Egg_Snail.png
new file mode 100644
index 0000000000..3bdc63e8b1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/eggs/Pet_Egg_Snail.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Base.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Base.png
new file mode 100644
index 0000000000..2359cb7566
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Base.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyBlue.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyBlue.png
new file mode 100644
index 0000000000..ccdcb7e703
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyBlue.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyPink.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyPink.png
new file mode 100644
index 0000000000..bafac69648
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-CottonCandyPink.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Desert.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Desert.png
new file mode 100644
index 0000000000..af71640f1d
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Desert.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Golden.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Golden.png
new file mode 100644
index 0000000000..c72f476af1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Golden.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Red.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Red.png
new file mode 100644
index 0000000000..dac11969cb
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Red.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Shade.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Shade.png
new file mode 100644
index 0000000000..58773a85b1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Shade.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Skeleton.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Skeleton.png
new file mode 100644
index 0000000000..e498396d06
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Skeleton.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-White.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-White.png
new file mode 100644
index 0000000000..fde55de1b8
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-White.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Zombie.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Zombie.png
new file mode 100644
index 0000000000..69b71360c1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Body_Snail-Zombie.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Base.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Base.png
new file mode 100644
index 0000000000..ac038d3d72
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Base.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyBlue.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyBlue.png
new file mode 100644
index 0000000000..b832b1814f
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyBlue.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyPink.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyPink.png
new file mode 100644
index 0000000000..a41e02b80f
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-CottonCandyPink.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Desert.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Desert.png
new file mode 100644
index 0000000000..9ad07dca80
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Desert.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Golden.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Golden.png
new file mode 100644
index 0000000000..979ce41d89
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Golden.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Red.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Red.png
new file mode 100644
index 0000000000..daa1cccfc8
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Red.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Shade.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Shade.png
new file mode 100644
index 0000000000..03dcf55902
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Shade.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Skeleton.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Skeleton.png
new file mode 100644
index 0000000000..2bf64616b1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Skeleton.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-White.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-White.png
new file mode 100644
index 0000000000..8b5e5acd8a
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-White.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Zombie.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Zombie.png
new file mode 100644
index 0000000000..ed97f5eb8e
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Head_Snail-Zombie.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Base.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Base.png
new file mode 100644
index 0000000000..773eb1396b
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Base.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyBlue.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyBlue.png
new file mode 100644
index 0000000000..2a67d90fed
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyBlue.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyPink.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyPink.png
new file mode 100644
index 0000000000..5ce350cebe
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-CottonCandyPink.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Desert.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Desert.png
new file mode 100644
index 0000000000..3bdc5d0dac
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Desert.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Golden.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Golden.png
new file mode 100644
index 0000000000..2c88f42d06
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Golden.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Red.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Red.png
new file mode 100644
index 0000000000..d5ba91a34c
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Red.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Shade.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Shade.png
new file mode 100644
index 0000000000..f311445fc2
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Shade.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Skeleton.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Skeleton.png
new file mode 100644
index 0000000000..269f651903
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Skeleton.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-White.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-White.png
new file mode 100644
index 0000000000..54c6e747b9
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-White.png differ
diff --git a/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Zombie.png b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Zombie.png
new file mode 100644
index 0000000000..af973bbe32
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/mounts/Mount_Icon_Snail-Zombie.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Base.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Base.png
new file mode 100644
index 0000000000..d8500a2034
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Base.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyBlue.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyBlue.png
new file mode 100644
index 0000000000..74bf390b08
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyBlue.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyPink.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyPink.png
new file mode 100644
index 0000000000..4cdbff51df
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-CottonCandyPink.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Desert.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Desert.png
new file mode 100644
index 0000000000..6a8748638a
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Desert.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Golden.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Golden.png
new file mode 100644
index 0000000000..7abbab06d5
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Golden.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Red.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Red.png
new file mode 100644
index 0000000000..df9e5e4aa5
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Red.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Shade.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Shade.png
new file mode 100644
index 0000000000..6344d9b15e
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Shade.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Skeleton.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Skeleton.png
new file mode 100644
index 0000000000..44f2a766ea
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Skeleton.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-White.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-White.png
new file mode 100644
index 0000000000..55dfe8b87e
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-White.png differ
diff --git a/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Zombie.png b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Zombie.png
new file mode 100644
index 0000000000..23124605d1
Binary files /dev/null and b/common/img/sprites/spritesmith/stable/pets/Pet-Snail-Zombie.png differ
diff --git a/common/locales/en/content.json b/common/locales/en/content.json
index a238f2a555..3eeedb30e4 100644
--- a/common/locales/en/content.json
+++ b/common/locales/en/content.json
@@ -49,7 +49,7 @@
"dropEggBearCubText": "Bear Cub",
"dropEggBearCubMountText": "Bear",
- "dropEggBearCubAdjective": "a cuddly",
+ "dropEggBearCubAdjective": "a brave",
"questEggGryphonText": "Gryphon",
"questEggGryphonMountText": "Gryphon",
@@ -69,7 +69,7 @@
"questEggRatText": "Rat",
"questEggRatMountText": "Rat",
- "questEggRatAdjective": "a dirty",
+ "questEggRatAdjective": "a sociable",
"questEggOctopusText": "Octopus",
"questEggOctopusMountText": "Octopus",
@@ -155,6 +155,10 @@
"questEggMonkeyMountText": "Monkey",
"questEggMonkeyAdjective": "a mischievous",
+ "questEggSnailText": "Snail",
+ "questEggSnailMountText": "Snail",
+ "questEggSnailAdjective": "a slow but steady",
+
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
diff --git a/common/locales/en/questsContent.json b/common/locales/en/questsContent.json
index 792b5ac681..994d0a90fa 100644
--- a/common/locales/en/questsContent.json
+++ b/common/locales/en/questsContent.json
@@ -339,5 +339,12 @@
"questMonkeyCompletion": "You did it! No bananas for those fiends today. Overwhelmed by your diligence, the monkeys flee in panic. \"Look,\" says @Misceo. \"They left a few eggs behind.\"
@Leephon grins. \"Maybe a well-trained pet monkey can help you as much as the wild ones hinder you!\"",
"questMonkeyBoss": "Monstrous Mandrill",
"questMonkeyDropMonkeyEgg": "Monkey (Egg)",
- "questMonkeyUnlockText": "Unlocks purchasable Monkey eggs in the Market"
+ "questMonkeyUnlockText": "Unlocks purchasable Monkey eggs in the Market",
+
+ "questSnailText": "The Snail of Drudgery Sludge",
+ "questSnailNotes": "You're excited to begin questing in the abandoned Dungeons of Drudgery, but as soon as you enter, you feel the ground under your feet start to suck at your boots. You look up to the path ahead and see Habiticans mired in slime. @Overomega yells, \"They have too many unimportant tasks and dailies, and they're getting stuck on things that don't matter! Pull them out!\"
\"You need to find the source of the ooze,\" @Pfeffernusse agrees, \"or the tasks that they cannot accomplish will drag them down forever!\"
Pulling out your weapon, you wade through the gooey mud.... and encounter the fearsome Snail of Drudgery Sludge.",
+ "questSnailCompletion": "You bring your weapon down on the great Snail's shell, cracking it in two, releasing a flood of water. The slime is washed away, and the Habiticans around you rejoice. \"Look!\" says @Misceo. \"There's a small group of snail eggs in the remnants of the muck.\"",
+ "questSnailBoss": "Snail of Drudgery Sludge",
+ "questSnailDropSnailEgg": "Snail (Egg)",
+ "questSnailUnlockText": "Unlocks purchasable Snail eggs in the Market"
}
diff --git a/common/script/content/faq.js b/common/script/content/faq.js
index bacad9c119..511e60a434 100644
--- a/common/script/content/faq.js
+++ b/common/script/content/faq.js
@@ -2,7 +2,13 @@ import t from './translation';
const NUMBER_OF_QUESTIONS = 12;
-export const questions = [];
+let faq = {
+ questions: [],
+ stillNeedHelp: {
+ ios: t('iosFaqStillNeedHelp'),
+ web: t('webFaqStillNeedHelp'),
+ },
+};
for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
let question = {
@@ -11,10 +17,7 @@ for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
web: t(`webFaqAnswer${i}`),
};
- questions.push(question);
+ faq.questions.push(question);
}
-export const stillNeedHelp = {
- ios: t('iosFaqStillNeedHelp'),
- web: t('webFaqStillNeedHelp'),
-};
+module.exports = faq;
diff --git a/common/script/content/index.js b/common/script/content/index.js
index a8dfeae073..d5b8af6305 100644
--- a/common/script/content/index.js
+++ b/common/script/content/index.js
@@ -373,6 +373,13 @@ api.questEggs = {
return u.achievements.quests && (u.achievements.quests.monkey != null) > 0;
})
},
+ Snail: {
+ text: t('questEggSnailText'),
+ adjective: t('questEggSnailAdjective'),
+ canBuy: (function(u) {
+ return u.achievements.quests && (u.achievements.quests.snail != null) > 0;
+ })
+ },
};
_.each(api.questEggs, function(egg, key) {
@@ -2488,6 +2495,38 @@ api.quests = {
unlock: t('questMonkeyUnlockText')
}
},
+ snail: {
+ text: t('questSnailText'),
+ notes: t('questSnailNotes'),
+ completion: t('questSnailCompletion'),
+ value: 4,
+ category: 'pet',
+ boss: {
+ name: t('questSnailBoss'),
+ hp: 500,
+ str: 1.5
+ },
+ drop: {
+ items: [
+ {
+ type: 'eggs',
+ key: 'Snail',
+ text: t('questSnailDropSnailEgg')
+ }, {
+ type: 'eggs',
+ key: 'Snail',
+ text: t('questSnailDropSnailEgg')
+ }, {
+ type: 'eggs',
+ key: 'Snail',
+ text: t('questSnailDropSnailEgg')
+ }
+ ],
+ gp: 37,
+ exp: 275,
+ unlock: t('questSnailUnlockText')
+ }
+ },
};
_.each(api.quests, function(v, key) {
diff --git a/common/script/fns/autoAllocate.js b/common/script/fns/autoAllocate.js
new file mode 100644
index 0000000000..ab037e628b
--- /dev/null
+++ b/common/script/fns/autoAllocate.js
@@ -0,0 +1,56 @@
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+/*
+ Updates user stats with new stats. Handles death, leveling up, etc
+ {stats} new stats
+ {update} if aggregated changes, pass in userObj as update. otherwise commits will be made immediately
+ */
+
+module.exports = function(user) {
+ return user.stats[(function() {
+ var diff, ideal, lvlDiv7, preference, stats, suggested;
+ switch (user.preferences.allocationMode) {
+ case "flat":
+ stats = _.pick(user.stats, splitWhitespace('con str per int'));
+ return _.invert(stats)[_.min(stats)];
+ case "classbased":
+ lvlDiv7 = user.stats.lvl / 7;
+ ideal = [lvlDiv7 * 3, lvlDiv7 * 2, lvlDiv7, lvlDiv7];
+ preference = (function() {
+ switch (user.stats["class"]) {
+ case "wizard":
+ return ["int", "per", "con", "str"];
+ case "rogue":
+ return ["per", "str", "int", "con"];
+ case "healer":
+ return ["con", "int", "str", "per"];
+ default:
+ return ["str", "con", "per", "int"];
+ }
+ })();
+ diff = [user.stats[preference[0]] - ideal[0], user.stats[preference[1]] - ideal[1], user.stats[preference[2]] - ideal[2], user.stats[preference[3]] - ideal[3]];
+ suggested = _.findIndex(diff, (function(val) {
+ if (val === _.min(diff)) {
+ return true;
+ }
+ }));
+ if (~suggested) {
+ return preference[suggested];
+ } else {
+ return "str";
+ }
+ case "taskbased":
+ suggested = _.invert(user.stats.training)[_.max(user.stats.training)];
+ _.merge(user.stats.training, {
+ str: 0,
+ int: 0,
+ con: 0,
+ per: 0
+ });
+ return suggested || "str";
+ default:
+ return "str";
+ }
+ })()]++;
+};
diff --git a/common/script/fns/crit.js b/common/script/fns/crit.js
new file mode 100644
index 0000000000..69ac9e5b93
--- /dev/null
+++ b/common/script/fns/crit.js
@@ -0,0 +1,15 @@
+module.exports = function(user, stat, chance) {
+ var s;
+ if (stat == null) {
+ stat = 'str';
+ }
+ if (chance == null) {
+ chance = .03;
+ }
+ s = user._statsComputed[stat];
+ if (user.fns.predictableRandom() <= chance * (1 + s / 100)) {
+ return 1.5 + 4 * s / (s + 200);
+ } else {
+ return 1;
+ }
+};
diff --git a/common/script/fns/cron.js b/common/script/fns/cron.js
new file mode 100644
index 0000000000..b43da4e0cd
--- /dev/null
+++ b/common/script/fns/cron.js
@@ -0,0 +1,279 @@
+import moment from 'moment';
+import _ from 'lodash';
+import {
+ daysSince,
+ shouldDo,
+} from '../cron';
+import {
+ capByLevel,
+ toNextLevel,
+} from '../statHelpers';
+/*
+ ------------------------------------------------------
+ Cron
+ ------------------------------------------------------
+ */
+
+/*
+ At end of day, add value to all incomplete Daily & Todo tasks (further incentive)
+ For incomplete Dailys, deduct experience
+ Make sure to run this function once in a while as server will not take care of overnight calculations.
+ And you have to run it every time client connects.
+ {user}
+ */
+
+module.exports = function(user, options) {
+ var _progress, analyticsData, base, base1, base2, base3, base4, clearBuffs, dailyChecked, dailyDueUnchecked, daysMissed, expTally, lvl, lvlDiv2, multiDaysCountAsOneDay, now, perfect, plan, progress, ref, ref1, ref2, ref3, todoTally;
+ if (options == null) {
+ options = {};
+ }
+ now = +options.now || +(new Date);
+ daysMissed = daysSince(user.lastCron, _.defaults({
+ now: now
+ }, user.preferences));
+ if (!(daysMissed > 0)) {
+ return;
+ }
+ user.auth.timestamps.loggedin = new Date();
+ user.lastCron = now;
+ if (user.items.lastDrop.count > 0) {
+ user.items.lastDrop.count = 0;
+ }
+ perfect = true;
+ clearBuffs = {
+ str: 0,
+ int: 0,
+ per: 0,
+ con: 0,
+ stealth: 0,
+ streaks: false
+ };
+ plan = (ref = user.purchased) != null ? ref.plan : void 0;
+ if (plan != null ? plan.customerId : void 0) {
+ if (typeof plan.dateUpdated === "undefined") {
+ // partial compensation for bug in subscription creation - https://github.com/HabitRPG/habitrpg/issues/6682
+ plan.dateUpdated = new Date();
+ }
+ if (moment(plan.dateUpdated).format('MMYYYY') !== moment().format('MMYYYY')) {
+ plan.gemsBought = 0;
+ plan.dateUpdated = new Date();
+ _.defaults(plan.consecutive, {
+ count: 0,
+ offset: 0,
+ trinkets: 0,
+ gemCapExtra: 0
+ });
+ plan.consecutive.count++;
+ if (plan.consecutive.offset > 0) {
+ plan.consecutive.offset--;
+ } else if (plan.consecutive.count % 3 === 0) {
+ plan.consecutive.trinkets++;
+ plan.consecutive.gemCapExtra += 5;
+ if (plan.consecutive.gemCapExtra > 25) {
+ plan.consecutive.gemCapExtra = 25;
+ }
+ }
+ }
+ if (plan.dateTerminated && moment(plan.dateTerminated).isBefore(+(new Date))) {
+ _.merge(plan, {
+ planId: null,
+ customerId: null,
+ paymentMethod: null
+ });
+ _.merge(plan.consecutive, {
+ count: 0,
+ offset: 0,
+ gemCapExtra: 0
+ });
+ if (typeof user.markModified === "function") {
+ user.markModified('purchased.plan');
+ }
+ }
+ }
+ if (user.preferences.sleep === true) {
+ user.stats.buffs = clearBuffs;
+ user.dailys.forEach(function(daily) {
+ var completed, repeat, thatDay;
+ completed = daily.completed, repeat = daily.repeat;
+ thatDay = moment(now).subtract({
+ days: 1
+ });
+ if (shouldDo(thatDay.toDate(), daily, user.preferences) || completed) {
+ _.each(daily.checklist, (function(box) {
+ box.completed = false;
+ return true;
+ }));
+ }
+ return daily.completed = false;
+ });
+ return;
+ }
+ multiDaysCountAsOneDay = true;
+ todoTally = 0;
+ user.todos.forEach(function(task) {
+ var absVal, completed, delta, id;
+ if (!task) {
+ return;
+ }
+ id = task.id, completed = task.completed;
+ delta = user.ops.score({
+ params: {
+ id: task.id,
+ direction: 'down'
+ },
+ query: {
+ times: multiDaysCountAsOneDay != null ? multiDaysCountAsOneDay : {
+ 1: daysMissed
+ },
+ cron: true
+ }
+ });
+ absVal = completed ? Math.abs(task.value) : task.value;
+ return todoTally += absVal;
+ });
+ dailyChecked = 0;
+ dailyDueUnchecked = 0;
+ if ((base = user.party.quest.progress).down == null) {
+ base.down = 0;
+ }
+ user.dailys.forEach(function(task) {
+ var EvadeTask, completed, delta, fractionChecked, id, j, n, ref1, ref2, scheduleMisses, thatDay;
+ if (!task) {
+ return;
+ }
+ id = task.id, completed = task.completed;
+ EvadeTask = 0;
+ scheduleMisses = daysMissed;
+ if (completed) {
+ dailyChecked += 1;
+ } else {
+ scheduleMisses = 0;
+ for (n = j = 0, ref1 = daysMissed; 0 <= ref1 ? j < ref1 : j > ref1; n = 0 <= ref1 ? ++j : --j) {
+ thatDay = moment(now).subtract({
+ days: n + 1
+ });
+ if (shouldDo(thatDay.toDate(), task, user.preferences)) {
+ scheduleMisses++;
+ if (user.stats.buffs.stealth) {
+ user.stats.buffs.stealth--;
+ EvadeTask++;
+ }
+ if (multiDaysCountAsOneDay) {
+ break;
+ }
+ }
+ }
+ if (scheduleMisses > EvadeTask) {
+ perfect = false;
+ if (((ref2 = task.checklist) != null ? ref2.length : void 0) > 0) {
+ fractionChecked = _.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 0) / task.checklist.length;
+ dailyDueUnchecked += 1 - fractionChecked;
+ dailyChecked += fractionChecked;
+ } else {
+ dailyDueUnchecked += 1;
+ }
+ delta = user.ops.score({
+ params: {
+ id: task.id,
+ direction: 'down'
+ },
+ query: {
+ times: multiDaysCountAsOneDay != null ? multiDaysCountAsOneDay : {
+ 1: scheduleMisses - EvadeTask
+ },
+ cron: true
+ }
+ });
+ user.party.quest.progress.down += delta * (task.priority < 1 ? task.priority : 1);
+ }
+ }
+ (task.history != null ? task.history : task.history = []).push({
+ date: +(new Date),
+ value: task.value
+ });
+ task.completed = false;
+ if (completed || (scheduleMisses > 0)) {
+ return _.each(task.checklist, (function(i) {
+ i.completed = false;
+ return true;
+ }));
+ }
+ });
+ user.habits.forEach(function(task) {
+ if (task.up === false || task.down === false) {
+ if (Math.abs(task.value) < 0.1) {
+ return task.value = 0;
+ } else {
+ return task.value = task.value / 2;
+ }
+ }
+ });
+ ((base1 = (user.history != null ? user.history : user.history = {})).todos != null ? base1.todos : base1.todos = []).push({
+ date: now,
+ value: todoTally
+ });
+ expTally = user.stats.exp;
+ lvl = 0;
+ while (lvl < (user.stats.lvl - 1)) {
+ lvl++;
+ expTally += toNextLevel(lvl);
+ }
+ ((base2 = user.history).exp != null ? base2.exp : base2.exp = []).push({
+ date: now,
+ value: expTally
+ });
+ if (!((ref1 = user.purchased) != null ? (ref2 = ref1.plan) != null ? ref2.customerId : void 0 : void 0)) {
+ user.fns.preenUserHistory();
+ if (typeof user.markModified === "function") {
+ user.markModified('history');
+ }
+ if (typeof user.markModified === "function") {
+ user.markModified('dailys');
+ }
+ }
+ user.stats.buffs = perfect ? ((base3 = user.achievements).perfect != null ? base3.perfect : base3.perfect = 0, user.achievements.perfect++, lvlDiv2 = Math.ceil(capByLevel(user.stats.lvl) / 2), {
+ str: lvlDiv2,
+ int: lvlDiv2,
+ per: lvlDiv2,
+ con: lvlDiv2,
+ stealth: 0,
+ streaks: false
+ }) : clearBuffs;
+ if (dailyDueUnchecked === 0 && dailyChecked === 0) {
+ dailyChecked = 1;
+ }
+ user.stats.mp += _.max([10, .1 * user._statsComputed.maxMP]) * dailyChecked / (dailyDueUnchecked + dailyChecked);
+ if (user.stats.mp > user._statsComputed.maxMP) {
+ user.stats.mp = user._statsComputed.maxMP;
+ }
+ progress = user.party.quest.progress;
+ _progress = _.cloneDeep(progress);
+ _.merge(progress, {
+ down: 0,
+ up: 0
+ });
+ progress.collect = _.transform(progress.collect, (function(m, v, k) {
+ return m[k] = 0;
+ }));
+ if ((base4 = user.flags).cronCount == null) {
+ base4.cronCount = 0;
+ }
+ user.flags.cronCount++;
+ analyticsData = {
+ category: 'behavior',
+ gaLabel: 'Cron Count',
+ gaValue: user.flags.cronCount,
+ uuid: user._id,
+ user: user,
+ resting: user.preferences.sleep,
+ cronCount: user.flags.cronCount,
+ progressUp: _.min([_progress.up, 900]),
+ progressDown: _progress.down
+ };
+ if ((ref3 = options.analytics) != null) {
+ ref3.track('Cron', analyticsData);
+ }
+ return _progress;
+};
diff --git a/common/script/fns/dotGet.js b/common/script/fns/dotGet.js
new file mode 100644
index 0000000000..c95ba55656
--- /dev/null
+++ b/common/script/fns/dotGet.js
@@ -0,0 +1,5 @@
+import dotGet from '../libs/dotGet';
+
+module.exports = function(user, path) {
+ return dotGet(user, path);
+};
diff --git a/common/script/fns/dotSet.js b/common/script/fns/dotSet.js
new file mode 100644
index 0000000000..283e7a50d0
--- /dev/null
+++ b/common/script/fns/dotSet.js
@@ -0,0 +1,12 @@
+import dotSet from '../libs/dotSet';
+
+/*
+This allows you to set object properties by dot-path. Eg, you can run pathSet('stats.hp',50,user) which is the same as
+user.stats.hp = 50. This is useful because in our habitrpg-shared functions we're returning changesets as {path:value},
+so that different consumers can implement setters their own way. Derby needs model.set(path, value) for example, where
+Angular sets object properties directly - in which case, this function will be used.
+ */
+
+module.exports = function(user, path, val) {
+ return dotSet(user, path, val);
+};
diff --git a/common/script/fns/getItem.js b/common/script/fns/getItem.js
new file mode 100644
index 0000000000..b73ecf9073
--- /dev/null
+++ b/common/script/fns/getItem.js
@@ -0,0 +1,11 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, type) {
+ var item;
+ item = content.gear.flat[user.items.gear.equipped[type]];
+ if (!item) {
+ return content.gear.flat[type + "_base_0"];
+ }
+ return item;
+};
diff --git a/common/script/fns/handleTwoHanded.js b/common/script/fns/handleTwoHanded.js
new file mode 100644
index 0000000000..c700346988
--- /dev/null
+++ b/common/script/fns/handleTwoHanded.js
@@ -0,0 +1,24 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, item, type, req) {
+ var message, currentWeapon, currentShield;
+ if (type == null) {
+ type = 'equipped';
+ }
+ currentShield = content.gear.flat[user.items.gear[type].shield];
+ currentWeapon = content.gear.flat[user.items.gear[type].weapon];
+
+ if (item.type === "shield" && (currentWeapon ? currentWeapon.twoHanded : false)) {
+ user.items.gear[type].weapon = 'weapon_base_0';
+ message = i18n.t('messageTwoHandedUnequip', {
+ twoHandedText: currentWeapon.text(req.language), offHandedText: item.text(req.language),
+ }, req.language);
+ } else if (item.twoHanded && (currentShield && user.items.gear[type].shield != "shield_base_0")) {
+ user.items.gear[type].shield = "shield_base_0";
+ message = i18n.t('messageTwoHandedEquip', {
+ twoHandedText: item.text(req.language), offHandedText: currentShield.text(req.language),
+ }, req.language);
+ }
+ return message;
+};
diff --git a/common/script/fns/index.js b/common/script/fns/index.js
new file mode 100644
index 0000000000..24f3ab604b
--- /dev/null
+++ b/common/script/fns/index.js
@@ -0,0 +1,31 @@
+import getItem from './getItem';
+import handleTwoHanded from './handleTwoHanded';
+import predictableRandom from './predictableRandom';
+import crit from './crit';
+import randomVal from './randomVal';
+import dotSet from './dotSet';
+import dotGet from './dotGet';
+import randomDrop from './randomDrop';
+import autoAllocate from './autoAllocate';
+import updateStats from './updateStats';
+import cron from './cron';
+import preenUserHistory from './preenUserHistory';
+import ultimateGear from './ultimateGear';
+import nullify from './nullify';
+
+module.exports = {
+ getItem,
+ handleTwoHanded,
+ predictableRandom,
+ crit,
+ randomVal,
+ dotSet,
+ dotGet,
+ randomDrop,
+ autoAllocate,
+ updateStats,
+ cron,
+ preenUserHistory,
+ ultimateGear,
+ nullify,
+};
diff --git a/common/script/fns/nullify.js b/common/script/fns/nullify.js
new file mode 100644
index 0000000000..b6e30aa3b9
--- /dev/null
+++ b/common/script/fns/nullify.js
@@ -0,0 +1,5 @@
+module.exports = function(user) {
+ user.ops = null;
+ user.fns = null;
+ return user = null;
+};
diff --git a/common/script/fns/predictableRandom.js b/common/script/fns/predictableRandom.js
new file mode 100644
index 0000000000..64c8153746
--- /dev/null
+++ b/common/script/fns/predictableRandom.js
@@ -0,0 +1,20 @@
+import _ from 'lodash';
+/*
+Because the same op needs to be performed on the client and the server (critical hits, item drops, etc),
+we need things to be "random", but technically predictable so that they don't go out-of-sync
+ */
+
+module.exports = function(user, seed) {
+ var x;
+ if (!seed || seed === Math.PI) {
+ seed = _.reduce(user.stats, (function(m, v) {
+ if (_.isNumber(v)) {
+ return m + v;
+ } else {
+ return m;
+ }
+ }), 0);
+ }
+ x = Math.sin(seed++) * 10000;
+ return x - Math.floor(x);
+};
diff --git a/common/script/fns/preenUserHistory.js b/common/script/fns/preenUserHistory.js
new file mode 100644
index 0000000000..a45dd82719
--- /dev/null
+++ b/common/script/fns/preenUserHistory.js
@@ -0,0 +1,25 @@
+import _ from 'lodash';
+import preenHistory from '../libs/preenHistory';
+
+module.exports = function(user, minHistLen) {
+ if (minHistLen == null) {
+ minHistLen = 7;
+ }
+ _.each(user.habits.concat(user.dailys), function(task) {
+ var ref;
+ if (((ref = task.history) != null ? ref.length : void 0) > minHistLen) {
+ task.history = preenHistory(task.history);
+ }
+ return true;
+ });
+ _.defaults(user.history, {
+ todos: [],
+ exp: []
+ });
+ if (user.history.exp.length > minHistLen) {
+ user.history.exp = preenHistory(user.history.exp);
+ }
+ if (user.history.todos.length > minHistLen) {
+ return user.history.todos = preenHistory(user.history.todos);
+ }
+};
diff --git a/common/script/fns/randomDrop.js b/common/script/fns/randomDrop.js
new file mode 100644
index 0000000000..b0121b157b
--- /dev/null
+++ b/common/script/fns/randomDrop.js
@@ -0,0 +1,82 @@
+import _ from 'lodash';
+import content from '../content/index';
+import i18n from '../i18n';
+import { daysSince } from '../cron';
+import { diminishingReturns } from '../statHelpers';
+
+// Clone a drop object maintaining its functions so that we can change it without affecting the original item
+function cloneDropItem (drop) {
+ return _.cloneDeep(drop, function (val) {
+ return _.isFunction(val) ? val : undefined; // undefined will be handled by lodash
+ });
+}
+
+module.exports = function(user, modifiers, req) {
+ var acceptableDrops, base, base1, base2, chance, drop, dropK, dropMultiplier, name, name1, name2, quest, rarity, ref, ref1, ref2, ref3, task;
+ task = modifiers.task;
+ chance = _.min([Math.abs(task.value - 21.27), 37.5]) / 150 + .02;
+ chance *= task.priority * (1 + (task.streak / 100 || 0)) * (1 + (user._statsComputed.per / 100)) * (1 + (user.contributor.level / 40 || 0)) * (1 + (user.achievements.rebirths / 20 || 0)) * (1 + (user.achievements.streak / 200 || 0)) * (user._tmp.crit || 1) * (1 + .5 * (_.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 0) || 0));
+ chance = diminishingReturns(chance, 0.75);
+ quest = content.quests[(ref = user.party.quest) != null ? ref.key : void 0];
+ if ((quest != null ? quest.collect : void 0) && user.fns.predictableRandom(user.stats.gp) < chance) {
+ dropK = user.fns.randomVal(quest.collect, {
+ key: true
+ });
+ user.party.quest.progress.collect[dropK]++;
+ if (typeof user.markModified === "function") {
+ user.markModified('party.quest.progress');
+ }
+ }
+ dropMultiplier = ((ref1 = user.purchased) != null ? (ref2 = ref1.plan) != null ? ref2.customerId : void 0 : void 0) ? 2 : 1;
+ if ((daysSince(user.items.lastDrop.date, user.preferences) === 0) && (user.items.lastDrop.count >= dropMultiplier * (5 + Math.floor(user._statsComputed.per / 25) + (user.contributor.level || 0)))) {
+ return;
+ }
+ if (((ref3 = user.flags) != null ? ref3.dropsEnabled : void 0) && user.fns.predictableRandom(user.stats.exp) < chance) {
+ rarity = user.fns.predictableRandom(user.stats.gp);
+ if (rarity > .6) {
+ drop = cloneDropItem(user.fns.randomVal(_.where(content.food, {
+ canDrop: true
+ })));
+ if ((base = user.items.food)[name = drop.key] == null) {
+ base[name] = 0;
+ }
+ user.items.food[drop.key] += 1;
+ drop.type = 'Food';
+ drop.dialog = i18n.t('messageDropFood', {
+ dropArticle: drop.article,
+ dropText: drop.text(req.language),
+ dropNotes: drop.notes(req.language)
+ }, req.language);
+ } else if (rarity > .3) {
+ drop = cloneDropItem(user.fns.randomVal(content.dropEggs));
+ if ((base1 = user.items.eggs)[name1 = drop.key] == null) {
+ base1[name1] = 0;
+ }
+ user.items.eggs[drop.key]++;
+ drop.type = 'Egg';
+ drop.dialog = i18n.t('messageDropEgg', {
+ dropText: drop.text(req.language),
+ dropNotes: drop.notes(req.language)
+ }, req.language);
+ } else {
+ acceptableDrops = rarity < .02 ? ['Golden'] : rarity < .09 ? ['Zombie', 'CottonCandyPink', 'CottonCandyBlue'] : rarity < .18 ? ['Red', 'Shade', 'Skeleton'] : ['Base', 'White', 'Desert'];
+ drop = cloneDropItem(user.fns.randomVal(_.pick(content.hatchingPotions, (function(v, k) {
+ return acceptableDrops.indexOf(k) >= 0;
+ }))));
+ if ((base2 = user.items.hatchingPotions)[name2 = drop.key] == null) {
+ base2[name2] = 0;
+ }
+ user.items.hatchingPotions[drop.key]++;
+ drop.type = 'HatchingPotion';
+ drop.dialog = i18n.t('messageDropPotion', {
+ dropText: drop.text(req.language),
+ dropNotes: drop.notes(req.language)
+ }, req.language);
+ }
+ user._tmp.drop = drop;
+ user.items.lastDrop.date = +(new Date);
+ return user.items.lastDrop.count++;
+ }
+};
diff --git a/common/script/fns/randomVal.js b/common/script/fns/randomVal.js
new file mode 100644
index 0000000000..3c2b5b82e8
--- /dev/null
+++ b/common/script/fns/randomVal.js
@@ -0,0 +1,14 @@
+import _ from 'lodash';
+
+/*
+ Get a random property from an object
+ returns random property (the value)
+ */
+
+module.exports = function(user, obj, options) {
+ var array, rand;
+ array = (options != null ? options.key : void 0) ? _.keys(obj) : _.values(obj);
+ rand = user.fns.predictableRandom(options != null ? options.seed : void 0);
+ array.sort();
+ return array[Math.floor(rand * array.length)];
+};
diff --git a/common/script/fns/ultimateGear.js b/common/script/fns/ultimateGear.js
new file mode 100644
index 0000000000..1333e8cc38
--- /dev/null
+++ b/common/script/fns/ultimateGear.js
@@ -0,0 +1,33 @@
+import content from '../content/index';
+import _ from 'lodash';
+
+module.exports = function(user) {
+ var base, owned;
+ owned = typeof window !== "undefined" && window !== null ? user.items.gear.owned : user.items.gear.owned.toObject();
+ if ((base = user.achievements).ultimateGearSets == null) {
+ base.ultimateGearSets = {
+ healer: false,
+ wizard: false,
+ rogue: false,
+ warrior: false
+ };
+ }
+ content.classes.forEach(function(klass) {
+ if (user.achievements.ultimateGearSets[klass] !== true) {
+ return user.achievements.ultimateGearSets[klass] = _.reduce(['armor', 'shield', 'head', 'weapon'], function(soFarGood, type) {
+ var found;
+ found = _.find(content.gear.tree[type][klass], {
+ last: true
+ });
+ return soFarGood && (!found || owned[found.key] === true);
+ }, true);
+ }
+ });
+ if (typeof user.markModified === "function") {
+ user.markModified('achievements.ultimateGearSets');
+ }
+ if (_.contains(user.achievements.ultimateGearSets, true) && user.flags.armoireEnabled !== true) {
+ user.flags.armoireEnabled = true;
+ return typeof user.markModified === "function" ? user.markModified('flags') : void 0;
+ }
+};
diff --git a/common/script/fns/updateStats.js b/common/script/fns/updateStats.js
new file mode 100644
index 0000000000..3ce83ed664
--- /dev/null
+++ b/common/script/fns/updateStats.js
@@ -0,0 +1,109 @@
+import _ from 'lodash';
+import {
+ MAX_HEALTH,
+ MAX_STAT_POINTS
+} from '../constants';
+import { toNextLevel } from '../statHelpers';
+module.exports = function (user, stats, req, analytics) {
+ let allocatedStatPoints;
+ let totalStatPoints;
+ let experienceToNextLevel;
+
+ if (stats.hp <= 0) {
+ user.stats.hp = 0;
+ return user.stats.hp;
+ }
+
+ user.stats.hp = stats.hp;
+ user.stats.gp = stats.gp >= 0 ? stats.gp : 0;
+
+ experienceToNextLevel = toNextLevel(user.stats.lvl);
+
+ if (stats.exp >= experienceToNextLevel) {
+ user.stats.exp = stats.exp;
+
+ while (stats.exp >= experienceToNextLevel) {
+ stats.exp -= experienceToNextLevel;
+ user.stats.lvl++;
+
+ experienceToNextLevel = toNextLevel(user.stats.lvl);
+ user.stats.hp = MAX_HEALTH;
+ allocatedStatPoints = user.stats.str + user.stats.int + user.stats.con + user.stats.per;
+ totalStatPoints = allocatedStatPoints + user.stats.points;
+
+ if (totalStatPoints >= MAX_STAT_POINTS) {
+ continue; // eslint-disable-line no-continue
+ }
+ if (user.preferences.automaticAllocation) {
+ user.fns.autoAllocate();
+ } else {
+ user.stats.points = user.stats.lvl - allocatedStatPoints;
+ totalStatPoints = user.stats.points + allocatedStatPoints;
+
+ if (totalStatPoints > MAX_STAT_POINTS) {
+ user.stats.points = MAX_STAT_POINTS - allocatedStatPoints;
+ }
+
+ if (user.stats.points < 0) {
+ user.stats.points = 0;
+ }
+ }
+ }
+ }
+
+ user.stats.exp = stats.exp;
+ user.flags = user.flags || {};
+
+ if (!user.flags.customizationsNotification && (user.stats.exp > 5 || user.stats.lvl > 1)) {
+ user.flags.customizationsNotification = true;
+ }
+ if (!user.flags.itemsEnabled && (user.stats.exp > 10 || user.stats.lvl > 1)) {
+ user.flags.itemsEnabled = true;
+ }
+ if (!user.flags.dropsEnabled && user.stats.lvl >= 3) {
+ user.flags.dropsEnabled = true;
+ if (user.items.eggs["Wolf"] > 0) {
+ user.items.eggs["Wolf"]++;
+ } else {
+ user.items.eggs["Wolf"] = 1;
+ }
+ }
+ if (!user.flags.classSelected && user.stats.lvl >= 10) {
+ user.flags.classSelected;
+ }
+ _.each({
+ vice1: 30,
+ atom1: 15,
+ moonstone1: 60,
+ goldenknight1: 40
+ }, function(lvl, k) {
+ var analyticsData, base, base1, ref;
+ if (!((ref = user.flags.levelDrops) != null ? ref[k] : void 0) && user.stats.lvl >= lvl) {
+ if ((base = user.items.quests)[k] == null) {
+ base[k] = 0;
+ }
+ user.items.quests[k]++;
+ ((base1 = user.flags).levelDrops != null ? base1.levelDrops : base1.levelDrops = {})[k] = true;
+ if (typeof user.markModified === "function") {
+ user.markModified('flags.levelDrops');
+ }
+ analyticsData = {
+ uuid: user._id,
+ itemKey: k,
+ acquireMethod: 'Level Drop',
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ if (!user._tmp) user._tmp = {}
+ return user._tmp.drop = {
+ type: 'Quest',
+ key: k
+ };
+ }
+ });
+ if (!user.flags.rebirthEnabled && (user.stats.lvl >= 50 || user.achievements.beastMaster)) {
+ return user.flags.rebirthEnabled = true;
+ }
+};
diff --git a/common/script/index.js b/common/script/index.js
index 7db322f6e7..ea502e9a7d 100644
--- a/common/script/index.js
+++ b/common/script/index.js
@@ -12,6 +12,8 @@ import {
} from './constants';
import * as statHelpers from './statHelpers';
+import importedLibs from './libs';
+
var $w, preenHistory, sortOrder,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
@@ -29,140 +31,16 @@ api.maxHealth = MAX_HEALTH;
api.tnl = statHelpers.toNextLevel;
api.diminishingReturns = statHelpers.diminishingReturns;
-$w = api.$w = function(s) {
- return s.split(' ');
-};
+$w = api.$w = importedLibs.splitWhitespace;
+api.dotSet = importedLibs.dotSet;
+api.dotGet = importedLibs.dotGet;
+api.refPush = importedLibs.refPush;
+api.planGemLimits = importedLibs.planGemLimits;
-api.dotSet = function(obj, path, val) {
- var arr;
- arr = path.split('.');
- return _.reduce(arr, (function(_this) {
- return function(curr, next, index) {
- if ((arr.length - 1) === index) {
- curr[next] = val;
- }
- return curr[next] != null ? curr[next] : curr[next] = {};
- };
- })(this), obj);
-};
+preenHistory = importedLibs.preenHistory;
-api.dotGet = function(obj, path) {
- return _.reduce(path.split('.'), ((function(_this) {
- return function(curr, next) {
- return curr != null ? curr[next] : void 0;
- };
- })(this)), obj);
-};
-
-
-/*
- Reflists are arrays, but stored as objects. Mongoose has a helluvatime working with arrays (the main problem for our
- syncing issues) - so the goal is to move away from arrays to objects, since mongoose can reference elements by ID
- no problem. To maintain sorting, we use these helper functions:
- */
-
-api.refPush = function(reflist, item, prune) {
- if (prune == null) {
- prune = 0;
- }
- item.sort = _.isEmpty(reflist) ? 0 : _.max(reflist, 'sort').sort + 1;
- if (!(item.id && !reflist[item.id])) {
- item.id = api.uuid();
- }
- return reflist[item.id] = item;
-};
-
-api.planGemLimits = {
- convRate: 20,
- convCap: 25
-};
-
-/*
-Preen history for users with > 7 history entries
-This takes an infinite array of single day entries [day day day day day...], and turns it into a condensed array
-of averages, condensing more the further back in time we go. Eg, 7 entries each for last 7 days; 1 entry each week
-of this month; 1 entry for each month of this year; 1 entry per previous year: [day*7 week*4 month*12 year*infinite]
- */
-
-preenHistory = function(history) {
- var newHistory, preen, thisMonth;
- history = _.filter(history, function(h) {
- return !!h;
- });
- newHistory = [];
- preen = function(amount, groupBy) {
- var groups;
- groups = _.chain(history).groupBy(function(h) {
- return moment(h.date).format(groupBy);
- }).sortBy(function(h, k) {
- return k;
- }).value();
- groups = groups.slice(-amount);
- groups.pop();
- return _.each(groups, function(group) {
- newHistory.push({
- date: moment(group[0].date).toDate(),
- value: _.reduce(group, (function(m, obj) {
- return m + obj.value;
- }), 0) / group.length
- });
- return true;
- });
- };
- preen(50, "YYYY");
- preen(moment().format('MM'), "YYYYMM");
- thisMonth = moment().format('YYYYMM');
- newHistory = newHistory.concat(_.filter(history, function(h) {
- return moment(h.date).format('YYYYMM') === thisMonth;
- }));
- return newHistory;
-};
-
-/*
- Preen 3-day past-completed To-Dos from Angular & mobile app
- */
-
-api.preenTodos = function(tasks) {
- return _.filter(tasks, function(t) {
- return !t.completed || (t.challenge && t.challenge.id) || moment(t.dateCompleted).isAfter(moment().subtract({
- days: 3
- }));
- });
-};
-
-/*
- Update the in-browser store with new gear. FIXME this was in user.fns, but it was causing strange issues there
- */
-
-sortOrder = _.reduce(content.gearTypes, (function(m, v, k) {
- m[v] = k;
- return m;
-}), {});
-
-api.updateStore = function(user) {
- var changes;
- if (!user) {
- return;
- }
- changes = [];
- _.each(content.gearTypes, function(type) {
- var found;
- found = _.find(content.gear.tree[type][user.stats["class"]], function(item) {
- return !user.items.gear.owned[item.key];
- });
- if (found) {
- changes.push(found);
- }
- return true;
- });
- changes = changes.concat(_.filter(content.gear.flat, function(v) {
- var ref;
- return ((ref = v.klass) === 'special' || ref === 'mystery' || ref === 'armoire') && !user.items.gear.owned[v.key] && (typeof v.canOwn === "function" ? v.canOwn(user) : void 0);
- }));
- return _.sortBy(changes, function(c) {
- return sortOrder[c.type];
- });
-};
+api.preenTodos = importedLibs.preenTodos;
+api.updateStore = importedLibs.updateStore;
/*
@@ -180,289 +58,19 @@ Misc Helpers
------------------------------------------------------
*/
-api.uuid = function() {
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
- var r, v;
- r = Math.random() * 16 | 0;
- v = (c === "x" ? r : r & 0x3 | 0x8);
- return v.toString(16);
- });
-};
-
-api.countExists = function(items) {
- return _.reduce(items, (function(m, v) {
- return m + (v ? 1 : 0);
- }), 0);
-};
-
-
-/*
-Even though Mongoose handles task defaults, we want to make sure defaults are set on the client-side before
-sending up to the server for performance
- */
-
-api.taskDefaults = function(task) {
- var defaults, ref, ref1, ref2;
- if (task == null) {
- task = {};
- }
- if (!(task.type && ((ref = task.type) === 'habit' || ref === 'daily' || ref === 'todo' || ref === 'reward'))) {
- task.type = 'habit';
- }
- defaults = {
- id: api.uuid(),
- text: task.id != null ? task.id : '',
- notes: '',
- priority: 1,
- challenge: {},
- attribute: 'str',
- dateCreated: new Date()
- };
- _.defaults(task, defaults);
- if (task.type === 'habit') {
- _.defaults(task, {
- up: true,
- down: true
- });
- }
- if ((ref1 = task.type) === 'habit' || ref1 === 'daily') {
- _.defaults(task, {
- history: []
- });
- }
- if ((ref2 = task.type) === 'daily' || ref2 === 'todo') {
- _.defaults(task, {
- completed: false
- });
- }
- if (task.type === 'daily') {
- _.defaults(task, {
- streak: 0,
- repeat: {
- su: true,
- m: true,
- t: true,
- w: true,
- th: true,
- f: true,
- s: true
- }
- }, {
- startDate: new Date(),
- everyX: 1,
- frequency: 'weekly'
- });
- }
- task._id = task.id;
- if (task.value == null) {
- task.value = task.type === 'reward' ? 10 : 0;
- }
- if (!_.isNumber(task.priority)) {
- task.priority = 1;
- }
- return task;
-};
-
-api.percent = function(x, y, dir) {
- var roundFn;
- switch (dir) {
- case "up":
- roundFn = Math.ceil;
- break;
- case "down":
- roundFn = Math.floor;
- break;
- default:
- roundFn = Math.round;
- }
- if (x === 0) {
- x = 1;
- }
- return Math.max(0, roundFn(x / y * 100));
-};
-
-
-/*
-Remove whitespace #FIXME are we using this anywwhere? Should we be?
- */
-
-api.removeWhitespace = function(str) {
- if (!str) {
- return '';
- }
- return str.replace(/\s/g, '');
-};
-
-
-/*
-Encode the download link for .ics iCal file
- */
-
-api.encodeiCalLink = function(uid, apiToken) {
- var loc, ref;
- loc = (typeof window !== "undefined" && window !== null ? window.location.host : void 0) || (typeof process !== "undefined" && process !== null ? (ref = process.env) != null ? ref.BASE_URL : void 0 : void 0) || '';
- return encodeURIComponent("http://" + loc + "/v1/users/" + uid + "/calendar.ics?apiToken=" + apiToken);
-};
-
-
-/*
-Gold amount from their money
- */
-
-api.gold = function(num) {
- if (num) {
- return Math.floor(num);
- } else {
- return "0";
- }
-};
-
-
-/*
-Silver amount from their money
- */
-
-api.silver = function(num) {
- if (num) {
- return ("0" + Math.floor((num - Math.floor(num)) * 100)).slice(-2);
- } else {
- return "00";
- }
-};
-
-
-/*
-Task classes given everything about the class
- */
-
-api.taskClasses = function(task, filters, dayStart, lastCron, showCompleted, main) {
- var classes, completed, enabled, filter, priority, ref, repeat, type, value;
- if (filters == null) {
- filters = [];
- }
- if (dayStart == null) {
- dayStart = 0;
- }
- if (lastCron == null) {
- lastCron = +(new Date);
- }
- if (showCompleted == null) {
- showCompleted = false;
- }
- if (main == null) {
- main = false;
- }
- if (!task) {
- return;
- }
- type = task.type, completed = task.completed, value = task.value, repeat = task.repeat, priority = task.priority;
- if (main) {
- if (!task._editing) {
- for (filter in filters) {
- enabled = filters[filter];
- if (enabled && !((ref = task.tags) != null ? ref[filter] : void 0)) {
- return 'hidden';
- }
- }
- }
- }
- classes = type;
- if (task._editing) {
- classes += " beingEdited";
- }
- if (type === 'todo' || type === 'daily') {
- if (completed || (type === 'daily' && !shouldDo(+(new Date), task, {
- dayStart: dayStart
- }))) {
- classes += " completed";
- } else {
- classes += " uncompleted";
- }
- } else if (type === 'habit') {
- if (task.down && task.up) {
- classes += ' habit-wide';
- }
- if (!task.down && !task.up) {
- classes += ' habit-narrow';
- }
- }
- if (priority === 0.1) {
- classes += ' difficulty-trivial';
- } else if (priority === 1) {
- classes += ' difficulty-easy';
- } else if (priority === 1.5) {
- classes += ' difficulty-medium';
- } else if (priority === 2) {
- classes += ' difficulty-hard';
- }
- if (value < -20) {
- classes += ' color-worst';
- } else if (value < -10) {
- classes += ' color-worse';
- } else if (value < -1) {
- classes += ' color-bad';
- } else if (value < 1) {
- classes += ' color-neutral';
- } else if (value < 5) {
- classes += ' color-good';
- } else if (value < 10) {
- classes += ' color-better';
- } else {
- classes += ' color-best';
- }
- return classes;
-};
-
-
-/*
-Friendly timestamp
- */
-
-api.friendlyTimestamp = function(timestamp) {
- return moment(timestamp).format('MM/DD h:mm:ss a');
-};
-
-
-/*
-Does user have new chat messages?
- */
-
-api.newChatMessages = function(messages, lastMessageSeen) {
- if (!((messages != null ? messages.length : void 0) > 0)) {
- return false;
- }
- return (messages != null ? messages[0] : void 0) && (messages[0].id !== lastMessageSeen);
-};
-
-
-/*
-are any tags active?
- */
-
-api.noTags = function(tags) {
- return _.isEmpty(tags) || _.isEmpty(_.filter(tags, function(t) {
- return t;
- }));
-};
-
-
-/*
-Are there tags applied?
- */
-
-api.appliedTags = function(userTags, taskTags) {
- var arr;
- arr = [];
- _.each(userTags, function(t) {
- if (t == null) {
- return;
- }
- if (taskTags != null ? taskTags[t.id] : void 0) {
- return arr.push(t.name);
- }
- });
- return arr.join(', ');
-};
+api.uuid = importedLibs.uuid;
+api.countExists = importedLibs.countExists;
+api.taskDefaults = importedLibs.taskDefaults;
+api.percent = importedLibs.percent;
+api.removeWhitespace = importedLibs.removeWhitespace;
+api.encodeiCalLink = importedLibs.encodeiCalLink;
+api.gold = importedLibs.gold;
+api.silver = importedLibs.silver;
+api.taskClasses = importedLibs.taskClasses;
+api.friendlyTimestamp = importedLibs.friendlyTimestamp;
+api.newChatMessages = importedLibs.newChatMessages;
+api.noTags = importedLibs.noTags;
+api.appliedTags = importedLibs.appliedTags;
/*
@@ -510,6 +118,9 @@ TODO
* Move to $resource!
*/
+import importedOps from './ops';
+import importedFns from './fns';
+
api.wrap = function(user, main) {
if (main == null) {
main = true;
@@ -520,2184 +131,68 @@ api.wrap = function(user, main) {
user._wrapped = true;
if (main) {
user.ops = {
- update: function(req, cb) {
- _.each(req.body, function(v, k) {
- user.fns.dotSet(k, v);
- return true;
- });
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- sleep: function(req, cb) {
- user.preferences.sleep = !user.preferences.sleep;
- return typeof cb === "function" ? cb(null, {}) : void 0;
- },
- revive: function(req, cb, analytics) {
- var analyticsData, base, cl, gearOwned, item, losableItems, lostItem, lostStat;
- if (!(user.stats.hp <= 0)) {
- return typeof cb === "function" ? cb({
- code: 400,
- message: "Cannot revive if not dead"
- }) : void 0;
- }
- _.merge(user.stats, {
- hp: 50,
- exp: 0,
- gp: 0
- });
- if (user.stats.lvl > 1) {
- user.stats.lvl--;
- }
- lostStat = user.fns.randomVal(_.reduce(['str', 'con', 'per', 'int'], (function(m, k) {
- if (user.stats[k]) {
- m[k] = k;
- }
- return m;
- }), {}));
- if (lostStat) {
- user.stats[lostStat]--;
- }
- cl = user.stats["class"];
- gearOwned = (typeof (base = user.items.gear.owned).toObject === "function" ? base.toObject() : void 0) || user.items.gear.owned;
- losableItems = {};
- _.each(gearOwned, function(v, k) {
- var itm;
- if (v) {
- itm = content.gear.flat['' + k];
- if (itm) {
- if ((itm.value > 0 || k === 'weapon_warrior_0') && (itm.klass === cl || (itm.klass === 'special' && (!itm.specialClass || itm.specialClass === cl)) || itm.klass === 'armoire')) {
- return losableItems['' + k] = '' + k;
- }
- }
- }
- });
- lostItem = user.fns.randomVal(losableItems);
- if (item = content.gear.flat[lostItem]) {
- user.items.gear.owned[lostItem] = false;
- if (user.items.gear.equipped[item.type] === lostItem) {
- user.items.gear.equipped[item.type] = item.type + "_base_0";
- }
- if (user.items.gear.costume[item.type] === lostItem) {
- user.items.gear.costume[item.type] = item.type + "_base_0";
- }
- }
- if (typeof user.markModified === "function") {
- user.markModified('items.gear');
- }
- analyticsData = {
- uuid: user._id,
- lostItem: lostItem,
- gaLabel: lostItem,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('Death', analyticsData);
- }
- return typeof cb === "function" ? cb((item ? {
- code: 200,
- message: i18n.t('messageLostItem', {
- itemText: item.text(req.language)
- }, req.language)
- } : null), user) : void 0;
- },
- reset: function(req, cb) {
- var gear;
- user.habits = [];
- user.dailys = [];
- user.todos = [];
- user.rewards = [];
- user.stats.hp = 50;
- user.stats.lvl = 1;
- user.stats.gp = 0;
- user.stats.exp = 0;
- gear = user.items.gear;
- _.each(['equipped', 'costume'], function(type) {
- gear[type].armor = 'armor_base_0';
- gear[type].weapon = 'weapon_base_0';
- gear[type].head = 'head_base_0';
- return gear[type].shield = 'shield_base_0';
- });
- if (typeof gear.owned === 'undefined') {
- gear.owned = {};
- }
- _.each(gear.owned, function(v, k) {
- if (gear.owned[k]) {
- gear.owned[k] = false;
- }
- return true;
- });
- gear.owned.weapon_warrior_0 = true;
- if (typeof user.markModified === "function") {
- user.markModified('items.gear.owned');
- }
- user.preferences.costume = false;
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- reroll: function(req, cb, analytics) {
- var analyticsData;
- if (user.balance < 1) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- }
- user.balance--;
- _.each(user.tasks, function(task) {
- if (task.type !== 'reward') {
- return task.value = 0;
- }
- });
- user.stats.hp = 50;
- analyticsData = {
- uuid: user._id,
- acquireMethod: 'Gems',
- gemCost: 4,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('Fortify Potion', analyticsData);
- }
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- rebirth: function(req, cb, analytics) {
- var analyticsData, flags, gear, lvl, stats;
- if (user.balance < 2 && user.stats.lvl < api.maxLevel) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- }
- analyticsData = {
- uuid: user._id,
- category: 'behavior'
- };
- if (user.stats.lvl < api.maxLevel) {
- user.balance -= 2;
- analyticsData.acquireMethod = 'Gems';
- analyticsData.gemCost = 8;
- } else {
- analyticsData.gemCost = 0;
- analyticsData.acquireMethod = '> 100';
- }
- if (analytics != null) {
- analytics.track('Rebirth', analyticsData);
- }
- lvl = api.capByLevel(user.stats.lvl);
- _.each(user.tasks, function(task) {
- if (task.type !== 'reward') {
- task.value = 0;
- }
- if (task.type === 'daily') {
- return task.streak = 0;
- }
- });
- stats = user.stats;
- stats.buffs = {};
- stats.hp = 50;
- stats.lvl = 1;
- stats["class"] = 'warrior';
- _.each(['per', 'int', 'con', 'str', 'points', 'gp', 'exp', 'mp'], function(value) {
- return stats[value] = 0;
- });
- // TODO during refactoring: move all gear code from rebirth() to its own function and then call it in reset() as well
- gear = user.items.gear;
- _.each(['equipped', 'costume'], function(type) {
- gear[type] = {};
- gear[type].armor = 'armor_base_0';
- gear[type].weapon = 'weapon_warrior_0';
- gear[type].head = 'head_base_0';
- return gear[type].shield = 'shield_base_0';
- });
- if (user.items.currentPet) {
- user.ops.equip({
- params: {
- type: 'pet',
- key: user.items.currentPet
- }
- });
- }
- if (user.items.currentMount) {
- user.ops.equip({
- params: {
- type: 'mount',
- key: user.items.currentMount
- }
- });
- }
- _.each(gear.owned, function(v, k) {
- if (gear.owned[k] && content.gear.flat[k].value) {
- gear.owned[k] = false;
- return true;
- }
- });
- gear.owned.weapon_warrior_0 = true;
- if (typeof user.markModified === "function") {
- user.markModified('items.gear.owned');
- }
- user.preferences.costume = false;
- flags = user.flags;
- if (!user.achievements.beastMaster) {
- flags.rebirthEnabled = false;
- }
- flags.itemsEnabled = false;
- flags.dropsEnabled = false;
- flags.classSelected = false;
- flags.levelDrops = {};
- if (!user.achievements.rebirths) {
- user.achievements.rebirths = 1;
- user.achievements.rebirthLevel = lvl;
- } else if (lvl > user.achievements.rebirthLevel || lvl === 100) {
- user.achievements.rebirths++;
- user.achievements.rebirthLevel = lvl;
- }
- user.stats.buffs = {};
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- allocateNow: function(req, cb) {
- _.times(user.stats.points, user.fns.autoAllocate);
- user.stats.points = 0;
- if (typeof user.markModified === "function") {
- user.markModified('stats');
- }
- return typeof cb === "function" ? cb(null, user.stats) : void 0;
- },
- clearCompleted: function(req, cb) {
- _.remove(user.todos, function(t) {
- var ref;
- return t.completed && !((ref = t.challenge) != null ? ref.id : void 0);
- });
- if (typeof user.markModified === "function") {
- user.markModified('todos');
- }
- return typeof cb === "function" ? cb(null, user.todos) : void 0;
- },
- sortTask: function(req, cb) {
- var from, id, movedTask, preenedTasks, ref, task, tasks, to;
- id = req.params.id;
- ref = req.query, to = ref.to, from = ref.from;
- task = user.tasks[id];
- if (!task) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTaskNotFound', req.language)
- }) : void 0;
- }
- if (!((to != null) && (from != null))) {
- return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0;
- }
- tasks = user[task.type + "s"];
- if (task.type === 'todo' && tasks[from] !== task) {
- preenedTasks = api.preenTodos(tasks);
- if (to !== -1) {
- to = tasks.indexOf(preenedTasks[to]);
- }
- from = tasks.indexOf(preenedTasks[from]);
- }
- if (tasks[from] !== task) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTaskNotFound', req.language)
- }) : void 0;
- }
- movedTask = tasks.splice(from, 1)[0];
- if (to === -1) {
- tasks.push(movedTask);
- } else {
- tasks.splice(to, 0, movedTask);
- }
- return typeof cb === "function" ? cb(null, tasks) : void 0;
- },
- updateTask: function(req, cb) {
- var ref, task;
- if (!(task = user.tasks[(ref = req.params) != null ? ref.id : void 0])) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTaskNotFound', req.language)
- }) : void 0;
- }
- _.merge(task, _.omit(req.body, ['checklist', 'id', 'type']));
- if (req.body.checklist) {
- task.checklist = req.body.checklist;
- }
- if (typeof task.markModified === "function") {
- task.markModified('tags');
- }
- return typeof cb === "function" ? cb(null, task) : void 0;
- },
- deleteTask: function(req, cb) {
- var i, ref, task;
- task = user.tasks[(ref = req.params) != null ? ref.id : void 0];
- if (!task) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTaskNotFound', req.language)
- }) : void 0;
- }
- i = user[task.type + "s"].indexOf(task);
- if (~i) {
- user[task.type + "s"].splice(i, 1);
- }
- return typeof cb === "function" ? cb(null, {}) : void 0;
- },
- addTask: function(req, cb) {
- var task;
- task = api.taskDefaults(req.body);
- if (user.tasks[task.id] != null) {
- return typeof cb === "function" ? cb({
- code: 409,
- message: i18n.t('messageDuplicateTaskID', req.language)
- }) : void 0;
- }
- user[task.type + "s"].unshift(task);
- if (user.preferences.newTaskEdit) {
- task._editing = true;
- }
- if (user.preferences.tagsCollapsed) {
- task._tags = true;
- }
- if (!user.preferences.advancedCollapsed) {
- task._advanced = true;
- }
- if (typeof cb === "function") {
- cb(null, task);
- }
- return task;
- },
- addTag: function(req, cb) {
- if (user.tags == null) {
- user.tags = [];
- }
- user.tags.push({
- name: req.body.name,
- id: req.body.id || api.uuid()
- });
- return typeof cb === "function" ? cb(null, user.tags) : void 0;
- },
- sortTag: function(req, cb) {
- var from, ref, to;
- ref = req.query, to = ref.to, from = ref.from;
- if (!((to != null) && (from != null))) {
- return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0;
- }
- user.tags.splice(to, 0, user.tags.splice(from, 1)[0]);
- return typeof cb === "function" ? cb(null, user.tags) : void 0;
- },
- getTags: function(req, cb) {
- return typeof cb === "function" ? cb(null, user.tags) : void 0;
- },
- getTag: function(req, cb) {
- var i, tid;
- tid = req.params.id;
- i = _.findIndex(user.tags, {
- id: tid
- });
- if (!~i) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTagNotFound', req.language)
- }) : void 0;
- }
- return typeof cb === "function" ? cb(null, user.tags[i]) : void 0;
- },
- updateTag: function(req, cb) {
- var i, tid;
- tid = req.params.id;
- i = _.findIndex(user.tags, {
- id: tid
- });
- if (!~i) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTagNotFound', req.language)
- }) : void 0;
- }
- user.tags[i].name = req.body.name;
- return typeof cb === "function" ? cb(null, user.tags[i]) : void 0;
- },
- deleteTag: function(req, cb) {
- var i, tag, tid;
- tid = req.params.id;
- i = _.findIndex(user.tags, {
- id: tid
- });
- if (!~i) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageTagNotFound', req.language)
- }) : void 0;
- }
- tag = user.tags[i];
- delete user.filters[tag.id];
- user.tags.splice(i, 1);
- _.each(user.tasks, function(task) {
- return delete task.tags[tag.id];
- });
- _.each(['habits', 'dailys', 'todos', 'rewards'], function(type) {
- return typeof user.markModified === "function" ? user.markModified(type) : void 0;
- });
- return typeof cb === "function" ? cb(null, user.tags) : void 0;
- },
- addWebhook: function(req, cb) {
- var wh;
- wh = user.preferences.webhooks;
- api.refPush(wh, {
- url: req.body.url,
- enabled: req.body.enabled || true,
- id: req.body.id
- });
- if (typeof user.markModified === "function") {
- user.markModified('preferences.webhooks');
- }
- return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
- },
- updateWebhook: function(req, cb) {
- _.merge(user.preferences.webhooks[req.params.id], req.body);
- if (typeof user.markModified === "function") {
- user.markModified('preferences.webhooks');
- }
- return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
- },
- deleteWebhook: function(req, cb) {
- delete user.preferences.webhooks[req.params.id];
- if (typeof user.markModified === "function") {
- user.markModified('preferences.webhooks');
- }
- return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
- },
- addPushDevice: function(req, cb) {
- var i, item, pd;
- if (!user.pushDevices) {
- user.pushDevices = [];
- }
- pd = user.pushDevices;
- item = {
- regId: req.body.regId,
- type: req.body.type
- };
- i = _.findIndex(pd, {
- regId: item.regId
- });
- if (i === -1) {
- pd.push(item);
- }
- return typeof cb === "function" ? cb(null, user.pushDevices) : void 0;
- },
- clearPMs: function(req, cb) {
- user.inbox.messages = {};
- if (typeof user.markModified === "function") {
- user.markModified('inbox.messages');
- }
- return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0;
- },
- deletePM: function(req, cb) {
- delete user.inbox.messages[req.params.id];
- if (typeof user.markModified === "function") {
- user.markModified('inbox.messages.' + req.params.id);
- }
- return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0;
- },
- blockUser: function(req, cb) {
- var i;
- i = user.inbox.blocks.indexOf(req.params.uuid);
- if (~i) {
- user.inbox.blocks.splice(i, 1);
- } else {
- user.inbox.blocks.push(req.params.uuid);
- }
- if (typeof user.markModified === "function") {
- user.markModified('inbox.blocks');
- }
- return typeof cb === "function" ? cb(null, user.inbox.blocks) : void 0;
- },
- feed: function(req, cb) {
- var egg, eggText, evolve, food, message, pet, petDisplayName, potion, potionText, ref, ref1, ref2, userPets;
- ref = req.params, pet = ref.pet, food = ref.food;
- food = content.food[food];
- ref1 = pet.split('-'), egg = ref1[0], potion = ref1[1];
- userPets = user.items.pets;
- potionText = content.hatchingPotions[potion] ? content.hatchingPotions[potion].text() : potion;
- eggText = content.eggs[egg] ? content.eggs[egg].text() : egg;
- petDisplayName = i18n.t('petName', {
- potion: potionText,
- egg: eggText
- });
- if (!userPets[pet]) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messagePetNotFound', req.language)
- }) : void 0;
- }
- if (!((ref2 = user.items.food) != null ? ref2[food.key] : void 0)) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: i18n.t('messageFoodNotFound', req.language)
- }) : void 0;
- }
- if (content.specialPets[pet]) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageCannotFeedPet', req.language)
- }) : void 0;
- }
- if (user.items.mounts[pet]) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageAlreadyMount', req.language)
- }) : void 0;
- }
- message = '';
- evolve = function() {
- userPets[pet] = -1;
- user.items.mounts[pet] = true;
- if (pet === user.items.currentPet) {
- user.items.currentPet = "";
- }
- return message = i18n.t('messageEvolve', {
- egg: petDisplayName
- }, req.language);
- };
- if (food.key === 'Saddle') {
- evolve();
- } else {
- if (food.target === potion || content.hatchingPotions[potion].premium) {
- userPets[pet] += 5;
- message = i18n.t('messageLikesFood', {
- egg: petDisplayName,
- foodText: food.text(req.language)
- }, req.language);
- } else {
- userPets[pet] += 2;
- message = i18n.t('messageDontEnjoyFood', {
- egg: petDisplayName,
- foodText: food.text(req.language)
- }, req.language);
- }
- if (userPets[pet] >= 50 && !user.items.mounts[pet]) {
- evolve();
- }
- }
- user.items.food[food.key]--;
- return typeof cb === "function" ? cb({
- code: 200,
- message: message
- }, {
- value: userPets[pet]
- }) : void 0;
- },
- buySpecialSpell: function(req, cb) {
- var base, item, key, message;
- key = req.params.key;
- item = content.special[key];
- if (user.stats.gp < item.value) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageNotEnoughGold', req.language)
- }) : void 0;
- }
- user.stats.gp -= item.value;
- if ((base = user.items.special)[key] == null) {
- base[key] = 0;
- }
- user.items.special[key]++;
- if (typeof user.markModified === "function") {
- user.markModified('items.special');
- }
- message = i18n.t('messageBought', {
- itemText: item.text(req.language)
- }, req.language);
- return typeof cb === "function" ? cb({
- code: 200,
- message: message
- }, _.pick(user, $w('items stats'))) : void 0;
- },
- purchase: function(req, cb, analytics) {
- var analyticsData, convCap, convRate, item, key, price, ref, ref1, ref2, ref3, type;
- ref = req.params, type = ref.type, key = ref.key;
- if (type === 'gems' && key === 'gem') {
- ref1 = api.planGemLimits, convRate = ref1.convRate, convCap = ref1.convCap;
- convCap += user.purchased.plan.consecutive.gemCapExtra;
- if (!((ref2 = user.purchased) != null ? (ref3 = ref2.plan) != null ? ref3.customerId : void 0 : void 0)) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: "Must subscribe to purchase gems with GP"
- }, req) : void 0;
- }
- if (!(user.stats.gp >= convRate)) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: "Not enough Gold"
- }) : void 0;
- }
- if (user.purchased.plan.gemsBought >= convCap) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: "You've reached the Gold=>Gem conversion cap (" + convCap + ") for this month. We have this to prevent abuse / farming. The cap will reset within the first three days of next month."
- }) : void 0;
- }
- user.balance += .25;
- user.purchased.plan.gemsBought++;
- user.stats.gp -= convRate;
- analyticsData = {
- uuid: user._id,
- itemKey: key,
- acquireMethod: 'Gold',
- goldCost: convRate,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('purchase gems', analyticsData);
- }
- return typeof cb === "function" ? cb({
- code: 200,
- message: "+1 Gem"
- }, _.pick(user, $w('stats balance'))) : void 0;
- }
- if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food' && type !== 'quests' && type !== 'gear') {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":type must be in [eggs,hatchingPotions,food,quests,gear]"
- }, req) : void 0;
- }
- if (type === 'gear') {
- item = content.gear.flat[key];
- if (user.items.gear.owned[key]) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('alreadyHave', req.language)
- }) : void 0;
- }
- price = (item.twoHanded || item.gearSet === 'animal' ? 2 : 1) / 4;
- } else {
- item = content[type][key];
- price = item.value / 4;
- }
- if (!item) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":key not found for Content." + type
- }, req) : void 0;
- }
- if (!item.canBuy(user)) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('messageNotAvailable', req.language)
- }) : void 0;
- }
- if ((user.balance < price) || !user.balance) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- }
- user.balance -= price;
- if (type === 'gear') {
- user.items.gear.owned[key] = true;
- } else {
- if (!(user.items[type][key] > 0)) {
- user.items[type][key] = 0;
- }
- user.items[type][key]++;
- }
- analyticsData = {
- uuid: user._id,
- itemKey: key,
- itemType: 'Market',
- acquireMethod: 'Gems',
- gemCost: item.value,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- return typeof cb === "function" ? cb(null, _.pick(user, $w('items balance'))) : void 0;
- },
- releasePets: function(req, cb, analytics) {
- var analyticsData, pet;
- if (user.balance < 1) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- } else {
- user.balance -= 1;
- for (pet in content.pets) {
- user.items.pets[pet] = 0;
- }
- if (!user.achievements.beastMasterCount) {
- user.achievements.beastMasterCount = 0;
- }
- user.achievements.beastMasterCount++;
- user.items.currentPet = "";
- }
- analyticsData = {
- uuid: user._id,
- acquireMethod: 'Gems',
- gemCost: 4,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('release pets', analyticsData);
- }
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- releaseMounts: function(req, cb, analytics) {
- var analyticsData, mount;
- if (user.balance < 1) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- } else {
- user.balance -= 1;
- user.items.currentMount = "";
- for (mount in content.pets) {
- user.items.mounts[mount] = null;
- }
- if (!user.achievements.mountMasterCount) {
- user.achievements.mountMasterCount = 0;
- }
- user.achievements.mountMasterCount++;
- }
- analyticsData = {
- uuid: user._id,
- acquireMethod: 'Gems',
- gemCost: 4,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('release mounts', analyticsData);
- }
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- releaseBoth: function(req, cb) {
- var analyticsData, animal, giveTriadBingo;
- if (user.balance < 1.5 && !user.achievements.triadBingo) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- } else {
- giveTriadBingo = true;
- if (!user.achievements.triadBingo) {
- analyticsData = {
- uuid: user._id,
- acquireMethod: 'Gems',
- gemCost: 6,
- category: 'behavior'
- };
- if (typeof analytics !== "undefined" && analytics !== null) {
- analytics.track('release pets & mounts', analyticsData);
- }
- user.balance -= 1.5;
- }
- user.items.currentMount = "";
- user.items.currentPet = "";
- for (animal in content.pets) {
- if (user.items.pets[animal] === -1) {
- giveTriadBingo = false;
- }
- user.items.pets[animal] = 0;
- user.items.mounts[animal] = null;
- }
- if (!user.achievements.beastMasterCount) {
- user.achievements.beastMasterCount = 0;
- }
- user.achievements.beastMasterCount++;
- if (!user.achievements.mountMasterCount) {
- user.achievements.mountMasterCount = 0;
- }
- user.achievements.mountMasterCount++;
- if (giveTriadBingo) {
- if (!user.achievements.triadBingoCount) {
- user.achievements.triadBingoCount = 0;
- }
- user.achievements.triadBingoCount++;
- }
- }
- return typeof cb === "function" ? cb(null, user) : void 0;
- },
- buy: function(req, cb, analytics) {
- var analyticsData, armoireExp, armoireResp, armoireResult, base, buyResp, drop, eligibleEquipment, item, key, message, name;
- key = req.params.key;
- item = key === 'potion' ? content.potion : key === 'armoire' ? content.armoire : content.gear.flat[key];
- if (!item) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: "Item '" + key + " not found (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
- }) : void 0;
- }
- if (user.stats.gp < item.value) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageNotEnoughGold', req.language)
- }) : void 0;
- }
- if ((item.canOwn != null) && !item.canOwn(user)) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: "You can't buy this item"
- }) : void 0;
- }
- armoireResp = void 0;
- if (item.key === 'potion') {
- user.stats.hp += 15;
- if (user.stats.hp > 50) {
- user.stats.hp = 50;
- }
- } else if (item.key === 'armoire') {
- armoireResult = user.fns.predictableRandom(user.stats.gp);
- eligibleEquipment = _.filter(content.gear.flat, (function(i) {
- return i.klass === 'armoire' && !user.items.gear.owned[i.key];
- }));
- if (!_.isEmpty(eligibleEquipment) && (armoireResult < .6 || !user.flags.armoireOpened)) {
- eligibleEquipment.sort();
- drop = user.fns.randomVal(eligibleEquipment);
- user.items.gear.owned[drop.key] = true;
- user.flags.armoireOpened = true;
- message = i18n.t('armoireEquipment', {
- image: '',
- dropText: drop.text(req.language)
- }, req.language);
- if (api.count.remainingGearInSet(user.items.gear.owned, 'armoire') === 0) {
- user.flags.armoireEmpty = true;
- }
- armoireResp = {
- type: "gear",
- dropKey: drop.key,
- dropText: drop.text(req.language)
- };
- } else if ((!_.isEmpty(eligibleEquipment) && armoireResult < .8) || armoireResult < .5) {
- drop = user.fns.randomVal(_.where(content.food, {
- canDrop: true
- }));
- if ((base = user.items.food)[name = drop.key] == null) {
- base[name] = 0;
- }
- user.items.food[drop.key] += 1;
- message = i18n.t('armoireFood', {
- image: '',
- dropArticle: drop.article,
- dropText: drop.text(req.language)
- }, req.language);
- armoireResp = {
- type: "food",
- dropKey: drop.key,
- dropArticle: drop.article,
- dropText: drop.text(req.language)
- };
- } else {
- armoireExp = Math.floor(user.fns.predictableRandom(user.stats.exp) * 40 + 10);
- user.stats.exp += armoireExp;
- message = i18n.t('armoireExp', req.language);
- armoireResp = {
- "type": "experience",
- "value": armoireExp
- };
- }
- } else {
- if (user.preferences.autoEquip) {
- user.items.gear.equipped[item.type] = item.key;
- message = user.fns.handleTwoHanded(item, null, req);
- }
- user.items.gear.owned[item.key] = true;
- if (message == null) {
- message = i18n.t('messageBought', {
- itemText: item.text(req.language)
- }, req.language);
- }
- if (item.last) {
- user.fns.ultimateGear();
- }
- }
- user.stats.gp -= item.value;
- analyticsData = {
- uuid: user._id,
- itemKey: key,
- acquireMethod: 'Gold',
- goldCost: item.value,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- buyResp = _.pick(user, $w('items achievements stats flags'));
- if (armoireResp) {
- buyResp["armoire"] = armoireResp;
- }
- return typeof cb === "function" ? cb({
- code: 200,
- message: message
- }, buyResp) : void 0;
- },
- buyQuest: function(req, cb, analytics) {
- var analyticsData, base, item, key, message, name;
- key = req.params.key;
- item = content.quests[key];
- if (!item) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: "Quest '" + key + " not found (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
- }) : void 0;
- }
- if (!(item.category === 'gold' && item.goldValue)) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: "Quest '" + key + " is not a Gold-purchasable quest (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
- }) : void 0;
- }
- if (user.stats.gp < item.goldValue) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageNotEnoughGold', req.language)
- }) : void 0;
- }
- message = i18n.t('messageBought', {
- itemText: item.text(req.language)
- }, req.language);
- if ((base = user.items.quests)[name = item.key] == null) {
- base[name] = 0;
- }
- user.items.quests[item.key] += 1;
- user.stats.gp -= item.goldValue;
- analyticsData = {
- uuid: user._id,
- itemKey: item.key,
- itemType: 'Market',
- goldCost: item.goldValue,
- acquireMethod: 'Gold',
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- return typeof cb === "function" ? cb({
- code: 200,
- message: message
- }, user.items.quests) : void 0;
- },
- buyMysterySet: function(req, cb, analytics) {
- var mysterySet, ref;
- if (!(user.purchased.plan.consecutive.trinkets > 0)) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughHourglasses', req.language)
- }) : void 0;
- }
- mysterySet = (ref = content.timeTravelerStore(user.items.gear.owned)) != null ? ref[req.params.key] : void 0;
- if ((typeof window !== "undefined" && window !== null ? window.confirm : void 0) != null) {
- if (!window.confirm(i18n.t('hourglassBuyEquipSetConfirm'))) {
- return;
- }
- }
- if (!mysterySet) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: "Mystery set not found, or set already owned"
- }) : void 0;
- }
- _.each(mysterySet.items, function(i) {
- var analyticsData;
- user.items.gear.owned[i.key] = true;
- analyticsData = {
- uuid: user._id,
- itemKey: i.key,
- itemType: 'Subscriber Gear',
- acquireMethod: 'Hourglass',
- category: 'behavior'
- };
- return analytics != null ? analytics.track('acquire item', analyticsData) : void 0;
- });
- user.purchased.plan.consecutive.trinkets--;
- return typeof cb === "function" ? cb({
- code: 200,
- message: i18n.t('hourglassPurchaseSet', req.language)
- }, _.pick(user, $w('items purchased.plan.consecutive'))) : void 0;
- },
- hourglassPurchase: function(req, cb, analytics) {
- var analyticsData, key, ref, type;
- ref = req.params, type = ref.type, key = ref.key;
- if (!content.timeTravelStable[type]) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('typeNotAllowedHourglass', req.language) + JSON.stringify(_.keys(content.timeTravelStable))
- }) : void 0;
- }
- if (!_.contains(_.keys(content.timeTravelStable[type]), key)) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t(type + 'NotAllowedHourglass', req.language)
- }) : void 0;
- }
- if (user.items[type][key]) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t(type + 'AlreadyOwned', req.language)
- }) : void 0;
- }
- if (!(user.purchased.plan.consecutive.trinkets > 0)) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('notEnoughHourglasses', req.language)
- }) : void 0;
- }
- user.purchased.plan.consecutive.trinkets--;
- if (type === 'pets') {
- user.items.pets[key] = 5;
- }
- if (type === 'mounts') {
- user.items.mounts[key] = true;
- }
- analyticsData = {
- uuid: user._id,
- itemKey: key,
- itemType: type,
- acquireMethod: 'Hourglass',
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- return typeof cb === "function" ? cb({
- code: 200,
- message: i18n.t('hourglassPurchase', req.language)
- }, _.pick(user, $w('items purchased.plan.consecutive'))) : void 0;
- },
- sell: function(req, cb) {
- var key, ref, type;
- ref = req.params, key = ref.key, type = ref.type;
- if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food') {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":type not found. Must bes in [eggs, hatchingPotions, food]"
- }) : void 0;
- }
- if (!user.items[type][key]) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":key not found for user.items." + type
- }) : void 0;
- }
- user.items[type][key]--;
- user.stats.gp += content[type][key].value;
- return typeof cb === "function" ? cb(null, _.pick(user, $w('stats items'))) : void 0;
- },
- equip: function(req, cb) {
- var item, key, message, ref, type;
- ref = [req.params.type || 'equipped', req.params.key], type = ref[0], key = ref[1];
- switch (type) {
- case 'mount':
- if (!user.items.mounts[key]) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":You do not own this mount."
- }) : void 0;
- }
- user.items.currentMount = user.items.currentMount === key ? '' : key;
- break;
- case 'pet':
- if (!user.items.pets[key]) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":You do not own this pet."
- }) : void 0;
- }
- user.items.currentPet = user.items.currentPet === key ? '' : key;
- break;
- case 'costume':
- case 'equipped':
- item = content.gear.flat[key];
- if (!user.items.gear.owned[key]) {
- return typeof cb === "function" ? cb({
- code: 404,
- message: ":You do not own this gear."
- }) : void 0;
- }
- if (user.items.gear[type][item.type] === key) {
- user.items.gear[type][item.type] = item.type + "_base_0";
- message = i18n.t('messageUnEquipped', {
- itemText: item.text(req.language)
- }, req.language);
- } else {
- user.items.gear[type][item.type] = item.key;
- message = user.fns.handleTwoHanded(item, type, req);
- }
- if (typeof user.markModified === "function") {
- user.markModified("items.gear." + type);
- }
- }
- return typeof cb === "function" ? cb((message ? {
- code: 200,
- message: message
- } : null), user.items) : void 0;
- },
- hatch: function(req, cb) {
- var egg, hatchingPotion, pet, ref;
- ref = req.params, egg = ref.egg, hatchingPotion = ref.hatchingPotion;
- if (!(egg && hatchingPotion)) {
- return typeof cb === "function" ? cb({
- code: 400,
- message: "Please specify query.egg & query.hatchingPotion"
- }) : void 0;
- }
- if (!(user.items.eggs[egg] > 0 && user.items.hatchingPotions[hatchingPotion] > 0)) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('messageMissingEggPotion', req.language)
- }) : void 0;
- }
- if (content.hatchingPotions[hatchingPotion].premium && !content.dropEggs[egg]) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('messageInvalidEggPotionCombo', req.language)
- }) : void 0;
- }
- pet = egg + "-" + hatchingPotion;
- if (user.items.pets[pet] && user.items.pets[pet] > 0) {
- return typeof cb === "function" ? cb({
- code: 403,
- message: i18n.t('messageAlreadyPet', req.language)
- }) : void 0;
- }
- user.items.pets[pet] = 5;
- user.items.eggs[egg]--;
- user.items.hatchingPotions[hatchingPotion]--;
- return typeof cb === "function" ? cb({
- code: 200,
- message: i18n.t('messageHatched', req.language)
- }, user.items) : void 0;
- },
- unlock: function(req, cb, analytics) {
- var alreadyOwns, analyticsData, cost, fullSet, k, path, split, v;
- path = req.query.path;
- fullSet = ~path.indexOf(",");
- cost = ~path.indexOf('background.') ? fullSet ? 3.75 : 1.75 : fullSet ? 1.25 : 0.5;
- alreadyOwns = !fullSet && user.fns.dotGet("purchased." + path) === true;
- if ((user.balance < cost || !user.balance) && !alreadyOwns) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- }
- if (fullSet) {
- _.each(path.split(","), function(p) {
- if (~path.indexOf('gear.')) {
- user.fns.dotSet("" + p, true);
- true;
- } else {
-
- }
- user.fns.dotSet("purchased." + p, true);
- return true;
- });
- } else {
- if (alreadyOwns) {
- split = path.split('.');
- v = split.pop();
- k = split.join('.');
- if (k === 'background' && v === user.preferences.background) {
- v = '';
- }
- user.fns.dotSet("preferences." + k, v);
- return typeof cb === "function" ? cb(null, req) : void 0;
- }
- user.fns.dotSet("purchased." + path, true);
- }
- user.balance -= cost;
- if (~path.indexOf('gear.')) {
- if (typeof user.markModified === "function") {
- user.markModified('gear.owned');
- }
- } else {
- if (typeof user.markModified === "function") {
- user.markModified('purchased');
- }
- }
- analyticsData = {
- uuid: user._id,
- itemKey: path,
- itemType: 'customization',
- acquireMethod: 'Gems',
- gemCost: cost / .25,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- return typeof cb === "function" ? cb(null, _.pick(user, $w('purchased preferences items'))) : void 0;
- },
- changeClass: function(req, cb, analytics) {
- var analyticsData, klass, ref;
- klass = (ref = req.query) != null ? ref["class"] : void 0;
- if (klass === 'warrior' || klass === 'rogue' || klass === 'wizard' || klass === 'healer') {
- analyticsData = {
- uuid: user._id,
- "class": klass,
- acquireMethod: 'Gems',
- gemCost: 3,
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('change class', analyticsData);
- }
- user.stats["class"] = klass;
- user.flags.classSelected = true;
- _.each(["weapon", "armor", "shield", "head"], function(type) {
- var foundKey;
- foundKey = false;
- _.findLast(user.items.gear.owned, function(v, k) {
- if (~k.indexOf(type + "_" + klass) && v === true) {
- return foundKey = k;
- }
- });
- user.items.gear.equipped[type] = foundKey ? foundKey : type === "weapon" ? "weapon_" + klass + "_0" : type === "shield" && klass === "rogue" ? "shield_rogue_0" : type + "_base_0";
- if (type === "weapon" || (type === "shield" && klass === "rogue")) {
- user.items.gear.owned[type + "_" + klass + "_0"] = true;
- }
- return true;
- });
- } else {
- if (user.preferences.disableClasses) {
- user.preferences.disableClasses = false;
- user.preferences.autoAllocate = false;
- } else {
- if (!(user.balance >= .75)) {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('notEnoughGems', req.language)
- }) : void 0;
- }
- user.balance -= .75;
- }
- _.merge(user.stats, {
- str: 0,
- con: 0,
- per: 0,
- int: 0,
- points: api.capByLevel(user.stats.lvl)
- });
- user.flags.classSelected = false;
- }
- return typeof cb === "function" ? cb(null, _.pick(user, $w('stats flags items preferences'))) : void 0;
- },
- disableClasses: function(req, cb) {
- user.stats["class"] = 'warrior';
- user.flags.classSelected = true;
- user.preferences.disableClasses = true;
- user.preferences.autoAllocate = true;
- user.stats.str = api.capByLevel(user.stats.lvl);
- user.stats.points = 0;
- return typeof cb === "function" ? cb(null, _.pick(user, $w('stats flags preferences'))) : void 0;
- },
- allocate: function(req, cb) {
- var stat;
- stat = req.query.stat || 'str';
- if (user.stats.points > 0) {
- user.stats[stat]++;
- user.stats.points--;
- if (stat === 'int') {
- user.stats.mp++;
- }
- }
- return typeof cb === "function" ? cb(null, _.pick(user, $w('stats'))) : void 0;
- },
- readCard: function(req, cb) {
- var cardType;
- cardType = req.params.cardType;
- user.items.special[cardType + "Received"].shift();
- if (typeof user.markModified === "function") {
- user.markModified("items.special." + cardType + "Received");
- }
- user.flags.cardReceived = false;
- return typeof cb === "function" ? cb(null, 'items.special flags.cardReceived') : void 0;
- },
- openMysteryItem: function(req, cb, analytics) {
- var analyticsData, item, ref, ref1;
- item = (ref = user.purchased.plan) != null ? (ref1 = ref.mysteryItems) != null ? ref1.shift() : void 0 : void 0;
- if (!item) {
- return typeof cb === "function" ? cb({
- code: 400,
- message: "Empty"
- }) : void 0;
- }
- item = content.gear.flat[item];
- user.items.gear.owned[item.key] = true;
- if (typeof user.markModified === "function") {
- user.markModified('purchased.plan.mysteryItems');
- }
- item.notificationType = 'Mystery';
- analyticsData = {
- uuid: user._id,
- itemKey: item,
- itemType: 'Subscriber Gear',
- acquireMethod: 'Subscriber',
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('open mystery item', analyticsData);
- }
- if (typeof window !== 'undefined') {
- (user._tmp != null ? user._tmp : user._tmp = {}).drop = item;
- }
- return typeof cb === "function" ? cb(null, user.items.gear.owned) : void 0;
- },
- score: function(req, cb) {
- var addPoints, calculateDelta, calculateReverseDelta, changeTaskValue, delta, direction, gainMP, id, multiplier, num, options, ref, stats, subtractPoints, task, th;
- ref = req.params, id = ref.id, direction = ref.direction;
- task = user.tasks[id];
- options = req.query || {};
- _.defaults(options, {
- times: 1,
- cron: false
- });
- user._tmp = {};
- stats = {
- gp: +user.stats.gp,
- hp: +user.stats.hp,
- exp: +user.stats.exp
- };
- task.value = +task.value;
- task.streak = ~~task.streak;
- if (task.priority == null) {
- task.priority = 1;
- }
- if (task.value > stats.gp && task.type === 'reward') {
- return typeof cb === "function" ? cb({
- code: 401,
- message: i18n.t('messageNotEnoughGold', req.language)
- }) : void 0;
- }
- delta = 0;
- calculateDelta = function() {
- var currVal, nextDelta, ref1;
- currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value;
- nextDelta = Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1);
- if (((ref1 = task.checklist) != null ? ref1.length : void 0) > 0) {
- if (direction === 'down' && task.type === 'daily' && options.cron) {
- nextDelta *= 1 - _.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 0) / task.checklist.length;
- }
- if (task.type === 'todo') {
- nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 0);
- }
- }
- return nextDelta;
- };
- calculateReverseDelta = function() {
- var calc, closeEnough, currVal, diff, nextDelta, ref1, testVal;
- currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value;
- testVal = currVal + Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1);
- closeEnough = 0.00001;
- while (true) {
- calc = testVal + Math.pow(0.9747, testVal);
- diff = currVal - calc;
- if (Math.abs(diff) < closeEnough) {
- break;
- }
- if (diff > 0) {
- testVal -= diff;
- } else {
- testVal += diff;
- }
- }
- nextDelta = testVal - currVal;
- if (((ref1 = task.checklist) != null ? ref1.length : void 0) > 0) {
- if (task.type === 'todo') {
- nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 0);
- }
- }
- return nextDelta;
- };
- changeTaskValue = function() {
- return _.times(options.times, function() {
- var nextDelta, ref1;
- nextDelta = !options.cron && direction === 'down' ? calculateReverseDelta() : calculateDelta();
- if (task.type !== 'reward') {
- if (user.preferences.automaticAllocation === true && user.preferences.allocationMode === 'taskbased' && !(task.type === 'todo' && direction === 'down')) {
- user.stats.training[task.attribute] += nextDelta;
- }
- if (direction === 'up') {
- user.party.quest.progress.up = user.party.quest.progress.up || 0;
- if ((ref1 = task.type) === 'daily' || ref1 === 'todo') {
- user.party.quest.progress.up += nextDelta * (1 + (user._statsComputed.str / 200));
- }
- if (task.type === 'habit') {
- user.party.quest.progress.up += nextDelta * (0.5 + (user._statsComputed.str / 400));
- }
- }
- task.value += nextDelta;
- }
- return delta += nextDelta;
- });
- };
- addPoints = function() {
- var _crit, afterStreak, currStreak, gpMod, intBonus, perBonus, streakBonus;
- _crit = (delta > 0 ? user.fns.crit() : 1);
- if (_crit > 1) {
- user._tmp.crit = _crit;
- }
- intBonus = 1 + (user._statsComputed.int * .025);
- stats.exp += Math.round(delta * intBonus * task.priority * _crit * 6);
- perBonus = 1 + user._statsComputed.per * .02;
- gpMod = delta * task.priority * _crit * perBonus;
- return stats.gp += task.streak ? (currStreak = direction === 'down' ? task.streak - 1 : task.streak, streakBonus = currStreak / 100 + 1, afterStreak = gpMod * streakBonus, currStreak > 0 ? gpMod > 0 ? user._tmp.streakBonus = afterStreak - gpMod : void 0 : void 0, afterStreak) : gpMod;
- };
- subtractPoints = function() {
- var conBonus, hpMod;
- conBonus = 1 - (user._statsComputed.con / 250);
- if (conBonus < .1) {
- conBonus = 0.1;
- }
- hpMod = delta * conBonus * task.priority * 2;
- return stats.hp += Math.round(hpMod * 10) / 10;
- };
- gainMP = function(delta) {
- delta *= user._tmp.crit || 1;
- user.stats.mp += delta;
- if (user.stats.mp >= user._statsComputed.maxMP) {
- user.stats.mp = user._statsComputed.maxMP;
- }
- if (user.stats.mp < 0) {
- return user.stats.mp = 0;
- }
- };
- switch (task.type) {
- case 'habit':
- changeTaskValue();
- if (delta > 0) {
- addPoints();
- } else {
- subtractPoints();
- }
- gainMP(_.max([0.25, .0025 * user._statsComputed.maxMP]) * (direction === 'down' ? -1 : 1));
- th = (task.history != null ? task.history : task.history = []);
- if (th[th.length - 1] && moment(th[th.length - 1].date).isSame(new Date, 'day')) {
- th[th.length - 1].value = task.value;
- } else {
- th.push({
- date: +(new Date),
- value: task.value
- });
- }
- if (typeof user.markModified === "function") {
- user.markModified("habits." + (_.findIndex(user.habits, {
- id: task.id
- })) + ".history");
- }
- break;
- case 'daily':
- if (options.cron) {
- changeTaskValue();
- subtractPoints();
- if (!user.stats.buffs.streaks) {
- task.streak = 0;
- }
- } else {
- changeTaskValue();
- if (direction === 'down') {
- delta = calculateDelta();
- }
- addPoints();
- gainMP(_.max([1, .01 * user._statsComputed.maxMP]) * (direction === 'down' ? -1 : 1));
- if (direction === 'up') {
- task.streak = task.streak ? task.streak + 1 : 1;
- if ((task.streak % 21) === 0) {
- user.achievements.streak = user.achievements.streak ? user.achievements.streak + 1 : 1;
- }
- } else {
- if ((task.streak % 21) === 0) {
- user.achievements.streak = user.achievements.streak ? user.achievements.streak - 1 : 0;
- }
- task.streak = task.streak ? task.streak - 1 : 0;
- }
- }
- break;
- case 'todo':
- if (options.cron) {
- changeTaskValue();
- } else {
- task.dateCompleted = direction === 'up' ? new Date : void 0;
- changeTaskValue();
- if (direction === 'down') {
- delta = calculateDelta();
- }
- addPoints();
- multiplier = _.max([
- _.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 1), 1
- ]);
- gainMP(_.max([multiplier, .01 * user._statsComputed.maxMP * multiplier]) * (direction === 'down' ? -1 : 1));
- }
- break;
- case 'reward':
- changeTaskValue();
- stats.gp -= Math.abs(task.value);
- num = parseFloat(task.value).toFixed(2);
- if (stats.gp < 0) {
- stats.hp += stats.gp;
- stats.gp = 0;
- }
- }
- user.fns.updateStats(stats, req);
- if (typeof window === 'undefined') {
- if (direction === 'up') {
- user.fns.randomDrop({
- task: task,
- delta: delta
- }, req);
- }
- }
- if (typeof cb === "function") {
- cb(null, user);
- }
- return delta;
- }
+ update: _.partial(importedOps.update, user),
+ sleep: _.partial(importedOps.sleep, user),
+ revive: _.partial(importedOps.revive, user),
+ reset: _.partial(importedOps.reset, user),
+ reroll: _.partial(importedOps.reroll, user),
+ rebirth: _.partial(importedOps.rebirth, user),
+ allocateNow: _.partial(importedOps.allocateNow, user),
+ clearCompleted: _.partial(importedOps.clearCompleted, user),
+ sortTask: _.partial(importedOps.sortTask, user),
+ updateTask: _.partial(importedOps.updateTask, user),
+ deleteTask: _.partial(importedOps.deleteTask, user),
+ addTask: _.partial(importedOps.addTask, user),
+ addTag: _.partial(importedOps.addTag, user),
+ sortTag: _.partial(importedOps.sortTag, user),
+ getTags: _.partial(importedOps.getTags, user),
+ getTag: _.partial(importedOps.getTag, user),
+ updateTag: _.partial(importedOps.updateTag, user),
+ deleteTag: _.partial(importedOps.deleteTag, user),
+ addWebhook: _.partial(importedOps.addWebhook, user),
+ updateWebhook: _.partial(importedOps.updateWebhook, user),
+ deleteWebhook: _.partial(importedOps.deleteWebhook, user),
+ addPushDevice: _.partial(importedOps.addPushDevice, user),
+ clearPMs: _.partial(importedOps.clearPMs, user),
+ deletePM: _.partial(importedOps.deletePM, user),
+ blockUser: _.partial(importedOps.blockUser, user),
+ feed: _.partial(importedOps.feed, user),
+ buySpecialSpell: _.partial(importedOps.buySpecialSpell, user),
+ purchase: _.partial(importedOps.purchase, user),
+ releasePets: _.partial(importedOps.releasePets, user),
+ releaseMounts: _.partial(importedOps.releaseMounts, user),
+ releaseBoth: _.partial(importedOps.releaseBoth, user),
+ buy: _.partial(importedOps.buy, user),
+ buyQuest: _.partial(importedOps.buyQuest, user),
+ buyMysterySet: _.partial(importedOps.buyMysterySet, user),
+ hourglassPurchase: _.partial(importedOps.hourglassPurchase, user),
+ sell: _.partial(importedOps.sell, user),
+ equip: _.partial(importedOps.equip, user),
+ hatch: _.partial(importedOps.hatch, user),
+ unlock: _.partial(importedOps.unlock, user),
+ changeClass: _.partial(importedOps.changeClass, user),
+ disableClasses: _.partial(importedOps.disableClasses, user),
+ allocate: _.partial(importedOps.allocate, user),
+ readCard: _.partial(importedOps.readCard, user),
+ openMysteryItem: _.partial(importedOps.openMysteryItem, user),
+ score: _.partial(importedOps.score, user),
};
}
user.fns = {
- getItem: function(type) {
- var item;
- item = content.gear.flat[user.items.gear.equipped[type]];
- if (!item) {
- return content.gear.flat[type + "_base_0"];
- }
- return item;
- },
- handleTwoHanded: function(item, type, req) {
- var message, currentWeapon, currentShield;
- if (type == null) {
- type = 'equipped';
- }
- currentShield = content.gear.flat[user.items.gear[type].shield];
- currentWeapon = content.gear.flat[user.items.gear[type].weapon];
-
- if (item.type === "shield" && (currentWeapon ? currentWeapon.twoHanded : false)) {
- user.items.gear[type].weapon = 'weapon_base_0';
- message = i18n.t('messageTwoHandedUnequip', {
- twoHandedText: currentWeapon.text(req.language), offHandedText: item.text(req.language),
- }, req.language);
- } else if (item.twoHanded && (currentShield && user.items.gear[type].shield != "shield_base_0")) {
- user.items.gear[type].shield = "shield_base_0";
- message = i18n.t('messageTwoHandedEquip', {
- twoHandedText: item.text(req.language), offHandedText: currentShield.text(req.language),
- }, req.language);
- }
- return message;
- },
-
- /*
- Because the same op needs to be performed on the client and the server (critical hits, item drops, etc),
- we need things to be "random", but technically predictable so that they don't go out-of-sync
- */
- predictableRandom: function(seed) {
- var x;
- if (!seed || seed === Math.PI) {
- seed = _.reduce(user.stats, (function(m, v) {
- if (_.isNumber(v)) {
- return m + v;
- } else {
- return m;
- }
- }), 0);
- }
- x = Math.sin(seed++) * 10000;
- return x - Math.floor(x);
- },
- crit: function(stat, chance) {
- var s;
- if (stat == null) {
- stat = 'str';
- }
- if (chance == null) {
- chance = .03;
- }
- s = user._statsComputed[stat];
- if (user.fns.predictableRandom() <= chance * (1 + s / 100)) {
- return 1.5 + 4 * s / (s + 200);
- } else {
- return 1;
- }
- },
-
- /*
- Get a random property from an object
- returns random property (the value)
- */
- randomVal: function(obj, options) {
- var array, rand;
- array = (options != null ? options.key : void 0) ? _.keys(obj) : _.values(obj);
- rand = user.fns.predictableRandom(options != null ? options.seed : void 0);
- array.sort();
- return array[Math.floor(rand * array.length)];
- },
-
- /*
- This allows you to set object properties by dot-path. Eg, you can run pathSet('stats.hp',50,user) which is the same as
- user.stats.hp = 50. This is useful because in our habitrpg-shared functions we're returning changesets as {path:value},
- so that different consumers can implement setters their own way. Derby needs model.set(path, value) for example, where
- Angular sets object properties directly - in which case, this function will be used.
- */
- dotSet: function(path, val) {
- return api.dotSet(user, path, val);
- },
- dotGet: function(path) {
- return api.dotGet(user, path);
- },
- randomDrop: function(modifiers, req) {
- var acceptableDrops, base, base1, base2, chance, drop, dropK, dropMultiplier, name, name1, name2, quest, rarity, ref, ref1, ref2, ref3, task;
- task = modifiers.task;
- chance = _.min([Math.abs(task.value - 21.27), 37.5]) / 150 + .02;
- chance *= task.priority * (1 + (task.streak / 100 || 0)) * (1 + (user._statsComputed.per / 100)) * (1 + (user.contributor.level / 40 || 0)) * (1 + (user.achievements.rebirths / 20 || 0)) * (1 + (user.achievements.streak / 200 || 0)) * (user._tmp.crit || 1) * (1 + .5 * (_.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 0) || 0));
- chance = api.diminishingReturns(chance, 0.75);
- quest = content.quests[(ref = user.party.quest) != null ? ref.key : void 0];
- if ((quest != null ? quest.collect : void 0) && user.fns.predictableRandom(user.stats.gp) < chance) {
- dropK = user.fns.randomVal(quest.collect, {
- key: true
- });
- user.party.quest.progress.collect[dropK]++;
- if (typeof user.markModified === "function") {
- user.markModified('party.quest.progress');
- }
- }
- dropMultiplier = ((ref1 = user.purchased) != null ? (ref2 = ref1.plan) != null ? ref2.customerId : void 0 : void 0) ? 2 : 1;
- if ((daysSince(user.items.lastDrop.date, user.preferences) === 0) && (user.items.lastDrop.count >= dropMultiplier * (5 + Math.floor(user._statsComputed.per / 25) + (user.contributor.level || 0)))) {
- return;
- }
- if (((ref3 = user.flags) != null ? ref3.dropsEnabled : void 0) && user.fns.predictableRandom(user.stats.exp) < chance) {
- rarity = user.fns.predictableRandom(user.stats.gp);
- if (rarity > .6) {
- drop = user.fns.randomVal(_.where(content.food, {
- canDrop: true
- }));
- if ((base = user.items.food)[name = drop.key] == null) {
- base[name] = 0;
- }
- user.items.food[drop.key] += 1;
- drop.type = 'Food';
- drop.dialog = i18n.t('messageDropFood', {
- dropArticle: drop.article,
- dropText: drop.text(req.language),
- dropNotes: drop.notes(req.language)
- }, req.language);
- } else if (rarity > .3) {
- drop = user.fns.randomVal(content.dropEggs);
- if ((base1 = user.items.eggs)[name1 = drop.key] == null) {
- base1[name1] = 0;
- }
- user.items.eggs[drop.key]++;
- drop.type = 'Egg';
- drop.dialog = i18n.t('messageDropEgg', {
- dropText: drop.text(req.language),
- dropNotes: drop.notes(req.language)
- }, req.language);
- } else {
- acceptableDrops = rarity < .02 ? ['Golden'] : rarity < .09 ? ['Zombie', 'CottonCandyPink', 'CottonCandyBlue'] : rarity < .18 ? ['Red', 'Shade', 'Skeleton'] : ['Base', 'White', 'Desert'];
- drop = user.fns.randomVal(_.pick(content.hatchingPotions, (function(v, k) {
- return indexOf.call(acceptableDrops, k) >= 0;
- })));
- if ((base2 = user.items.hatchingPotions)[name2 = drop.key] == null) {
- base2[name2] = 0;
- }
- user.items.hatchingPotions[drop.key]++;
- drop.type = 'HatchingPotion';
- drop.dialog = i18n.t('messageDropPotion', {
- dropText: drop.text(req.language),
- dropNotes: drop.notes(req.language)
- }, req.language);
- }
- user._tmp.drop = drop;
- user.items.lastDrop.date = +(new Date);
- return user.items.lastDrop.count++;
- }
- },
-
- /*
- Updates user stats with new stats. Handles death, leveling up, etc
- {stats} new stats
- {update} if aggregated changes, pass in userObj as update. otherwise commits will be made immediately
- */
- autoAllocate: function() {
- return user.stats[(function() {
- var diff, ideal, lvlDiv7, preference, stats, suggested;
- switch (user.preferences.allocationMode) {
- case "flat":
- stats = _.pick(user.stats, $w('con str per int'));
- return _.invert(stats)[_.min(stats)];
- case "classbased":
- lvlDiv7 = user.stats.lvl / 7;
- ideal = [lvlDiv7 * 3, lvlDiv7 * 2, lvlDiv7, lvlDiv7];
- preference = (function() {
- switch (user.stats["class"]) {
- case "wizard":
- return ["int", "per", "con", "str"];
- case "rogue":
- return ["per", "str", "int", "con"];
- case "healer":
- return ["con", "int", "str", "per"];
- default:
- return ["str", "con", "per", "int"];
- }
- })();
- diff = [user.stats[preference[0]] - ideal[0], user.stats[preference[1]] - ideal[1], user.stats[preference[2]] - ideal[2], user.stats[preference[3]] - ideal[3]];
- suggested = _.findIndex(diff, (function(val) {
- if (val === _.min(diff)) {
- return true;
- }
- }));
- if (~suggested) {
- return preference[suggested];
- } else {
- return "str";
- }
- case "taskbased":
- suggested = _.invert(user.stats.training)[_.max(user.stats.training)];
- _.merge(user.stats.training, {
- str: 0,
- int: 0,
- con: 0,
- per: 0
- });
- return suggested || "str";
- default:
- return "str";
- }
- })()]++;
- },
- updateStats (stats, req, analytics) {
- let allocatedStatPoints;
- let totalStatPoints;
- let experienceToNextLevel;
-
- if (stats.hp <= 0) {
- user.stats.hp = 0;
- return user.stats.hp;
- }
-
- user.stats.hp = stats.hp;
- user.stats.gp = stats.gp >= 0 ? stats.gp : 0;
-
- experienceToNextLevel = api.tnl(user.stats.lvl);
-
- if (stats.exp >= experienceToNextLevel) {
- user.stats.exp = stats.exp;
-
- while (stats.exp >= experienceToNextLevel) {
- stats.exp -= experienceToNextLevel;
- user.stats.lvl++;
-
- experienceToNextLevel = api.tnl(user.stats.lvl);
- user.stats.hp = MAX_HEALTH;
- allocatedStatPoints = user.stats.str + user.stats.int + user.stats.con + user.stats.per;
- totalStatPoints = allocatedStatPoints + user.stats.points;
-
- if (totalStatPoints >= MAX_STAT_POINTS) {
- continue; // eslint-disable-line no-continue
- }
- if (user.preferences.automaticAllocation) {
- user.fns.autoAllocate();
- } else {
- user.stats.points = user.stats.lvl - allocatedStatPoints;
- totalStatPoints = user.stats.points + allocatedStatPoints;
-
- if (totalStatPoints > MAX_STAT_POINTS) {
- user.stats.points = MAX_STAT_POINTS - allocatedStatPoints;
- }
-
- if (user.stats.points < 0) {
- user.stats.points = 0;
- }
- }
- }
- }
-
- user.stats.exp = stats.exp;
- user.flags = user.flags || {};
-
- if (!user.flags.customizationsNotification && (user.stats.exp > 5 || user.stats.lvl > 1)) {
- user.flags.customizationsNotification = true;
- }
- if (!user.flags.itemsEnabled && (user.stats.exp > 10 || user.stats.lvl > 1)) {
- user.flags.itemsEnabled = true;
- }
- if (!user.flags.dropsEnabled && user.stats.lvl >= 3) {
- user.flags.dropsEnabled = true;
- if (user.items.eggs["Wolf"] > 0) {
- user.items.eggs["Wolf"]++;
- } else {
- user.items.eggs["Wolf"] = 1;
- }
- }
- if (!user.flags.classSelected && user.stats.lvl >= 10) {
- user.flags.classSelected;
- }
- _.each({
- vice1: 30,
- atom1: 15,
- moonstone1: 60,
- goldenknight1: 40
- }, function(lvl, k) {
- var analyticsData, base, base1, ref;
- if (!((ref = user.flags.levelDrops) != null ? ref[k] : void 0) && user.stats.lvl >= lvl) {
- if ((base = user.items.quests)[k] == null) {
- base[k] = 0;
- }
- user.items.quests[k]++;
- ((base1 = user.flags).levelDrops != null ? base1.levelDrops : base1.levelDrops = {})[k] = true;
- if (typeof user.markModified === "function") {
- user.markModified('flags.levelDrops');
- }
- analyticsData = {
- uuid: user._id,
- itemKey: k,
- acquireMethod: 'Level Drop',
- category: 'behavior'
- };
- if (analytics != null) {
- analytics.track('acquire item', analyticsData);
- }
- if (!user._tmp) user._tmp = {}
- return user._tmp.drop = {
- type: 'Quest',
- key: k
- };
- }
- });
- if (!user.flags.rebirthEnabled && (user.stats.lvl >= 50 || user.achievements.beastMaster)) {
- return user.flags.rebirthEnabled = true;
- }
- },
-
- /*
- ------------------------------------------------------
- Cron
- ------------------------------------------------------
- */
-
- /*
- At end of day, add value to all incomplete Daily & Todo tasks (further incentive)
- For incomplete Dailys, deduct experience
- Make sure to run this function once in a while as server will not take care of overnight calculations.
- And you have to run it every time client connects.
- {user}
- */
- cron: function(options) {
- var _progress, analyticsData, base, base1, base2, base3, base4, clearBuffs, dailyChecked, dailyDueUnchecked, daysMissed, expTally, lvl, lvlDiv2, multiDaysCountAsOneDay, now, perfect, plan, progress, ref, ref1, ref2, ref3, todoTally;
- if (options == null) {
- options = {};
- }
- now = +options.now || +(new Date);
- daysMissed = daysSince(user.lastCron, _.defaults({
- now: now
- }, user.preferences));
- if (!(daysMissed > 0)) {
- return;
- }
- user.auth.timestamps.loggedin = new Date();
- user.lastCron = now;
- if (user.items.lastDrop.count > 0) {
- user.items.lastDrop.count = 0;
- }
- perfect = true;
- clearBuffs = {
- str: 0,
- int: 0,
- per: 0,
- con: 0,
- stealth: 0,
- streaks: false
- };
- plan = (ref = user.purchased) != null ? ref.plan : void 0;
- if (plan != null ? plan.customerId : void 0) {
- if (typeof plan.dateUpdated === "undefined") {
- // partial compensation for bug in subscription creation - https://github.com/HabitRPG/habitrpg/issues/6682
- plan.dateUpdated = new Date();
- }
- if (moment(plan.dateUpdated).format('MMYYYY') !== moment().format('MMYYYY')) {
- plan.gemsBought = 0;
- plan.dateUpdated = new Date();
- _.defaults(plan.consecutive, {
- count: 0,
- offset: 0,
- trinkets: 0,
- gemCapExtra: 0
- });
- plan.consecutive.count++;
- if (plan.consecutive.offset > 0) {
- plan.consecutive.offset--;
- } else if (plan.consecutive.count % 3 === 0) {
- plan.consecutive.trinkets++;
- plan.consecutive.gemCapExtra += 5;
- if (plan.consecutive.gemCapExtra > 25) {
- plan.consecutive.gemCapExtra = 25;
- }
- }
- }
- if (plan.dateTerminated && moment(plan.dateTerminated).isBefore(+(new Date))) {
- _.merge(plan, {
- planId: null,
- customerId: null,
- paymentMethod: null
- });
- _.merge(plan.consecutive, {
- count: 0,
- offset: 0,
- gemCapExtra: 0
- });
- if (typeof user.markModified === "function") {
- user.markModified('purchased.plan');
- }
- }
- }
- if (user.preferences.sleep === true) {
- user.stats.buffs = clearBuffs;
- user.dailys.forEach(function(daily) {
- var completed, repeat, thatDay;
- completed = daily.completed, repeat = daily.repeat;
- thatDay = moment(now).subtract({
- days: 1
- });
- if (shouldDo(thatDay.toDate(), daily, user.preferences) || completed) {
- _.each(daily.checklist, (function(box) {
- box.completed = false;
- return true;
- }));
- }
- return daily.completed = false;
- });
- return;
- }
- multiDaysCountAsOneDay = true;
- todoTally = 0;
- user.todos.forEach(function(task) {
- var absVal, completed, delta, id;
- if (!task) {
- return;
- }
- id = task.id, completed = task.completed;
- delta = user.ops.score({
- params: {
- id: task.id,
- direction: 'down'
- },
- query: {
- times: multiDaysCountAsOneDay != null ? multiDaysCountAsOneDay : {
- 1: daysMissed
- },
- cron: true
- }
- });
- absVal = completed ? Math.abs(task.value) : task.value;
- return todoTally += absVal;
- });
- dailyChecked = 0;
- dailyDueUnchecked = 0;
- if ((base = user.party.quest.progress).down == null) {
- base.down = 0;
- }
- user.dailys.forEach(function(task) {
- var EvadeTask, completed, delta, fractionChecked, id, j, n, ref1, ref2, scheduleMisses, thatDay;
- if (!task) {
- return;
- }
- id = task.id, completed = task.completed;
- EvadeTask = 0;
- scheduleMisses = daysMissed;
- if (completed) {
- dailyChecked += 1;
- } else {
- scheduleMisses = 0;
- for (n = j = 0, ref1 = daysMissed; 0 <= ref1 ? j < ref1 : j > ref1; n = 0 <= ref1 ? ++j : --j) {
- thatDay = moment(now).subtract({
- days: n + 1
- });
- if (shouldDo(thatDay.toDate(), task, user.preferences)) {
- scheduleMisses++;
- if (user.stats.buffs.stealth) {
- user.stats.buffs.stealth--;
- EvadeTask++;
- }
- if (multiDaysCountAsOneDay) {
- break;
- }
- }
- }
- if (scheduleMisses > EvadeTask) {
- perfect = false;
- if (((ref2 = task.checklist) != null ? ref2.length : void 0) > 0) {
- fractionChecked = _.reduce(task.checklist, (function(m, i) {
- return m + (i.completed ? 1 : 0);
- }), 0) / task.checklist.length;
- dailyDueUnchecked += 1 - fractionChecked;
- dailyChecked += fractionChecked;
- } else {
- dailyDueUnchecked += 1;
- }
- delta = user.ops.score({
- params: {
- id: task.id,
- direction: 'down'
- },
- query: {
- times: multiDaysCountAsOneDay != null ? multiDaysCountAsOneDay : {
- 1: scheduleMisses - EvadeTask
- },
- cron: true
- }
- });
- user.party.quest.progress.down += delta * (task.priority < 1 ? task.priority : 1);
- }
- }
- (task.history != null ? task.history : task.history = []).push({
- date: +(new Date),
- value: task.value
- });
- task.completed = false;
- if (completed || (scheduleMisses > 0)) {
- return _.each(task.checklist, (function(i) {
- i.completed = false;
- return true;
- }));
- }
- });
- user.habits.forEach(function(task) {
- if (task.up === false || task.down === false) {
- if (Math.abs(task.value) < 0.1) {
- return task.value = 0;
- } else {
- return task.value = task.value / 2;
- }
- }
- });
- ((base1 = (user.history != null ? user.history : user.history = {})).todos != null ? base1.todos : base1.todos = []).push({
- date: now,
- value: todoTally
- });
- expTally = user.stats.exp;
- lvl = 0;
- while (lvl < (user.stats.lvl - 1)) {
- lvl++;
- expTally += api.tnl(lvl);
- }
- ((base2 = user.history).exp != null ? base2.exp : base2.exp = []).push({
- date: now,
- value: expTally
- });
- if (!((ref1 = user.purchased) != null ? (ref2 = ref1.plan) != null ? ref2.customerId : void 0 : void 0)) {
- user.fns.preenUserHistory();
- if (typeof user.markModified === "function") {
- user.markModified('history');
- }
- if (typeof user.markModified === "function") {
- user.markModified('dailys');
- }
- }
- user.stats.buffs = perfect ? ((base3 = user.achievements).perfect != null ? base3.perfect : base3.perfect = 0, user.achievements.perfect++, lvlDiv2 = Math.ceil(api.capByLevel(user.stats.lvl) / 2), {
- str: lvlDiv2,
- int: lvlDiv2,
- per: lvlDiv2,
- con: lvlDiv2,
- stealth: 0,
- streaks: false
- }) : clearBuffs;
- if (dailyDueUnchecked === 0 && dailyChecked === 0) {
- dailyChecked = 1;
- }
- user.stats.mp += _.max([10, .1 * user._statsComputed.maxMP]) * dailyChecked / (dailyDueUnchecked + dailyChecked);
- if (user.stats.mp > user._statsComputed.maxMP) {
- user.stats.mp = user._statsComputed.maxMP;
- }
- progress = user.party.quest.progress;
- _progress = _.cloneDeep(progress);
- _.merge(progress, {
- down: 0,
- up: 0
- });
- progress.collect = _.transform(progress.collect, (function(m, v, k) {
- return m[k] = 0;
- }));
- if ((base4 = user.flags).cronCount == null) {
- base4.cronCount = 0;
- }
- user.flags.cronCount++;
- analyticsData = {
- category: 'behavior',
- gaLabel: 'Cron Count',
- gaValue: user.flags.cronCount,
- uuid: user._id,
- user: user,
- resting: user.preferences.sleep,
- cronCount: user.flags.cronCount,
- progressUp: _.min([_progress.up, 900]),
- progressDown: _progress.down
- };
- if ((ref3 = options.analytics) != null) {
- ref3.track('Cron', analyticsData);
- }
- return _progress;
- },
- preenUserHistory: function(minHistLen) {
- if (minHistLen == null) {
- minHistLen = 7;
- }
- _.each(user.habits.concat(user.dailys), function(task) {
- var ref;
- if (((ref = task.history) != null ? ref.length : void 0) > minHistLen) {
- task.history = preenHistory(task.history);
- }
- return true;
- });
- _.defaults(user.history, {
- todos: [],
- exp: []
- });
- if (user.history.exp.length > minHistLen) {
- user.history.exp = preenHistory(user.history.exp);
- }
- if (user.history.todos.length > minHistLen) {
- return user.history.todos = preenHistory(user.history.todos);
- }
- },
- ultimateGear: function() {
- var base, owned;
- owned = typeof window !== "undefined" && window !== null ? user.items.gear.owned : user.items.gear.owned.toObject();
- if ((base = user.achievements).ultimateGearSets == null) {
- base.ultimateGearSets = {
- healer: false,
- wizard: false,
- rogue: false,
- warrior: false
- };
- }
- content.classes.forEach(function(klass) {
- if (user.achievements.ultimateGearSets[klass] !== true) {
- return user.achievements.ultimateGearSets[klass] = _.reduce(['armor', 'shield', 'head', 'weapon'], function(soFarGood, type) {
- var found;
- found = _.find(content.gear.tree[type][klass], {
- last: true
- });
- return soFarGood && (!found || owned[found.key] === true);
- }, true);
- }
- });
- if (typeof user.markModified === "function") {
- user.markModified('achievements.ultimateGearSets');
- }
- if (_.contains(user.achievements.ultimateGearSets, true) && user.flags.armoireEnabled !== true) {
- user.flags.armoireEnabled = true;
- return typeof user.markModified === "function" ? user.markModified('flags') : void 0;
- }
- },
- nullify: function() {
- user.ops = null;
- user.fns = null;
- return user = null;
- }
+ getItem: _.partial(importedFns.getItem, user),
+ handleTwoHanded: _.partial(importedFns.handleTwoHanded, user),
+ predictableRandom: _.partial(importedFns.predictableRandom, user),
+ crit: _.partial(importedFns.crit, user),
+ randomVal: _.partial(importedFns.randomVal, user),
+ dotSet: _.partial(importedFns.dotSet, user),
+ dotGet: _.partial(importedFns.dotGet, user),
+ randomDrop: _.partial(importedFns.randomDrop, user),
+ autoAllocate: _.partial(importedFns.autoAllocate, user),
+ updateStats: _.partial(importedFns.updateStats, user),
+ cron: _.partial(importedFns.cron, user),
+ preenUserHistory: _.partial(importedFns.preenUserHistory, user),
+ ultimateGear: _.partial(importedFns.ultimateGear, user),
+ nullify: _.partial(importedFns.nullify, user),
};
Object.defineProperty(user, '_statsComputed', {
get: function() {
diff --git a/common/script/libs/appliedTags.js b/common/script/libs/appliedTags.js
new file mode 100644
index 0000000000..31302fbe54
--- /dev/null
+++ b/common/script/libs/appliedTags.js
@@ -0,0 +1,19 @@
+import _ from 'lodash';
+
+/*
+Are there tags applied?
+ */
+
+module.exports = function(userTags, taskTags) {
+ var arr;
+ arr = [];
+ _.each(userTags, function(t) {
+ if (t == null) {
+ return;
+ }
+ if (taskTags != null ? taskTags[t.id] : void 0) {
+ return arr.push(t.name);
+ }
+ });
+ return arr.join(', ');
+};
diff --git a/common/script/libs/countExists.js b/common/script/libs/countExists.js
new file mode 100644
index 0000000000..964e4e286f
--- /dev/null
+++ b/common/script/libs/countExists.js
@@ -0,0 +1,7 @@
+import _ from 'lodash';
+
+module.exports = function(items) {
+ return _.reduce(items, (function(m, v) {
+ return m + (v ? 1 : 0);
+ }), 0);
+};
diff --git a/common/script/libs/dotGet.js b/common/script/libs/dotGet.js
new file mode 100644
index 0000000000..4585d8fd53
--- /dev/null
+++ b/common/script/libs/dotGet.js
@@ -0,0 +1,9 @@
+import _ from 'lodash';
+
+module.exports = function(obj, path) {
+ return _.reduce(path.split('.'), ((function(_this) {
+ return function(curr, next) {
+ return curr != null ? curr[next] : void 0;
+ };
+ })(this)), obj);
+};
diff --git a/common/script/libs/dotSet.js b/common/script/libs/dotSet.js
new file mode 100644
index 0000000000..40165078aa
--- /dev/null
+++ b/common/script/libs/dotSet.js
@@ -0,0 +1,14 @@
+import _ from 'lodash';
+
+module.exports = function(obj, path, val) {
+ var arr;
+ arr = path.split('.');
+ return _.reduce(arr, (function(_this) {
+ return function(curr, next, index) {
+ if ((arr.length - 1) === index) {
+ curr[next] = val;
+ }
+ return curr[next] != null ? curr[next] : curr[next] = {};
+ };
+ })(this), obj);
+};
diff --git a/common/script/libs/encodeiCalLink.js b/common/script/libs/encodeiCalLink.js
new file mode 100644
index 0000000000..4a85badd59
--- /dev/null
+++ b/common/script/libs/encodeiCalLink.js
@@ -0,0 +1,9 @@
+/*
+Encode the download link for .ics iCal file
+ */
+
+module.exports = function(uid, apiToken) {
+ var loc, ref;
+ loc = (typeof window !== "undefined" && window !== null ? window.location.host : void 0) || (typeof process !== "undefined" && process !== null ? (ref = process.env) != null ? ref.BASE_URL : void 0 : void 0) || '';
+ return encodeURIComponent("http://" + loc + "/v1/users/" + uid + "/calendar.ics?apiToken=" + apiToken);
+};
diff --git a/common/script/libs/friendlyTimestamp.js b/common/script/libs/friendlyTimestamp.js
new file mode 100644
index 0000000000..dfda6fbed7
--- /dev/null
+++ b/common/script/libs/friendlyTimestamp.js
@@ -0,0 +1,9 @@
+import moment from 'moment';
+
+/*
+Friendly timestamp
+ */
+
+module.exports = function(timestamp) {
+ return moment(timestamp).format('MM/DD h:mm:ss a');
+};
diff --git a/common/script/libs/gold.js b/common/script/libs/gold.js
new file mode 100644
index 0000000000..8016e2cff9
--- /dev/null
+++ b/common/script/libs/gold.js
@@ -0,0 +1,7 @@
+module.exports = function(num) {
+ if (num) {
+ return Math.floor(num);
+ } else {
+ return "0";
+ }
+};
diff --git a/common/script/libs/index.js b/common/script/libs/index.js
new file mode 100644
index 0000000000..dd0c420d8d
--- /dev/null
+++ b/common/script/libs/index.js
@@ -0,0 +1,46 @@
+import uuid from './uuid';
+import taskDefaults from './taskDefaults';
+import refPush from './refPush';
+import splitWhitespace from './splitWhitespace';
+import planGemLimits from './planGemLimits';
+import preenTodos from './preenTodos';
+import dotSet from './dotSet';
+import dotGet from './dotGet';
+import preenHistory from './preenHistory';
+import countExists from './countExists';
+import updateStore from './updateStore';
+
+import appliedTags from './appliedTags';
+import encodeiCalLink from './encodeiCalLink';
+import friendlyTimestamp from './friendlyTimestamp';
+import gold from './gold';
+import newChatMessages from './newChatMessages';
+import noTags from './noTags';
+import percent from './percent';
+import removeWhitespace from './removeWhitespace';
+import silver from './silver';
+import taskClasses from './taskClasses';
+
+module.exports = {
+ uuid,
+ taskDefaults,
+ refPush,
+ splitWhitespace,
+ planGemLimits,
+ preenTodos,
+ dotSet,
+ dotGet,
+ preenHistory,
+ countExists,
+ updateStore,
+ appliedTags,
+ encodeiCalLink,
+ friendlyTimestamp,
+ gold,
+ newChatMessages,
+ noTags,
+ percent,
+ removeWhitespace,
+ silver,
+ taskClasses,
+};
diff --git a/common/script/libs/newChatMessages.js b/common/script/libs/newChatMessages.js
new file mode 100644
index 0000000000..abe7680edf
--- /dev/null
+++ b/common/script/libs/newChatMessages.js
@@ -0,0 +1,10 @@
+/*
+Does user have new chat messages?
+ */
+
+module.exports = function(messages, lastMessageSeen) {
+ if (!((messages != null ? messages.length : void 0) > 0)) {
+ return false;
+ }
+ return (messages != null ? messages[0] : void 0) && (messages[0].id !== lastMessageSeen);
+};
diff --git a/common/script/libs/noTags.js b/common/script/libs/noTags.js
new file mode 100644
index 0000000000..c3abb9054e
--- /dev/null
+++ b/common/script/libs/noTags.js
@@ -0,0 +1,11 @@
+import _ from 'lodash';
+
+/*
+are any tags active?
+ */
+
+module.exports = function(tags) {
+ return _.isEmpty(tags) || _.isEmpty(_.filter(tags, function(t) {
+ return t;
+ }));
+};
diff --git a/common/script/libs/percent.js b/common/script/libs/percent.js
new file mode 100644
index 0000000000..7439b22285
--- /dev/null
+++ b/common/script/libs/percent.js
@@ -0,0 +1,17 @@
+module.exports = function(x, y, dir) {
+ var roundFn;
+ switch (dir) {
+ case "up":
+ roundFn = Math.ceil;
+ break;
+ case "down":
+ roundFn = Math.floor;
+ break;
+ default:
+ roundFn = Math.round;
+ }
+ if (x === 0) {
+ x = 1;
+ }
+ return Math.max(0, roundFn(x / y * 100));
+};
diff --git a/common/script/libs/planGemLimits.js b/common/script/libs/planGemLimits.js
new file mode 100644
index 0000000000..e719c7695d
--- /dev/null
+++ b/common/script/libs/planGemLimits.js
@@ -0,0 +1,4 @@
+module.exports = {
+ convRate: 20,
+ convCap: 25,
+};
diff --git a/common/script/libs/preenHistory.js b/common/script/libs/preenHistory.js
new file mode 100644
index 0000000000..0d354c238c
--- /dev/null
+++ b/common/script/libs/preenHistory.js
@@ -0,0 +1,43 @@
+import moment from 'moment';
+import _ from 'lodash';
+
+/*
+Preen history for users with > 7 history entries
+This takes an infinite array of single day entries [day day day day day...], and turns it into a condensed array
+of averages, condensing more the further back in time we go. Eg, 7 entries each for last 7 days; 1 entry each week
+of this month; 1 entry for each month of this year; 1 entry per previous year: [day*7 week*4 month*12 year*infinite]
+ */
+
+module.exports = function(history) {
+ var newHistory, preen, thisMonth;
+ history = _.filter(history, function(h) {
+ return !!h;
+ });
+ newHistory = [];
+ preen = function(amount, groupBy) {
+ var groups;
+ groups = _.chain(history).groupBy(function(h) {
+ return moment(h.date).format(groupBy);
+ }).sortBy(function(h, k) {
+ return k;
+ }).value();
+ groups = groups.slice(-amount);
+ groups.pop();
+ return _.each(groups, function(group) {
+ newHistory.push({
+ date: moment(group[0].date).toDate(),
+ value: _.reduce(group, (function(m, obj) {
+ return m + obj.value;
+ }), 0) / group.length
+ });
+ return true;
+ });
+ };
+ preen(50, "YYYY");
+ preen(moment().format('MM'), "YYYYMM");
+ thisMonth = moment().format('YYYYMM');
+ newHistory = newHistory.concat(_.filter(history, function(h) {
+ return moment(h.date).format('YYYYMM') === thisMonth;
+ }));
+ return newHistory;
+};
diff --git a/common/script/libs/preenTodos.js b/common/script/libs/preenTodos.js
new file mode 100644
index 0000000000..f07a49c9d0
--- /dev/null
+++ b/common/script/libs/preenTodos.js
@@ -0,0 +1,14 @@
+import moment from 'moment';
+import _ from 'lodash';
+
+/*
+ Preen 3-day past-completed To-Dos from Angular & mobile app
+ */
+
+module.exports = function(tasks) {
+ return _.filter(tasks, function(t) {
+ return !t.completed || (t.challenge && t.challenge.id) || moment(t.dateCompleted).isAfter(moment().subtract({
+ days: 3
+ }));
+ });
+};
diff --git a/common/script/libs/refPush.js b/common/script/libs/refPush.js
new file mode 100644
index 0000000000..06b3617014
--- /dev/null
+++ b/common/script/libs/refPush.js
@@ -0,0 +1,19 @@
+import _ from 'lodash';
+import uuid from './uuid';
+
+/*
+ Reflists are arrays, but stored as objects. Mongoose has a helluvatime working with arrays (the main problem for our
+ syncing issues) - so the goal is to move away from arrays to objects, since mongoose can reference elements by ID
+ no problem. To maintain sorting, we use these helper functions:
+ */
+
+module.exports = function(reflist, item, prune) {
+ if (prune == null) {
+ prune = 0;
+ }
+ item.sort = _.isEmpty(reflist) ? 0 : _.max(reflist, 'sort').sort + 1;
+ if (!(item.id && !reflist[item.id])) {
+ item.id = uuid();
+ }
+ return reflist[item.id] = item;
+};
diff --git a/common/script/libs/removeWhitespace.js b/common/script/libs/removeWhitespace.js
new file mode 100644
index 0000000000..1015beda54
--- /dev/null
+++ b/common/script/libs/removeWhitespace.js
@@ -0,0 +1,10 @@
+/*
+Remove whitespace #FIXME are we using this anywwhere? Should we be?
+ */
+
+module.exports = function(str) {
+ if (!str) {
+ return '';
+ }
+ return str.replace(/\s/g, '');
+};
diff --git a/common/script/libs/silver.js b/common/script/libs/silver.js
new file mode 100644
index 0000000000..0dbae97b05
--- /dev/null
+++ b/common/script/libs/silver.js
@@ -0,0 +1,11 @@
+/*
+Silver amount from their money
+ */
+
+module.exports = function(num) {
+ if (num) {
+ return ("0" + Math.floor((num - Math.floor(num)) * 100)).slice(-2);
+ } else {
+ return "00";
+ }
+};
diff --git a/common/script/libs/splitWhitespace.js b/common/script/libs/splitWhitespace.js
new file mode 100644
index 0000000000..1ef3d513aa
--- /dev/null
+++ b/common/script/libs/splitWhitespace.js
@@ -0,0 +1,3 @@
+module.exports = function(s) {
+ return s.split(' ');
+};
diff --git a/common/script/libs/taskClasses.js b/common/script/libs/taskClasses.js
new file mode 100644
index 0000000000..21bed1ad63
--- /dev/null
+++ b/common/script/libs/taskClasses.js
@@ -0,0 +1,83 @@
+import {
+ shouldDo
+} from '../cron';
+/*
+Task classes given everything about the class
+*/
+module.exports = function(task, filters, dayStart, lastCron, showCompleted, main) {
+ var classes, completed, enabled, filter, priority, ref, repeat, type, value;
+ if (filters == null) {
+ filters = [];
+ }
+ if (dayStart == null) {
+ dayStart = 0;
+ }
+ if (lastCron == null) {
+ lastCron = +(new Date);
+ }
+ if (showCompleted == null) {
+ showCompleted = false;
+ }
+ if (main == null) {
+ main = false;
+ }
+ if (!task) {
+ return;
+ }
+ type = task.type, completed = task.completed, value = task.value, repeat = task.repeat, priority = task.priority;
+ if (main) {
+ if (!task._editing) {
+ for (filter in filters) {
+ enabled = filters[filter];
+ if (enabled && !((ref = task.tags) != null ? ref[filter] : void 0)) {
+ return 'hidden';
+ }
+ }
+ }
+ }
+ classes = type;
+ if (task._editing) {
+ classes += " beingEdited";
+ }
+ if (type === 'todo' || type === 'daily') {
+ if (completed || (type === 'daily' && !shouldDo(+(new Date), task, {
+ dayStart: dayStart
+ }))) {
+ classes += " completed";
+ } else {
+ classes += " uncompleted";
+ }
+ } else if (type === 'habit') {
+ if (task.down && task.up) {
+ classes += ' habit-wide';
+ }
+ if (!task.down && !task.up) {
+ classes += ' habit-narrow';
+ }
+ }
+ if (priority === 0.1) {
+ classes += ' difficulty-trivial';
+ } else if (priority === 1) {
+ classes += ' difficulty-easy';
+ } else if (priority === 1.5) {
+ classes += ' difficulty-medium';
+ } else if (priority === 2) {
+ classes += ' difficulty-hard';
+ }
+ if (value < -20) {
+ classes += ' color-worst';
+ } else if (value < -10) {
+ classes += ' color-worse';
+ } else if (value < -1) {
+ classes += ' color-bad';
+ } else if (value < 1) {
+ classes += ' color-neutral';
+ } else if (value < 5) {
+ classes += ' color-good';
+ } else if (value < 10) {
+ classes += ' color-better';
+ } else {
+ classes += ' color-best';
+ }
+ return classes;
+};
diff --git a/common/script/libs/taskDefaults.js b/common/script/libs/taskDefaults.js
new file mode 100644
index 0000000000..69c815e4fd
--- /dev/null
+++ b/common/script/libs/taskDefaults.js
@@ -0,0 +1,71 @@
+import uuid from './uuid';
+import _ from 'lodash';
+
+/*
+Even though Mongoose handles task defaults, we want to make sure defaults are set on the client-side before
+sending up to the server for performance
+ */
+
+// TODO revisit
+
+module.exports = function(task) {
+ var defaults, ref, ref1, ref2;
+ if (task == null) {
+ task = {};
+ }
+ if (!(task.type && ((ref = task.type) === 'habit' || ref === 'daily' || ref === 'todo' || ref === 'reward'))) {
+ task.type = 'habit';
+ }
+ defaults = {
+ id: uuid(),
+ text: task.id != null ? task.id : '',
+ notes: '',
+ priority: 1,
+ challenge: {},
+ attribute: 'str',
+ dateCreated: new Date()
+ };
+ _.defaults(task, defaults);
+ if (task.type === 'habit') {
+ _.defaults(task, {
+ up: true,
+ down: true
+ });
+ }
+ if ((ref1 = task.type) === 'habit' || ref1 === 'daily') {
+ _.defaults(task, {
+ history: []
+ });
+ }
+ if ((ref2 = task.type) === 'daily' || ref2 === 'todo') {
+ _.defaults(task, {
+ completed: false
+ });
+ }
+ if (task.type === 'daily') {
+ _.defaults(task, {
+ streak: 0,
+ repeat: {
+ su: true,
+ m: true,
+ t: true,
+ w: true,
+ th: true,
+ f: true,
+ s: true
+ }
+ }, {
+ startDate: new Date(),
+ everyX: 1,
+ frequency: 'weekly'
+ });
+ }
+ task._id = task.id;
+ if (task.value == null) {
+ task.value = task.type === 'reward' ? 10 : 0;
+ }
+ if (!_.isNumber(task.priority)) {
+ task.priority = 1;
+ }
+ return task;
+};
diff --git a/common/script/libs/updateStore.js b/common/script/libs/updateStore.js
new file mode 100644
index 0000000000..05d009fd9d
--- /dev/null
+++ b/common/script/libs/updateStore.js
@@ -0,0 +1,36 @@
+import _ from 'lodash';
+import content from '../content/index';
+
+/*
+ Update the in-browser store with new gear. FIXME this was in user.fns, but it was causing strange issues there
+ */
+
+var sortOrder = _.reduce(content.gearTypes, (function(m, v, k) {
+ m[v] = k;
+ return m;
+}), {});
+
+module.exports = function(user) {
+ var changes;
+ if (!user) {
+ return;
+ }
+ changes = [];
+ _.each(content.gearTypes, function(type) {
+ var found;
+ found = _.find(content.gear.tree[type][user.stats["class"]], function(item) {
+ return !user.items.gear.owned[item.key];
+ });
+ if (found) {
+ changes.push(found);
+ }
+ return true;
+ });
+ changes = changes.concat(_.filter(content.gear.flat, function(v) {
+ var ref;
+ return ((ref = v.klass) === 'special' || ref === 'mystery' || ref === 'armoire') && !user.items.gear.owned[v.key] && (typeof v.canOwn === "function" ? v.canOwn(user) : void 0);
+ }));
+ return _.sortBy(changes, function(c) {
+ return sortOrder[c.type];
+ });
+};
diff --git a/common/script/libs/uuid.js b/common/script/libs/uuid.js
new file mode 100644
index 0000000000..4a26440d7d
--- /dev/null
+++ b/common/script/libs/uuid.js
@@ -0,0 +1,9 @@
+// TODO use node-uuid module
+module.exports = function() {
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
+ var r, v;
+ r = Math.random() * 16 | 0;
+ v = (c === "x" ? r : r & 0x3 | 0x8);
+ return v.toString(16);
+ });
+};
diff --git a/common/script/ops/addPushDevice.js b/common/script/ops/addPushDevice.js
new file mode 100644
index 0000000000..d96cf249cf
--- /dev/null
+++ b/common/script/ops/addPushDevice.js
@@ -0,0 +1,20 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ var i, item, pd;
+ if (!user.pushDevices) {
+ user.pushDevices = [];
+ }
+ pd = user.pushDevices;
+ item = {
+ regId: req.body.regId,
+ type: req.body.type
+ };
+ i = _.findIndex(pd, {
+ regId: item.regId
+ });
+ if (i === -1) {
+ pd.push(item);
+ }
+ return typeof cb === "function" ? cb(null, user.pushDevices) : void 0;
+};
diff --git a/common/script/ops/addTag.js b/common/script/ops/addTag.js
new file mode 100644
index 0000000000..a020a5fbaf
--- /dev/null
+++ b/common/script/ops/addTag.js
@@ -0,0 +1,12 @@
+import uuid from '../libs/uuid';
+
+module.exports = function(user, req, cb) {
+ if (user.tags == null) {
+ user.tags = [];
+ }
+ user.tags.push({
+ name: req.body.name,
+ id: req.body.id || uuid()
+ });
+ return typeof cb === "function" ? cb(null, user.tags) : void 0;
+};
diff --git a/common/script/ops/addTask.js b/common/script/ops/addTask.js
new file mode 100644
index 0000000000..a2d1895e1e
--- /dev/null
+++ b/common/script/ops/addTask.js
@@ -0,0 +1,27 @@
+import taskDefaults from '../libs/taskDefaults';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var task;
+ task = taskDefaults(req.body);
+ if (user.tasks[task.id] != null) {
+ return typeof cb === "function" ? cb({
+ code: 409,
+ message: i18n.t('messageDuplicateTaskID', req.language)
+ }) : void 0;
+ }
+ user[task.type + "s"].unshift(task);
+ if (user.preferences.newTaskEdit) {
+ task._editing = true;
+ }
+ if (user.preferences.tagsCollapsed) {
+ task._tags = true;
+ }
+ if (!user.preferences.advancedCollapsed) {
+ task._advanced = true;
+ }
+ if (typeof cb === "function") {
+ cb(null, task);
+ }
+ return task;
+};
diff --git a/common/script/ops/addWebhook.js b/common/script/ops/addWebhook.js
new file mode 100644
index 0000000000..99eaf49bba
--- /dev/null
+++ b/common/script/ops/addWebhook.js
@@ -0,0 +1,15 @@
+import refPush from '../libs/refPush';
+
+module.exports = function(user, req, cb) {
+ var wh;
+ wh = user.preferences.webhooks;
+ refPush(wh, {
+ url: req.body.url,
+ enabled: req.body.enabled || true,
+ id: req.body.id
+ });
+ if (typeof user.markModified === "function") {
+ user.markModified('preferences.webhooks');
+ }
+ return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
+};
diff --git a/common/script/ops/allocate.js b/common/script/ops/allocate.js
new file mode 100644
index 0000000000..92b5ae53fa
--- /dev/null
+++ b/common/script/ops/allocate.js
@@ -0,0 +1,15 @@
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb) {
+ var stat;
+ stat = req.query.stat || 'str';
+ if (user.stats.points > 0) {
+ user.stats[stat]++;
+ user.stats.points--;
+ if (stat === 'int') {
+ user.stats.mp++;
+ }
+ }
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('stats'))) : void 0;
+};
diff --git a/common/script/ops/allocateNow.js b/common/script/ops/allocateNow.js
new file mode 100644
index 0000000000..815c0b8959
--- /dev/null
+++ b/common/script/ops/allocateNow.js
@@ -0,0 +1,10 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ _.times(user.stats.points, user.fns.autoAllocate);
+ user.stats.points = 0;
+ if (typeof user.markModified === "function") {
+ user.markModified('stats');
+ }
+ return typeof cb === "function" ? cb(null, user.stats) : void 0;
+};
diff --git a/common/script/ops/blockUser.js b/common/script/ops/blockUser.js
new file mode 100644
index 0000000000..dd08925640
--- /dev/null
+++ b/common/script/ops/blockUser.js
@@ -0,0 +1,13 @@
+module.exports = function(user, req, cb) {
+ var i;
+ i = user.inbox.blocks.indexOf(req.params.uuid);
+ if (~i) {
+ user.inbox.blocks.splice(i, 1);
+ } else {
+ user.inbox.blocks.push(req.params.uuid);
+ }
+ if (typeof user.markModified === "function") {
+ user.markModified('inbox.blocks');
+ }
+ return typeof cb === "function" ? cb(null, user.inbox.blocks) : void 0;
+};
diff --git a/common/script/ops/buy.js b/common/script/ops/buy.js
new file mode 100644
index 0000000000..1686316264
--- /dev/null
+++ b/common/script/ops/buy.js
@@ -0,0 +1,119 @@
+import content from '../content/index';
+import i18n from '../i18n';
+import _ from 'lodash';
+import count from '../count';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, armoireExp, armoireResp, armoireResult, base, buyResp, drop, eligibleEquipment, item, key, message, name;
+ key = req.params.key;
+ item = key === 'potion' ? content.potion : key === 'armoire' ? content.armoire : content.gear.flat[key];
+ if (!item) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: "Item '" + key + " not found (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
+ }) : void 0;
+ }
+ if (user.stats.gp < item.value) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageNotEnoughGold', req.language)
+ }) : void 0;
+ }
+ if ((item.canOwn != null) && !item.canOwn(user)) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: "You can't buy this item"
+ }) : void 0;
+ }
+ armoireResp = void 0;
+ if (item.key === 'potion') {
+ user.stats.hp += 15;
+ if (user.stats.hp > 50) {
+ user.stats.hp = 50;
+ }
+ } else if (item.key === 'armoire') {
+ armoireResult = user.fns.predictableRandom(user.stats.gp);
+ eligibleEquipment = _.filter(content.gear.flat, (function(i) {
+ return i.klass === 'armoire' && !user.items.gear.owned[i.key];
+ }));
+ if (!_.isEmpty(eligibleEquipment) && (armoireResult < .6 || !user.flags.armoireOpened)) {
+ eligibleEquipment.sort();
+ drop = user.fns.randomVal(eligibleEquipment);
+ user.items.gear.owned[drop.key] = true;
+ user.flags.armoireOpened = true;
+ message = i18n.t('armoireEquipment', {
+ image: '',
+ dropText: drop.text(req.language)
+ }, req.language);
+ if (count.remainingGearInSet(user.items.gear.owned, 'armoire') === 0) {
+ user.flags.armoireEmpty = true;
+ }
+ armoireResp = {
+ type: "gear",
+ dropKey: drop.key,
+ dropText: drop.text(req.language)
+ };
+ } else if ((!_.isEmpty(eligibleEquipment) && armoireResult < .8) || armoireResult < .5) {
+ drop = user.fns.randomVal(_.where(content.food, {
+ canDrop: true
+ }));
+ if ((base = user.items.food)[name = drop.key] == null) {
+ base[name] = 0;
+ }
+ user.items.food[drop.key] += 1;
+ message = i18n.t('armoireFood', {
+ image: '',
+ dropArticle: drop.article,
+ dropText: drop.text(req.language)
+ }, req.language);
+ armoireResp = {
+ type: "food",
+ dropKey: drop.key,
+ dropArticle: drop.article,
+ dropText: drop.text(req.language)
+ };
+ } else {
+ armoireExp = Math.floor(user.fns.predictableRandom(user.stats.exp) * 40 + 10);
+ user.stats.exp += armoireExp;
+ message = i18n.t('armoireExp', req.language);
+ armoireResp = {
+ "type": "experience",
+ "value": armoireExp
+ };
+ }
+ } else {
+ if (user.preferences.autoEquip) {
+ user.items.gear.equipped[item.type] = item.key;
+ message = user.fns.handleTwoHanded(item, null, req);
+ }
+ user.items.gear.owned[item.key] = true;
+ if (message == null) {
+ message = i18n.t('messageBought', {
+ itemText: item.text(req.language)
+ }, req.language);
+ }
+ if (item.last) {
+ user.fns.ultimateGear();
+ }
+ }
+ user.stats.gp -= item.value;
+ analyticsData = {
+ uuid: user._id,
+ itemKey: key,
+ acquireMethod: 'Gold',
+ goldCost: item.value,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ buyResp = _.pick(user, splitWhitespace('items achievements stats flags'));
+ if (armoireResp) {
+ buyResp["armoire"] = armoireResp;
+ }
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: message
+ }, buyResp) : void 0;
+};
diff --git a/common/script/ops/buyMysterySet.js b/common/script/ops/buyMysterySet.js
new file mode 100644
index 0000000000..44ccdb9aaf
--- /dev/null
+++ b/common/script/ops/buyMysterySet.js
@@ -0,0 +1,43 @@
+import i18n from '../i18n';
+import content from '../content/index';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb, analytics) {
+ var mysterySet, ref;
+ if (!(user.purchased.plan.consecutive.trinkets > 0)) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughHourglasses', req.language)
+ }) : void 0;
+ }
+ mysterySet = (ref = content.timeTravelerStore(user.items.gear.owned)) != null ? ref[req.params.key] : void 0;
+ if ((typeof window !== "undefined" && window !== null ? window.confirm : void 0) != null) {
+ if (!window.confirm(i18n.t('hourglassBuyEquipSetConfirm'))) {
+ return;
+ }
+ }
+ if (!mysterySet) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: "Mystery set not found, or set already owned"
+ }) : void 0;
+ }
+ _.each(mysterySet.items, function(i) {
+ var analyticsData;
+ user.items.gear.owned[i.key] = true;
+ analyticsData = {
+ uuid: user._id,
+ itemKey: i.key,
+ itemType: 'Subscriber Gear',
+ acquireMethod: 'Hourglass',
+ category: 'behavior'
+ };
+ return analytics != null ? analytics.track('acquire item', analyticsData) : void 0;
+ });
+ user.purchased.plan.consecutive.trinkets--;
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: i18n.t('hourglassPurchaseSet', req.language)
+ }, _.pick(user, splitWhitespace('items purchased.plan.consecutive'))) : void 0;
+};
diff --git a/common/script/ops/buyQuest.js b/common/script/ops/buyQuest.js
new file mode 100644
index 0000000000..b7653d43ce
--- /dev/null
+++ b/common/script/ops/buyQuest.js
@@ -0,0 +1,49 @@
+import i18n from '../i18n';
+import content from '../content/index';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, base, item, key, message, name;
+ key = req.params.key;
+ item = content.quests[key];
+ if (!item) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: "Quest '" + key + " not found (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
+ }) : void 0;
+ }
+ if (!(item.category === 'gold' && item.goldValue)) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: "Quest '" + key + " is not a Gold-purchasable quest (see https://github.com/HabitRPG/habitrpg/blob/develop/common/script/content/index.js)"
+ }) : void 0;
+ }
+ if (user.stats.gp < item.goldValue) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageNotEnoughGold', req.language)
+ }) : void 0;
+ }
+ message = i18n.t('messageBought', {
+ itemText: item.text(req.language)
+ }, req.language);
+ if ((base = user.items.quests)[name = item.key] == null) {
+ base[name] = 0;
+ }
+ user.items.quests[item.key] += 1;
+ user.stats.gp -= item.goldValue;
+ analyticsData = {
+ uuid: user._id,
+ itemKey: item.key,
+ itemType: 'Market',
+ goldCost: item.goldValue,
+ acquireMethod: 'Gold',
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: message
+ }, user.items.quests) : void 0;
+};
diff --git a/common/script/ops/buySpecialSpell.js b/common/script/ops/buySpecialSpell.js
new file mode 100644
index 0000000000..e2a9dc8deb
--- /dev/null
+++ b/common/script/ops/buySpecialSpell.js
@@ -0,0 +1,31 @@
+import i18n from '../i18n';
+import content from '../content/index';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb) {
+ var base, item, key, message;
+ key = req.params.key;
+ item = content.special[key];
+ if (user.stats.gp < item.value) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageNotEnoughGold', req.language)
+ }) : void 0;
+ }
+ user.stats.gp -= item.value;
+ if ((base = user.items.special)[key] == null) {
+ base[key] = 0;
+ }
+ user.items.special[key]++;
+ if (typeof user.markModified === "function") {
+ user.markModified('items.special');
+ }
+ message = i18n.t('messageBought', {
+ itemText: item.text(req.language)
+ }, req.language);
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: message
+ }, _.pick(user, splitWhitespace('items stats'))) : void 0;
+};
diff --git a/common/script/ops/changeClass.js b/common/script/ops/changeClass.js
new file mode 100644
index 0000000000..98fd8fd58d
--- /dev/null
+++ b/common/script/ops/changeClass.js
@@ -0,0 +1,59 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+import { capByLevel } from '../statHelpers';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, klass, ref;
+ klass = (ref = req.query) != null ? ref["class"] : void 0;
+ if (klass === 'warrior' || klass === 'rogue' || klass === 'wizard' || klass === 'healer') {
+ analyticsData = {
+ uuid: user._id,
+ "class": klass,
+ acquireMethod: 'Gems',
+ gemCost: 3,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('change class', analyticsData);
+ }
+ user.stats["class"] = klass;
+ user.flags.classSelected = true;
+ _.each(["weapon", "armor", "shield", "head"], function(type) {
+ var foundKey;
+ foundKey = false;
+ _.findLast(user.items.gear.owned, function(v, k) {
+ if (~k.indexOf(type + "_" + klass) && v === true) {
+ return foundKey = k;
+ }
+ });
+ user.items.gear.equipped[type] = foundKey ? foundKey : type === "weapon" ? "weapon_" + klass + "_0" : type === "shield" && klass === "rogue" ? "shield_rogue_0" : type + "_base_0";
+ if (type === "weapon" || (type === "shield" && klass === "rogue")) {
+ user.items.gear.owned[type + "_" + klass + "_0"] = true;
+ }
+ return true;
+ });
+ } else {
+ if (user.preferences.disableClasses) {
+ user.preferences.disableClasses = false;
+ user.preferences.autoAllocate = false;
+ } else {
+ if (!(user.balance >= .75)) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ }
+ user.balance -= .75;
+ }
+ _.merge(user.stats, {
+ str: 0,
+ con: 0,
+ per: 0,
+ int: 0,
+ points: capByLevel(user.stats.lvl)
+ });
+ user.flags.classSelected = false;
+ }
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('stats flags items preferences'))) : void 0;
+};
diff --git a/common/script/ops/clearCompleted.js b/common/script/ops/clearCompleted.js
new file mode 100644
index 0000000000..d60f12704f
--- /dev/null
+++ b/common/script/ops/clearCompleted.js
@@ -0,0 +1,12 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ _.remove(user.todos, function(t) {
+ var ref;
+ return t.completed && !((ref = t.challenge) != null ? ref.id : void 0);
+ });
+ if (typeof user.markModified === "function") {
+ user.markModified('todos');
+ }
+ return typeof cb === "function" ? cb(null, user.todos) : void 0;
+};
diff --git a/common/script/ops/clearPMs.js b/common/script/ops/clearPMs.js
new file mode 100644
index 0000000000..47e0a6ebc6
--- /dev/null
+++ b/common/script/ops/clearPMs.js
@@ -0,0 +1,7 @@
+module.exports = function(user, req, cb) {
+ user.inbox.messages = {};
+ if (typeof user.markModified === "function") {
+ user.markModified('inbox.messages');
+ }
+ return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0;
+};
diff --git a/common/script/ops/deletePM.js b/common/script/ops/deletePM.js
new file mode 100644
index 0000000000..ad95bc9ae0
--- /dev/null
+++ b/common/script/ops/deletePM.js
@@ -0,0 +1,7 @@
+module.exports = function(user, req, cb) {
+ delete user.inbox.messages[req.params.id];
+ if (typeof user.markModified === "function") {
+ user.markModified('inbox.messages.' + req.params.id);
+ }
+ return typeof cb === "function" ? cb(null, user.inbox.messages) : void 0;
+};
diff --git a/common/script/ops/deleteTag.js b/common/script/ops/deleteTag.js
new file mode 100644
index 0000000000..a82af59e86
--- /dev/null
+++ b/common/script/ops/deleteTag.js
@@ -0,0 +1,26 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ var i, tag, tid;
+ tid = req.params.id;
+ i = _.findIndex(user.tags, {
+ id: tid
+ });
+ if (!~i) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTagNotFound', req.language)
+ }) : void 0;
+ }
+ tag = user.tags[i];
+ delete user.filters[tag.id];
+ user.tags.splice(i, 1);
+ _.each(user.tasks, function(task) {
+ return delete task.tags[tag.id];
+ });
+ _.each(['habits', 'dailys', 'todos', 'rewards'], function(type) {
+ return typeof user.markModified === "function" ? user.markModified(type) : void 0;
+ });
+ return typeof cb === "function" ? cb(null, user.tags) : void 0;
+};
diff --git a/common/script/ops/deleteTask.js b/common/script/ops/deleteTask.js
new file mode 100644
index 0000000000..715b102241
--- /dev/null
+++ b/common/script/ops/deleteTask.js
@@ -0,0 +1,17 @@
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var i, ref, task;
+ task = user.tasks[(ref = req.params) != null ? ref.id : void 0];
+ if (!task) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTaskNotFound', req.language)
+ }) : void 0;
+ }
+ i = user[task.type + "s"].indexOf(task);
+ if (~i) {
+ user[task.type + "s"].splice(i, 1);
+ }
+ return typeof cb === "function" ? cb(null, {}) : void 0;
+};
diff --git a/common/script/ops/deleteWebhook.js b/common/script/ops/deleteWebhook.js
new file mode 100644
index 0000000000..a187f08770
--- /dev/null
+++ b/common/script/ops/deleteWebhook.js
@@ -0,0 +1,7 @@
+module.exports = function(user, req, cb) {
+ delete user.preferences.webhooks[req.params.id];
+ if (typeof user.markModified === "function") {
+ user.markModified('preferences.webhooks');
+ }
+ return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
+};
diff --git a/common/script/ops/disableClasses.js b/common/script/ops/disableClasses.js
new file mode 100644
index 0000000000..89636ed52d
--- /dev/null
+++ b/common/script/ops/disableClasses.js
@@ -0,0 +1,13 @@
+import splitWhitespace from '../libs/splitWhitespace';
+import { capByLevel } from '../statHelpers';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ user.stats["class"] = 'warrior';
+ user.flags.classSelected = true;
+ user.preferences.disableClasses = true;
+ user.preferences.autoAllocate = true;
+ user.stats.str = capByLevel(user.stats.lvl);
+ user.stats.points = 0;
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('stats flags preferences'))) : void 0;
+};
diff --git a/common/script/ops/equip.js b/common/script/ops/equip.js
new file mode 100644
index 0000000000..8c07a364b1
--- /dev/null
+++ b/common/script/ops/equip.js
@@ -0,0 +1,52 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var item, key, message, ref, type;
+ ref = [req.params.type || 'equipped', req.params.key], type = ref[0], key = ref[1];
+ switch (type) {
+ case 'mount':
+ if (!user.items.mounts[key]) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":You do not own this mount."
+ }) : void 0;
+ }
+ user.items.currentMount = user.items.currentMount === key ? '' : key;
+ break;
+ case 'pet':
+ if (!user.items.pets[key]) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":You do not own this pet."
+ }) : void 0;
+ }
+ user.items.currentPet = user.items.currentPet === key ? '' : key;
+ break;
+ case 'costume':
+ case 'equipped':
+ item = content.gear.flat[key];
+ if (!user.items.gear.owned[key]) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":You do not own this gear."
+ }) : void 0;
+ }
+ if (user.items.gear[type][item.type] === key) {
+ user.items.gear[type][item.type] = item.type + "_base_0";
+ message = i18n.t('messageUnEquipped', {
+ itemText: item.text(req.language)
+ }, req.language);
+ } else {
+ user.items.gear[type][item.type] = item.key;
+ message = user.fns.handleTwoHanded(item, type, req);
+ }
+ if (typeof user.markModified === "function") {
+ user.markModified("items.gear." + type);
+ }
+ }
+ return typeof cb === "function" ? cb((message ? {
+ code: 200,
+ message: message
+ } : null), user.items) : void 0;
+};
diff --git a/common/script/ops/feed.js b/common/script/ops/feed.js
new file mode 100644
index 0000000000..3c9b0f87fd
--- /dev/null
+++ b/common/script/ops/feed.js
@@ -0,0 +1,78 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var egg, eggText, evolve, food, message, pet, petDisplayName, potion, potionText, ref, ref1, ref2, userPets;
+ ref = req.params, pet = ref.pet, food = ref.food;
+ food = content.food[food];
+ ref1 = pet.split('-'), egg = ref1[0], potion = ref1[1];
+ userPets = user.items.pets;
+ potionText = content.hatchingPotions[potion] ? content.hatchingPotions[potion].text() : potion;
+ eggText = content.eggs[egg] ? content.eggs[egg].text() : egg;
+ petDisplayName = i18n.t('petName', {
+ potion: potionText,
+ egg: eggText
+ });
+ if (!userPets[pet]) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messagePetNotFound', req.language)
+ }) : void 0;
+ }
+ if (!((ref2 = user.items.food) != null ? ref2[food.key] : void 0)) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageFoodNotFound', req.language)
+ }) : void 0;
+ }
+ if (content.specialPets[pet]) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageCannotFeedPet', req.language)
+ }) : void 0;
+ }
+ if (user.items.mounts[pet]) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageAlreadyMount', req.language)
+ }) : void 0;
+ }
+ message = '';
+ evolve = function() {
+ userPets[pet] = -1;
+ user.items.mounts[pet] = true;
+ if (pet === user.items.currentPet) {
+ user.items.currentPet = "";
+ }
+ return message = i18n.t('messageEvolve', {
+ egg: petDisplayName
+ }, req.language);
+ };
+ if (food.key === 'Saddle') {
+ evolve();
+ } else {
+ if (food.target === potion || content.hatchingPotions[potion].premium) {
+ userPets[pet] += 5;
+ message = i18n.t('messageLikesFood', {
+ egg: petDisplayName,
+ foodText: food.text(req.language)
+ }, req.language);
+ } else {
+ userPets[pet] += 2;
+ message = i18n.t('messageDontEnjoyFood', {
+ egg: petDisplayName,
+ foodText: food.text(req.language)
+ }, req.language);
+ }
+ if (userPets[pet] >= 50 && !user.items.mounts[pet]) {
+ evolve();
+ }
+ }
+ user.items.food[food.key]--;
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: message
+ }, {
+ value: userPets[pet]
+ }) : void 0;
+};
diff --git a/common/script/ops/getTag.js b/common/script/ops/getTag.js
new file mode 100644
index 0000000000..06f3f24110
--- /dev/null
+++ b/common/script/ops/getTag.js
@@ -0,0 +1,17 @@
+import _ from 'lodash';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var i, tid;
+ tid = req.params.id;
+ i = _.findIndex(user.tags, {
+ id: tid
+ });
+ if (!~i) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTagNotFound', req.language)
+ }) : void 0;
+ }
+ return typeof cb === "function" ? cb(null, user.tags[i]) : void 0;
+};
diff --git a/common/script/ops/getTags.js b/common/script/ops/getTags.js
new file mode 100644
index 0000000000..af9419b050
--- /dev/null
+++ b/common/script/ops/getTags.js
@@ -0,0 +1,3 @@
+module.exports = function(user, req, cb) {
+ return typeof cb === "function" ? cb(null, user.tags) : void 0;
+};
diff --git a/common/script/ops/hatch.js b/common/script/ops/hatch.js
new file mode 100644
index 0000000000..6292e24bcb
--- /dev/null
+++ b/common/script/ops/hatch.js
@@ -0,0 +1,39 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var egg, hatchingPotion, pet, ref;
+ ref = req.params, egg = ref.egg, hatchingPotion = ref.hatchingPotion;
+ if (!(egg && hatchingPotion)) {
+ return typeof cb === "function" ? cb({
+ code: 400,
+ message: "Please specify query.egg & query.hatchingPotion"
+ }) : void 0;
+ }
+ if (!(user.items.eggs[egg] > 0 && user.items.hatchingPotions[hatchingPotion] > 0)) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('messageMissingEggPotion', req.language)
+ }) : void 0;
+ }
+ if (content.hatchingPotions[hatchingPotion].premium && !content.dropEggs[egg]) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('messageInvalidEggPotionCombo', req.language)
+ }) : void 0;
+ }
+ pet = egg + "-" + hatchingPotion;
+ if (user.items.pets[pet] && user.items.pets[pet] > 0) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('messageAlreadyPet', req.language)
+ }) : void 0;
+ }
+ user.items.pets[pet] = 5;
+ user.items.eggs[egg]--;
+ user.items.hatchingPotions[hatchingPotion]--;
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: i18n.t('messageHatched', req.language)
+ }, user.items) : void 0;
+};
diff --git a/common/script/ops/hourglassPurchase.js b/common/script/ops/hourglassPurchase.js
new file mode 100644
index 0000000000..4955898f0b
--- /dev/null
+++ b/common/script/ops/hourglassPurchase.js
@@ -0,0 +1,54 @@
+import content from '../content/index';
+import i18n from '../i18n';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, key, ref, type;
+ ref = req.params, type = ref.type, key = ref.key;
+ if (!content.timeTravelStable[type]) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('typeNotAllowedHourglass', req.language) + JSON.stringify(_.keys(content.timeTravelStable))
+ }) : void 0;
+ }
+ if (!_.contains(_.keys(content.timeTravelStable[type]), key)) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t(type + 'NotAllowedHourglass', req.language)
+ }) : void 0;
+ }
+ if (user.items[type][key]) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t(type + 'AlreadyOwned', req.language)
+ }) : void 0;
+ }
+ if (!(user.purchased.plan.consecutive.trinkets > 0)) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('notEnoughHourglasses', req.language)
+ }) : void 0;
+ }
+ user.purchased.plan.consecutive.trinkets--;
+ if (type === 'pets') {
+ user.items.pets[key] = 5;
+ }
+ if (type === 'mounts') {
+ user.items.mounts[key] = true;
+ }
+ analyticsData = {
+ uuid: user._id,
+ itemKey: key,
+ itemType: type,
+ acquireMethod: 'Hourglass',
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: i18n.t('hourglassPurchase', req.language)
+ }, _.pick(user, splitWhitespace('items purchased.plan.consecutive'))) : void 0;
+};
diff --git a/common/script/ops/index.js b/common/script/ops/index.js
new file mode 100644
index 0000000000..1bfd3d55f2
--- /dev/null
+++ b/common/script/ops/index.js
@@ -0,0 +1,93 @@
+import update from './update';
+import sleep from './sleep';
+import revive from './revive';
+import reset from './reset';
+import reroll from './reroll';
+import rebirth from './rebirth';
+import allocateNow from './allocateNow';
+import clearCompleted from './clearCompleted';
+import sortTask from './sortTask';
+import updateTask from './updateTask';
+import deleteTask from './deleteTask';
+import addTask from './addTask';
+import addTag from './addTag';
+import sortTag from './sortTag';
+import getTags from './getTags';
+import getTag from './getTag';
+import updateTag from './updateTag';
+import deleteTag from './deleteTag';
+import addWebhook from './addWebhook';
+import updateWebhook from './updateWebhook';
+import deleteWebhook from './deleteWebhook';
+import addPushDevice from './addPushDevice';
+import clearPMs from './clearPMs';
+import deletePM from './deletePM';
+import blockUser from './blockUser';
+import feed from './feed';
+import buySpecialSpell from './buySpecialSpell';
+import purchase from './purchase';
+import releasePets from './releasePets';
+import releaseMounts from './releaseMounts';
+import releaseBoth from './releaseBoth';
+import buy from './buy';
+import buyQuest from './buyQuest';
+import buyMysterySet from './buyMysterySet';
+import hourglassPurchase from './hourglassPurchase';
+import sell from './sell';
+import equip from './equip';
+import hatch from './hatch';
+import unlock from './unlock';
+import changeClass from './changeClass';
+import disableClasses from './disableClasses';
+import allocate from './allocate';
+import readCard from './readCard';
+import openMysteryItem from './openMysteryItem';
+import score from './score';
+
+module.exports = {
+ update,
+ sleep,
+ revive,
+ reset,
+ reroll,
+ rebirth,
+ allocateNow,
+ clearCompleted,
+ sortTask,
+ updateTask,
+ deleteTask,
+ addTask,
+ addTag,
+ sortTag,
+ getTags,
+ getTag,
+ updateTag,
+ deleteTag,
+ addWebhook,
+ updateWebhook,
+ deleteWebhook,
+ addPushDevice,
+ clearPMs,
+ deletePM,
+ blockUser,
+ feed,
+ buySpecialSpell,
+ purchase,
+ releasePets,
+ releaseMounts,
+ releaseBoth,
+ buy,
+ buyQuest,
+ buyMysterySet,
+ hourglassPurchase,
+ sell,
+ equip,
+ hatch,
+ unlock,
+ changeClass,
+ disableClasses,
+ allocate,
+ readCard,
+ openMysteryItem,
+ score,
+};
diff --git a/common/script/ops/openMysteryItem.js b/common/script/ops/openMysteryItem.js
new file mode 100644
index 0000000000..eb28c605e0
--- /dev/null
+++ b/common/script/ops/openMysteryItem.js
@@ -0,0 +1,32 @@
+import content from '../content/index';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, item, ref, ref1;
+ item = (ref = user.purchased.plan) != null ? (ref1 = ref.mysteryItems) != null ? ref1.shift() : void 0 : void 0;
+ if (!item) {
+ return typeof cb === "function" ? cb({
+ code: 400,
+ message: "Empty"
+ }) : void 0;
+ }
+ item = content.gear.flat[item];
+ user.items.gear.owned[item.key] = true;
+ if (typeof user.markModified === "function") {
+ user.markModified('purchased.plan.mysteryItems');
+ }
+ item.notificationType = 'Mystery';
+ analyticsData = {
+ uuid: user._id,
+ itemKey: item,
+ itemType: 'Subscriber Gear',
+ acquireMethod: 'Subscriber',
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('open mystery item', analyticsData);
+ }
+ if (typeof window !== 'undefined') {
+ (user._tmp != null ? user._tmp : user._tmp = {}).drop = item;
+ }
+ return typeof cb === "function" ? cb(null, user.items.gear.owned) : void 0;
+};
diff --git a/common/script/ops/purchase.js b/common/script/ops/purchase.js
new file mode 100644
index 0000000000..d4d0f78816
--- /dev/null
+++ b/common/script/ops/purchase.js
@@ -0,0 +1,107 @@
+import content from '../content/index';
+import i18n from '../i18n';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+import planGemLimits from '../libs/planGemLimits';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, convCap, convRate, item, key, price, ref, ref1, ref2, ref3, type;
+ ref = req.params, type = ref.type, key = ref.key;
+ if (type === 'gems' && key === 'gem') {
+ ref1 = planGemLimits, convRate = ref1.convRate, convCap = ref1.convCap;
+ convCap += user.purchased.plan.consecutive.gemCapExtra;
+ if (!((ref2 = user.purchased) != null ? (ref3 = ref2.plan) != null ? ref3.customerId : void 0 : void 0)) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: "Must subscribe to purchase gems with GP"
+ }, req) : void 0;
+ }
+ if (!(user.stats.gp >= convRate)) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: "Not enough Gold"
+ }) : void 0;
+ }
+ if (user.purchased.plan.gemsBought >= convCap) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: "You've reached the Gold=>Gem conversion cap (" + convCap + ") for this month. We have this to prevent abuse / farming. The cap will reset within the first three days of next month."
+ }) : void 0;
+ }
+ user.balance += .25;
+ user.purchased.plan.gemsBought++;
+ user.stats.gp -= convRate;
+ analyticsData = {
+ uuid: user._id,
+ itemKey: key,
+ acquireMethod: 'Gold',
+ goldCost: convRate,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('purchase gems', analyticsData);
+ }
+ return typeof cb === "function" ? cb({
+ code: 200,
+ message: "+1 Gem"
+ }, _.pick(user, splitWhitespace('stats balance'))) : void 0;
+ }
+ if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food' && type !== 'quests' && type !== 'gear') {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":type must be in [eggs,hatchingPotions,food,quests,gear]"
+ }, req) : void 0;
+ }
+ if (type === 'gear') {
+ item = content.gear.flat[key];
+ if (user.items.gear.owned[key]) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('alreadyHave', req.language)
+ }) : void 0;
+ }
+ price = (item.twoHanded || item.gearSet === 'animal' ? 2 : 1) / 4;
+ } else {
+ item = content[type][key];
+ price = item.value / 4;
+ }
+ if (!item) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":key not found for Content." + type
+ }, req) : void 0;
+ }
+ if (!item.canBuy(user)) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('messageNotAvailable', req.language)
+ }) : void 0;
+ }
+ if ((user.balance < price) || !user.balance) {
+ return typeof cb === "function" ? cb({
+ code: 403,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ }
+ user.balance -= price;
+ if (type === 'gear') {
+ user.items.gear.owned[key] = true;
+ } else {
+ if (!(user.items[type][key] > 0)) {
+ user.items[type][key] = 0;
+ }
+ user.items[type][key]++;
+ }
+ analyticsData = {
+ uuid: user._id,
+ itemKey: key,
+ itemType: 'Market',
+ acquireMethod: 'Gems',
+ gemCost: item.value,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('items balance'))) : void 0;
+};
diff --git a/common/script/ops/readCard.js b/common/script/ops/readCard.js
new file mode 100644
index 0000000000..a6eb5c05f1
--- /dev/null
+++ b/common/script/ops/readCard.js
@@ -0,0 +1,10 @@
+module.exports = function(user, req, cb) {
+ var cardType;
+ cardType = req.params.cardType;
+ user.items.special[cardType + "Received"].shift();
+ if (typeof user.markModified === "function") {
+ user.markModified("items.special." + cardType + "Received");
+ }
+ user.flags.cardReceived = false;
+ return typeof cb === "function" ? cb(null, 'items.special flags.cardReceived') : void 0;
+};
diff --git a/common/script/ops/rebirth.js b/common/script/ops/rebirth.js
new file mode 100644
index 0000000000..1ddb75aba1
--- /dev/null
+++ b/common/script/ops/rebirth.js
@@ -0,0 +1,100 @@
+import content from '../content/index';
+import i18n from '../i18n';
+import _ from 'lodash';
+import { capByLevel } from '../statHelpers';
+import { MAX_LEVEL } from '../constants';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, flags, gear, lvl, stats;
+ if (user.balance < 2 && user.stats.lvl < MAX_LEVEL) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ }
+ analyticsData = {
+ uuid: user._id,
+ category: 'behavior'
+ };
+ if (user.stats.lvl < MAX_LEVEL) {
+ user.balance -= 2;
+ analyticsData.acquireMethod = 'Gems';
+ analyticsData.gemCost = 8;
+ } else {
+ analyticsData.gemCost = 0;
+ analyticsData.acquireMethod = '> 100';
+ }
+ if (analytics != null) {
+ analytics.track('Rebirth', analyticsData);
+ }
+ lvl = capByLevel(user.stats.lvl);
+ _.each(user.tasks, function(task) {
+ if (task.type !== 'reward') {
+ task.value = 0;
+ }
+ if (task.type === 'daily') {
+ return task.streak = 0;
+ }
+ });
+ stats = user.stats;
+ stats.buffs = {};
+ stats.hp = 50;
+ stats.lvl = 1;
+ stats["class"] = 'warrior';
+ _.each(['per', 'int', 'con', 'str', 'points', 'gp', 'exp', 'mp'], function(value) {
+ return stats[value] = 0;
+ });
+ // TODO during refactoring: move all gear code from rebirth() to its own function and then call it in reset() as well
+ gear = user.items.gear;
+ _.each(['equipped', 'costume'], function(type) {
+ gear[type] = {};
+ gear[type].armor = 'armor_base_0';
+ gear[type].weapon = 'weapon_warrior_0';
+ gear[type].head = 'head_base_0';
+ return gear[type].shield = 'shield_base_0';
+ });
+ if (user.items.currentPet) {
+ user.ops.equip({
+ params: {
+ type: 'pet',
+ key: user.items.currentPet
+ }
+ });
+ }
+ if (user.items.currentMount) {
+ user.ops.equip({
+ params: {
+ type: 'mount',
+ key: user.items.currentMount
+ }
+ });
+ }
+ _.each(gear.owned, function(v, k) {
+ if (gear.owned[k] && content.gear.flat[k].value) {
+ gear.owned[k] = false;
+ return true;
+ }
+ });
+ gear.owned.weapon_warrior_0 = true;
+ if (typeof user.markModified === "function") {
+ user.markModified('items.gear.owned');
+ }
+ user.preferences.costume = false;
+ flags = user.flags;
+ if (!user.achievements.beastMaster) {
+ flags.rebirthEnabled = false;
+ }
+ flags.itemsEnabled = false;
+ flags.dropsEnabled = false;
+ flags.classSelected = false;
+ flags.levelDrops = {};
+ if (!user.achievements.rebirths) {
+ user.achievements.rebirths = 1;
+ user.achievements.rebirthLevel = lvl;
+ } else if (lvl > user.achievements.rebirthLevel || lvl === 100) {
+ user.achievements.rebirths++;
+ user.achievements.rebirthLevel = lvl;
+ }
+ user.stats.buffs = {};
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/releaseBoth.js b/common/script/ops/releaseBoth.js
new file mode 100644
index 0000000000..a782581f85
--- /dev/null
+++ b/common/script/ops/releaseBoth.js
@@ -0,0 +1,50 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, animal, giveTriadBingo;
+ if (user.balance < 1.5 && !user.achievements.triadBingo) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ } else {
+ giveTriadBingo = true;
+ if (!user.achievements.triadBingo) {
+ analyticsData = {
+ uuid: user._id,
+ acquireMethod: 'Gems',
+ gemCost: 6,
+ category: 'behavior'
+ };
+ if (typeof analytics !== "undefined" && analytics !== null) {
+ analytics.track('release pets & mounts', analyticsData);
+ }
+ user.balance -= 1.5;
+ }
+ user.items.currentMount = "";
+ user.items.currentPet = "";
+ for (animal in content.pets) {
+ if (user.items.pets[animal] === -1) {
+ giveTriadBingo = false;
+ }
+ user.items.pets[animal] = 0;
+ user.items.mounts[animal] = null;
+ }
+ if (!user.achievements.beastMasterCount) {
+ user.achievements.beastMasterCount = 0;
+ }
+ user.achievements.beastMasterCount++;
+ if (!user.achievements.mountMasterCount) {
+ user.achievements.mountMasterCount = 0;
+ }
+ user.achievements.mountMasterCount++;
+ if (giveTriadBingo) {
+ if (!user.achievements.triadBingoCount) {
+ user.achievements.triadBingoCount = 0;
+ }
+ user.achievements.triadBingoCount++;
+ }
+ }
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/releaseMounts.js b/common/script/ops/releaseMounts.js
new file mode 100644
index 0000000000..4aefab6b40
--- /dev/null
+++ b/common/script/ops/releaseMounts.js
@@ -0,0 +1,32 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, mount;
+ if (user.balance < 1) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ } else {
+ user.balance -= 1;
+ user.items.currentMount = "";
+ for (mount in content.pets) {
+ user.items.mounts[mount] = null;
+ }
+ if (!user.achievements.mountMasterCount) {
+ user.achievements.mountMasterCount = 0;
+ }
+ user.achievements.mountMasterCount++;
+ }
+ analyticsData = {
+ uuid: user._id,
+ acquireMethod: 'Gems',
+ gemCost: 4,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('release mounts', analyticsData);
+ }
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/releasePets.js b/common/script/ops/releasePets.js
new file mode 100644
index 0000000000..a4b452cd86
--- /dev/null
+++ b/common/script/ops/releasePets.js
@@ -0,0 +1,32 @@
+import content from '../content/index';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, pet;
+ if (user.balance < 1) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ } else {
+ user.balance -= 1;
+ for (pet in content.pets) {
+ user.items.pets[pet] = 0;
+ }
+ if (!user.achievements.beastMasterCount) {
+ user.achievements.beastMasterCount = 0;
+ }
+ user.achievements.beastMasterCount++;
+ user.items.currentPet = "";
+ }
+ analyticsData = {
+ uuid: user._id,
+ acquireMethod: 'Gems',
+ gemCost: 4,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('release pets', analyticsData);
+ }
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/reroll.js b/common/script/ops/reroll.js
new file mode 100644
index 0000000000..f6a0862f1d
--- /dev/null
+++ b/common/script/ops/reroll.js
@@ -0,0 +1,29 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData;
+ if (user.balance < 1) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ }
+ user.balance--;
+ _.each(user.tasks, function(task) {
+ if (task.type !== 'reward') {
+ return task.value = 0;
+ }
+ });
+ user.stats.hp = 50;
+ analyticsData = {
+ uuid: user._id,
+ acquireMethod: 'Gems',
+ gemCost: 4,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('Fortify Potion', analyticsData);
+ }
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/reset.js b/common/script/ops/reset.js
new file mode 100644
index 0000000000..fbe87729e3
--- /dev/null
+++ b/common/script/ops/reset.js
@@ -0,0 +1,35 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ var gear;
+ user.habits = [];
+ user.dailys = [];
+ user.todos = [];
+ user.rewards = [];
+ user.stats.hp = 50;
+ user.stats.lvl = 1;
+ user.stats.gp = 0;
+ user.stats.exp = 0;
+ gear = user.items.gear;
+ _.each(['equipped', 'costume'], function(type) {
+ gear[type].armor = 'armor_base_0';
+ gear[type].weapon = 'weapon_base_0';
+ gear[type].head = 'head_base_0';
+ return gear[type].shield = 'shield_base_0';
+ });
+ if (typeof gear.owned === 'undefined') {
+ gear.owned = {};
+ }
+ _.each(gear.owned, function(v, k) {
+ if (gear.owned[k]) {
+ gear.owned[k] = false;
+ }
+ return true;
+ });
+ gear.owned.weapon_warrior_0 = true;
+ if (typeof user.markModified === "function") {
+ user.markModified('items.gear.owned');
+ }
+ user.preferences.costume = false;
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/revive.js b/common/script/ops/revive.js
new file mode 100644
index 0000000000..7b6fe8445f
--- /dev/null
+++ b/common/script/ops/revive.js
@@ -0,0 +1,72 @@
+import content from '../content/index';
+import i18n from '../i18n';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb, analytics) {
+ var analyticsData, base, cl, gearOwned, item, losableItems, lostItem, lostStat;
+ if (!(user.stats.hp <= 0)) {
+ return typeof cb === "function" ? cb({
+ code: 400,
+ message: "Cannot revive if not dead"
+ }) : void 0;
+ }
+ _.merge(user.stats, {
+ hp: 50,
+ exp: 0,
+ gp: 0
+ });
+ if (user.stats.lvl > 1) {
+ user.stats.lvl--;
+ }
+ lostStat = user.fns.randomVal(_.reduce(['str', 'con', 'per', 'int'], (function(m, k) {
+ if (user.stats[k]) {
+ m[k] = k;
+ }
+ return m;
+ }), {}));
+ if (lostStat) {
+ user.stats[lostStat]--;
+ }
+ cl = user.stats["class"];
+ gearOwned = (typeof (base = user.items.gear.owned).toObject === "function" ? base.toObject() : void 0) || user.items.gear.owned;
+ losableItems = {};
+ _.each(gearOwned, function(v, k) {
+ var itm;
+ if (v) {
+ itm = content.gear.flat['' + k];
+ if (itm) {
+ if ((itm.value > 0 || k === 'weapon_warrior_0') && (itm.klass === cl || (itm.klass === 'special' && (!itm.specialClass || itm.specialClass === cl)) || itm.klass === 'armoire')) {
+ return losableItems['' + k] = '' + k;
+ }
+ }
+ }
+ });
+ lostItem = user.fns.randomVal(losableItems);
+ if (item = content.gear.flat[lostItem]) {
+ user.items.gear.owned[lostItem] = false;
+ if (user.items.gear.equipped[item.type] === lostItem) {
+ user.items.gear.equipped[item.type] = item.type + "_base_0";
+ }
+ if (user.items.gear.costume[item.type] === lostItem) {
+ user.items.gear.costume[item.type] = item.type + "_base_0";
+ }
+ }
+ if (typeof user.markModified === "function") {
+ user.markModified('items.gear');
+ }
+ analyticsData = {
+ uuid: user._id,
+ lostItem: lostItem,
+ gaLabel: lostItem,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('Death', analyticsData);
+ }
+ return typeof cb === "function" ? cb((item ? {
+ code: 200,
+ message: i18n.t('messageLostItem', {
+ itemText: item.text(req.language)
+ }, req.language)
+ } : null), user) : void 0;
+};
diff --git a/common/script/ops/score.js b/common/script/ops/score.js
new file mode 100644
index 0000000000..ec0d2a70e2
--- /dev/null
+++ b/common/script/ops/score.js
@@ -0,0 +1,221 @@
+import moment from 'moment';
+import _ from 'lodash';
+import i18n from '../i18n';
+
+module.exports = function(user, req, cb) {
+ var addPoints, calculateDelta, calculateReverseDelta, changeTaskValue, delta, direction, gainMP, id, multiplier, num, options, ref, stats, subtractPoints, task, th;
+ ref = req.params, id = ref.id, direction = ref.direction;
+ task = user.tasks[id];
+ options = req.query || {};
+ _.defaults(options, {
+ times: 1,
+ cron: false
+ });
+ user._tmp = {};
+ stats = {
+ gp: +user.stats.gp,
+ hp: +user.stats.hp,
+ exp: +user.stats.exp
+ };
+ task.value = +task.value;
+ task.streak = ~~task.streak;
+ if (task.priority == null) {
+ task.priority = 1;
+ }
+ if (task.value > stats.gp && task.type === 'reward') {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('messageNotEnoughGold', req.language)
+ }) : void 0;
+ }
+ delta = 0;
+ calculateDelta = function() {
+ var currVal, nextDelta, ref1;
+ currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value;
+ nextDelta = Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1);
+ if (((ref1 = task.checklist) != null ? ref1.length : void 0) > 0) {
+ if (direction === 'down' && task.type === 'daily' && options.cron) {
+ nextDelta *= 1 - _.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 0) / task.checklist.length;
+ }
+ if (task.type === 'todo') {
+ nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 0);
+ }
+ }
+ return nextDelta;
+ };
+ calculateReverseDelta = function() {
+ var calc, closeEnough, currVal, diff, nextDelta, ref1, testVal;
+ currVal = task.value < -47.27 ? -47.27 : task.value > 21.27 ? 21.27 : task.value;
+ testVal = currVal + Math.pow(0.9747, currVal) * (direction === 'down' ? -1 : 1);
+ closeEnough = 0.00001;
+ while (true) {
+ calc = testVal + Math.pow(0.9747, testVal);
+ diff = currVal - calc;
+ if (Math.abs(diff) < closeEnough) {
+ break;
+ }
+ if (diff > 0) {
+ testVal -= diff;
+ } else {
+ testVal += diff;
+ }
+ }
+ nextDelta = testVal - currVal;
+ if (((ref1 = task.checklist) != null ? ref1.length : void 0) > 0) {
+ if (task.type === 'todo') {
+ nextDelta *= 1 + _.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 0);
+ }
+ }
+ return nextDelta;
+ };
+ changeTaskValue = function() {
+ return _.times(options.times, function() {
+ var nextDelta, ref1;
+ nextDelta = !options.cron && direction === 'down' ? calculateReverseDelta() : calculateDelta();
+ if (task.type !== 'reward') {
+ if (user.preferences.automaticAllocation === true && user.preferences.allocationMode === 'taskbased' && !(task.type === 'todo' && direction === 'down')) {
+ user.stats.training[task.attribute] += nextDelta;
+ }
+ if (direction === 'up') {
+ user.party.quest.progress.up = user.party.quest.progress.up || 0;
+ if ((ref1 = task.type) === 'daily' || ref1 === 'todo') {
+ user.party.quest.progress.up += nextDelta * (1 + (user._statsComputed.str / 200));
+ }
+ if (task.type === 'habit') {
+ user.party.quest.progress.up += nextDelta * (0.5 + (user._statsComputed.str / 400));
+ }
+ }
+ task.value += nextDelta;
+ }
+ return delta += nextDelta;
+ });
+ };
+ addPoints = function() {
+ var _crit, afterStreak, currStreak, gpMod, intBonus, perBonus, streakBonus;
+ _crit = (delta > 0 ? user.fns.crit() : 1);
+ if (_crit > 1) {
+ user._tmp.crit = _crit;
+ }
+ intBonus = 1 + (user._statsComputed.int * .025);
+ stats.exp += Math.round(delta * intBonus * task.priority * _crit * 6);
+ perBonus = 1 + user._statsComputed.per * .02;
+ gpMod = delta * task.priority * _crit * perBonus;
+ return stats.gp += task.streak ? (currStreak = direction === 'down' ? task.streak - 1 : task.streak, streakBonus = currStreak / 100 + 1, afterStreak = gpMod * streakBonus, currStreak > 0 ? gpMod > 0 ? user._tmp.streakBonus = afterStreak - gpMod : void 0 : void 0, afterStreak) : gpMod;
+ };
+ subtractPoints = function() {
+ var conBonus, hpMod;
+ conBonus = 1 - (user._statsComputed.con / 250);
+ if (conBonus < .1) {
+ conBonus = 0.1;
+ }
+ hpMod = delta * conBonus * task.priority * 2;
+ return stats.hp += Math.round(hpMod * 10) / 10;
+ };
+ gainMP = function(delta) {
+ delta *= user._tmp.crit || 1;
+ user.stats.mp += delta;
+ if (user.stats.mp >= user._statsComputed.maxMP) {
+ user.stats.mp = user._statsComputed.maxMP;
+ }
+ if (user.stats.mp < 0) {
+ return user.stats.mp = 0;
+ }
+ };
+ switch (task.type) {
+ case 'habit':
+ changeTaskValue();
+ if (delta > 0) {
+ addPoints();
+ } else {
+ subtractPoints();
+ }
+ gainMP(_.max([0.25, .0025 * user._statsComputed.maxMP]) * (direction === 'down' ? -1 : 1));
+ th = (task.history != null ? task.history : task.history = []);
+ if (th[th.length - 1] && moment(th[th.length - 1].date).isSame(new Date, 'day')) {
+ th[th.length - 1].value = task.value;
+ } else {
+ th.push({
+ date: +(new Date),
+ value: task.value
+ });
+ }
+ if (typeof user.markModified === "function") {
+ user.markModified("habits." + (_.findIndex(user.habits, {
+ id: task.id
+ })) + ".history");
+ }
+ break;
+ case 'daily':
+ if (options.cron) {
+ changeTaskValue();
+ subtractPoints();
+ if (!user.stats.buffs.streaks) {
+ task.streak = 0;
+ }
+ } else {
+ changeTaskValue();
+ if (direction === 'down') {
+ delta = calculateDelta();
+ }
+ addPoints();
+ gainMP(_.max([1, .01 * user._statsComputed.maxMP]) * (direction === 'down' ? -1 : 1));
+ if (direction === 'up') {
+ task.streak = task.streak ? task.streak + 1 : 1;
+ if ((task.streak % 21) === 0) {
+ user.achievements.streak = user.achievements.streak ? user.achievements.streak + 1 : 1;
+ }
+ } else {
+ if ((task.streak % 21) === 0) {
+ user.achievements.streak = user.achievements.streak ? user.achievements.streak - 1 : 0;
+ }
+ task.streak = task.streak ? task.streak - 1 : 0;
+ }
+ }
+ break;
+ case 'todo':
+ if (options.cron) {
+ changeTaskValue();
+ } else {
+ task.dateCompleted = direction === 'up' ? new Date : void 0;
+ changeTaskValue();
+ if (direction === 'down') {
+ delta = calculateDelta();
+ }
+ addPoints();
+ multiplier = _.max([
+ _.reduce(task.checklist, (function(m, i) {
+ return m + (i.completed ? 1 : 0);
+ }), 1), 1
+ ]);
+ gainMP(_.max([multiplier, .01 * user._statsComputed.maxMP * multiplier]) * (direction === 'down' ? -1 : 1));
+ }
+ break;
+ case 'reward':
+ changeTaskValue();
+ stats.gp -= Math.abs(task.value);
+ num = parseFloat(task.value).toFixed(2);
+ if (stats.gp < 0) {
+ stats.hp += stats.gp;
+ stats.gp = 0;
+ }
+ }
+ user.fns.updateStats(stats, req);
+ if (typeof window === 'undefined') {
+ if (direction === 'up') {
+ user.fns.randomDrop({
+ task: task,
+ delta: delta
+ }, req);
+ }
+ }
+ if (typeof cb === "function") {
+ cb(null, user);
+ }
+ return delta;
+};
diff --git a/common/script/ops/sell.js b/common/script/ops/sell.js
new file mode 100644
index 0000000000..33e5f7d673
--- /dev/null
+++ b/common/script/ops/sell.js
@@ -0,0 +1,23 @@
+import content from '../content/index';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb) {
+ var key, ref, type;
+ ref = req.params, key = ref.key, type = ref.type;
+ if (type !== 'eggs' && type !== 'hatchingPotions' && type !== 'food') {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":type not found. Must bes in [eggs, hatchingPotions, food]"
+ }) : void 0;
+ }
+ if (!user.items[type][key]) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: ":key not found for user.items." + type
+ }) : void 0;
+ }
+ user.items[type][key]--;
+ user.stats.gp += content[type][key].value;
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('stats items'))) : void 0;
+};
diff --git a/common/script/ops/sleep.js b/common/script/ops/sleep.js
new file mode 100644
index 0000000000..dec8095ad3
--- /dev/null
+++ b/common/script/ops/sleep.js
@@ -0,0 +1,4 @@
+module.exports = function(user, req, cb) {
+ user.preferences.sleep = !user.preferences.sleep;
+ return typeof cb === "function" ? cb(null, {}) : void 0;
+};
diff --git a/common/script/ops/sortTag.js b/common/script/ops/sortTag.js
new file mode 100644
index 0000000000..85dcda169f
--- /dev/null
+++ b/common/script/ops/sortTag.js
@@ -0,0 +1,9 @@
+module.exports = function(user, req, cb) {
+ var from, ref, to;
+ ref = req.query, to = ref.to, from = ref.from;
+ if (!((to != null) && (from != null))) {
+ return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0;
+ }
+ user.tags.splice(to, 0, user.tags.splice(from, 1)[0]);
+ return typeof cb === "function" ? cb(null, user.tags) : void 0;
+};
diff --git a/common/script/ops/sortTask.js b/common/script/ops/sortTask.js
new file mode 100644
index 0000000000..b903b692dc
--- /dev/null
+++ b/common/script/ops/sortTask.js
@@ -0,0 +1,39 @@
+import i18n from '../i18n';
+import preenTodos from '../libs/preenTodos';
+
+module.exports = function(user, req, cb) {
+ var from, id, movedTask, preenedTasks, ref, task, tasks, to;
+ id = req.params.id;
+ ref = req.query, to = ref.to, from = ref.from;
+ task = user.tasks[id];
+ if (!task) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTaskNotFound', req.language)
+ }) : void 0;
+ }
+ if (!((to != null) && (from != null))) {
+ return typeof cb === "function" ? cb('?to=__&from=__ are required') : void 0;
+ }
+ tasks = user[task.type + "s"];
+ if (task.type === 'todo' && tasks[from] !== task) {
+ preenedTasks = preenTodos(tasks);
+ if (to !== -1) {
+ to = tasks.indexOf(preenedTasks[to]);
+ }
+ from = tasks.indexOf(preenedTasks[from]);
+ }
+ if (tasks[from] !== task) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTaskNotFound', req.language)
+ }) : void 0;
+ }
+ movedTask = tasks.splice(from, 1)[0];
+ if (to === -1) {
+ tasks.push(movedTask);
+ } else {
+ tasks.splice(to, 0, movedTask);
+ }
+ return typeof cb === "function" ? cb(null, tasks) : void 0;
+};
diff --git a/common/script/ops/unlock.js b/common/script/ops/unlock.js
new file mode 100644
index 0000000000..c53a5997ec
--- /dev/null
+++ b/common/script/ops/unlock.js
@@ -0,0 +1,63 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+import splitWhitespace from '../libs/splitWhitespace';
+
+module.exports = function(user, req, cb, analytics) {
+ var alreadyOwns, analyticsData, cost, fullSet, k, path, split, v;
+ path = req.query.path;
+ fullSet = ~path.indexOf(",");
+ cost = ~path.indexOf('background.') ? fullSet ? 3.75 : 1.75 : fullSet ? 1.25 : 0.5;
+ alreadyOwns = !fullSet && user.fns.dotGet("purchased." + path) === true;
+ if ((user.balance < cost || !user.balance) && !alreadyOwns) {
+ return typeof cb === "function" ? cb({
+ code: 401,
+ message: i18n.t('notEnoughGems', req.language)
+ }) : void 0;
+ }
+ if (fullSet) {
+ _.each(path.split(","), function(p) {
+ if (~path.indexOf('gear.')) {
+ user.fns.dotSet("" + p, true);
+ true;
+ } else {
+
+ }
+ user.fns.dotSet("purchased." + p, true);
+ return true;
+ });
+ } else {
+ if (alreadyOwns) {
+ split = path.split('.');
+ v = split.pop();
+ k = split.join('.');
+ if (k === 'background' && v === user.preferences.background) {
+ v = '';
+ }
+ user.fns.dotSet("preferences." + k, v);
+ return typeof cb === "function" ? cb(null, req) : void 0;
+ }
+ user.fns.dotSet("purchased." + path, true);
+ }
+ user.balance -= cost;
+ if (~path.indexOf('gear.')) {
+ if (typeof user.markModified === "function") {
+ user.markModified('gear.owned');
+ }
+ } else {
+ if (typeof user.markModified === "function") {
+ user.markModified('purchased');
+ }
+ }
+ analyticsData = {
+ uuid: user._id,
+ itemKey: path,
+ itemType: 'customization',
+ acquireMethod: 'Gems',
+ gemCost: cost / .25,
+ category: 'behavior'
+ };
+ if (analytics != null) {
+ analytics.track('acquire item', analyticsData);
+ }
+ return typeof cb === "function" ? cb(null, _.pick(user, splitWhitespace('purchased preferences items'))) : void 0;
+};
diff --git a/common/script/ops/update.js b/common/script/ops/update.js
new file mode 100644
index 0000000000..12a100e372
--- /dev/null
+++ b/common/script/ops/update.js
@@ -0,0 +1,9 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ _.each(req.body, function(v, k) {
+ user.fns.dotSet(k, v);
+ return true;
+ });
+ return typeof cb === "function" ? cb(null, user) : void 0;
+};
diff --git a/common/script/ops/updateTag.js b/common/script/ops/updateTag.js
new file mode 100644
index 0000000000..8e4019fa51
--- /dev/null
+++ b/common/script/ops/updateTag.js
@@ -0,0 +1,18 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ var i, tid;
+ tid = req.params.id;
+ i = _.findIndex(user.tags, {
+ id: tid
+ });
+ if (!~i) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTagNotFound', req.language)
+ }) : void 0;
+ }
+ user.tags[i].name = req.body.name;
+ return typeof cb === "function" ? cb(null, user.tags[i]) : void 0;
+};
diff --git a/common/script/ops/updateTask.js b/common/script/ops/updateTask.js
new file mode 100644
index 0000000000..427104f15e
--- /dev/null
+++ b/common/script/ops/updateTask.js
@@ -0,0 +1,23 @@
+import i18n from '../i18n';
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ var ref, task;
+ if (!(task = user.tasks[(ref = req.params) != null ? ref.id : void 0])) {
+ return typeof cb === "function" ? cb({
+ code: 404,
+ message: i18n.t('messageTaskNotFound', req.language)
+ }) : void 0;
+ }
+ _.merge(task, _.omit(req.body, ['checklist', 'reminders', 'id', 'type']));
+ if (req.body.checklist) {
+ task.checklist = req.body.checklist;
+ }
+ if (req.body.reminders) {
+ task.reminders = req.body.reminders;
+ }
+ if (typeof task.markModified === "function") {
+ task.markModified('tags');
+ }
+ return typeof cb === "function" ? cb(null, task) : void 0;
+};
diff --git a/common/script/ops/updateWebhook.js b/common/script/ops/updateWebhook.js
new file mode 100644
index 0000000000..e2775a40b4
--- /dev/null
+++ b/common/script/ops/updateWebhook.js
@@ -0,0 +1,9 @@
+import _ from 'lodash';
+
+module.exports = function(user, req, cb) {
+ _.merge(user.preferences.webhooks[req.params.id], req.body);
+ if (typeof user.markModified === "function") {
+ user.markModified('preferences.webhooks');
+ }
+ return typeof cb === "function" ? cb(null, user.preferences.webhooks) : void 0;
+};
diff --git a/package.json b/package.json
index c50623a792..ebcde2032f 100644
--- a/package.json
+++ b/package.json
@@ -72,7 +72,7 @@
"qs": "^2.3.2",
"request": "~2.44.0",
"s3-upload-stream": "^1.0.6",
- "stripe": "*",
+ "stripe": "^4.2.0",
"superagent": "~1.4.0",
"swagger-node-express": "lefnire/swagger-node-express#habitrpg",
"universal-analytics": "~0.3.2",
@@ -85,7 +85,7 @@
},
"private": true,
"engines": {
- "node": "^0.10.40",
+ "node": "^4.3.1",
"npm": "^2.14.9"
},
"scripts": {
@@ -99,7 +99,7 @@
"test:karma:watch": "karma start",
"test:prepare:webdriver": "webdriver-manager update",
"test:e2e:webdriver": "webdriver-manager start",
- "test:e2e": "protractor protractor.conf.js",
+ "test:e2e": "protractor test/e2e/protractor.conf.js",
"test:nodemon": "gulp test:nodemon",
"start": "gulp run:dev",
"sprites": "gulp sprites:compile",
@@ -131,7 +131,7 @@
"mongodb": "^2.0.46",
"mongoskin": "~0.6.1",
"phantomjs": "^1.9",
- "protractor": "~2.5.1",
+ "protractor": "^3.1.1",
"rewire": "^2.3.3",
"rimraf": "^2.4.3",
"run-sequence": "^1.1.4",
diff --git a/protractor.conf.js b/protractor.conf.js
deleted file mode 100644
index 0f810a8915..0000000000
--- a/protractor.conf.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// An example configuration file.
-exports.config = {
- // The address of a running selenium server.
- seleniumAddress: 'http://localhost:4444/wd/hub',
-
- // Capabilities to be passed to the webdriver instance.
- capabilities: {
- 'browserName': 'firefox'
- },
-
- // Spec patterns are relative to the current working directly when
- // protractor is called.
- specs: ['test/e2e/e2e.js'],
-
- // A base URL for your application under test. Calls to protractor.get()
- // with relative paths will be prepended with this.
- baseUrl: 'http://localhost:3003',
-
- // Options to be passed to Jasmine-node.
- jasmineNodeOpts: {
- showColors: true,
- defaultTimeoutInterval: 90000,
- isVerbose: true,
- displayPendingSpec: true
- }
-};
diff --git a/tasks/gulp-eslint.js b/tasks/gulp-eslint.js
index e093e869ea..735845beb7 100644
--- a/tasks/gulp-eslint.js
+++ b/tasks/gulp-eslint.js
@@ -12,6 +12,9 @@ const COMMON_FILES = [
// @TODO remove these negations as the files are converted over.
'!./common/script/index.js',
'!./common/script/content/index.js',
+ '!./common/script/ops/**/*.js',
+ '!./common/script/fns/**/*.js',
+ '!./common/script/libs/**/*.js',
'!./common/script/public/**/*.js',
];
const TEST_FILES = [
diff --git a/tasks/gulp-tests.js b/tasks/gulp-tests.js
index e505b92d9c..bada857d36 100644
--- a/tasks/gulp-tests.js
+++ b/tasks/gulp-tests.js
@@ -269,9 +269,6 @@ gulp.task('test:e2e', ['test:prepare', 'test:prepare:server'], (cb) => {
let runner = exec(
'npm run test:e2e',
(err, stdout, stderr) => {
- /*
- * Note: As it stands, protractor wont report pending specs
- */
support.forEach(kill);
cb(err);
}
@@ -293,15 +290,13 @@ gulp.task('test:e2e:safe', ['test:prepare', 'test:prepare:server'], (cb) => {
let runner = exec(
'npm run test:e2e',
(err, stdout, stderr) => {
- /*
- * Note: As it stands, protractor wont report pending specs
- */
let match = stdout.match(/(\d+) tests?.*(\d) failures?/);
+
testResults.push({
- suite: 'End-to-End Specs',
- pass: parseInt(match[1]) - parseInt(match[2]),
- fail: parseInt(match[2]),
- pend: 0
+ suite: 'End-to-End Specs\t',
+ pass: testCount(stdout, /(\d+) passing/),
+ fail: testCount(stdout, /(\d+) failing/),
+ pend: testCount(stdout, /(\d+) pending/)
});
support.forEach(kill);
cb();
diff --git a/test/.eslintrc b/test/.eslintrc
index 7b5868eca9..9ee7ce9e28 100644
--- a/test/.eslintrc
+++ b/test/.eslintrc
@@ -1,6 +1,7 @@
{
"rules": {
"one-var": 0,
+ "func-names": 0,
"max-nested-callbacks": 0,
"no-unused-expressions": 0,
"mocha/no-exclusive-tests": 2,
diff --git a/test/api/v2/user/PUT-user.test.js b/test/api/v2/user/PUT-user.test.js
index 033a278646..e4774528ae 100644
--- a/test/api/v2/user/PUT-user.test.js
+++ b/test/api/v2/user/PUT-user.test.js
@@ -175,4 +175,27 @@ describe('PUT /user', () => {
});
});
});
+
+ context('Improvement Categories', () => {
+ it('sets valid categories', async () => {
+ await user.put('/user', {
+ 'preferences.improvementCategories': ['work', 'school'],
+ });
+
+ await user.sync();
+
+ expect(user.preferences.improvementCategories).to.eql(['work', 'school']);
+ });
+
+ it('discards invalid categories', async () => {
+ await expect(user.put('/user', {
+ 'preferences.improvementCategories': ['work', 'procrastination', 'school'],
+ })).to.eventually.be.rejected.and.eql({
+ code: 400,
+ text: [
+ 'Validator failed for path `preferences.improvementCategories` with value `work,procrastination,school`',
+ ],
+ });
+ });
+ });
});
diff --git a/test/e2e/.eslintrc b/test/e2e/.eslintrc
index ecf3d02e9f..252188793a 100644
--- a/test/e2e/.eslintrc
+++ b/test/e2e/.eslintrc
@@ -1,13 +1,7 @@
{
- "rules": {
- "func-names": 0,
- "no-var": 0,
- "prefer-template": 0
- },
"globals": {
"browser": true,
"by": true,
- "element": true,
- "jasmine": true
+ "element": true
}
}
diff --git a/test/e2e/e2e.js b/test/e2e/e2e.js
deleted file mode 100644
index 90a3a742f3..0000000000
--- a/test/e2e/e2e.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-
-describe('front page', function () {
- beforeEach(function () {
- browser.ignoreSynchronization = true;
- browser.get('/');
- browser.sleep(1000);
- });
-
- // based on https://github.com/angular/protractor/issues/114#issuecomment-29046939
- afterEach(function () {
- var currentSpec = jasmine.getEnv().currentSpec;
- var passed = currentSpec.results().passed();
- if (!passed) {
- var filename = 'exception_' + currentSpec.description + '.png';
- browser.takeScreenshot().then(function (png) {
- var buffer = new Buffer(png, 'base64');
- var stream = fs.createWriteStream(filename);
- stream.write(buffer);
- stream.end();
- });
- }
- });
-
- it('shows the front page', function () {
- var button = element(by.id('play-btn'));
- expect(button.getText()).toEqual('Join for free');
- });
-
- it('does not login when using wrong credentials', function () {
- var button = element(by.id('play-btn'));
- button.click();
- browser.sleep(1000);
- element(by.model('loginUsername')).sendKeys('username');
- element(by.model('loginPassword')).sendKeys('pass');
- var login = element(by.css('#loginForm input[value="Login"]'));
- login.click();
- var alertDialog = browser.switchTo().alert();
- expect(alertDialog.getText()).toMatch('Uh-oh - your username or password is incorrect.\n- Make sure your username or email is typed correctly.\n- You may have signed up with Facebook, not email. Double-check by trying Facebook login.\n- If you forgot your password, click "Forgot Password" on the habitica.com website\'s login form.');
- alertDialog.accept();
- });
-
- xit('registers a new user', function () {
- var button = element(by.id('play-btn'));
- button.click();
- browser.sleep(1000);
- var registerTab = element(by.linkText('Register'));
- registerTab.click();
- element(by.model('registerVals.username')).sendKeys('user');
- element(by.model('registerVals.email')).sendKeys('user@example.com');
- element(by.model('registerVals.password')).sendKeys('pass');
- element(by.model('registerVals.confirmPassword')).sendKeys('pass');
- var register = element(by.css('#registrationForm input[value="Register"]'));
- register.click();
- browser.sleep(1000);
- browser.getCurrentUrl().then(function (url) {
- expect(url).not.toMatch(/static\/front/);
- });
- });
-});
diff --git a/test/e2e/helper.js b/test/e2e/helper.js
new file mode 100644
index 0000000000..dda430085c
--- /dev/null
+++ b/test/e2e/helper.js
@@ -0,0 +1,22 @@
+import fs from 'fs';
+import { resetHabiticaDB } from '../helpers/api-integration/mongo';
+
+before(async () => {
+ await resetHabiticaDB();
+});
+
+// based on https://github.com/angular/protractor/issues/114#issuecomment-29046939
+afterEach(async function () {
+ let lastTest = this.currentTest;
+
+ if (lastTest.state === 'failed') {
+ let filename = `exception_${lastTest.title}.png`;
+ let png = await browser.takeScreenshot();
+ let buffer = new Buffer(png, 'base64');
+ let stream = fs.createWriteStream(filename);
+
+ stream.write(buffer);
+ stream.end();
+ }
+});
+
diff --git a/test/e2e/protractor.conf.js b/test/e2e/protractor.conf.js
new file mode 100644
index 0000000000..4aea36e0dc
--- /dev/null
+++ b/test/e2e/protractor.conf.js
@@ -0,0 +1,30 @@
+'use strict';
+
+let chai = require('chai');
+let chaiAsPromised = require('chai-as-promised');
+
+require('babel-register');
+require('babel-polyfill');
+
+exports.config = {
+ specs: ['./helper.js', './**/*.test.js'],
+ baseUrl: 'http://localhost:3003/',
+ capabilities: {
+ browserName: 'firefox',
+ },
+ directConnect: true,
+ seleniumAddress: 'http://localhost:4444/wd/hub',
+ framework: 'mocha',
+ mochaOpts: {
+ reporter: 'spec',
+ slow: 6000,
+ timeout: 10000,
+ compilers: 'js:babel-register',
+ },
+ onPrepare: () => {
+ browser.ignoreSynchronization = true;
+
+ chai.use(chaiAsPromised);
+ global.expect = chai.expect;
+ },
+};
diff --git a/test/e2e/static-pages/front-page.test.js b/test/e2e/static-pages/front-page.test.js
new file mode 100644
index 0000000000..9f1475d455
--- /dev/null
+++ b/test/e2e/static-pages/front-page.test.js
@@ -0,0 +1,64 @@
+import { v4 as generateUniqueId } from 'uuid';
+
+describe('Static Front Page', () => {
+ beforeEach(() => {
+ browser.get('/');
+ browser.sleep(1000);
+ });
+
+ it('shows the front page', async () => {
+ let button = element(by.id('play-btn'));
+
+ await expect(button.getText()).to.eventually.eql('Join for free');
+ });
+
+ it('does not login when using wrong credentials', async () => {
+ let button = element(by.id('play-btn'));
+ let randomName = generateUniqueId();
+
+ button.click();
+ browser.sleep(1000);
+
+ element(by.model('loginUsername')).sendKeys(randomName);
+ element(by.model('loginPassword')).sendKeys('pass');
+
+ let login = element(by.css('#loginForm input[value="Login"]'));
+
+ login.click();
+ browser.sleep(1000);
+
+ let alertDialog = browser.switchTo().alert();
+
+ await expect(alertDialog.getText()).to.eventually.match(/username or password is incorrect./);
+
+ alertDialog.accept();
+ });
+
+ it('registers a new user', async function () {
+ this.timeout(30000); // TODO: Speed up registration action. Takes way too long and times out unless you extend the timeout
+
+ let button = element(by.id('play-btn'));
+ let randomName = generateUniqueId();
+
+ button.click();
+ browser.sleep(1000);
+
+ let registerTab = element(by.linkText('Register'));
+ registerTab.click();
+ element(by.model('registerVals.username')).sendKeys(randomName);
+ element(by.model('registerVals.email')).sendKeys(`${randomName}@example.com`);
+ element(by.model('registerVals.password')).sendKeys('pass');
+ element(by.model('registerVals.confirmPassword')).sendKeys('pass');
+
+ let register = element(by.css('#registrationForm input[type="submit"]'));
+
+ register.click();
+ browser.sleep(3000);
+
+ let url = await browser.getCurrentUrl();
+
+ expect(url).to.not.match(/static\/front/);
+ });
+
+ it('logs in an existing user');
+});
diff --git a/website/public/js/controllers/chatCtrl.js b/website/public/js/controllers/chatCtrl.js
index 693775579d..8ba5b2a15c 100644
--- a/website/public/js/controllers/chatCtrl.js
+++ b/website/public/js/controllers/chatCtrl.js
@@ -39,7 +39,7 @@ habitrpg.controller('ChatCtrl', ['$scope', 'Groups', 'Chat', 'User', '$http', 'A
Analytics.updateUser({'partyID':group.id,'partySize':group.memberCount});
}
if (group.privacy == 'public'){
- Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy,'groupName':group.name,'message':message});
+ Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy,'groupName':group.name});
} else {
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy});
}
diff --git a/website/src/controllers/api-v2/user.js b/website/src/controllers/api-v2/user.js
index 201d1d034d..d06bb96288 100644
--- a/website/src/controllers/api-v2/user.js
+++ b/website/src/controllers/api-v2/user.js
@@ -355,7 +355,15 @@ api.update = (req, res, next) => {
user.save((err) => {
if (!_.isEmpty(errors)) return res.json(401, {err: errors});
- if (err) return next(err);
+ if (err) {
+ if (err.name == 'ValidationError') {
+ let errorMessages = _.map(_.values(err.errors), (error) => {
+ return error.message;
+ });
+ return res.json(400, {err: errorMessages});
+ }
+ return next(err);
+ }
res.json(200, user);
user = errors = null;
diff --git a/website/src/middlewares/apiThrottle.js b/website/src/middlewares/apiThrottle.js
index 5a863c1fb7..15f3ad5666 100644
--- a/website/src/middlewares/apiThrottle.js
+++ b/website/src/middlewares/apiThrottle.js
@@ -4,7 +4,9 @@ var limiter = require('connect-ratelimit');
var IS_PROD = nconf.get('NODE_ENV') === 'production';
module.exports = function(app) {
- if (!IS_PROD) return;
+ // TODO review later
+ // disable the rate limiter middleware
+ if (/*!IS_PROD || */true) return;
app.use(limiter({
end:false,
categories:{
@@ -19,4 +21,4 @@ module.exports = function(app) {
if (res.ratelimit.exceeded) return res.json(429,{err:'Rate limit exceeded'});
next();
});
-};
\ No newline at end of file
+};
diff --git a/website/src/models/task.js b/website/src/models/task.js
index 8ae24e353a..97a0e1e7c6 100644
--- a/website/src/models/task.js
+++ b/website/src/models/task.js
@@ -28,7 +28,12 @@ var TaskSchema = {
broken: String, // CHALLENGE_DELETED, TASK_DELETED, UNSUBSCRIBED, CHALLENGE_CLOSED
winner: String // user.profile.name
// group: {type: 'Strign', ref: 'Group'} // if we restore this, rename `id` above to `challenge`
- }
+ },
+ reminders: [{
+ id: {type:String,'default':shared.uuid},
+ startDate: Date,
+ time: Date
+ }]
};
var HabitSchema = new Schema(
diff --git a/website/src/models/user.js b/website/src/models/user.js
index 9228261bbb..42639a5602 100644
--- a/website/src/models/user.js
+++ b/website/src/models/user.js
@@ -392,7 +392,14 @@ var UserSchema = new Schema({
hatchPet: {type: Boolean, 'default': false},
raisePet: {type: Boolean, 'default': false},
streak: {type: Boolean, 'default': false}
- }
+ },
+ improvementCategories: {
+ type: Array,
+ validate: (categories) => {
+ const validCategories = ['work', 'exercise', 'healthWellness', 'school', 'teams', 'chores', 'creativity'];
+ let isValidCategory = categories.every(category => validCategories.indexOf(category) !== -1);
+ return isValidCategory;
+ }}
},
profile: {
blurb: String,
diff --git a/website/views/options/social/tavern.jade b/website/views/options/social/tavern.jade
index c2d7aef7b9..ed7e4ef6c3 100644
--- a/website/views/options/social/tavern.jade
+++ b/website/views/options/social/tavern.jade
@@ -83,7 +83,7 @@
a.label.label-contributor-1(ng-click='toggleUserTier($event)')=env.t('tier') + ' 1 (' + env.t('friend') + ')'
div
p
- span.achievement.achievement-firefox
+ span.achievement.achievement-boot
!=env.t('friendFirst')
tr
td
diff --git a/website/views/shared/new-stuff.jade b/website/views/shared/new-stuff.jade
index 5a0fcc12b1..467de034f8 100644
--- a/website/views/shared/new-stuff.jade
+++ b/website/views/shared/new-stuff.jade
@@ -1,37 +1,90 @@
-h2 3/1/2016 - MARCH BACKGROUNDS AND ARMOIRE ITEMS REVEALED! PLUS, WEB DESIGNER NEEDED AND MARCH MYSTERY BOX
+h2 3/15/2016 - NEW PARTY ACHIEVEMENT BADGES AND SPRING MYSTERY PLOT CONTINUES!
hr
tr
td
- .promo_backgrounds_armoire_201603.pull-right
- h3 March Backgrounds
- p There are three new avatar backgrounds in the Background Shop! Now your avatar can venture into a Rainforest, find precious metals in a Deep Mine, or cast spells in a Circle of Stones.
- p.small.muted by James Danger, sungabraverday, and UncommonCriminal
+ .achievement-partyUp2x.pull-left.slight-right-margin
+ .achievement-partyOn2x.pull-right
+ h3 New Party Achievements
+ p There are two brand-new badges that you can earn by being in a party with your friends: the Party Up badge, for those in parties of 2 or more, and the Party On badge, for those in parties of 4 or more.
+ br
+ p Parties are a great way to stay accountable to your tasks. To earn these badges, invite your friends or post in the Party Wanted Guild on the website to join an existing group. If you're already in a party with others, simply visit the Party page to claim the badges! Enjoy!
+ p.small.muted by khipkin and Lemoness
tr
td
- h3 March Armoire Items Revealed
- p There is new equipment in Enchanted Armoire, a 100 GP Reward in the Rewards Column which unlocks after you've attained Ultimate Gear!
+ h3 Spring Mystery Plot Continues
+ p A huge, glittering cloud has been slowly drifting towards Habitica, and gossip in the streets is running wild.
br
- p Click on the Enchanted Armoire for a random chance at special Equipment, including the Miner Set and the Mystic Lamp! It may also give you random XP or food items. We'll be adding new equipment to it during the first week of each month, but even when you've exhausted the current supply, you can keep clicking for a chance at food and XP.
+ p “I think I saw an explosion of colored lights, like fireworks!”
br
- p Now go spend all that accumulated Gold! May the Random Number Generator smile upon you...
- p.small.muted by Lemoness and SabreCat
- p.small.muted Art by Balduranne
- tr
- td
- .inventory_present_03.pull-right
- h3 March Mystery Box
- p Ooh... What could it be? All Habiticans who are subscribed during the month of March will receive the March Mystery Item Set! It will be revealed on the 23rd, so keep your eyes peeled. Thanks for supporting the site <3
+ p “Do you hear that distant humming sound?”
+ br
+ p “There’s a sweet scent on the breeze, for sure.”
+ br
+ p As you stop in the Tavern on a work break, you overhear Lemoness, Redphoenix, and SabreCat murmuring to each other.
+ br
+ p “It’s definitely him,” Lemoness whispers. “I sent my dragon on a stealth flight to check.”
+ br
+ p Redphoenix taps a finger against her cup of tea. “Why is he so early? Even for him, this is... unexpected.”
+ br
+ p “You don’t think he’s planning to stay in Habit City, do you?” SabreCat asks as his tiger cowers under his chair. “My pets still haven’t recovered.”
+ br
+ p Lemoness mournfully flops forward onto the table. “I don’t know... but something tells me that we’re in for an unusual Spring Fling celebration.”
p.small.muted by Lemoness
- tr
- td
- h3 Web UI Designer Needed
- p We’re looking for UI designers with experience in UX! Do you like user-centered approaches? Are you familiar with web patterns and assets? If that sounds like you, and you’re interested in contributing to Habitica, please email vicky@habitica.com. We look forward to questing with you!
if menuItem !== 'oldNews'
hr
a(href='/static/old-news', target='_blank') Read older news
mixin oldNews
+ h2 3/9/2016 - SNAIL PET QUEST AND MOBILE CHALLENGE WINNERS. PLUS, SPRING PLOT-LINE BEGINS!
+ tr
+ td
+ span.Mount_Body_Snail-Base.pull-right
+ span.Mount_Head_Snail-Base.pull-right(style='margin:0')
+ h3 Snail Pet Quest
+ p We've released a new Pet Quest: The Snail of Drudgery Sludge! Habiticans everywhere are bogged down by unimportant tasks. Can you wash away the slime? If so, you'll earn some Snail Eggs!
+ p.small.muted by Lemoness and SabreCat
+ p.small.muted Art by Overomega, Pfeffernusse, and Misceo
+ p.small.muted Writing by Maz Wendling
+ tr
+ td
+ h3 Mobile Challenge Winners
+ p Congratulations to the winners of the Mobile App Challenges: J, Janče Skalkova, studentSeekingDiscipline, Felipe Marinelli Affonso, compl, Yuri Augusto, Ewe Pacheco, Narmence, Ryan_carter, and candieb! Thanks to everyone who participated. We hope that you're enjoying the apps!
+ p.small.muted by Lemoness
+ tr
+ td
+ h3 Spring Plot-line Begins
+ p A large crowd has gathered in Productivity Plaza, just outside of the Tavern. Curious, you press forward and see people peering through a telescope, which is pointed at a strange, sparkling cloud on the horizon.
+ br
+ p Unfortunately, it turns out that the line to look through the telescope is about an hour long! Who has that kind of time when there are tasks to conquer? Oh well. Whatever it is, you’ll probably hear all about it soon...
+ p.small.muted by Lemoness
+ h2 3/1/2016 - MARCH BACKGROUNDS AND ARMOIRE ITEMS REVEALED! PLUS, WEB DESIGNER NEEDED AND MARCH MYSTERY BOX
+ tr
+ td
+ .promo_backgrounds_armoire_201603.pull-right
+ h3 March Backgrounds
+ p There are three new avatar backgrounds in the Background Shop! Now your avatar can venture into a Rainforest, find precious metals in a Deep Mine, or cast spells in a Circle of Stones.
+ p.small.muted by James Danger, sungabraverday, and UncommonCriminal
+ tr
+ td
+ h3 March Armoire Items Revealed
+ p There is new equipment in Enchanted Armoire, a 100 GP Reward in the Rewards Column which unlocks after you've attained Ultimate Gear!
+ br
+ p Click on the Enchanted Armoire for a random chance at special Equipment, including the Miner Set and the Mystic Lamp! It may also give you random XP or food items. We'll be adding new equipment to it during the first week of each month, but even when you've exhausted the current supply, you can keep clicking for a chance at food and XP.
+ br
+ p Now go spend all that accumulated Gold! May the Random Number Generator smile upon you...
+ p.small.muted by Lemoness and SabreCat
+ p.small.muted Art by Balduranne
+ tr
+ td
+ .inventory_present_03.pull-right
+ h3 March Mystery Box
+ p Ooh... What could it be? All Habiticans who are subscribed during the month of March will receive the March Mystery Item Set! It will be revealed on the 23rd, so keep your eyes peeled. Thanks for supporting the site <3
+ p.small.muted by Lemoness
+ tr
+ td
+ h3 Web UI Designer Needed
+ p We’re looking for UI designers with experience in UX! Do you like user-centered approaches? Are you familiar with web patterns and assets? If that sounds like you, and you’re interested in contributing to Habitica, please email vicky@habitica.com. We look forward to questing with you!
h2 2/24/2016 - PHOENIXES IN THE TIME TRAVEL STABLE! FEBRUARY MYSTERY SET!
tr
td