forked from metin2/server
Implemented official level update fix
This commit is contained in:
parent
3f1ce57fa1
commit
8579828ca6
|
@ -89,6 +89,7 @@ This is a very serious security risk and one of the reasons this project is stil
|
||||||
|
|
||||||
### Gameplay
|
### Gameplay
|
||||||
- Fixed invisibility bug on login/respawn/teleport etc.
|
- Fixed invisibility bug on login/respawn/teleport etc.
|
||||||
|
- Fixed player level not updating [(thread)](https://metin2.dev/topic/30612-official-level-update-fix-reversed/)
|
||||||
|
|
||||||
### Exploits
|
### Exploits
|
||||||
- See the warning above :(
|
- See the warning above :(
|
||||||
|
|
|
@ -5851,7 +5851,7 @@ void CHARACTER::ResetPoint(int iLv)
|
||||||
{
|
{
|
||||||
BYTE bJob = GetJob();
|
BYTE bJob = GetJob();
|
||||||
|
|
||||||
PointChange(POINT_LEVEL, iLv - GetLevel());
|
PointChange(POINT_LEVEL, iLv - GetLevel(), false, true);
|
||||||
|
|
||||||
SetRealPoint(POINT_ST, JobInitialPoints[bJob].st);
|
SetRealPoint(POINT_ST, JobInitialPoints[bJob].st);
|
||||||
SetPoint(POINT_ST, GetRealPoint(POINT_ST));
|
SetPoint(POINT_ST, GetRealPoint(POINT_ST));
|
||||||
|
|
|
@ -862,7 +862,7 @@ namespace quest
|
||||||
ch->PointChange(POINT_SUB_SKILL, newLevel < 10 ? 0 : newLevel - std::max(ch->GetLevel(), 9));
|
ch->PointChange(POINT_SUB_SKILL, newLevel < 10 ? 0 : newLevel - std::max(ch->GetLevel(), 9));
|
||||||
ch->PointChange(POINT_STAT, ((std::clamp(newLevel, 1, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
|
ch->PointChange(POINT_STAT, ((std::clamp(newLevel, 1, 90) - ch->GetLevel()) * 3) + ch->GetPoint(POINT_LEVEL_STEP));
|
||||||
//·¹º§
|
//·¹º§
|
||||||
ch->PointChange(POINT_LEVEL, newLevel - ch->GetLevel());
|
ch->PointChange(POINT_LEVEL, newLevel - ch->GetLevel(), false, true);
|
||||||
//HP, SP
|
//HP, SP
|
||||||
ch->SetRandomHP((newLevel - 1) * Random::get(JobInitialPoints[ch->GetJob()].hp_per_lv_begin, JobInitialPoints[ch->GetJob()].hp_per_lv_end));
|
ch->SetRandomHP((newLevel - 1) * Random::get(JobInitialPoints[ch->GetJob()].hp_per_lv_begin, JobInitialPoints[ch->GetJob()].hp_per_lv_end));
|
||||||
ch->SetRandomSP((newLevel - 1) * Random::get(JobInitialPoints[ch->GetJob()].sp_per_lv_begin, JobInitialPoints[ch->GetJob()].sp_per_lv_end));
|
ch->SetRandomSP((newLevel - 1) * Random::get(JobInitialPoints[ch->GetJob()].sp_per_lv_begin, JobInitialPoints[ch->GetJob()].sp_per_lv_end));
|
||||||
|
|
Loading…
Reference in New Issue