summaryrefslogtreecommitdiff
path: root/src/scripting/luascript.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-15 22:15:31 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-15 22:15:31 +0200
commitc53bc90dbaa876a86f762a3d864b1f920e2b8071 (patch)
tree1a8174f4d1745a4799210db970aa2230df622d34 /src/scripting/luascript.cpp
parentb89e404f85358f2e3ff87d7731376dbeacdf9778 (diff)
parent81be8dc99ba7558c8915310eed095df43e3bdbf7 (diff)
downloadmanaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.gz
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.bz2
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.xz
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.zip
Merge branch 'master' into lpc2012
Conflicts: src/account-server/accounthandler.cpp src/game-server/character.cpp
Diffstat (limited to 'src/scripting/luascript.cpp')
-rw-r--r--src/scripting/luascript.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/scripting/luascript.cpp b/src/scripting/luascript.cpp
index e9f4492d..f5fb6a4e 100644
--- a/src/scripting/luascript.cpp
+++ b/src/scripting/luascript.cpp
@@ -75,24 +75,21 @@ void LuaScript::prepareResume(Thread *thread)
void LuaScript::push(int v)
{
assert(nbArgs >= 0);
- lua_pushinteger(mCurrentState, v);
+ ::push(mCurrentState, v);
++nbArgs;
}
void LuaScript::push(const std::string &v)
{
assert(nbArgs >= 0);
- lua_pushlstring(mCurrentState, v.c_str(), v.length());
+ ::push(mCurrentState, v);
++nbArgs;
}
void LuaScript::push(Entity *v)
{
assert(nbArgs >= 0);
- if (v)
- lua_pushlightuserdata(mCurrentState, v);
- else
- lua_pushnil(mCurrentState);
+ ::push(mCurrentState, v);
++nbArgs;
}
@@ -248,7 +245,7 @@ void LuaScript::load(const char *prog, const char *name,
mContext = previousContext;
}
-void LuaScript::processDeathEvent(Being *entity)
+void LuaScript::processDeathEvent(Entity *entity)
{
if (mDeathNotificationCallback.isValid())
{
@@ -275,35 +272,37 @@ void LuaScript::processRemoveEvent(Entity *entity)
/**
* Called when the server has recovered the value of a quest variable.
*/
-void LuaScript::getQuestCallback(Character *q,
+void LuaScript::getQuestCallback(Entity *q,
const std::string &value,
Script *script)
{
- Script::Thread *thread = q->getNpcThread();
+ auto *characterComponent = q->getComponent<CharacterComponent>();
+ Script::Thread *thread = characterComponent->getNpcThread();
if (!thread || thread->mState != Script::ThreadExpectingString)
return;
script->prepareResume(thread);
script->push(value);
- q->resumeNpcThread();
+ characterComponent->resumeNpcThread();
}
/**
* Called when the server has recovered the post for a user.
*/
-void LuaScript::getPostCallback(Character *q,
+void LuaScript::getPostCallback(Entity *q,
const std::string &sender,
const std::string &letter,
Script *script)
{
- Script::Thread *thread = q->getNpcThread();
+ auto *characterComponent = q->getComponent<CharacterComponent>();
+ Script::Thread *thread = characterComponent->getNpcThread();
if (!thread || thread->mState != Script::ThreadExpectingTwoStrings)
return;
script->prepareResume(thread);
script->push(sender);
script->push(letter);
- q->resumeNpcThread();
+ characterComponent->resumeNpcThread();
}