summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-10 00:45:07 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-10 00:45:07 -0300
commitc6095ad062eaa0f5576cfab1c4fe436b90c2fbfe (patch)
tree742dd839971d2aab1f08fd0291af66e6439646ab /client
downloadmessworld-tools-c6095ad062eaa0f5576cfab1c4fe436b90c2fbfe.tar.gz
messworld-tools-c6095ad062eaa0f5576cfab1c4fe436b90c2fbfe.tar.bz2
messworld-tools-c6095ad062eaa0f5576cfab1c4fe436b90c2fbfe.tar.xz
messworld-tools-c6095ad062eaa0f5576cfab1c4fe436b90c2fbfe.zip
Add initial tools
Diffstat (limited to 'client')
-rwxr-xr-xclient/dailylogin.py86
-rwxr-xr-xclient/minimap-dyecmd.py18
-rwxr-xr-xclient/minimap-dyecmd.sh261
-rw-r--r--client/minimap-override/008-3-0.pngbin0 -> 10671 bytes
-rwxr-xr-xclient/minimap-render.py165
-rwxr-xr-xclient/weapons.py89
6 files changed, 619 insertions, 0 deletions
diff --git a/client/dailylogin.py b/client/dailylogin.py
new file mode 100755
index 0000000..fc9296f
--- /dev/null
+++ b/client/dailylogin.py
@@ -0,0 +1,86 @@
+#!/usr/bin/python2.7
+
+# Setup
+x=y=0
+i=j=0
+
+# Functions
+def headers(val):
+ return '\n\t<dialog name="daily_%d" hideText="true">\n\t\t<menu>\n\t\t\t<text x="45" y="0" width="310" height="30" text="##BDaily Login Rewards##b" />\n <button x="157" y="280" name="Claim" value="Ok" />\n\n' % val
+
+def tail():
+ return '\n\t\t</menu>\n\t</dialog>\n'
+
+def override_check(vl, over, text1, text2):
+ global j
+ if not over:
+ j=0
+ return '\t\t\t<image %s image="graphics/images/%s.png" />\n' % (text1, text2)
+ else:
+ j+=1
+ if (j == vl):
+ return '\t\t\t<image %s image="graphics/images/done.png" />\n' % (text1)
+ elif (j < vl):
+ return '\t\t\t<image %s image="graphics/images/ok.png" />\n' % (text1)
+ else:
+ return ""
+
+def spammer(val, override=False):
+ bf=""
+
+ bf+=override_check(val, override, 'x="35" y="35"', 'jexp')
+ bf+=override_check(val, override, 'x="70" y="35"', 'bexp')
+ bf+=override_check(val, override, 'x="105" y="35"', 'sc')
+ bf+=override_check(val, override, 'x="140" y="35"', 'jexp')
+ bf+=override_check(val, override, 'x="175" y="35"', 'bexp')
+
+ bf+=override_check(val, override, 'x="35" y="70"', 'gp')
+ bf+=override_check(val, override, 'x="70" y="70"', 'sc')
+ bf+=override_check(val, override, 'x="105" y="70"', 'bexp')
+ bf+=override_check(val, override, 'x="140" y="70"', 'gp')
+ bf+=override_check(val, override, 'x="175" y="70"', 'jexp')
+
+ bf+=override_check(val, override, 'x="35" y="105"', 'bexp')
+ bf+=override_check(val, override, 'x="70" y="105"', 'gp')
+ bf+=override_check(val, override, 'x="105" y="105"', 'jexp')
+ bf+=override_check(val, override, 'x="140" y="105"', 'gift')
+ bf+=override_check(val, override, 'x="175" y="105"', 'gp')
+
+ bf+=override_check(val, override, 'x="35" y="140"', 'jexp')
+ bf+=override_check(val, override, 'x="70" y="140"', 'bexp')
+ bf+=override_check(val, override, 'x="105" y="140"', 'gp')
+ bf+=override_check(val, override, 'x="140" y="140"', 'jexp')
+ bf+=override_check(val, override, 'x="175" y="140"', 'bexp')
+
+ bf+=override_check(val, override, 'x="35" y="175"', 'gift')
+ bf+=override_check(val, override, 'x="70" y="175"', 'jexp')
+ bf+=override_check(val, override, 'x="105" y="175"', 'bexp')
+ bf+=override_check(val, override, 'x="140" y="175"', 'gp')
+ bf+=override_check(val, override, 'x="175" y="175"', 'jexp')
+
+ bf+=override_check(val, override, 'x="35" y="210"', 'bexp')
+ bf+=override_check(val, override, 'x="70" y="210"', 'gp')
+ bf+=override_check(val, override, 'x="105" y="210"', 'last')
+ bf+=override_check(val, override, 'x="140" y="210"', 'sc')
+ bf+=override_check(val, override, 'x="175" y="210"', 'sc')
+
+ bf+=override_check(val, override, 'x="35" y="245"', 'sc')
+
+ return bf
+
+# Begin
+f=open("daily.tmp", "w")
+
+f.write('<?xml version="1.0" encoding="utf-8"?>\n<!-- This file is generated automatically, editing it will have no effect.\n (C) Jesusalva, 2019 -->\n<dialogs>')
+
+while (i < 31):
+ i+=1
+ f.write(headers(i))
+ f.write(spammer(i, False))
+ f.write('\n\t\t\t<image x="245" y="52" image="graphics/images/final.png" />\n\n\t\t\t<!-- Complete -->\n')
+ f.write(spammer(i, True))
+ f.write(tail())
+
+f.write('\n</dialogs>')
+f.close()
+
diff --git a/client/minimap-dyecmd.py b/client/minimap-dyecmd.py
new file mode 100755
index 0000000..8f3e0c7
--- /dev/null
+++ b/client/minimap-dyecmd.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+import os
+f=open("minimap-dyecmd.sh", "w");
+CLIENT_DATA_ROOT="../../client-data"
+
+map_names = sorted([os.path.splitext(p)[0] for p in os.listdir(os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps'))])
+
+f.write('cd '+os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps')+'\n')
+for c in map_names:
+ if os.path.exists(os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps', c+u'.png')):
+ i=c+u'.png'
+ f.write("dyecmd %s tmp ; mv tmp %s\n" % (i, i))
+ f.write("echo \"Converted "+i+" successfully.\"\n")
+
+#f.write("git checkout -- minimap-dyecmd.sh")
+f.close()
diff --git a/client/minimap-dyecmd.sh b/client/minimap-dyecmd.sh
new file mode 100755
index 0000000..4c3f1e0
--- /dev/null
+++ b/client/minimap-dyecmd.sh
@@ -0,0 +1,261 @@
+cd ../../client-data/graphics/minimaps
+dyecmd 000-1.png tmp ; mv tmp 000-1.png
+echo "Converted 000-1.png successfully."
+dyecmd 001-1.png tmp ; mv tmp 001-1.png
+echo "Converted 001-1.png successfully."
+dyecmd 001-2.png tmp ; mv tmp 001-2.png
+echo "Converted 001-2.png successfully."
+dyecmd 001-3.png tmp ; mv tmp 001-3.png
+echo "Converted 001-3.png successfully."
+dyecmd 002-1.png tmp ; mv tmp 002-1.png
+echo "Converted 002-1.png successfully."
+dyecmd 002-2.png tmp ; mv tmp 002-2.png
+echo "Converted 002-2.png successfully."
+dyecmd 002-3.png tmp ; mv tmp 002-3.png
+echo "Converted 002-3.png successfully."
+dyecmd 002-4.png tmp ; mv tmp 002-4.png
+echo "Converted 002-4.png successfully."
+dyecmd 002-5.png tmp ; mv tmp 002-5.png
+echo "Converted 002-5.png successfully."
+dyecmd 003-1.png tmp ; mv tmp 003-1.png
+echo "Converted 003-1.png successfully."
+dyecmd 003-4.png tmp ; mv tmp 003-4.png
+echo "Converted 003-4.png successfully."
+dyecmd 004-1.png tmp ; mv tmp 004-1.png
+echo "Converted 004-1.png successfully."
+dyecmd 004-3.png tmp ; mv tmp 004-3.png
+echo "Converted 004-3.png successfully."
+dyecmd 004-4.png tmp ; mv tmp 004-4.png
+echo "Converted 004-4.png successfully."
+dyecmd 004-5.png tmp ; mv tmp 004-5.png
+echo "Converted 004-5.png successfully."
+dyecmd 005-3.png tmp ; mv tmp 005-3.png
+echo "Converted 005-3.png successfully."
+dyecmd 006-1.png tmp ; mv tmp 006-1.png
+echo "Converted 006-1.png successfully."
+dyecmd 006-2.png tmp ; mv tmp 006-2.png
+echo "Converted 006-2.png successfully."
+dyecmd 006-3.png tmp ; mv tmp 006-3.png
+echo "Converted 006-3.png successfully."
+dyecmd 007-1.png tmp ; mv tmp 007-1.png
+echo "Converted 007-1.png successfully."
+dyecmd 007-2.png tmp ; mv tmp 007-2.png
+echo "Converted 007-2.png successfully."
+dyecmd 008-1.png tmp ; mv tmp 008-1.png
+echo "Converted 008-1.png successfully."
+dyecmd 009-1.png tmp ; mv tmp 009-1.png
+echo "Converted 009-1.png successfully."
+dyecmd 009-2.png tmp ; mv tmp 009-2.png
+echo "Converted 009-2.png successfully."
+dyecmd 009-3.png tmp ; mv tmp 009-3.png
+echo "Converted 009-3.png successfully."
+dyecmd 009-4.png tmp ; mv tmp 009-4.png
+echo "Converted 009-4.png successfully."
+dyecmd 009-5.png tmp ; mv tmp 009-5.png
+echo "Converted 009-5.png successfully."
+dyecmd 009-6.png tmp ; mv tmp 009-6.png
+echo "Converted 009-6.png successfully."
+dyecmd 009-7.png tmp ; mv tmp 009-7.png
+echo "Converted 009-7.png successfully."
+dyecmd 009-8.png tmp ; mv tmp 009-8.png
+echo "Converted 009-8.png successfully."
+dyecmd 010-1.png tmp ; mv tmp 010-1.png
+echo "Converted 010-1.png successfully."
+dyecmd 010-2.png tmp ; mv tmp 010-2.png
+echo "Converted 010-2.png successfully."
+dyecmd 011-1.png tmp ; mv tmp 011-1.png
+echo "Converted 011-1.png successfully."
+dyecmd 011-3.png tmp ; mv tmp 011-3.png
+echo "Converted 011-3.png successfully."
+dyecmd 011-4.png tmp ; mv tmp 011-4.png
+echo "Converted 011-4.png successfully."
+dyecmd 011-6.png tmp ; mv tmp 011-6.png
+echo "Converted 011-6.png successfully."
+dyecmd 012-1.png tmp ; mv tmp 012-1.png
+echo "Converted 012-1.png successfully."
+dyecmd 012-3.png tmp ; mv tmp 012-3.png
+echo "Converted 012-3.png successfully."
+dyecmd 012-4.png tmp ; mv tmp 012-4.png
+echo "Converted 012-4.png successfully."
+dyecmd 013-1.png tmp ; mv tmp 013-1.png
+echo "Converted 013-1.png successfully."
+dyecmd 013-2.png tmp ; mv tmp 013-2.png
+echo "Converted 013-2.png successfully."
+dyecmd 013-3.png tmp ; mv tmp 013-3.png
+echo "Converted 013-3.png successfully."
+dyecmd 014-1.png tmp ; mv tmp 014-1.png
+echo "Converted 014-1.png successfully."
+dyecmd 014-3.png tmp ; mv tmp 014-3.png
+echo "Converted 014-3.png successfully."
+dyecmd 015-1.png tmp ; mv tmp 015-1.png
+echo "Converted 015-1.png successfully."
+dyecmd 015-3.png tmp ; mv tmp 015-3.png
+echo "Converted 015-3.png successfully."
+dyecmd 016-1.png tmp ; mv tmp 016-1.png
+echo "Converted 016-1.png successfully."
+dyecmd 016-2.png tmp ; mv tmp 016-2.png
+echo "Converted 016-2.png successfully."
+dyecmd 017-1.png tmp ; mv tmp 017-1.png
+echo "Converted 017-1.png successfully."
+dyecmd 017-2.png tmp ; mv tmp 017-2.png
+echo "Converted 017-2.png successfully."
+dyecmd 017-3.png tmp ; mv tmp 017-3.png
+echo "Converted 017-3.png successfully."
+dyecmd 017-4.png tmp ; mv tmp 017-4.png
+echo "Converted 017-4.png successfully."
+dyecmd 017-9.png tmp ; mv tmp 017-9.png
+echo "Converted 017-9.png successfully."
+dyecmd 018-1.png tmp ; mv tmp 018-1.png
+echo "Converted 018-1.png successfully."
+dyecmd 018-2.png tmp ; mv tmp 018-2.png
+echo "Converted 018-2.png successfully."
+dyecmd 018-3.png tmp ; mv tmp 018-3.png
+echo "Converted 018-3.png successfully."
+dyecmd 019-1.png tmp ; mv tmp 019-1.png
+echo "Converted 019-1.png successfully."
+dyecmd 019-3.png tmp ; mv tmp 019-3.png
+echo "Converted 019-3.png successfully."
+dyecmd 019-4.png tmp ; mv tmp 019-4.png
+echo "Converted 019-4.png successfully."
+dyecmd 020-1.png tmp ; mv tmp 020-1.png
+echo "Converted 020-1.png successfully."
+dyecmd 020-2.png tmp ; mv tmp 020-2.png
+echo "Converted 020-2.png successfully."
+dyecmd 020-3.png tmp ; mv tmp 020-3.png
+echo "Converted 020-3.png successfully."
+dyecmd 021-3.png tmp ; mv tmp 021-3.png
+echo "Converted 021-3.png successfully."
+dyecmd 023-1.png tmp ; mv tmp 023-1.png
+echo "Converted 023-1.png successfully."
+dyecmd 023-2.png tmp ; mv tmp 023-2.png
+echo "Converted 023-2.png successfully."
+dyecmd 023-3.png tmp ; mv tmp 023-3.png
+echo "Converted 023-3.png successfully."
+dyecmd 025-1.png tmp ; mv tmp 025-1.png
+echo "Converted 025-1.png successfully."
+dyecmd 025-3.png tmp ; mv tmp 025-3.png
+echo "Converted 025-3.png successfully."
+dyecmd 025-4.png tmp ; mv tmp 025-4.png
+echo "Converted 025-4.png successfully."
+dyecmd 026-1.png tmp ; mv tmp 026-1.png
+echo "Converted 026-1.png successfully."
+dyecmd 026-2.png tmp ; mv tmp 026-2.png
+echo "Converted 026-2.png successfully."
+dyecmd 027-1.png tmp ; mv tmp 027-1.png
+echo "Converted 027-1.png successfully."
+dyecmd 027-2.png tmp ; mv tmp 027-2.png
+echo "Converted 027-2.png successfully."
+dyecmd 027-3.png tmp ; mv tmp 027-3.png
+echo "Converted 027-3.png successfully."
+dyecmd 027-4.png tmp ; mv tmp 027-4.png
+echo "Converted 027-4.png successfully."
+dyecmd 027-5.png tmp ; mv tmp 027-5.png
+echo "Converted 027-5.png successfully."
+dyecmd 027-6.png tmp ; mv tmp 027-6.png
+echo "Converted 027-6.png successfully."
+dyecmd 027-7.png tmp ; mv tmp 027-7.png
+echo "Converted 027-7.png successfully."
+dyecmd 027-8.png tmp ; mv tmp 027-8.png
+echo "Converted 027-8.png successfully."
+dyecmd 028-1.png tmp ; mv tmp 028-1.png
+echo "Converted 028-1.png successfully."
+dyecmd 028-3.png tmp ; mv tmp 028-3.png
+echo "Converted 028-3.png successfully."
+dyecmd 029-1.png tmp ; mv tmp 029-1.png
+echo "Converted 029-1.png successfully."
+dyecmd 029-2.png tmp ; mv tmp 029-2.png
+echo "Converted 029-2.png successfully."
+dyecmd 029-3.png tmp ; mv tmp 029-3.png
+echo "Converted 029-3.png successfully."
+dyecmd 029-4.png tmp ; mv tmp 029-4.png
+echo "Converted 029-4.png successfully."
+dyecmd 030-1.png tmp ; mv tmp 030-1.png
+echo "Converted 030-1.png successfully."
+dyecmd 030-2.png tmp ; mv tmp 030-2.png
+echo "Converted 030-2.png successfully."
+dyecmd 030-3.png tmp ; mv tmp 030-3.png
+echo "Converted 030-3.png successfully."
+dyecmd 030-4.png tmp ; mv tmp 030-4.png
+echo "Converted 030-4.png successfully."
+dyecmd 031-1.png tmp ; mv tmp 031-1.png
+echo "Converted 031-1.png successfully."
+dyecmd 031-2.png tmp ; mv tmp 031-2.png
+echo "Converted 031-2.png successfully."
+dyecmd 031-3.png tmp ; mv tmp 031-3.png
+echo "Converted 031-3.png successfully."
+dyecmd 031-4.png tmp ; mv tmp 031-4.png
+echo "Converted 031-4.png successfully."
+dyecmd 032-3.png tmp ; mv tmp 032-3.png
+echo "Converted 032-3.png successfully."
+dyecmd 033-1.png tmp ; mv tmp 033-1.png
+echo "Converted 033-1.png successfully."
+dyecmd 034-1.png tmp ; mv tmp 034-1.png
+echo "Converted 034-1.png successfully."
+dyecmd 034-2.png tmp ; mv tmp 034-2.png
+echo "Converted 034-2.png successfully."
+dyecmd 035-2.png tmp ; mv tmp 035-2.png
+echo "Converted 035-2.png successfully."
+dyecmd 036-2.png tmp ; mv tmp 036-2.png
+echo "Converted 036-2.png successfully."
+dyecmd 041-1.png tmp ; mv tmp 041-1.png
+echo "Converted 041-1.png successfully."
+dyecmd 042-1.png tmp ; mv tmp 042-1.png
+echo "Converted 042-1.png successfully."
+dyecmd 043-1.png tmp ; mv tmp 043-1.png
+echo "Converted 043-1.png successfully."
+dyecmd 043-3.png tmp ; mv tmp 043-3.png
+echo "Converted 043-3.png successfully."
+dyecmd 043-4.png tmp ; mv tmp 043-4.png
+echo "Converted 043-4.png successfully."
+dyecmd 045-1.png tmp ; mv tmp 045-1.png
+echo "Converted 045-1.png successfully."
+dyecmd 046-1.png tmp ; mv tmp 046-1.png
+echo "Converted 046-1.png successfully."
+dyecmd 046-3.png tmp ; mv tmp 046-3.png
+echo "Converted 046-3.png successfully."
+dyecmd 047-1.png tmp ; mv tmp 047-1.png
+echo "Converted 047-1.png successfully."
+dyecmd 047-3.png tmp ; mv tmp 047-3.png
+echo "Converted 047-3.png successfully."
+dyecmd 048-2.png tmp ; mv tmp 048-2.png
+echo "Converted 048-2.png successfully."
+dyecmd 051-1.png tmp ; mv tmp 051-1.png
+echo "Converted 051-1.png successfully."
+dyecmd 051-3.png tmp ; mv tmp 051-3.png
+echo "Converted 051-3.png successfully."
+dyecmd 052-1.png tmp ; mv tmp 052-1.png
+echo "Converted 052-1.png successfully."
+dyecmd 052-2.png tmp ; mv tmp 052-2.png
+echo "Converted 052-2.png successfully."
+dyecmd 055-1.png tmp ; mv tmp 055-1.png
+echo "Converted 055-1.png successfully."
+dyecmd 055-3.png tmp ; mv tmp 055-3.png
+echo "Converted 055-3.png successfully."
+dyecmd 056-2.png tmp ; mv tmp 056-2.png
+echo "Converted 056-2.png successfully."
+dyecmd 057-1.png tmp ; mv tmp 057-1.png
+echo "Converted 057-1.png successfully."
+dyecmd 069-2.png tmp ; mv tmp 069-2.png
+echo "Converted 069-2.png successfully."
+dyecmd 070-1.png tmp ; mv tmp 070-1.png
+echo "Converted 070-1.png successfully."
+dyecmd 070-3.png tmp ; mv tmp 070-3.png
+echo "Converted 070-3.png successfully."
+dyecmd 099-1.png tmp ; mv tmp 099-1.png
+echo "Converted 099-1.png successfully."
+dyecmd 099-2.png tmp ; mv tmp 099-2.png
+echo "Converted 099-2.png successfully."
+dyecmd 099-3.png tmp ; mv tmp 099-3.png
+echo "Converted 099-3.png successfully."
+dyecmd 099-4.png tmp ; mv tmp 099-4.png
+echo "Converted 099-4.png successfully."
+dyecmd 099-5.png tmp ; mv tmp 099-5.png
+echo "Converted 099-5.png successfully."
+dyecmd 099-6.png tmp ; mv tmp 099-6.png
+echo "Converted 099-6.png successfully."
+dyecmd 099-7.png tmp ; mv tmp 099-7.png
+echo "Converted 099-7.png successfully."
+dyecmd 099-8.png tmp ; mv tmp 099-8.png
+echo "Converted 099-8.png successfully."
+dyecmd botcheck.png tmp ; mv tmp botcheck.png
+echo "Converted botcheck.png successfully."
diff --git a/client/minimap-override/008-3-0.png b/client/minimap-override/008-3-0.png
new file mode 100644
index 0000000..fa94222
--- /dev/null
+++ b/client/minimap-override/008-3-0.png
Binary files differ
diff --git a/client/minimap-render.py b/client/minimap-render.py
new file mode 100755
index 0000000..716e9e3
--- /dev/null
+++ b/client/minimap-render.py
@@ -0,0 +1,165 @@
+#!/usr/bin/env python
+#-*- coding:utf-8 -*-
+
+import sys
+import os
+import subprocess
+import tempfile
+
+CLIENT_DATA_ROOT = os.path.realpath(
+ os.path.join(
+ os.path.dirname(__file__),
+ u'../../client-data',
+ )
+)
+
+class MinimapRenderer(object):
+
+ PROGRAMS = {
+ 'default': {
+ 'tmxrasterizer': 'tmxrasterizer',
+ 'im_convert': 'convert',
+ },
+ 'win32': {
+ 'tmxrasterizer': 'tmxrasterizer.exe',
+ 'im_convert': 'convert.exe',
+ },
+ }
+
+ def __init__(self, map_name, tilesize, useAntiAliasing):
+ self.map_name = map_name
+ self.tilesize = tilesize
+ self.useAntiAliasing = useAntiAliasing
+
+ def render(self):
+ """
+ Processes a map
+ """
+ if not os.path.exists(os.path.join(CLIENT_DATA_ROOT, u'maps', self.map_name+u'.tmx')):
+ sys.stderr.write(u'Invalid map name: %s. Skipping.\n' % self.map_name)
+ return 1
+ if not self.map_name.endswith(u'.tmx'):
+ self.map_name = self.map_name+u'.tmx'
+
+ map_number = os.path.splitext(os.path.basename(self.map_name))[0]
+ tmx_file = os.path.join(CLIENT_DATA_ROOT, u'maps', self.map_name)
+ minimap_file = os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps', map_number+u'.png')
+
+ prefix = os.path.commonprefix((tmx_file, minimap_file))
+ sys.stdout.write(u'%s -> %s\n' % (os.path.relpath(tmx_file, prefix), os.path.relpath(minimap_file, prefix)))
+
+ try:
+ self.do_render(tmx_file, minimap_file)
+ except Exception as e:
+ sys.stderr.write(u'\x1b[31m\x1b[1mError while rendering %s: %s\x1b[0m\n' % (self.map_name, e))
+ return 1
+ else:
+ return 0
+
+ def do_render(self, tmx_file, bitmap_file):
+ """
+ The map rendering implementation
+ """
+ platform_programs = MinimapRenderer.PROGRAMS.get(sys.platform, MinimapRenderer.PROGRAMS.get('default'))
+ # tmx rasterize
+ mrf, map_raster = tempfile.mkstemp(suffix='.png')
+ tmxrasterizer_cmd = [
+ platform_programs.get('tmxrasterizer'),
+ '--tilesize', str(self.tilesize), '--hide-layer', 'Collision','--hide-layer', 'Height','--hide-layer', 'Collisions','--hide-layer', 'collision','--hide-layer', 'height','--hide-layer', 'Heights', '--hide-layer', 'height', '--ignore-visibility',
+ ]
+ if self.useAntiAliasing:
+ tmxrasterizer_cmd.append('--anti-aliasing')
+ tmxrasterizer_cmd += [tmx_file, map_raster]
+ subprocess.check_call(tmxrasterizer_cmd)
+ if os.stat(map_raster).st_size == 0:
+ raise Exception('A problem was encountered when rendering a map')
+ # add cell-shading to the minimap to improve readability
+ ebf, edges_bitmap = tempfile.mkstemp(suffix='.png')
+ subprocess.check_call([
+ platform_programs.get('im_convert'), map_raster,
+ '-set', 'option:convolve:scale', '-1!',
+ '-morphology', 'Convolve', 'Laplacian:0',
+ '-colorspace', 'gray',
+ '-auto-level',
+ '-threshold', '2.8%',
+ '-negate',
+ '-transparent', 'white',
+ edges_bitmap
+ ])
+ subprocess.check_call([
+ platform_programs.get('im_convert'), map_raster, edges_bitmap,
+ '-compose', 'Dissolve',
+ '-define', 'compose:args=35',
+ '-composite',
+ bitmap_file
+ ])
+ os.unlink(map_raster)
+ os.unlink(edges_bitmap)
+
+ @staticmethod
+ def check_programs():
+ """
+ Checks the require programs are available
+ """
+ def which(program):
+ import os
+ def is_exe(fpath):
+ return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
+ fpath, fname = os.path.split(program)
+ if fpath:
+ if is_exe(program):
+ return program
+ else:
+ for path in os.environ["PATH"].split(os.pathsep):
+ exe_file = os.path.join(path, program)
+ if is_exe(exe_file):
+ return exe_file
+ return None
+
+ platform_programs = MinimapRenderer.PROGRAMS.get(sys.platform, MinimapRenderer.PROGRAMS.get('default'))
+ for program in platform_programs.values():
+ if not which(program):
+ raise Exception('The required "%s" program is missing from your PATH.' % program)
+
+def usage():
+ sys.stderr.write(u'''Usage: %s MAP_NAME...
+
+ Example:
+ $ ./minimap-render.py 007-1
+ will render the map at maps/007-1.tmx in the graphics/minimaps directory.
+ $ ./minimap-render.py all
+ will render all existing maps found in the maps directory.
+ $ ./minimap-render.py update
+ will update all existing minimaps found in the graphics/minimaps directory.
+
+ For convenience,
+ $ ./minimap-render.py 007-1.tmx
+ is also accepted.
+ \n''' % sys.argv[0])
+
+def main():
+ if not len(sys.argv) > 1:
+ usage()
+ return 127
+ try:
+ MinimapRenderer.check_programs()
+ except Exception as e:
+ sys.stderr.write(u'%s\n' % e)
+ return 126
+
+ status = 0
+ if sys.argv[1].lower() == 'all':
+ map_names = sorted([os.path.splitext(p)[0] for p in os.listdir(os.path.join(CLIENT_DATA_ROOT, u'maps'))])
+ elif sys.argv[1].lower() == 'update':
+ map_names = sorted([os.path.splitext(p)[0] for p in os.listdir(os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps'))])
+ else:
+ map_names = sys.argv[1:]
+
+ for map_name in map_names:
+ # Render tiles at 1 pixel size
+ map_renderer = MinimapRenderer(map_name, 1, True)
+ status += map_renderer.render()
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/client/weapons.py b/client/weapons.py
new file mode 100755
index 0000000..be2f60e
--- /dev/null
+++ b/client/weapons.py
@@ -0,0 +1,89 @@
+#!/usr/bin/python2.7
+
+class Item:
+ def __init__(self, xid):
+ self.id=xid
+ self.lvl=0
+
+a=open("../../client-data/items.xml", "r")
+
+swords=[]
+bows=[]
+shields=[]
+
+gid="0"
+rid=0
+ctx=Item(0)
+mem=[]
+
+for l in a:
+ if "<item id=" in l:
+ if ctx.id > 0:
+ mem.append(ctx)
+
+ gid=l.replace('\t', '').replace(' ','').replace('<itemid=', '').replace('"', '').replace("'", "")
+ rid=0
+ if "-" in gid:
+ gid="0"
+ continue
+ try:
+ rid=int(gid)
+ except:
+ print "[CRITICAL] Invalid item ID format: " + l
+ exit(1)
+
+ ctx=Item(rid)
+
+ if "\tlevel=" in l or " level=" in l:
+ gid=l.replace('\t', '').replace(' ','').replace('level=', '').replace('"', '').replace("'", "")
+ try:
+ rid=int(gid)
+ except:
+ print "[CRITICAL] Invalid item level format: " + l
+ rid=0
+ ctx.lvl=0+rid
+
+mem=sorted(mem, key=lambda xcv: xcv.lvl, reverse=True)
+
+for r in mem:
+ rid=r.id
+ if rid >= 2700 and rid <= 2899:
+ shields.append(rid)
+ elif rid >= 3500 and rid <= 3999:
+ swords.append(rid)
+ elif rid >= 6000 and rid <= 6499:
+ bows.append(rid)
+
+a.close()
+
+#shields=sorted(shields, reverse=True)
+#bows=sorted(bows, reverse=True)
+#swords=sorted(swords, reverse=True)
+
+b=open("weapons.tmp", "w")
+
+b.write('<?xml version="1.0" encoding="utf-8"?>\n\
+<!-- Author: 4144, Jesusalva\n\
+Copyright (C) 2015 Evol Online\n\
+Copyright (C) 2019-2020 The Mana World\n -->\n\
+\n\
+<weapons>\n')
+
+b.write(' <swords>\n')
+
+for i in swords:
+ b.write(' <item id="%d"/>\n' % i)
+
+b.write(' </swords>\n <bows>\n')
+
+for i in bows:
+ b.write(' <item id="%d"/>\n' % i)
+
+b.write(' </bows>\n <shields>\n')
+
+for i in shields:
+ b.write(' <item id="%d"/>\n' % i)
+
+b.write(' </shields>\n</weapons>')
+
+b.close()