1
This commit is contained in:
parent
8af5bec0a4
commit
2ab1f4b904
@ -26,7 +26,7 @@ void BatchAddBuff::Activate()
|
||||
if (rnd < std::get<1>(items[0])){
|
||||
const mt::Buff* buff_meta = mt::Buff::GetById(std::get<0>(items[0]));
|
||||
if (buff_meta) {
|
||||
owner->AddBuff(caster_.Get(), buff_meta, nullptr);
|
||||
owner->AddBuff(caster_.Get(), buff_meta, skill_meta);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -36,7 +36,7 @@ void BatchAddBuff::Activate()
|
||||
if (rnd <= std::get<1>(item)) {
|
||||
const mt::Buff* buff_meta = mt::Buff::GetById(std::get<0>(item));
|
||||
if (buff_meta) {
|
||||
owner->AddBuff(caster_.Get(), buff_meta, nullptr);
|
||||
owner->AddBuff(caster_.Get(), buff_meta, skill_meta);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
});
|
||||
RegisterCProc
|
||||
(
|
||||
"myself.get_hero_atk",
|
||||
"!myself.get_hero_atk",
|
||||
[this] (const a8::lisp::List& params) -> std::shared_ptr<a8::lisp::Value>
|
||||
{
|
||||
double result = context_.buff->owner->GetBattleContext()->GetHeroTotalAtk();
|
||||
@ -38,7 +38,7 @@ public:
|
||||
});
|
||||
RegisterCProc
|
||||
(
|
||||
"caster.get_hero_atk",
|
||||
"!caster.get_hero_atk",
|
||||
[this] (const a8::lisp::List& params) -> std::shared_ptr<a8::lisp::Value>
|
||||
{
|
||||
double result = 0.0f;
|
||||
@ -78,6 +78,7 @@ public:
|
||||
abort();
|
||||
}
|
||||
Transform(nullptr, expr);
|
||||
a8::XPrintf("script:%s ast:%s\n", {script, expr->ToXObject().ToJsonStr()});
|
||||
return expr;
|
||||
}
|
||||
|
||||
@ -89,10 +90,13 @@ public:
|
||||
auto&& symbol = std::any_cast<a8::lisp::Symbol>(node->value);
|
||||
int idx = mt::SkillNumber::GetAttrIdxByName(symbol.name);
|
||||
if (idx < 0) {
|
||||
auto cproc = Find(symbol.name);
|
||||
auto cproc = Find("!" + symbol.name);
|
||||
if (!cproc) {
|
||||
abort();
|
||||
}
|
||||
if (!cproc->IsType(a8::lisp::ValueType::kCProc)) {
|
||||
abort();
|
||||
}
|
||||
func_call_exprs->push_back(cproc);
|
||||
} else {
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user