diff options
-rwxr-xr-x | spritesdedup/spritesdedup.py | 101 | ||||
-rw-r--r-- | testxml/report.txt | 705 |
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 |