diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-02-17 13:36:32 +0100 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-02-17 13:36:32 +0100 |
commit | 587b7682e6bf7dd9e616c1d4789a5ed9aa986e6d (patch) | |
tree | f3490b1691ae3d6bac0408a497f52eacca2f5214 /src/game-server | |
parent | 3bae58a9bbe10a07c96caa033e332c35009d4add (diff) | |
download | manaserv-587b7682e6bf7dd9e616c1d4789a5ed9aa986e6d.tar.gz manaserv-587b7682e6bf7dd9e616c1d4789a5ed9aa986e6d.tar.xz manaserv-587b7682e6bf7dd9e616c1d4789a5ed9aa986e6d.zip |
Monsters no longer load their script files
Before monsters loaded their script file on *each* spawn.
This is rather wrong since the script state keeps growing for each monster.
However all of this was unnessecary since the main.lua can simply require
the script file.
If you do not want to spam the main.lua (or any other file) with all the
requires: I guess we can add script binds to iterate over all monsters and
add some custom properties to the monsters.xml (See Mana-Mantis #356)
Diffstat (limited to 'src/game-server')
-rw-r--r-- | src/game-server/monster.cpp | 22 | ||||
-rw-r--r-- | src/game-server/monster.h | 12 | ||||
-rw-r--r-- | src/game-server/monstermanager.cpp | 6 |
3 files changed, 0 insertions, 40 deletions
diff --git a/src/game-server/monster.cpp b/src/game-server/monster.cpp index 7d5ec76..4724600 100644 --- a/src/game-server/monster.cpp +++ b/src/game-server/monster.cpp @@ -117,9 +117,6 @@ Monster::Monster(MonsterClass *specy): { addAttack(*it); } - - // Load default script - loadScript(specy->getScript()); } Monster::~Monster() @@ -288,25 +285,6 @@ void Monster::processAttack(Attack &attack) } } -void Monster::loadScript(const std::string &scriptName) -{ - if (scriptName.length() == 0) - return; - - std::stringstream filename; - filename << "scripts/monster/" << scriptName; - if (ResourceManager::exists(filename.str())) - { - LOG_INFO("Loading monster script: " << filename.str()); - ScriptManager::currentState()->loadFile(filename.str()); - } - else - { - LOG_WARN("Could not find script file \"" - << filename.str() << "\" for monster"); - } -} - int Monster::calculatePositionPriority(Point position, int targetPriority) { Point thisPos = getPosition(); diff --git a/src/game-server/monster.h b/src/game-server/monster.h index 93c9f4e..b924b37 100644 --- a/src/game-server/monster.h +++ b/src/game-server/monster.h @@ -202,12 +202,6 @@ class MonsterClass double getVulnerability(Element element) const; - /** sets the script file for the monster */ - void setScript(const std::string &filename) { mScript = filename; } - - /** Returns script filename */ - const std::string &getScript() const { return mScript; } - void setUpdateCallback(Script *script) { script->assignCallback(mUpdateCallback); } @@ -239,7 +233,6 @@ class MonsterClass int mOptimalLevel; std::vector<AttackInfo *> mAttacks; Vulnerabilities mVulnerabilities; - std::string mScript; /** * A reference to the script function that is called each update. @@ -303,11 +296,6 @@ class Monster : public Being virtual void processAttack(Attack &attack); /** - * Loads a script file for this monster - */ - void loadScript(const std::string &scriptName); - - /** * Kills the being. */ void died(); diff --git a/src/game-server/monstermanager.cpp b/src/game-server/monstermanager.cpp index e82a847..bb29bab 100644 --- a/src/game-server/monstermanager.cpp +++ b/src/game-server/monstermanager.cpp @@ -258,12 +258,6 @@ void MonsterManager::initialize() } } - else if (xmlStrEqual(subnode->name, BAD_CAST "script")) - { - xmlChar *filename = subnode->xmlChildrenNode->content; - std::string val = (char *)filename; - monster->setScript(val); - } else if (xmlStrEqual(subnode->name, BAD_CAST "vulnerability")) { Element element = elementFromString( |