rename kSkill_Jump -> kSkill_TurnOver

This commit is contained in:
aozhiwei 2020-07-24 14:49:48 +08:00
parent 9e775fd0c1
commit 79e01c4810
3 changed files with 38 additions and 52 deletions

View File

@ -132,7 +132,7 @@ enum BuffEffectType_e
enum SkillFunc_e
{
kSkill_FuncNone = 0,
kSkill_Jump = 1,
kSkill_TurnOver = 1,
kSkill_FuncEnd
};

View File

@ -1209,11 +1209,7 @@ void Human::DoSkill()
CancelAction();
}
if (CanUseSkill()) {
use_skill = false;
curr_skill_phase = 0;
skill_dir = a8::Vec2();
skill_target_pos = a8::Vec2();
skill_param1 = 0.0f;
ResetSkill();
playing_skill = true;
last_use_skill_frameno_ = room->GetFrameNo();
#if 1
@ -1870,12 +1866,16 @@ void Human::ChangeToRace(RaceType_e race, int level)
abort();
}
exp_ = meta->i->exp();
skill_meta_ = MetaMgr::Instance()->GetSkill(meta->i->active_skill());
ResetSkill();
} else if (race_ == kZombieRace) {
meta = MetaMgr::Instance()->GetPlayer(ZOMBIE_RACE_META_START_ID + level_ - 1);
if (!meta) {
abort();
}
exp_ = meta->i->exp();
skill_meta_ = MetaMgr::Instance()->GetSkill(meta->i->active_skill());
ResetSkill();
} else {
abort();
}
@ -1894,48 +1894,26 @@ void Human::WinExp(Human* sender, int exp)
race_ != kZombieRace) {
abort();
}
if (race_ == kHumanRace) {
exp_ += exp;
MetaData::Player* old_meta = meta;
do {
MetaData::Player* tmp_meta = MetaMgr::Instance()->GetPlayer
(
HUMAN_RACE_META_START_ID + level_
);
if (!tmp_meta) {
break;
}
if (exp_ >= tmp_meta->i->exp()) {
meta = tmp_meta;
++level_;
} else {
break;
}
} while(true);
if (old_meta != meta) {
room->frame_event.AddRaceChg(this);
exp_ += exp;
MetaData::Player* old_meta = meta;
int start_meta_id = race_ == kHumanRace ? HUMAN_RACE_META_START_ID : ZOMBIE_RACE_META_START_ID;
do {
MetaData::Player* tmp_meta = MetaMgr::Instance()->GetPlayer(start_meta_id + level_);
if (!tmp_meta) {
break;
}
} else if (race_ == kZombieRace) {
exp_ += exp;
MetaData::Player* old_meta = meta;
do {
MetaData::Player* tmp_meta = MetaMgr::Instance()->GetPlayer
(
ZOMBIE_RACE_META_START_ID + level_
);
if (!tmp_meta) {
break;
}
if (exp_ >= tmp_meta->i->exp()) {
meta = tmp_meta;
++level_;
} else {
break;
}
} while(true);
if (old_meta != meta) {
room->frame_event.AddRaceChg(this);
if (exp_ >= tmp_meta->i->exp()) {
meta = tmp_meta;
skill_meta_ = MetaMgr::Instance()->GetSkill(meta->i->active_skill());
ResetSkill();
++level_;
} else {
break;
}
} while (true);
if (old_meta != meta) {
room->frame_event.AddRaceChg(this);
}
}
@ -3080,11 +3058,7 @@ void Human::Revive()
room->frame_event.AddRevive(this);
room->OnHumanRevive(this);
use_skill = false;
curr_skill_phase = 0;
skill_dir = a8::Vec2();
skill_param1 = 0.0f;
playing_skill = false;
ResetSkill();
SyncAroundPlayers(__FILE__, __LINE__, __func__);
} else {
auto callback =
@ -3253,7 +3227,7 @@ void Human::SelectSkillTargets(const a8::Vec2& target_pos, std::set<Entity*>& ta
void Human::ProcSkillPhase(MetaData::SkillPhase* phase)
{
switch (phase->func_id) {
case kSkill_Jump:
case kSkill_TurnOver:
{
}
break;
@ -3539,3 +3513,14 @@ ObjectSyncFlags* Human::GetObjectSyncFlags(int obj_uniid)
return nullptr;
}
}
void Human::ResetSkill()
{
use_skill = false;
curr_skill_phase = 0;
skill_dir = a8::Vec2();
skill_target_pos = a8::Vec2();
skill_param1 = 0.0f;
playing_skill = false;
}

View File

@ -317,6 +317,7 @@ private:
std::set<GridCell*>& inc_grids,
std::set<GridCell*>& dec_grids);
void RemoveFromScene();
void ResetSkill();
protected:
int level_ = 0;