1
This commit is contained in:
parent
abf555c009
commit
a4037375fe
@ -996,20 +996,11 @@ void Creature::AddPassiveSkill(int skill_id)
|
|||||||
Creature* c = (Creature*)param.sender.GetUserData();
|
Creature* c = (Creature*)param.sender.GetUserData();
|
||||||
Skill* skill = c->GetPassiveSkill(param.param1);
|
Skill* skill = c->GetPassiveSkill(param.param1);
|
||||||
if (skill) {
|
if (skill) {
|
||||||
skill->ClearPassiveSkillBuff();
|
|
||||||
skill->AddPassiveSkillBuff();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&skill->xtimer_attacher.timer_list_);
|
&skill->xtimer_attacher.timer_list_);
|
||||||
skill->Initialzie();
|
skill->Initialzie();
|
||||||
passive_skill_hash_[skill_meta->i->skill_id()] = skill;
|
passive_skill_hash_[skill_meta->i->skill_id()] = skill;
|
||||||
skill->AddPassiveSkillBuff();
|
|
||||||
#if 0
|
|
||||||
if (skill_meta->i->skill_cd() > 10000) {
|
|
||||||
//永久被动被动技能
|
|
||||||
skill->AddPassiveSkillBuff();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1017,7 +1008,6 @@ void Creature::RemovePassiveSkill(int skill_id)
|
|||||||
{
|
{
|
||||||
auto itr = passive_skill_hash_.find(skill_id);
|
auto itr = passive_skill_hash_.find(skill_id);
|
||||||
if (itr != passive_skill_hash_.end()) {
|
if (itr != passive_skill_hash_.end()) {
|
||||||
itr->second->ClearPassiveSkillBuff();
|
|
||||||
delete itr->second;
|
delete itr->second;
|
||||||
passive_skill_hash_.erase(itr);
|
passive_skill_hash_.erase(itr);
|
||||||
}
|
}
|
||||||
|
@ -77,34 +77,6 @@ void Skill::FillMFSkill(cs::MFSkill* skill_pb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Skill::ClearPassiveSkillBuff()
|
|
||||||
{
|
|
||||||
for (int buff_id : meta->buff_list) {
|
|
||||||
Buff* buff = owner->GetBuffById(buff_id);
|
|
||||||
if (buff &&
|
|
||||||
(buff->meta->i->buff_target() == kBuffTargetSelf ||
|
|
||||||
buff->meta->i->buff_target() == kBuffTargetFriendly)) {
|
|
||||||
owner->RemoveBuffById(buff_id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Skill::AddPassiveSkillBuff()
|
|
||||||
{
|
|
||||||
int old_skill_target_id_ = owner->skill_target_id_;
|
|
||||||
a8::Vec2 old_skill_target_pos_ = owner->skill_target_pos_;
|
|
||||||
|
|
||||||
owner->skill_target_id_ = owner->GetUniId();
|
|
||||||
owner->skill_target_pos_ = owner->GetPos();
|
|
||||||
|
|
||||||
std::set<Creature*> target_list;
|
|
||||||
owner->SelectSkillTargets(this, owner->GetPos(), target_list);
|
|
||||||
owner->TriggerBuff(this, target_list, kBTT_UseSkill);
|
|
||||||
|
|
||||||
owner->skill_target_id_ = old_skill_target_id_;
|
|
||||||
owner->skill_target_pos_ = old_skill_target_pos_;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Skill::DecTimes()
|
void Skill::DecTimes()
|
||||||
{
|
{
|
||||||
if (!inc_times_timer_) {
|
if (!inc_times_timer_) {
|
||||||
|
@ -49,9 +49,6 @@ class Skill
|
|||||||
);
|
);
|
||||||
void DoMinorMode();
|
void DoMinorMode();
|
||||||
|
|
||||||
void ClearPassiveSkillBuff();
|
|
||||||
void AddPassiveSkillBuff();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void InitActiveSkill();
|
void InitActiveSkill();
|
||||||
void InitPassiveSkill();
|
void InitPassiveSkill();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user