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));
|
||||
});
|
||||
|
||||
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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user