增加额外的经验条
This commit is contained in:
parent
5341353003
commit
42e9b73764
@ -238,6 +238,14 @@ func GetInteractPhysiology(Id int) (int, int) {
|
|||||||
return gamedata.GetIntValue(data, "PType"), gamedata.GetIntValue(data, "PEffect")
|
return gamedata.GetIntValue(data, "PType"), gamedata.GetIntValue(data, "PEffect")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetInteractPExp(Id int) int {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_MOOD, Id)
|
||||||
|
if err != nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return gamedata.GetIntValue(data, "PExp")
|
||||||
|
}
|
||||||
|
|
||||||
func GetInitDecorate() []int {
|
func GetInitDecorate() []int {
|
||||||
r := make([]int, 0)
|
r := make([]int, 0)
|
||||||
data, err := gamedata.GetData(CFG_PLAYROOM_DECORATE)
|
data, err := gamedata.GetData(CFG_PLAYROOM_DECORATE)
|
||||||
|
|||||||
@ -52,13 +52,13 @@ func GetOrderNByLv(lv int) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取升级经验
|
// 获取升级经验
|
||||||
func GetLevUpExp(lv int) int {
|
func GetLevUpExp(lv int) (int, int) {
|
||||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, lv)
|
data, err := gamedata.GetDataByIntKey(CFG_NAME, lv)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("UserDataCfg GetLevUpExp lv:%v not found", lv)
|
log.Debug("UserDataCfg GetLevUpExp lv:%v not found", lv)
|
||||||
return 0
|
return 0, 0
|
||||||
}
|
}
|
||||||
return gamedata.GetIntValue(data, "Exp")
|
return gamedata.GetIntValue(data, "Exp"), gamedata.GetIntValue(data, "PExp")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取能量回复时间
|
// 获取能量回复时间
|
||||||
|
|||||||
@ -483,21 +483,22 @@ func (p *PlayerBaseData) AddDiamond(cnt int) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 增加经验
|
// 增加经验
|
||||||
func (p *PlayerBaseData) AddExp(player *Player, exp int) (int, error) {
|
func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error) {
|
||||||
BaseMod := player.PlayMod.getBaseMod()
|
BaseMod := player.PlayMod.getBaseMod()
|
||||||
BaseMod.Exp += exp
|
BaseMod.Exp += exp
|
||||||
|
BaseMod.PExp += pexp
|
||||||
upLv := 0
|
upLv := 0
|
||||||
upExp := userCfg.GetLevUpExp(BaseMod.Level)
|
upExp, upPExp := userCfg.GetLevUpExp(BaseMod.Level)
|
||||||
Num := 0
|
Num := 0
|
||||||
UpLevelItem := make([]*item.Item, 0)
|
UpLevelItem := make([]*item.Item, 0)
|
||||||
for BaseMod.Exp >= upExp {
|
for BaseMod.Exp >= upExp && BaseMod.PExp >= upPExp {
|
||||||
if Num > 100 {
|
if Num > 100 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
Num++
|
Num++
|
||||||
BaseMod.Level++
|
BaseMod.Level++
|
||||||
BaseMod.Exp -= upExp
|
BaseMod.Exp -= upExp
|
||||||
upExp = userCfg.GetLevUpExp(BaseMod.Level)
|
upExp, upPExp = userCfg.GetLevUpExp(BaseMod.Level)
|
||||||
// 日常任务解锁
|
// 日常任务解锁
|
||||||
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
||||||
DecorateMod := player.PlayMod.getDecorateMod()
|
DecorateMod := player.PlayMod.getDecorateMod()
|
||||||
|
|||||||
@ -440,7 +440,7 @@ func ReqDecorate(player *Player, buf []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = player.GetPlayerBaseMod().AddExp(player, 10)
|
_, err = player.GetPlayerBaseMod().AddExp(player, 10, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResDecorate{
|
player.SendErrClienRes(&msg.ResDecorate{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -507,7 +507,7 @@ func ReqDecorateAll(player *Player, buf []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = player.GetPlayerBaseMod().AddExp(player, 10*DecorateNum)
|
_, err = player.GetPlayerBaseMod().AddExp(player, 10*DecorateNum, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResDecorateAll{
|
player.SendErrClienRes(&msg.ResDecorateAll{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -3152,6 +3152,14 @@ func ReqPlayroomInteract(player *Player, buf []byte) error {
|
|||||||
if GoUtil.InArray(int(req.Id), playroomCfg.GetInteractIdBath()) {
|
if GoUtil.InArray(int(req.Id), playroomCfg.GetInteractIdBath()) {
|
||||||
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 0)
|
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 0)
|
||||||
}
|
}
|
||||||
|
PExp := playroomCfg.GetInteractPExp(int(req.Id))
|
||||||
|
_, err = player.GetPlayerBaseMod().AddExp(player, 0, PExp)
|
||||||
|
if err != nil {
|
||||||
|
player.SendErrClienRes(&msg.ResPlayroomInteract{
|
||||||
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
}
|
||||||
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_INTERACT, A: []interface{}{int(req.Id)}})
|
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_INTERACT, A: []interface{}{int(req.Id)}})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 0)
|
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 0)
|
||||||
|
|||||||
@ -17,6 +17,7 @@ type Base struct {
|
|||||||
Uid int64
|
Uid int64
|
||||||
Level int
|
Level int
|
||||||
Exp int
|
Exp int
|
||||||
|
PExp int
|
||||||
Energy int
|
Energy int
|
||||||
Star int
|
Star int
|
||||||
Diamond int
|
Diamond int
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user