summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xspritesdedup/spritesdedup.py101
-rw-r--r--testxml/report.txt705
2 files changed, 101 insertions, 705 deletions
diff --git a/spritesdedup/spritesdedup.py b/spritesdedup/spritesdedup.py
new file mode 100755
index 0000000..fc89137
--- /dev/null
+++ b/spritesdedup/spritesdedup.py
@@ -0,0 +1,101 @@
+#! /usr/bin/env python2.6
+# -*- coding: utf8 -*-
+#
+# Copyright (C) 2011 Evol Online
+
+import os
+import re
+
+parentDir = "../../clientdata"
+filt = re.compile(".+[.](xml|tmx)", re.IGNORECASE)
+filtframe = re.compile(".+(<frame |<sequence )", re.IGNORECASE)
+redelay = re.compile(".+delay=[\"](?P<delay>[^\"]+)[\"]")
+
+def haveXml(dir):
+ if not os.path.isdir(dir) or not os.path.exists(dir):
+ return False
+ for file in os.listdir(dir):
+ if filt.search(file):
+ return True
+ return False
+
+
+def detectClientData(dirs):
+ global parentDir
+ for dir in dirs:
+ if haveXml(dir):
+ print "Detected client data directory in: " + dir
+ parentDir = dir
+ return True
+ print "Cant detect client data directory"
+ exit(1)
+
+
+def processXmls(spritesDir):
+ files = os.listdir(spritesDir)
+ for file1 in files:
+ if file1[0] == ".":
+ continue
+ file2 = os.path.abspath(spritesDir + os.path.sep + file1)
+ if not os.path.isfile(file2):
+ processXmls(file2)
+ elif filt.search(file1):
+ processFile(file2, file1)
+
+
+def processFile(file2, file1):
+ arr = list()
+ with open(file2, "r") as f:
+ for line in f:
+ arr.append(line)
+
+ idx = 0
+ firstIdx = 0
+ lastLine = ""
+ changed = False
+ while idx < len(arr):
+ if filtframe.search(arr[idx]):
+ firstIdx = idx
+ lastLine = arr[idx]
+ dat = findOtherLine(arr, idx)
+
+ idx = dat[0]
+ delay = dat[1]
+ if delay == 0 or firstIdx + 1 >= idx:
+ idx = firstIdx + 1
+ continue
+ m = redelay.search(lastLine)
+ string = lastLine[0:m.start(1)] + str(delay) + lastLine[m.end(1):len(lastLine)]
+ arr[firstIdx:idx] = string
+ changed = True
+ idx = firstIdx
+
+ idx = idx + 1
+
+ if changed == True:
+ print "Fixing: " + file1
+ with open(file2, "w") as f:
+ for line in arr:
+ f.write(line)
+
+
+def findOtherLine(arr, idx):
+ firstIdx = idx
+ delay = 0
+ while idx < len(arr):
+ if arr[idx] != arr[firstIdx]:
+ return (idx, delay)
+ else:
+ m = redelay.search(arr[idx])
+ if m is None:
+ return (idx, delay)
+ delay = delay + int(m.group("delay"))
+ idx = idx + 1
+
+ return (firstIdx, 0)
+
+
+print "Detecting clientdata dir"
+detectClientData([".", "..", parentDir])
+processXmls(parentDir + "/graphics/sprites/")
+
diff --git a/testxml/report.txt b/testxml/report.txt
deleted file mode 100644
index d160a82..0000000
--- a/testxml/report.txt
+++ /dev/null
@@ -1,705 +0,0 @@
-Evol client data validator.
-Run at: 2011-01-29T23:13:48.974157
-http://www.gitorious.org/evol/evol-tools/blobs/master/testxml/testxml.py
---------------------------------------------------------------------------------
-Detecting clientdata dir
-Detected client data directory in: ../../clientdata
-Checking xml file syntax
-Checking items.xml
-warn: sprite=graphics/sprites/equipment/head/blackcowboy hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/brass helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/bunny ears.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/cap.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/caporal helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/captain cap.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/cat ears.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/christmastree hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/circlet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/crown.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/crusade helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/death mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/demon mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/desert helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/easterfunky hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/eggshell hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/elf hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/evilpinkie hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/eyepatch.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/fairy hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/fancy hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/flamehead mask.xml unused frames: 23,24
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/fluffy hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/funky hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/funkypurple hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/gladiator helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/gm cap.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/graduation cap.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/guyfawkes mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/headband.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=3 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=2 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=3 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=3 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/heart googles.xml duplicate frame animation for frame index=2 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/infantry helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/knight helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/miners hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/monocle.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/monsterskull helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/mouboo head.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/moubootaur head.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/mushroom hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/ninja band.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/noh mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/overlord helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/paladin helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/pan hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/paperbag hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/parsley earplugs.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/pinkie hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/pirate hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/princess crown.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/puceoie hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/pumpkin helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/queen crown.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/rabbit ears.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/ranger hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/sailor cap.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/santa hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/santabeard hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/serf hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/shroom hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/skull mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/snake hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=3 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=2 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=3 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=3 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/snow goggles.xml duplicate frame animation for frame index=2 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=2 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=1 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=1 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/terranite helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/thief helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/top hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/valkyrie helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/visor helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/warlord helmet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/wedding circlet.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/whitecowboy hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/witchdoctor mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=2 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=1 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=1 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/witch hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/wizard hat.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/hair bow.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/opera mask.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/head/squirrelfur head.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=0 action: walk, direction: down
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=1 action: walk, direction: left
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=2 action: walk, direction: up
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=3 action: walk, direction: right
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=2 action: attack, direction: up
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=0 action: attack_bow, direction: down
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=1 action: attack_bow, direction: left
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=2 action: attack_bow, direction: up
-warn: sprite=graphics/sprites/equipment/neck/veil.xml duplicate frame animation for frame index=3 action: attack_bow, direction: right
-Checking monsters.xml
-warn: sprite=graphics/sprites/monsters/squirrel.xml duplicate sequence animation for start=16, end=19 action: stand, direction: down
-warn: sprite=graphics/sprites/monsters/squirrel.xml duplicate sequence animation for start=0, end=3 action: stand, direction: right
-warn: sprite=graphics/sprites/monsters/squirrel.xml duplicate sequence animation for start=24, end=27 action: stand, direction: up
-warn: sprite=graphics/sprites/monsters/squirrel.xml duplicate sequence animation for start=8, end=11 action: stand, direction: left
-warn: sprite=graphics/sprites/monsters/squirrel.xml duplicate sequence animation for start=54, end=55 action: dead, direction: default
-warn: sprite=graphics/sprites/monsters/squirrel.xml unused frames: 35,37,43,45,51,53,59
-warn: file=graphics/particles/hive.particle.xml missing particle tags
-Checking npcs.xml
-error: sprite=graphics/sprites/npcs/npc.xml missing variants attribute in sprite
-error: sprite=graphics/sprites/npcs/npcguard.xml missing variants attribute in sprite
-warn: sprite=graphics/sprites/npcs/creepysurgeon.xml unused frames: 17,18
-error: sprite=graphics/sprites/npcs/portal.xml incorrect end sequence index 12 action: stand, direction: default
-error: sprite=graphics/sprites/npcs/royalclock.xml incorrect frame index 5 aciton: stand, direction: default
-warn: sprite=graphics/sprites/npcs/creepysurgeon-2.xml unused frames: 10,11,17,18
-Checking maps
---------------------------------------------------------------------------------
-Total:
- Warnings: 686
- Errors: 4