1
This commit is contained in:
parent
bbc1fc7b93
commit
076cfc6b7e
@ -1931,26 +1931,14 @@ 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());
|
OnMetaChange();
|
||||||
ResetSkill();
|
|
||||||
MetaData::Skill* passive_skill_meta = MetaMgr::Instance()->GetSkill(meta->i->passive_skill());
|
|
||||||
ClearPassiveSkill();
|
|
||||||
if (passive_skill_meta) {
|
|
||||||
AddPassiveSkill(passive_skill_meta);
|
|
||||||
}
|
|
||||||
} 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());
|
OnMetaChange();
|
||||||
ResetSkill();
|
|
||||||
MetaData::Skill* passive_skill_meta = MetaMgr::Instance()->GetSkill(meta->i->passive_skill());
|
|
||||||
ClearPassiveSkill();
|
|
||||||
if (passive_skill_meta) {
|
|
||||||
AddPassiveSkill(passive_skill_meta);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
@ -1988,11 +1976,7 @@ void Human::WinExp(Human* sender, int exp)
|
|||||||
} while (true);
|
} while (true);
|
||||||
if (old_meta != meta) {
|
if (old_meta != meta) {
|
||||||
room->frame_event.AddZombieIdChg(this);
|
room->frame_event.AddZombieIdChg(this);
|
||||||
MetaData::Skill* passive_skill_meta = MetaMgr::Instance()->GetSkill(meta->i->passive_skill());
|
OnMetaChange();
|
||||||
ClearPassiveSkill();
|
|
||||||
if (passive_skill_meta) {
|
|
||||||
AddPassiveSkill(passive_skill_meta);
|
|
||||||
}
|
|
||||||
if (GetRace() == kZombieRace && meta->i->level() == 3) {
|
if (GetRace() == kZombieRace && meta->i->level() == 3) {
|
||||||
room->TouchPlayerList
|
room->TouchPlayerList
|
||||||
(
|
(
|
||||||
@ -3786,3 +3770,14 @@ void Human::AddPassiveSkillBuff(MetaData::Skill* skill_meta)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Human::OnMetaChange()
|
||||||
|
{
|
||||||
|
skill_meta_ = MetaMgr::Instance()->GetSkill(meta->i->active_skill());
|
||||||
|
ResetSkill();
|
||||||
|
MetaData::Skill* passive_skill_meta = MetaMgr::Instance()->GetSkill(meta->i->passive_skill());
|
||||||
|
ClearPassiveSkill();
|
||||||
|
if (passive_skill_meta) {
|
||||||
|
AddPassiveSkill(passive_skill_meta);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -330,6 +330,7 @@ private:
|
|||||||
bool HasPassiveSkill(MetaData::Skill* skill_meta);
|
bool HasPassiveSkill(MetaData::Skill* skill_meta);
|
||||||
void ClearPassiveSkillBuff(MetaData::Skill* skill_meta);
|
void ClearPassiveSkillBuff(MetaData::Skill* skill_meta);
|
||||||
void AddPassiveSkillBuff(MetaData::Skill* skill_meta);
|
void AddPassiveSkillBuff(MetaData::Skill* skill_meta);
|
||||||
|
void OnMetaChange();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int level_ = 0;
|
int level_ = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user