This commit is contained in:
aozhiwei 2021-03-19 14:12:49 +08:00
parent 4e40976eea
commit d8580561af
4 changed files with 11 additions and 10 deletions

View File

@ -1313,9 +1313,9 @@ void Human::DoJump()
}
}
int Human::SelectSkillId()
Skill* Human::SelectSkill()
{
return 0;
return nullptr;
}
void Human::DoGetOn(int obj_uniid)

View File

@ -190,7 +190,7 @@ class Human : public Creature
bool HasNoDownedTeammate();
void DoJump();
virtual bool CanUseSkill(int skill_id) override;
virtual int SelectSkillId();
virtual Skill* SelectSkill();
void DoGetOn(int obj_uniid);
void DoGetDown();
void FindLocation();

View File

@ -191,10 +191,11 @@ void ZombieModeAI::UpdateAttack()
}
float distance = myself->GetPos().Distance(node_->target->GetPos());
if (distance > GetAttackRange()) {
if (myself->CanUseSkill(myself->SelectSkillId()) &&
myself->CurrentSkill()->meta->i->skill_id() != TURN_OVER_SKILL_ID &&
distance < myself->CurrentSkill()->meta->i->skill_distance()) {
DoSkill();
Skill* skill = myself->SelectSkill();
if (myself->CanUseSkill(skill->meta->i->skill_id()) &&
skill->meta->i->skill_id() != TURN_OVER_SKILL_ID &&
distance < skill->meta->i->skill_distance()) {
DoSkill(skill->meta->i->skill_id());
} else if (node_->ai_meta->i->pursuit_radius() <= 0) {
//站桩
ChangeToState(ZSE_Thinking);
@ -475,10 +476,10 @@ void ZombieModeAI::DoShot()
}
}
void ZombieModeAI::DoSkill()
void ZombieModeAI::DoSkill(int skill_id)
{
Human* myself = (Human*)owner;
myself->DoSkill(myself->SelectSkillId(), node_->target->GetEntityUniId(), node_->target->GetPos());
myself->DoSkill(skill_id, node_->target->GetEntityUniId(), node_->target->GetPos());
}
int ZombieModeAI::GetAttackTimes()

View File

@ -33,7 +33,7 @@ private:
void DoMove();
void ChangeToState(ZombieState_e to_state);
void DoShot();
void DoSkill();
void DoSkill(int skill_id);
Human* GetTarget();
float GetAttackRange();