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)
|
void Human::DoGetOn(int obj_uniid)
|
||||||
|
@ -190,7 +190,7 @@ class Human : public Creature
|
|||||||
bool HasNoDownedTeammate();
|
bool HasNoDownedTeammate();
|
||||||
void DoJump();
|
void DoJump();
|
||||||
virtual bool CanUseSkill(int skill_id) override;
|
virtual bool CanUseSkill(int skill_id) override;
|
||||||
virtual int SelectSkillId();
|
virtual Skill* SelectSkill();
|
||||||
void DoGetOn(int obj_uniid);
|
void DoGetOn(int obj_uniid);
|
||||||
void DoGetDown();
|
void DoGetDown();
|
||||||
void FindLocation();
|
void FindLocation();
|
||||||
|
@ -191,10 +191,11 @@ void ZombieModeAI::UpdateAttack()
|
|||||||
}
|
}
|
||||||
float distance = myself->GetPos().Distance(node_->target->GetPos());
|
float distance = myself->GetPos().Distance(node_->target->GetPos());
|
||||||
if (distance > GetAttackRange()) {
|
if (distance > GetAttackRange()) {
|
||||||
if (myself->CanUseSkill(myself->SelectSkillId()) &&
|
Skill* skill = myself->SelectSkill();
|
||||||
myself->CurrentSkill()->meta->i->skill_id() != TURN_OVER_SKILL_ID &&
|
if (myself->CanUseSkill(skill->meta->i->skill_id()) &&
|
||||||
distance < myself->CurrentSkill()->meta->i->skill_distance()) {
|
skill->meta->i->skill_id() != TURN_OVER_SKILL_ID &&
|
||||||
DoSkill();
|
distance < skill->meta->i->skill_distance()) {
|
||||||
|
DoSkill(skill->meta->i->skill_id());
|
||||||
} else if (node_->ai_meta->i->pursuit_radius() <= 0) {
|
} else if (node_->ai_meta->i->pursuit_radius() <= 0) {
|
||||||
//站桩
|
//站桩
|
||||||
ChangeToState(ZSE_Thinking);
|
ChangeToState(ZSE_Thinking);
|
||||||
@ -475,10 +476,10 @@ void ZombieModeAI::DoShot()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZombieModeAI::DoSkill()
|
void ZombieModeAI::DoSkill(int skill_id)
|
||||||
{
|
{
|
||||||
Human* myself = (Human*)owner;
|
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()
|
int ZombieModeAI::GetAttackTimes()
|
||||||
|
@ -33,7 +33,7 @@ private:
|
|||||||
void DoMove();
|
void DoMove();
|
||||||
void ChangeToState(ZombieState_e to_state);
|
void ChangeToState(ZombieState_e to_state);
|
||||||
void DoShot();
|
void DoShot();
|
||||||
void DoSkill();
|
void DoSkill(int skill_id);
|
||||||
|
|
||||||
Human* GetTarget();
|
Human* GetTarget();
|
||||||
float GetAttackRange();
|
float GetAttackRange();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user