This commit is contained in:
@@ -34,9 +34,6 @@ func (p *baseplayer) GetInfo() *model.PlayerInfo {
|
||||
|
||||
func ApplyPetLevelLimit(pet model.PetInfo, limitlevel uint32) model.PetInfo {
|
||||
originalHP := pet.Hp
|
||||
if limitlevel > 0 {
|
||||
pet.Level = utils.Min(pet.Level, limitlevel)
|
||||
}
|
||||
pet.CalculatePetPane(limitlevel)
|
||||
pet.Hp = utils.Min(originalHP, pet.MaxHp)
|
||||
return pet
|
||||
|
||||
@@ -27,10 +27,11 @@ func (p *Player) AddPetExp(petInfo *model.PetInfo, addExp int64) {
|
||||
if petInfo == nil || addExp <= 0 {
|
||||
return
|
||||
}
|
||||
panelLimit := p.CurrentMapPetLevelLimit()
|
||||
if petInfo.Level > 100 {
|
||||
currentHP := petInfo.Hp
|
||||
petInfo.Update(false)
|
||||
petInfo.CalculatePetPane(100)
|
||||
petInfo.CalculatePetPane(panelLimit)
|
||||
petInfo.Hp = utils.Min(currentHP, petInfo.MaxHp)
|
||||
}
|
||||
addExp = utils.Min(addExp, p.Info.ExpPool)
|
||||
@@ -40,13 +41,12 @@ func (p *Player) AddPetExp(petInfo *model.PetInfo, addExp int64) {
|
||||
gainedExp := exp //已获得的经验
|
||||
for exp >= int64(petInfo.NextLvExp) {
|
||||
petInfo.Level++
|
||||
exp -= int64(petInfo.LvExp)
|
||||
petInfo.Update(true)
|
||||
}
|
||||
petInfo.Exp = (exp)
|
||||
// 重新计算面板
|
||||
if originalLevel != petInfo.Level {
|
||||
petInfo.CalculatePetPane(100)
|
||||
petInfo.CalculatePetPane(panelLimit)
|
||||
|
||||
petInfo.Cure()
|
||||
p.Info.PetMaxLevel = utils.Max(petInfo.Level, p.Info.PetMaxLevel)
|
||||
|
||||
@@ -239,6 +239,10 @@ func (p *Player) CurrentMapPetLevelLimit() uint32 {
|
||||
return 100
|
||||
}
|
||||
|
||||
func (p *Player) IsCurrentMapLevelBreak() bool {
|
||||
return p != nil && p.CurrentMapPetLevelLimit() == 0
|
||||
}
|
||||
|
||||
// CanFight 检查玩家是否可以进行战斗
|
||||
// 0无战斗,1PVP,2,BOOS,3PVE
|
||||
func (p *Player) CanFight() errorcode.ErrorCode {
|
||||
|
||||
Reference in New Issue
Block a user