buff添加skill_lv
This commit is contained in:
parent
54091fd042
commit
bdfaf1ac33
@ -53,7 +53,7 @@ void Buff::ProcReleaseDcgr(const a8::XParams& param)
|
||||
for (Human* hum : cell->human_list) {
|
||||
if (hum != sender && !hum->HasBuffEffect(kBET_Invincible)) {
|
||||
if (hum->TestCollision(&collider)) {
|
||||
hum->AddBuff(add_buff);
|
||||
hum->AddBuff(add_buff, buff->skill_lv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1143,6 +1143,11 @@ int Human::GetSkillCd()
|
||||
}
|
||||
}
|
||||
|
||||
int Human::GetSkillLv()
|
||||
{
|
||||
return TankLv();
|
||||
}
|
||||
|
||||
float Human::GetSkillAtkAdd(int skill_id)
|
||||
{
|
||||
if (!skill_meta_) {
|
||||
@ -1174,21 +1179,21 @@ void Human::TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type)
|
||||
case kBuffTargetSelf: //自己
|
||||
{
|
||||
if (hum == this) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, GetSkillLv());
|
||||
}
|
||||
}
|
||||
break;
|
||||
case kBuffTargetFriendly: //友军
|
||||
{
|
||||
if (hum->team_id == team_id) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, GetSkillLv());
|
||||
}
|
||||
}
|
||||
break;
|
||||
case kBuffTargetEnemy: //敌军
|
||||
{
|
||||
if (hum->team_id != team_id) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, GetSkillLv());
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1206,7 +1211,7 @@ void Human::TriggerBuff(std::set<Entity*>& target_list, BuffTriggerType_e trigge
|
||||
}
|
||||
}
|
||||
|
||||
void Human::AddBuff(MetaData::Buff* buff_meta)
|
||||
void Human::AddBuff(MetaData::Buff* buff_meta, int skill_lv)
|
||||
{
|
||||
if (buff_meta->i->buff_effect() == kBET_ImmediatelyRevive) {
|
||||
++immediately_revive_times_;
|
||||
@ -1236,6 +1241,7 @@ void Human::AddBuff(MetaData::Buff* buff_meta)
|
||||
}
|
||||
}
|
||||
Buff* buff = &a8::FastAppend(buff_list_);
|
||||
buff->skill_lv = skill_lv;
|
||||
buff->owner = this;
|
||||
buff->meta = buff_meta;
|
||||
//buff->skill_meta
|
||||
@ -1456,7 +1462,7 @@ void Human::OnEnterGrass()
|
||||
hum->grass_hide_timer_list_ = nullptr;
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(GRASS_HIDE_BUFF_ID);
|
||||
if (buff_meta) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, hum->GetSkillLv());
|
||||
}
|
||||
};
|
||||
grass_hide_timer_list_ =
|
||||
@ -1514,7 +1520,7 @@ void Human::CheckSpecObject()
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(item_meta->i->buff_id());
|
||||
if (buff_meta) {
|
||||
AddBuff(buff_meta);
|
||||
AddBuff(buff_meta, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1569,7 +1575,7 @@ void Human::GrassTempShow()
|
||||
hum->grass_hide_timer_list_ = nullptr;
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(GRASS_HIDE_BUFF_ID);
|
||||
if (buff_meta) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, hum->GetSkillLv());
|
||||
}
|
||||
};
|
||||
grass_hide_timer_list_ =
|
||||
@ -1881,7 +1887,7 @@ void Human::Revive()
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(1003);
|
||||
if (buff_meta) {
|
||||
AddBuff(buff_meta);
|
||||
AddBuff(buff_meta, 1);
|
||||
}
|
||||
}
|
||||
room->frame_event.AddRevive(this);
|
||||
@ -1905,7 +1911,7 @@ void Human::ImmediatelyRevive()
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(1003);
|
||||
if (buff_meta) {
|
||||
AddBuff(buff_meta);
|
||||
AddBuff(buff_meta, 1);
|
||||
}
|
||||
}
|
||||
room->frame_event.AddRevive(this);
|
||||
|
@ -181,10 +181,11 @@ class Human : public Entity
|
||||
MetaData::Skill* CurrentSkillMeta();
|
||||
int GetSkillLeftTime();
|
||||
int GetSkillCd();
|
||||
int GetSkillLv();
|
||||
float GetSkillAtkAdd(int skill_id);
|
||||
void TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type);
|
||||
void TriggerBuff(std::set<Entity*>& target_list, BuffTriggerType_e trigger_type);
|
||||
void AddBuff(MetaData::Buff* buff_meta);
|
||||
void AddBuff(MetaData::Buff* buff_meta, int skill_lv);
|
||||
void RemoveBuffById(int buff_id);
|
||||
void RemoveBuffByEffectId(int buff_effect_id);
|
||||
void ClearBuffList();
|
||||
|
@ -72,7 +72,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg)
|
||||
for (int buff_id : msg.buff_list()) {
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(buff_id);
|
||||
if (buff_meta) {
|
||||
hum->AddBuff(buff_meta);
|
||||
hum->AddBuff(buff_meta, 1);
|
||||
}
|
||||
}
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user