This commit is contained in:
aozhiwei 2024-05-21 17:01:37 +08:00
parent 208a142458
commit e93d832101
3 changed files with 29 additions and 2 deletions

View File

@ -426,7 +426,7 @@ std::vector<std::string> Ability::GMShowAttrs()
}
{
std::vector<std::string> tmp_strings;
int attr_id = 0;
int attr_id = kHVAT_Begin;
for (auto& list : vattr_list_) {
list_head* head = &list;
list_head* pos = nullptr;

View File

@ -26,6 +26,7 @@
#include "bullet.h"
#include "virtualbullet.h"
#include "shot.h"
#include "entityfactory.h"
#include "mt/Buff.h"
#include "mt/Equip.h"
@ -265,6 +266,11 @@ void CallFuncBuff::Activate()
RandAdd();
}
break;
case BuffCallFunc_e::kShowExplosion:
{
ShowExplosion();
}
break;
default:
{
}
@ -1818,3 +1824,22 @@ void CallFuncBuff::RandAdd()
}
}
}
void CallFuncBuff::ShowExplosion()
{
if (owner->dead || !meta->dead_valid()) {
return;
}
int explosion_effect = meta->GetBuffParam2(this);
float x = meta->GetBuffParam3(this);
float y = meta->GetBuffParam4(this);
float z = meta->GetBuffParam5(this);
Position center;
center.FromGlmVec3(glm::vec3(x, y, z));
owner->room->frame_event.AddExplosionEx
(owner->GetWeakPtrRef(),
0,
center,
explosion_effect,
0);
}

View File

@ -43,7 +43,8 @@ A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int,
kOnBreakSkill = 43,
kBreakSkill = 44,
kBuffEffectCondAdd = 45,
kRandAdd = 46
kRandAdd = 46,
kShowExplosion = 47,
);
@ -88,6 +89,7 @@ class CallFuncBuff : public Buff
void BreakSkill();
void BuffEffectCondAdd();
void RandAdd();
void ShowExplosion();
void InternalRangeHoldBuff(std::function<bool(glm::vec3&)> get_center_func);