summaryrefslogtreecommitdiff
path: root/src/game-server/npc.cpp
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2013-02-20 22:46:55 +0100
committerErik Schilling <ablu.erikschilling@googlemail.com>2013-02-21 07:29:13 +0100
commit4559ca444daacfd02ebb05f1657148a2b4cf3d8b (patch)
tree8410fe19f397e70d43a8542c6ba7339d61d9bc0e /src/game-server/npc.cpp
parentad1d58b795681cad74642c0f4818b66a3f869794 (diff)
downloadmanaserv-4559ca444daacfd02ebb05f1657148a2b4cf3d8b.tar.gz
manaserv-4559ca444daacfd02ebb05f1657148a2b4cf3d8b.tar.bz2
manaserv-4559ca444daacfd02ebb05f1657148a2b4cf3d8b.tar.xz
manaserv-4559ca444daacfd02ebb05f1657148a2b4cf3d8b.zip
Introduced Script::Context
This should allow to finally call functions to lua without having to care about working around situations where a lua call causes a c++ call which needs to call to lua again. Tested against the source of tales repository data.
Diffstat (limited to 'src/game-server/npc.cpp')
-rw-r--r--src/game-server/npc.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/game-server/npc.cpp b/src/game-server/npc.cpp
index ce6ac32e..2eb73031 100644
--- a/src/game-server/npc.cpp
+++ b/src/game-server/npc.cpp
@@ -54,11 +54,9 @@ void NPC::update()
return;
Script *script = ScriptManager::currentState();
- script->setMap(getMap());
-
script->prepare(mUpdateCallback);
script->push(this);
- script->execute();
+ script->execute(getMap());
}
void NPC::prompt(Character *ch, bool restart)
@@ -71,7 +69,7 @@ void NPC::prompt(Character *ch, bool restart)
if (restart)
{
Script::Thread *thread = script->newThread();
- thread->mMap = getMap();
+ thread->getContext().map = getMap();
script->prepare(mTalkCallback);
script->push(this);
script->push(ch);