1
This commit is contained in:
parent
d559f5cd08
commit
f8e24a2c7c
@ -278,6 +278,51 @@ public:
|
|||||||
}
|
}
|
||||||
return std::make_shared<a8::lisp::Value>(a8::lisp::Atom(result));
|
return std::make_shared<a8::lisp::Value>(a8::lisp::Atom(result));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
RegisterCProc
|
||||||
|
(
|
||||||
|
"caster.get_skill_local_var",
|
||||||
|
[this] (const a8::lisp::List& params) -> std::shared_ptr<a8::lisp::Value>
|
||||||
|
{
|
||||||
|
double result = 0.0f;
|
||||||
|
if (params->size() == 1) {
|
||||||
|
a8::lisp::Atom atom_idx = std::any_cast<a8::lisp::Atom>(params->at(0)->value);
|
||||||
|
if (context_.buff->GetCaster().Get() && context_.buff->skill_meta) {
|
||||||
|
result = context_.buff->GetCaster().Get()->GetSkillLocalVar
|
||||||
|
(context_.buff->skill_meta->skill_id(),
|
||||||
|
atom_idx.val);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
#ifdef DEBUG
|
||||||
|
abort();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return std::make_shared<a8::lisp::Value>(a8::lisp::Atom(result));
|
||||||
|
});
|
||||||
|
|
||||||
|
RegisterCProc
|
||||||
|
(
|
||||||
|
"caster.set_skill_local_var",
|
||||||
|
[this] (const a8::lisp::List& params) -> std::shared_ptr<a8::lisp::Value>
|
||||||
|
{
|
||||||
|
double result = 0.0f;
|
||||||
|
if (params->size() == 2) {
|
||||||
|
a8::lisp::Atom atom_idx = std::any_cast<a8::lisp::Atom>(params->at(0)->value);
|
||||||
|
a8::lisp::Atom atom_val = std::any_cast<a8::lisp::Atom>(params->at(1)->value);
|
||||||
|
if (context_.buff->GetCaster().Get() && context_.buff->skill_meta) {
|
||||||
|
context_.buff->GetCaster().Get()->SetSkillLocalVar
|
||||||
|
(context_.buff->skill_meta->skill_id(),
|
||||||
|
atom_idx.val,
|
||||||
|
atom_val.val);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
#ifdef DEBUG
|
||||||
|
abort();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return std::make_shared<a8::lisp::Value>(a8::lisp::Atom(result));
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float Eval(std::shared_ptr<a8::lisp::Value> expr,
|
float Eval(std::shared_ptr<a8::lisp::Value> expr,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user