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 enum SkillFunc_e
{ {
kSkill_FuncNone = 0, kSkill_FuncNone = 0,
kSkill_Jump = 1, kSkill_TurnOver = 1,
kSkill_FuncEnd kSkill_FuncEnd
}; };

View File

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