diff --git a/server/gameserver/lispenv.cc b/server/gameserver/lispenv.cc index 48cc1e70..76468c47 100644 --- a/server/gameserver/lispenv.cc +++ b/server/gameserver/lispenv.cc @@ -2,6 +2,9 @@ #include "lispenv.h" +#include "mt/Skill.h" +#include "mt/SkillNumber.h" + class SkillScope : public a8::lisp::GlobalScope { public: @@ -14,6 +17,7 @@ public: [this] (const a8::lisp::List& params) -> std::shared_ptr { a8::lisp::Atom result; + result.val = context_.skill_meta->_number_meta->_float_speed; return std::make_shared(result); }); } @@ -24,6 +28,14 @@ public: { context_.c = c; context_.skill_meta = skill_meta; + + context_.c = nullptr; + context_.skill_meta = nullptr; + } + + std::shared_ptr Compile(const std::string& script) + { + } private: @@ -47,7 +59,7 @@ void LispEnv::UnInit() std::shared_ptr LispEnv::CompileSkillNumberExpr(const std::string& script) { - + return skill_env_->Compile(script); } float LispEnv::EvalSkillNumberExpr(std::shared_ptr expr,