宠物宝藏奖励基础值需乘当前场景倍率
This commit is contained in:
parent
469e52f984
commit
2a43279167
@ -85,13 +85,14 @@ func (f *FriendTreasureMod) Flip(Pos int) ([]*item.Item, int64, error) {
|
||||
}
|
||||
|
||||
// 结束游戏
|
||||
func (f *FriendTreasureMod) EndGame() ([]*item.Item, int, error) {
|
||||
func (f *FriendTreasureMod) EndGame(factor int) ([]*item.Item, int, error) {
|
||||
if f.Status == GAME_STATUS_IDLE {
|
||||
return nil, 0, fmt.Errorf("game is over")
|
||||
}
|
||||
// f.Shift++
|
||||
ProbAdd := friendTreasureCfg.GetProbAdd(f.Shift)
|
||||
ItemNum := int(float64(f.Star) * (100.0 + float64(ProbAdd)) / 100.0)
|
||||
ItemNum = int(float64(ItemNum)*float64(factor)/100/5) * 5
|
||||
FriendItemNum := ItemNum / 10
|
||||
Reward := []*item.Item{
|
||||
{Id: item.ITEM_STAR_ID, Num: ItemNum},
|
||||
|
||||
@ -11,6 +11,7 @@ import (
|
||||
"server/game/mod/endless"
|
||||
"server/game/mod/face"
|
||||
"server/game/mod/friend"
|
||||
friendTreasure "server/game/mod/friend_treasure.go"
|
||||
"server/game/mod/fur"
|
||||
"server/game/mod/item"
|
||||
limitedTimeEvent "server/game/mod/limited_time_event"
|
||||
@ -95,3 +96,7 @@ func (p *Player) GetDailyTaskMod() *dailyTask.DailyTaskMod {
|
||||
func (p *Player) GetItemMod() *item.ItemMod {
|
||||
return p.PlayMod.getItemMod()
|
||||
}
|
||||
|
||||
func (p *Player) GetFriendTreasureMod() *friendTreasure.FriendTreasureMod {
|
||||
return p.PlayMod.getFriendTreasureMod()
|
||||
}
|
||||
|
||||
@ -4316,7 +4316,7 @@ func ReqFriendTreasureFilp(player *Player, buf []byte) error {
|
||||
|
||||
func ReqFriendTreasureEnd(player *Player, buf []byte) error {
|
||||
FriendTreasureMod := player.PlayMod.getFriendTreasureMod()
|
||||
Items, FriendItemNum, err := FriendTreasureMod.EndGame()
|
||||
Items, FriendItemNum, err := FriendTreasureMod.EndGame(player.GetOrderFactor())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(
|
||||
&msg.ResFriendTreasureEnd{
|
||||
|
||||
29
src/server/test/friendTreasure_test.go
Normal file
29
src/server/test/friendTreasure_test.go
Normal file
@ -0,0 +1,29 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"server/game"
|
||||
friendTreasure "server/game/mod/friend_treasure.go"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestFriendTreasure(t *testing.T) {
|
||||
player := new(game.Player)
|
||||
player.InitPlayerByUid(100001)
|
||||
FriendTreasureMod := player.GetFriendTreasureMod()
|
||||
FriendTreasureMod.Status = friendTreasure.GAME_STATUS_START
|
||||
FriendTreasureMod.Shift = 1
|
||||
FriendTreasureMod.Star = 100
|
||||
Items, FriendItemNum, err := FriendTreasureMod.EndGame(111)
|
||||
if err != nil {
|
||||
t.Errorf("EndGame error: %v", err)
|
||||
}
|
||||
if len(Items) != 1 {
|
||||
t.Errorf("EndGame error: expected 1 item, got %d", len(Items))
|
||||
}
|
||||
if Items[0].Num != 220 {
|
||||
t.Errorf("EndGame error: expected item num 220, got %d", Items[0].Num)
|
||||
}
|
||||
if FriendItemNum != 22 {
|
||||
t.Errorf("EndGame error: expected friend item num 22, got %d", FriendItemNum)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user