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