1
This commit is contained in:
parent
4e40976eea
commit
d8580561af
@ -1313,9 +1313,9 @@ void Human::DoJump()
|
||||
}
|
||||
}
|
||||
|
||||
int Human::SelectSkillId()
|
||||
Skill* Human::SelectSkill()
|
||||
{
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Human::DoGetOn(int obj_uniid)
|
||||
|
@ -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();
|
||||
|
@ -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()
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user