summaryrefslogtreecommitdiff
path: root/hercules/code/servertoclient/npcs.py
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-09-20 17:45:30 +0300
committerAndrei Karas <akaras@inbox.ru>2015-09-20 17:45:30 +0300
commit551261e4aa47d9e4baa9396e20f503b9fc75680a (patch)
tree52a125e266c9338a365854be97ffe75360b1ecda /hercules/code/servertoclient/npcs.py
parent06887bd17dd04cb6314cc215424b041dda7dca87 (diff)
downloadevol-tools-551261e4aa47d9e4baa9396e20f503b9fc75680a.tar.gz
evol-tools-551261e4aa47d9e4baa9396e20f503b9fc75680a.tar.bz2
evol-tools-551261e4aa47d9e4baa9396e20f503b9fc75680a.tar.xz
evol-tools-551261e4aa47d9e4baa9396e20f503b9fc75680a.zip
hercules: add support for convert ro npcs.
Diffstat (limited to 'hercules/code/servertoclient/npcs.py')
-rw-r--r--hercules/code/servertoclient/npcs.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/hercules/code/servertoclient/npcs.py b/hercules/code/servertoclient/npcs.py
new file mode 100644
index 0000000..1c0d76f
--- /dev/null
+++ b/hercules/code/servertoclient/npcs.py
@@ -0,0 +1,34 @@
+# -*- coding: utf8 -*-
+#
+# Copyright (C) 2015 Evol Online
+# Author: Andrei Karas (4144)
+
+import re
+from sets import Set
+
+from code.fileutils import *
+from code.stringutils import *
+
+from code.servertoclient.sprites import *
+
+def getNpcIds(idtofile):
+ for key1 in idtofile:
+ key = int(key1)
+ if 45 <= key <= 125 or 400 < key < 1000 or 10001 <= key < 10100:
+ yield key1
+
+def convertNpcsNonFree(idtofile):
+ destDir = "clientdata/"
+ templatesDir = "templates/"
+ monstersDbFile = "serverdata/sql-files/mob_db_re.sql"
+ fieldsSplit = re.compile(",")
+ bracketsSplit = re.compile("[(]|[)]")
+ makeDir(destDir)
+ tpl = readFile(templatesDir + "npc.tpl")
+ npcs = readFile(templatesDir + "npcs.xml")
+ data = ""
+
+ for key in getNpcIds(idtofile):
+ npcSprite = "<sprite>sprites/{0}.xml</sprite>".format(idtofile[key])
+ data = data + tpl.format(key, idtofile[key], npcSprite)
+ saveFile(destDir + "npcs.xml", npcs.format(data))