1
This commit is contained in:
parent
eef66af46d
commit
273aca649e
@ -540,5 +540,6 @@ bool Ability::HasDecAttr(int attr_id)
|
|||||||
|
|
||||||
void Ability::SetSource(AttrHandle handle, std::shared_ptr<std::function<std::string()>> cb)
|
void Ability::SetSource(AttrHandle handle, std::shared_ptr<std::function<std::string()>> cb)
|
||||||
{
|
{
|
||||||
|
auto p = handle.lock();
|
||||||
|
p->get_source = cb;
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "car.h"
|
#include "car.h"
|
||||||
|
|
||||||
#include "mt/Buff.h"
|
#include "mt/Buff.h"
|
||||||
|
#include "mt/Skill.h"
|
||||||
|
|
||||||
void ModifyAttrBuff::Activate()
|
void ModifyAttrBuff::Activate()
|
||||||
{
|
{
|
||||||
@ -16,6 +17,25 @@ void ModifyAttrBuff::Activate()
|
|||||||
float value = meta->GetBuffParam2(this);
|
float value = meta->GetBuffParam2(this);
|
||||||
if (f8::App::Instance()->GetInstanceId() != 3) {
|
if (f8::App::Instance()->GetInstanceId() != 3) {
|
||||||
attr_handle_ = owner->GetAbility()->AddAttr(attr_id, value);
|
attr_handle_ = owner->GetAbility()->AddAttr(attr_id, value);
|
||||||
|
#ifdef MYDEBUG
|
||||||
|
if (!attr_handle_.expired()) {
|
||||||
|
std::string source_name = a8::Format
|
||||||
|
("<-buff.%d.%d.%s",
|
||||||
|
{
|
||||||
|
meta->buff_id(),
|
||||||
|
skill_meta ? skill_meta->skill_id() : 0,
|
||||||
|
GetCaster().Get() ? (GetCaster().Get() == owner ? "self" : GetCaster().Get()->GetName() )
|
||||||
|
: "none"
|
||||||
|
});
|
||||||
|
auto cb = std::make_shared<std::function<std::string()>>
|
||||||
|
(
|
||||||
|
[source_name] () -> std::string
|
||||||
|
{
|
||||||
|
return source_name;
|
||||||
|
});
|
||||||
|
owner->GetAbility()->SetSource(attr_handle_, cb);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,11 +239,12 @@ void Player::_CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg)
|
|||||||
SendDebugMsg("数值: " + str);
|
SendDebugMsg("数值: " + str);
|
||||||
}
|
}
|
||||||
if (!handle.expired()) {
|
if (!handle.expired()) {
|
||||||
|
std::string source_name = "<-gm.self";
|
||||||
auto cb = std::make_shared<std::function<std::string()>>
|
auto cb = std::make_shared<std::function<std::string()>>
|
||||||
(
|
(
|
||||||
[] () -> std::string
|
[source_name] () -> std::string
|
||||||
{
|
{
|
||||||
return "";
|
return source_name;
|
||||||
});
|
});
|
||||||
target->GetAbility()->SetSource(handle, cb);
|
target->GetAbility()->SetSource(handle, cb);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user