This commit is contained in:
aozhiwei 2023-11-10 14:45:25 +08:00
parent ac15453b43
commit e6dba4eed8
2 changed files with 67 additions and 6 deletions

View File

@ -190,6 +190,11 @@ void CallFuncBuff::Activate()
SpecCenterRangeHoldBuff(); SpecCenterRangeHoldBuff();
} }
break; break;
case BuffCallFunc_e::kLispEval:
{
LispEval();
}
break;
default: default:
{ {
} }
@ -236,11 +241,6 @@ void CallFuncBuff::Deactivate()
owner->ClearEnergyShield(); owner->ClearEnergyShield();
} }
break; break;
case BuffCallFunc_e::kLispEval:
{
LispEval();
}
break;
default: default:
{ {
} }
@ -302,6 +302,11 @@ void CallFuncBuff::ProcAddMinorMode()
owner_ptr.Get()->RemoveBuffById(buff_id); owner_ptr.Get()->RemoveBuffById(buff_id);
} }
for (int buff_id : meta_ptr->_buff_param4_int_list) { for (int buff_id : meta_ptr->_buff_param4_int_list) {
#ifdef DEBUG
if (owner_ptr.Get()->IsPlayer()) {
a8::XPrintf("addminor buff_id:%d\n", {buff_id});
}
#endif
owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), buff_id, skill_meta_ptr); owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), buff_id, skill_meta_ptr);
} }
} else if (action == 0 || } else if (action == 0 ||
@ -1104,7 +1109,17 @@ void CallFuncBuff::SpecCenterRangeHoldBuff()
meta->GetBuffParam7(this), meta->GetBuffParam7(this),
meta->GetBuffParam8(this) meta->GetBuffParam8(this)
); );
#ifdef DEBUG
if (owner->IsPlayer()) {
a8::XPrintf("init_center:%f %f %f\n",
{
init_center.x,
init_center.y,
init_center.z,
}
);
}
#endif
InternalRangeHoldBuff InternalRangeHoldBuff
( (
[this, init_center] (glm::vec3& center) [this, init_center] (glm::vec3& center)
@ -1149,6 +1164,17 @@ void CallFuncBuff::InternalRangeHoldBuff(std::function<bool(glm::vec3&)> get_cen
InnerObject o; InnerObject o;
o.c = hum->GetWeakPtrRef(); o.c = hum->GetWeakPtrRef();
if (meta->buff_id() == 203032) {
int i = 0;
#ifdef DEBUG
a8::XPrintf("aaaaaaaaaaaa a_team_id:%d b_team_id:%d\n",
{
owner->team_id,
hum->team_id
});
#endif
}
if (owner->team_id == hum->team_id) { if (owner->team_id == hum->team_id) {
for (int buff_id : meta->_buff_param4_int_list) { for (int buff_id : meta->_buff_param4_int_list) {
o.buff_uniids.push_back(hum->TryAddBuff(GetCaster().Get(), buff_id, skill_meta)); o.buff_uniids.push_back(hum->TryAddBuff(GetCaster().Get(), buff_id, skill_meta));

View File

@ -3687,6 +3687,11 @@ void Creature::InitMobaRoad()
void Creature::ClearSkillLocalVars(int skill_id) void Creature::ClearSkillLocalVars(int skill_id)
{ {
#ifdef DEBUG
if (IsPlayer()) {
a8::XPrintf("ClearSkillLocalVars skill_id:%d\n", {skill_id});
}
#endif
auto itr = skill_local_vars_.find(skill_id); auto itr = skill_local_vars_.find(skill_id);
if (itr != skill_local_vars_.end()) { if (itr != skill_local_vars_.end()) {
skill_local_vars_.erase(itr); skill_local_vars_.erase(itr);
@ -3699,14 +3704,44 @@ float Creature::GetSkillLocalVar(int skill_id, int idx)
if (itr != skill_local_vars_.end()) { if (itr != skill_local_vars_.end()) {
auto itr2 = itr->second.find(idx); auto itr2 = itr->second.find(idx);
if (itr2 != itr->second.end()) { if (itr2 != itr->second.end()) {
#ifdef DEBUG
if (IsPlayer()) {
a8::XPrintf("GetSkillLocalVars skill_id:%d idx:%d val:%d\n",
{
skill_id,
idx,
itr2->second
});
}
#endif
return itr2->second; return itr2->second;
} }
} }
#ifdef DEBUG
if (IsPlayer()) {
a8::XPrintf("GetSkillLocalVars skill_id:%d idx:%d val:%d\n",
{
skill_id,
idx,
0
});
}
#endif
return 0.0f; return 0.0f;
} }
void Creature::SetSkillLocalVar(int skill_id, int idx, float val) void Creature::SetSkillLocalVar(int skill_id, int idx, float val)
{ {
#ifdef DEBUG
if (IsPlayer()) {
a8::XPrintf("SetSkillLocalVars skill_id:%d idx:%d val:%d\n",
{
skill_id,
idx,
val
});
}
#endif
auto itr = skill_local_vars_.find(skill_id); auto itr = skill_local_vars_.find(skill_id);
if (itr == skill_local_vars_.end()) { if (itr == skill_local_vars_.end()) {
skill_local_vars_[skill_id] = std::map<int, float>(); skill_local_vars_[skill_id] = std::map<int, float>();