This commit is contained in:
aozhiwei 2021-03-19 16:05:08 +08:00
parent a72eb798d9
commit 63a3cfa766
3 changed files with 12 additions and 14 deletions

View File

@ -421,36 +421,35 @@ void Creature::TriggerBuff(Skill* skill, std::set<Entity*>& target_list, BuffTri
void Creature::TriggerOneObjectBuff(Skill* skill, Entity* target, BuffTriggerType_e trigger_type) void Creature::TriggerOneObjectBuff(Skill* skill, Entity* target, BuffTriggerType_e trigger_type)
{ {
#if 0
if (!target->IsEntityType(ET_Player)) { if (!target->IsEntityType(ET_Player)) {
return; return;
} }
Human* hum = (Human*)target; Creature* c = (Creature*)target;
if (hum->dead) { if (c->dead) {
return; return;
} }
auto itr = CurrentSkill()->meta->trigger_type_buffs.find(trigger_type); auto itr = skill->meta->trigger_type_buffs.find(trigger_type);
if (itr != CurrentSkill()->meta->trigger_type_buffs.end()) { if (itr != skill->meta->trigger_type_buffs.end()) {
for (MetaData::Buff* buff_meta : itr->second) { for (MetaData::Buff* buff_meta : itr->second) {
switch (buff_meta->i->buff_target()) { switch (buff_meta->i->buff_target()) {
case kBuffTargetSelf: //自己 case kBuffTargetSelf: //自己
{ {
if (hum == this) { if (c == this) {
hum->AddBuff(this, buff_meta, 1, CurrentSkill()->meta); c->AddBuff(this, buff_meta, 1, skill->meta);
} }
} }
break; break;
case kBuffTargetFriendly: //友军 case kBuffTargetFriendly: //友军
{ {
if (hum->team_id == team_id) { if (c->team_id == team_id) {
hum->AddBuff(this, buff_meta, 1, CurrentSkill()->meta); c->AddBuff(this, buff_meta, 1, skill->meta);
} }
} }
break; break;
case kBuffTargetEnemy: //敌军 case kBuffTargetEnemy: //敌军
{ {
if (hum->team_id != team_id) { if (c->team_id != team_id) {
hum->AddBuff(this, buff_meta, 1, CurrentSkill()->meta); c->AddBuff(this, buff_meta, 1, skill->meta);
} }
} }
break; break;
@ -459,7 +458,6 @@ void Creature::TriggerOneObjectBuff(Skill* skill, Entity* target, BuffTriggerTyp
} }
} }
} }
#endif
} }
Skill* Creature::GetSkill(int skill_id) Skill* Creature::GetSkill(int skill_id)

View File

@ -17,6 +17,8 @@ class Creature : public MoveableEntity
{ {
public: public:
bool dead = false;
int team_id = 0;
bool aiming = false; bool aiming = false;
ActionType_e action_type = AT_None; ActionType_e action_type = AT_None;
a8::Vec2 attack_dir; a8::Vec2 attack_dir;

View File

@ -37,7 +37,6 @@ class Human : public Creature
public: public:
int socket_handle = 0; int socket_handle = 0;
long ip_saddr = 0; long ip_saddr = 0;
int team_id = 0;
std::string account_id; std::string account_id;
std::string session_id; std::string session_id;
std::string from_appid; std::string from_appid;
@ -95,7 +94,6 @@ class Human : public Creature
bool real_dead = false; bool real_dead = false;
xtimer_list* revive_timer = nullptr; xtimer_list* revive_timer = nullptr;
int dead_times = 0; int dead_times = 0;
bool dead = false;
long long dead_frameno = 0; long long dead_frameno = 0;
long long real_dead_frameno = 0; long long real_dead_frameno = 0;