1
This commit is contained in:
parent
d312970da8
commit
50424108fa
@ -162,15 +162,28 @@ void AndroidAI::Shot(Human* enemy)
|
||||
void AndroidAI::UseSkill(Human* enemy)
|
||||
{
|
||||
Human* sender = (Human*)owner;
|
||||
a8::Vec2 shot_dir = enemy->pos - sender->pos;
|
||||
if (std::abs(shot_dir.x) > FLT_EPSILON ||
|
||||
std::abs(shot_dir.y) > FLT_EPSILON) {
|
||||
if (!sender->CurrentSkillMeta()) {
|
||||
return;
|
||||
}
|
||||
if (sender->CurrentSkillMeta()->i->skill_target() == kST_Self) {
|
||||
sender->curr_skill_phase = 0;
|
||||
sender->skill_target_id = enemy->entity_uniid;
|
||||
sender->skill_dir = shot_dir;
|
||||
sender->skill_target_pos = enemy->pos;
|
||||
sender->skill_target_id = sender->entity_uniid;
|
||||
sender->skill_dir = a8::Vec2();
|
||||
sender->skill_target_pos = sender->pos;
|
||||
sender->skill_param1 = 0;
|
||||
sender->playing_skill = false;
|
||||
sender->DoSkill();
|
||||
} else {
|
||||
a8::Vec2 shot_dir = enemy->pos - sender->pos;
|
||||
if (std::abs(shot_dir.x) > FLT_EPSILON ||
|
||||
std::abs(shot_dir.y) > FLT_EPSILON) {
|
||||
sender->curr_skill_phase = 0;
|
||||
sender->skill_target_id = enemy->entity_uniid;
|
||||
sender->skill_dir = shot_dir;
|
||||
sender->skill_target_pos = enemy->pos;
|
||||
sender->skill_param1 = 0;
|
||||
sender->playing_skill = false;
|
||||
sender->DoSkill();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1065,6 +1065,11 @@ int Human::TankLv()
|
||||
return tank_.tank_lv;
|
||||
}
|
||||
|
||||
MetaData::Skill* Human::CurrentSkillMeta()
|
||||
{
|
||||
return skill_meta_;
|
||||
}
|
||||
|
||||
int Human::GetSkillLeftTime()
|
||||
{
|
||||
if (skill_meta_) {
|
||||
|
@ -177,6 +177,7 @@ class Human : public Entity
|
||||
const Tank& GetTank();
|
||||
int TankId();
|
||||
int TankLv();
|
||||
MetaData::Skill* CurrentSkillMeta();
|
||||
int GetSkillLeftTime();
|
||||
int GetSkillCd();
|
||||
void TriggerOneObjectBuff(Entity* target, BuffTriggerType_e trigger_type);
|
||||
|
Loading…
x
Reference in New Issue
Block a user