summaryrefslogtreecommitdiff
path: root/graphics/sprites
diff options
context:
space:
mode:
authorwushin <pasekei@gmail.com>2013-12-26 07:53:43 -0800
committerwushin <pasekei@gmail.com>2013-12-26 07:53:43 -0800
commit0dbab9653b747f296ba298b0851003f5a413433e (patch)
tree67b4de3e9f65e2a0c1e263962455103f0120ab4c /graphics/sprites
parent23bb3efab57b5197f9f4428937dc169c029e7b4a (diff)
parentae98c57b6d7d6ec999ed767e5c58e880e405516f (diff)
downloadclientdata-0dbab9653b747f296ba298b0851003f5a413433e.tar.gz
clientdata-0dbab9653b747f296ba298b0851003f5a413433e.tar.bz2
clientdata-0dbab9653b747f296ba298b0851003f5a413433e.tar.xz
clientdata-0dbab9653b747f296ba298b0851003f5a413433e.zip
Merge pull request #43 from wushin/Xmas-Annual
Xmas annual event
Diffstat (limited to 'graphics/sprites')
-rw-r--r--graphics/sprites/equipment/chest/ugly-sweater-female.pngbin0 -> 26421 bytes
-rw-r--r--graphics/sprites/equipment/chest/ugly-sweater-female.xml96
-rw-r--r--graphics/sprites/equipment/chest/ugly-sweater-male.pngbin0 -> 20309 bytes
-rw-r--r--graphics/sprites/equipment/chest/ugly-sweater-male.xml96
-rw-r--r--graphics/sprites/equipment/feet/assassin-boots-female.xml2
-rw-r--r--graphics/sprites/equipment/feet/assassin-boots-male.xml2
-rw-r--r--graphics/sprites/equipment/head/christmastree.xml62
-rw-r--r--graphics/sprites/equipment/head/nutcrackerhat.pngbin0 -> 1376 bytes
-rw-r--r--graphics/sprites/equipment/head/nutcrackerhat.xml117
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-nose.pngbin0 -> 5187 bytes
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-nose.xml5
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-saddle.pngbin0 -> 12467 bytes
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-saddle.xml5
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-shoes.pngbin0 -> 10986 bytes
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-red-shoes.xml5
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-santa-hat.pngbin0 -> 12712 bytes
-rw-r--r--graphics/sprites/monsters/accessories/mouboo-santa-hat.xml5
-rw-r--r--graphics/sprites/monsters/accessories/nutcrackerhair.xml5
-rw-r--r--graphics/sprites/monsters/accessories/nutcrackerhat.xml117
-rw-r--r--graphics/sprites/monsters/accessories/slime-bubble.pngbin0 -> 1182 bytes
-rw-r--r--graphics/sprites/monsters/accessories/slime-bubble.xml24
-rw-r--r--graphics/sprites/monsters/christmas-mouboo.pngbin0 -> 49165 bytes
-rw-r--r--graphics/sprites/monsters/christmas-mouboo.xml5
-rw-r--r--graphics/sprites/monsters/nutcracker.pngbin0 -> 39401 bytes
-rw-r--r--graphics/sprites/monsters/nutcracker.xml5
-rw-r--r--graphics/sprites/monsters/penguin.pngbin0 -> 11346 bytes
-rw-r--r--graphics/sprites/monsters/penguin.xml84
-rw-r--r--graphics/sprites/npcs/christmastree.pngbin0 -> 76114 bytes
-rw-r--r--graphics/sprites/npcs/christmastree.xml9
-rw-r--r--graphics/sprites/npcs/palm-tree.xml9
-rw-r--r--graphics/sprites/npcs/present.xml9
-rw-r--r--graphics/sprites/npcs/snowtree.xml9
-rw-r--r--graphics/sprites/npcs/tree.xml9
-rw-r--r--graphics/sprites/npcs/xmas-palm.pngbin0 -> 11201 bytes
-rw-r--r--graphics/sprites/npcs/xmas-palm.xml9
-rw-r--r--graphics/sprites/npcs/xmastree-nosnow.pngbin0 -> 33772 bytes
-rw-r--r--graphics/sprites/npcs/xmastree-nosnow.xml9
37 files changed, 665 insertions, 33 deletions
diff --git a/graphics/sprites/equipment/chest/ugly-sweater-female.png b/graphics/sprites/equipment/chest/ugly-sweater-female.png
new file mode 100644
index 00000000..bed9be29
--- /dev/null
+++ b/graphics/sprites/equipment/chest/ugly-sweater-female.png
Binary files differ
diff --git a/graphics/sprites/equipment/chest/ugly-sweater-female.xml b/graphics/sprites/equipment/chest/ugly-sweater-female.xml
new file mode 100644
index 00000000..6dc64adf
--- /dev/null
+++ b/graphics/sprites/equipment/chest/ugly-sweater-female.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<sprite name="player" action="stand">
+ <imageset name="base" src="graphics/sprites/equipment/chest/ugly-sweater-female.png|W;Y;G;C" width="64" height="64"/>
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0"/>
+ </animation>
+ <animation direction="left">
+ <frame index="18"/>
+ </animation>
+ <animation direction="up">
+ <frame index="36"/>
+ </animation>
+ <animation direction="right">
+ <frame index="54"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="1" end="6" delay="75"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="19" end="24" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="37" end="42" delay="75"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="55" end="60" delay="75"/>
+ </animation>
+ </action>
+ <action name="sit" imageset="base">
+ <animation direction="down">
+ <frame index="7"/>
+ </animation>
+ <animation direction="left">
+ <frame index="25"/>
+ </animation>
+ <animation direction="up">
+ <frame index="43"/>
+ </animation>
+ <animation direction="right">
+ <frame index="61"/>
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="8"/>
+ </animation>
+ <animation direction="left">
+ <frame index="26"/>
+ </animation>
+ <animation direction="up">
+ <frame index="44"/>
+ </animation>
+ <animation direction="right">
+ <frame index="62"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="9" end="12" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="27" end="30" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="45" end="48" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="63" end="66" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="attack_bow" imageset="base">
+ <animation direction="down">
+ <sequence start="13" end="17" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="31" end="35" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="49" end="53" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="67" end="71" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/equipment/chest/ugly-sweater-male.png b/graphics/sprites/equipment/chest/ugly-sweater-male.png
new file mode 100644
index 00000000..35d35a3d
--- /dev/null
+++ b/graphics/sprites/equipment/chest/ugly-sweater-male.png
Binary files differ
diff --git a/graphics/sprites/equipment/chest/ugly-sweater-male.xml b/graphics/sprites/equipment/chest/ugly-sweater-male.xml
new file mode 100644
index 00000000..d3b1fa3d
--- /dev/null
+++ b/graphics/sprites/equipment/chest/ugly-sweater-male.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<sprite name="player" action="stand">
+ <imageset name="base" src="graphics/sprites/equipment/chest/ugly-sweater-male.png|W;Y;G;C" width="64" height="64"/>
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0"/>
+ </animation>
+ <animation direction="left">
+ <frame index="18"/>
+ </animation>
+ <animation direction="up">
+ <frame index="36"/>
+ </animation>
+ <animation direction="right">
+ <frame index="54"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="1" end="6" delay="75"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="19" end="24" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="37" end="42" delay="75"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="55" end="60" delay="75"/>
+ </animation>
+ </action>
+ <action name="sit" imageset="base">
+ <animation direction="down">
+ <frame index="7"/>
+ </animation>
+ <animation direction="left">
+ <frame index="25"/>
+ </animation>
+ <animation direction="up">
+ <frame index="43"/>
+ </animation>
+ <animation direction="right">
+ <frame index="61"/>
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="8"/>
+ </animation>
+ <animation direction="left">
+ <frame index="26"/>
+ </animation>
+ <animation direction="up">
+ <frame index="44"/>
+ </animation>
+ <animation direction="right">
+ <frame index="62"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="9" end="12" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="27" end="30" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="45" end="48" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="63" end="66" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="attack_bow" imageset="base">
+ <animation direction="down">
+ <sequence start="13" end="17" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="31" end="35" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="49" end="53" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="67" end="71" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/equipment/feet/assassin-boots-female.xml b/graphics/sprites/equipment/feet/assassin-boots-female.xml
index 1dfab109..7a6d419d 100644
--- a/graphics/sprites/equipment/feet/assassin-boots-female.xml
+++ b/graphics/sprites/equipment/feet/assassin-boots-female.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<sprite name="player" action="stand">
- <imageset name="base" src="graphics/sprites/equipment/feet/assassin-boots-female.png" width="64" height="64"/>
+ <imageset name="base" src="graphics/sprites/equipment/feet/assassin-boots-female.png|W;" width="64" height="64"/>
<include file="equipment/feet/boots-female.xml"/>
</sprite>
diff --git a/graphics/sprites/equipment/feet/assassin-boots-male.xml b/graphics/sprites/equipment/feet/assassin-boots-male.xml
index 16052639..596868ce 100644
--- a/graphics/sprites/equipment/feet/assassin-boots-male.xml
+++ b/graphics/sprites/equipment/feet/assassin-boots-male.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<sprite name="player" action="stand">
- <imageset name="base" src="graphics/sprites/equipment/feet/assassin-boots-male.png" width="64" height="64"/>
+ <imageset name="base" src="graphics/sprites/equipment/feet/assassin-boots-male.png|W;" width="64" height="64"/>
<include file="equipment/feet/boots-male.xml"/>
</sprite>
diff --git a/graphics/sprites/equipment/head/christmastree.xml b/graphics/sprites/equipment/head/christmastree.xml
index 1c3da7ca..9aa9a943 100644
--- a/graphics/sprites/equipment/head/christmastree.xml
+++ b/graphics/sprites/equipment/head/christmastree.xml
@@ -3,31 +3,31 @@
<imageset name="base" src="graphics/sprites/equipment/head/christmastree.png" width="80" height="51"/>
<action name="stand" imageset="base">
<animation direction="down">
- <frame index="0" offsetX="0" offsetY="-29"/>
+ <frame index="0" offsetX="0" offsetY="-27"/>
</animation>
<animation direction="left">
- <frame index="1" offsetX="0" offsetY="-29"/>
+ <frame index="1" offsetX="0" offsetY="-28"/>
</animation>
<animation direction="up">
<frame index="2" offsetX="-2" offsetY="-25"/>
</animation>
<animation direction="right">
- <frame index="3" offsetX="0" offsetY="-29"/>
+ <frame index="3" offsetX="1" offsetY="-28"/>
</animation>
</action>
<action name="walk" imageset="base">
<animation direction="down">
- <frame index="0" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="0" offsetX="0" offsetY="-29" delay="150"/>
- <frame index="0" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="0" offsetX="0" offsetY="-29" delay="150"/>
+ <frame index="0" offsetX="0" offsetY="-26" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-27" delay="150"/>
+ <frame index="0" offsetX="0" offsetY="-26" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-27" delay="150"/>
</animation>
<animation direction="left">
- <frame index="1" offsetX="0" offsetY="-29" delay="75"/>
<frame index="1" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="1" offsetX="0" offsetY="-29" delay="150"/>
+ <frame index="1" offsetX="0" offsetY="-27" delay="75"/>
+ <frame index="1" offsetX="0" offsetY="-28" delay="150"/>
+ <frame index="1" offsetX="0" offsetY="-27" delay="75"/>
<frame index="1" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="1" offsetX="0" offsetY="-29" delay="75"/>
</animation>
<animation direction="up">
<frame index="2" offsetX="-2" offsetY="-25" delay="75"/>
@@ -36,26 +36,26 @@
<frame index="2" offsetX="-2" offsetY="-26" delay="150"/>
</animation>
<animation direction="right">
- <frame index="3" offsetX="0" offsetY="-29" delay="75"/>
<frame index="3" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="3" offsetX="0" offsetY="-29" delay="150"/>
+ <frame index="3" offsetX="0" offsetY="-27" delay="75"/>
+ <frame index="3" offsetX="0" offsetY="-28" delay="150"/>
+ <frame index="3" offsetX="0" offsetY="-27" delay="75"/>
<frame index="3" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="3" offsetX="0" offsetY="-29" delay="75"/>
</animation>
</action>
<action name="attack" imageset="base">
<animation direction="down">
- <frame index="0" offsetX="0" offsetY="-27" delay="75"/>
- <frame index="0" offsetX="0" offsetY="-28" delay="75"/>
<frame index="0" offsetX="0" offsetY="-25" delay="75"/>
- <frame index="0" offsetX="0" offsetY="-24" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-26" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-23" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-22" delay="75"/>
<end/>
</animation>
<animation direction="left">
+ <frame index="1" offsetX="4" offsetY="-29" delay="75"/>
<frame index="1" offsetX="4" offsetY="-30" delay="75"/>
- <frame index="1" offsetX="4" offsetY="-31" delay="75"/>
- <frame index="1" offsetX="0" offsetY="-28" delay="75"/>
- <frame index="1" offsetX="-1" offsetY="-27" delay="75"/>
+ <frame index="1" offsetX="0" offsetY="-27" delay="75"/>
+ <frame index="1" offsetX="-1" offsetY="-26" delay="75"/>
<end/>
</animation>
<animation direction="up">
@@ -64,23 +64,23 @@
<end/>
</animation>
<animation direction="right">
- <frame index="3" offsetX="-3" offsetY="-30" delay="75"/>
- <frame index="3" offsetX="-3" offsetY="-31" delay="75"/>
- <frame index="3" offsetX="0" offsetY="-28" delay="75"/>
+ <frame index="3" offsetX="-2" offsetY="-29" delay="75"/>
+ <frame index="3" offsetX="-2" offsetY="-30" delay="75"/>
<frame index="3" offsetX="1" offsetY="-27" delay="75"/>
+ <frame index="3" offsetX="2" offsetY="-26" delay="75"/>
<end/>
</animation>
</action>
<action name="attack_bow" imageset="base">
<animation direction="down">
- <frame index="0" offsetX="0" offsetY="-28" delay="225"/>
- <frame index="0" offsetX="0" offsetY="-27" delay="75"/>
- <frame index="0" offsetX="0" offsetY="-28" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-26" delay="225"/>
+ <frame index="0" offsetX="0" offsetY="-25" delay="75"/>
+ <frame index="0" offsetX="0" offsetY="-26" delay="75"/>
<end/>
</animation>
<animation direction="left">
- <frame index="1" offsetX="3" offsetY="-29" delay="225"/>
- <frame index="1" offsetX="5" offsetY="-30" delay="150"/>
+ <frame index="1" offsetX="3" offsetY="-28" delay="225"/>
+ <frame index="1" offsetX="5" offsetY="-29" delay="150"/>
<end/>
</animation>
<animation direction="up">
@@ -90,8 +90,8 @@
<end/>
</animation>
<animation direction="right">
- <frame index="3" offsetX="-3" offsetY="-29" delay="225"/>
- <frame index="3" offsetX="-5" offsetY="-30" delay="150"/>
+ <frame index="3" offsetX="-2" offsetY="-28" delay="225"/>
+ <frame index="3" offsetX="-4" offsetY="-29" delay="150"/>
<end/>
</animation>
</action>
@@ -100,13 +100,13 @@
<frame index="0" offsetX="0" offsetY="-17"/>
</animation>
<animation direction="left">
- <frame index="1" offsetX="4" offsetY="-20"/>
+ <frame index="1" offsetX="3" offsetY="-20"/>
</animation>
<animation direction="up">
<frame index="2" offsetX="-1" offsetY="-17"/>
</animation>
<animation direction="right">
- <frame index="3" offsetX="-6" offsetY="-20"/>
+ <frame index="3" offsetX="-5" offsetY="-20"/>
</animation>
</action>
<action name="dead" imageset="base">
diff --git a/graphics/sprites/equipment/head/nutcrackerhat.png b/graphics/sprites/equipment/head/nutcrackerhat.png
new file mode 100644
index 00000000..b13555ea
--- /dev/null
+++ b/graphics/sprites/equipment/head/nutcrackerhat.png
Binary files differ
diff --git a/graphics/sprites/equipment/head/nutcrackerhat.xml b/graphics/sprites/equipment/head/nutcrackerhat.xml
new file mode 100644
index 00000000..94a55f5e
--- /dev/null
+++ b/graphics/sprites/equipment/head/nutcrackerhat.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/sprites/equipment/head/nutcrackerhat.png" width="19" height="32"/>
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-46"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="-2" offsetY="-46"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="1" offsetY="-46"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-46" delay="150"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-46" delay="150"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-45" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-46" delay="150"/>
+ <frame index="1" offsetX="-2" offsetY="-45" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-46" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="2" offsetX="-2" offsetY="-47" delay="150"/>
+ <frame index="2" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="2" offsetX="-2" offsetY="-47" delay="150"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="1" offsetY="-46" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-46" delay="150"/>
+ <frame index="3" offsetX="1" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-46" delay="75"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-44" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-42" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-41" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="2" offsetY="-47" delay="75"/>
+ <frame index="1" offsetX="2" offsetY="-48" delay="75"/>
+ <frame index="1" offsetX="0" offsetY="-46" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-3" offsetY="-46" delay="225"/>
+ <frame index="2" offsetX="-3" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-2" offsetY="-47" delay="75"/>
+ <frame index="3" offsetX="-1" offsetY="-48" delay="75"/>
+ <frame index="3" offsetX="0" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="attack_bow" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-45" delay="225"/>
+ <frame index="0" offsetX="-1" offsetY="-44" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="1" offsetY="-47" delay="225"/>
+ <frame index="1" offsetX="3" offsetY="-48" delay="150"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46" delay="225"/>
+ <frame index="2" offsetX="-4" offsetY="-45" delay="75"/>
+ <frame index="2" offsetX="-4" offsetY="-46" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-1" offsetY="-47" delay="225"/>
+ <frame index="3" offsetX="-3" offsetY="-48" delay="150"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="sit" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-34"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="2" offsetY="-37"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-1" offsetY="-38"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-5" offsetY="-37"/>
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation direction="default">
+ <frame index="4" offsetX="37" offsetY="-10"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-nose.png b/graphics/sprites/monsters/accessories/mouboo-red-nose.png
new file mode 100644
index 00000000..63857cb3
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-nose.png
Binary files differ
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-nose.xml b/graphics/sprites/monsters/accessories/mouboo-red-nose.xml
new file mode 100644
index 00000000..297f18cf
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-nose.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/accessories/mouboo-red-nose.png" width="80" height="80"/>
+ <include file="monsters/mouboo.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-saddle.png b/graphics/sprites/monsters/accessories/mouboo-red-saddle.png
new file mode 100644
index 00000000..1e0973cf
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-saddle.png
Binary files differ
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-saddle.xml b/graphics/sprites/monsters/accessories/mouboo-red-saddle.xml
new file mode 100644
index 00000000..fd2ce1e7
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-saddle.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/accessories/mouboo-red-saddle.png" width="80" height="80"/>
+ <include file="monsters/mouboo.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-shoes.png b/graphics/sprites/monsters/accessories/mouboo-red-shoes.png
new file mode 100644
index 00000000..9e2f2dad
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-shoes.png
Binary files differ
diff --git a/graphics/sprites/monsters/accessories/mouboo-red-shoes.xml b/graphics/sprites/monsters/accessories/mouboo-red-shoes.xml
new file mode 100644
index 00000000..4b48e8df
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-red-shoes.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/accessories/mouboo-red-shoes.png" width="80" height="80"/>
+ <include file="monsters/mouboo.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/mouboo-santa-hat.png b/graphics/sprites/monsters/accessories/mouboo-santa-hat.png
new file mode 100644
index 00000000..b1b89788
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-santa-hat.png
Binary files differ
diff --git a/graphics/sprites/monsters/accessories/mouboo-santa-hat.xml b/graphics/sprites/monsters/accessories/mouboo-santa-hat.xml
new file mode 100644
index 00000000..ed788518
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/mouboo-santa-hat.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/accessories/mouboo-santa-hat.png" width="80" height="80"/>
+ <include file="monsters/mouboo.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/nutcrackerhair.xml b/graphics/sprites/monsters/accessories/nutcrackerhair.xml
new file mode 100644
index 00000000..06e403c8
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/nutcrackerhair.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/sprites/hairstyles/hairstyle07.png|W" width="40" height="40"/>
+ <include file="hairstyles/hairstyle01.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/nutcrackerhat.xml b/graphics/sprites/monsters/accessories/nutcrackerhat.xml
new file mode 100644
index 00000000..94a55f5e
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/nutcrackerhat.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/sprites/equipment/head/nutcrackerhat.png" width="19" height="32"/>
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-46"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="-2" offsetY="-46"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="1" offsetY="-46"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-46" delay="150"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-46" delay="150"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-45" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-46" delay="150"/>
+ <frame index="1" offsetX="-2" offsetY="-45" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-46" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="2" offsetX="-2" offsetY="-47" delay="150"/>
+ <frame index="2" offsetX="-2" offsetY="-46" delay="75"/>
+ <frame index="2" offsetX="-2" offsetY="-47" delay="150"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="1" offsetY="-46" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-46" delay="150"/>
+ <frame index="3" offsetX="1" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-46" delay="75"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-44" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-42" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-41" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="2" offsetY="-47" delay="75"/>
+ <frame index="1" offsetX="2" offsetY="-48" delay="75"/>
+ <frame index="1" offsetX="0" offsetY="-46" delay="75"/>
+ <frame index="1" offsetX="-2" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-3" offsetY="-46" delay="225"/>
+ <frame index="2" offsetX="-3" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-2" offsetY="-47" delay="75"/>
+ <frame index="3" offsetX="-1" offsetY="-48" delay="75"/>
+ <frame index="3" offsetX="0" offsetY="-45" delay="75"/>
+ <frame index="3" offsetX="1" offsetY="-44" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="attack_bow" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-45" delay="225"/>
+ <frame index="0" offsetX="-1" offsetY="-44" delay="75"/>
+ <frame index="0" offsetX="-1" offsetY="-45" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="1" offsetY="-47" delay="225"/>
+ <frame index="1" offsetX="3" offsetY="-48" delay="150"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-2" offsetY="-46" delay="225"/>
+ <frame index="2" offsetX="-4" offsetY="-45" delay="75"/>
+ <frame index="2" offsetX="-4" offsetY="-46" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-1" offsetY="-47" delay="225"/>
+ <frame index="3" offsetX="-3" offsetY="-48" delay="150"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="sit" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetX="-1" offsetY="-34"/>
+ </animation>
+ <animation direction="left">
+ <frame index="1" offsetX="2" offsetY="-37"/>
+ </animation>
+ <animation direction="up">
+ <frame index="2" offsetX="-1" offsetY="-38"/>
+ </animation>
+ <animation direction="right">
+ <frame index="3" offsetX="-5" offsetY="-37"/>
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation direction="default">
+ <frame index="4" offsetX="37" offsetY="-10"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/monsters/accessories/slime-bubble.png b/graphics/sprites/monsters/accessories/slime-bubble.png
new file mode 100644
index 00000000..78d92547
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/slime-bubble.png
Binary files differ
diff --git a/graphics/sprites/monsters/accessories/slime-bubble.xml b/graphics/sprites/monsters/accessories/slime-bubble.xml
new file mode 100644
index 00000000..50df3329
--- /dev/null
+++ b/graphics/sprites/monsters/accessories/slime-bubble.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/sprites/monsters/accessories/slime-bubble.png|W" width="32" height="25" />
+ <action name="stand" imageset="base">
+ <animation>
+ <sequence start="0" end="2" offsetY="-7" delay="200"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation>
+ <sequence start="0" end="2" offsetY="-7" delay="200"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation>
+ <sequence start="0" end="2" offsetY="-7" delay="200"/>
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation>
+ <frame index="3" />
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/monsters/christmas-mouboo.png b/graphics/sprites/monsters/christmas-mouboo.png
new file mode 100644
index 00000000..025d0513
--- /dev/null
+++ b/graphics/sprites/monsters/christmas-mouboo.png
Binary files differ
diff --git a/graphics/sprites/monsters/christmas-mouboo.xml b/graphics/sprites/monsters/christmas-mouboo.xml
new file mode 100644
index 00000000..aa6700c8
--- /dev/null
+++ b/graphics/sprites/monsters/christmas-mouboo.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/christmas-mouboo.png" width="80" height="80"/>
+ <include file="monsters/mouboo.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/nutcracker.png b/graphics/sprites/monsters/nutcracker.png
new file mode 100644
index 00000000..cca8dd37
--- /dev/null
+++ b/graphics/sprites/monsters/nutcracker.png
Binary files differ
diff --git a/graphics/sprites/monsters/nutcracker.xml b/graphics/sprites/monsters/nutcracker.xml
new file mode 100644
index 00000000..9915599e
--- /dev/null
+++ b/graphics/sprites/monsters/nutcracker.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<sprite name="nutcracker" action="stand" variants="72" variant_offset="1">
+ <imageset name="base" src="graphics/sprites/monsters/nutcracker.png" width="64" height="64"/>
+ <include file="player_male_base.xml"/>
+</sprite>
diff --git a/graphics/sprites/monsters/penguin.png b/graphics/sprites/monsters/penguin.png
new file mode 100644
index 00000000..336bcab8
--- /dev/null
+++ b/graphics/sprites/monsters/penguin.png
Binary files differ
diff --git a/graphics/sprites/monsters/penguin.xml b/graphics/sprites/monsters/penguin.xml
new file mode 100644
index 00000000..da9b4678
--- /dev/null
+++ b/graphics/sprites/monsters/penguin.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/sprites/monsters/penguin.png" width="29" height="29" />
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="1500" />
+ <frame index="2" delay="200" />
+ </animation>
+ <animation direction="left">
+ <frame index="44" delay="1500" />
+ <frame index="46" delay="200" />
+ </animation>
+ <animation direction="up">
+ <frame index="32" delay="1500" />
+ <frame index="34" delay="200" />
+ </animation>
+ <animation direction="right">
+ <frame index="20" delay="1500" />
+ <frame index="22" delay="200" />
+ </animation>
+ <animation direction="downleft">
+ <frame index="56" delay="1500" />
+ <frame index="58" delay="200" />
+ </animation>
+ <animation direction="downright">
+ <frame index="8" delay="1500" />
+ <frame index="10" delay="200" />
+ </animation>
+ <animation direction="upleft">
+ <frame index="40" delay="1500" />
+ <frame index="42" delay="200" />
+ </animation>
+ <animation direction="upright">
+ <frame index="24" delay="1500" />
+ <frame index="26" delay="200" />
+ </animation>
+ </action>
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="0" end="3" delay="200" />
+ </animation>
+ <animation direction="left">
+ <sequence start="44" end="47" delay="200" />
+ </animation>
+ <animation direction="up">
+ <sequence start="32" end="35" delay="200" />
+ </animation>
+ <animation direction="right">
+ <sequence start="20" end="23" delay="200" />
+ </animation>
+ <animation direction="downleft">
+ <sequence start="56" end="59" delay="200" />
+ </animation>
+ <animation direction="downright">
+ <sequence start="8" end="11" delay="200" />
+ </animation>
+ <animation direction="upleft">
+ <sequence start="40" end="43" delay="200" />
+ </animation>
+ <animation direction="upright">
+ <sequence start="24" end="27" delay="200" />
+ </animation>
+ </action>
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="1" end="2" delay="10" offsetY="-5" />
+ </animation>
+ <animation direction="left">
+ <sequence start="45" end="46" delay="10" offsetY="-5" />
+ </animation>
+ <animation direction="up">
+ <sequence start="33" end="34" delay="10" offsetY="-5" />
+ </animation>
+ <animation direction="right">
+ <sequence start="20" end="21" delay="10" offsetY="-5" />
+ </animation>
+ </action>
+ <action name="dead" imageset="base">
+ <animation>
+ <sequence start="0" end="63" delay="10" />
+ <frame index="0" delay="10" />
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/christmastree.png b/graphics/sprites/npcs/christmastree.png
new file mode 100644
index 00000000..b2404f44
--- /dev/null
+++ b/graphics/sprites/npcs/christmastree.png
Binary files differ
diff --git a/graphics/sprites/npcs/christmastree.xml b/graphics/sprites/npcs/christmastree.xml
new file mode 100644
index 00000000..00cf7748
--- /dev/null
+++ b/graphics/sprites/npcs/christmastree.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="1" variant_offset="1">
+ <imageset name="base" src="graphics/sprites/npcs/christmastree.png" width="192" height="256"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame offsetX="18" offsetY="18" index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/palm-tree.xml b/graphics/sprites/npcs/palm-tree.xml
new file mode 100644
index 00000000..4cb3ed48
--- /dev/null
+++ b/graphics/sprites/npcs/palm-tree.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="1" variant_offset="1">
+ <imageset name="base" src="graphics/tiles/desert_x5.png" width="98" height="160"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/present.xml b/graphics/sprites/npcs/present.xml
new file mode 100644
index 00000000..e32272b1
--- /dev/null
+++ b/graphics/sprites/npcs/present.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="base" src="graphics/items/generic/presentbox.png|R;W;" width="32" height="32"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/snowtree.xml b/graphics/sprites/npcs/snowtree.xml
new file mode 100644
index 00000000..6b01e4b7
--- /dev/null
+++ b/graphics/sprites/npcs/snowtree.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="4" variant_offset="1">
+ <imageset name="base" src="graphics/tiles/Snow_tree_x3.png" width="64" height="96"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame offsetX="18" index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/tree.xml b/graphics/sprites/npcs/tree.xml
new file mode 100644
index 00000000..79f4fa7b
--- /dev/null
+++ b/graphics/sprites/npcs/tree.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="3" variant_offset="1">
+ <imageset name="base" src="graphics/tiles/Woodland_x3.png" width="64" height="96"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/xmas-palm.png b/graphics/sprites/npcs/xmas-palm.png
new file mode 100644
index 00000000..8c9ef5bb
--- /dev/null
+++ b/graphics/sprites/npcs/xmas-palm.png
Binary files differ
diff --git a/graphics/sprites/npcs/xmas-palm.xml b/graphics/sprites/npcs/xmas-palm.xml
new file mode 100644
index 00000000..f266b048
--- /dev/null
+++ b/graphics/sprites/npcs/xmas-palm.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="1" variant_offset="1">
+ <imageset name="base" src="graphics/sprites/npcs/xmas-palm.png" width="95" height="144"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0"/>
+ </animation>
+ </action>
+</sprite>
diff --git a/graphics/sprites/npcs/xmastree-nosnow.png b/graphics/sprites/npcs/xmastree-nosnow.png
new file mode 100644
index 00000000..96975aa8
--- /dev/null
+++ b/graphics/sprites/npcs/xmastree-nosnow.png
Binary files differ
diff --git a/graphics/sprites/npcs/xmastree-nosnow.xml b/graphics/sprites/npcs/xmastree-nosnow.xml
new file mode 100644
index 00000000..0065606a
--- /dev/null
+++ b/graphics/sprites/npcs/xmastree-nosnow.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<sprite variants="1" variant_offset="1">
+ <imageset name="base" src="graphics/sprites/npcs/xmastree-nosnow.png" width="128" height="192"/>
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame offsetY="18" index="0"/>
+ </animation>
+ </action>
+</sprite>