From 9c25ccc214b23cf101fdf45f6fa172e41248662d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Sat, 20 Sep 2025 00:17:29 +0800 Subject: [PATCH] =?UTF-8?q?```=20feat(fight):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E9=97=B4=E6=88=98=E6=96=97=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E4=B8=8E=E5=A4=84=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增战斗邀请与处理逻辑,包括邀请发送、邀请接受/拒绝流程。 添加战斗模式支持(1v1 和 6v6)及相关数据结构定义。 优化玩家战斗准备逻辑,完善战斗初始化流程。 修复玩家离线保存数据时的空指针问题。 调整战斗相关枚举类型,统一管理战斗模式。 完善邀请战斗消息结构体及通信协议。 ``` --- logic/controller/fight.go | 10 + logic/controller/map.go | 2 +- logic/controller/user.go | 24 + logic/service/fight/cmd.go | 13 + logic/service/fight/fightc.go | 8 +- logic/service/fight/info/battle.go | 5 +- logic/service/fight/info/info.go | 26 + logic/service/fight/node/attr.go | 15 + logic/service/fight/playeraction.go | 5 + logic/service/player/player.go | 121 +++- logic/service/user/user.go | 123 ++++ modules/blazing/service/reg.go | 12 +- .../resource/config/xml/SptPetInfo.json | 602 +++++++++--------- 13 files changed, 635 insertions(+), 331 deletions(-) create mode 100644 logic/controller/user.go create mode 100644 logic/service/fight/node/attr.go create mode 100644 logic/service/user/user.go diff --git a/logic/controller/fight.go b/logic/controller/fight.go index 9798f2686..919898cb3 100644 --- a/logic/controller/fight.go +++ b/logic/controller/fight.go @@ -74,9 +74,19 @@ func (h Controller) OnReadyToFight(data *fight.ReadyToFightInboundInfo, c *playe // 接收战斗或者取消战斗的包 func (h Controller) OnPlayerHandleFightInvite(data *fight.HandleFightInviteInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { + if ok, p1 := c.AgreeBattle(data.UserID, data.Flag, data.Mode); ok { + fight.NewFight(info.EnumBattleMode(data.Mode), p1, c) ///开始对战,房主方以及被邀请方 + } return nil, -1 } +// 邀请其他人进行战斗 +func (h Controller) OnPlayerInviteOtherFight(data *fight.InviteToFightInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { + c.InvitePlayerToBattle(data.UserID, info.EnumBattleMode(data.Mode)) + + return nil, 0 +} + // 使用技能包 func (h Controller) UseSkill(data *fight.UseSkillInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { c.FightC.UseSkill(c, int32(data.SkillId)) diff --git a/logic/controller/map.go b/logic/controller/map.go index 9e8d4e10c..72d00cf99 100644 --- a/logic/controller/map.go +++ b/logic/controller/map.go @@ -88,7 +88,7 @@ func (h *Controller) MapList(data *maps.ListMapPlayerInboundInfo, c *player.Play space.GetSpace(c.Info.MapID).Range(func(userID uint32, player common.PlayerI) bool { result1 := maps.NewOutInfo() - copier.Copy(result1, player) + copier.Copy(result1, player.GetInfo()) result.Player = append(result.Player, *result1) return true }) diff --git a/logic/controller/user.go b/logic/controller/user.go new file mode 100644 index 000000000..bc02e69db --- /dev/null +++ b/logic/controller/user.go @@ -0,0 +1,24 @@ +package controller + +import ( + "blazing/common/socket/errorcode" + "blazing/logic/service/player" + "blazing/logic/service/user" + + "github.com/jinzhu/copier" +) + +func (h Controller) UserSimInfo(data *user.SimUserInfoInboundInfo, c *player.Player) (result *user.SimUserInfoOutboundInfo, err errorcode.ErrorCode) { + ret := &user.SimUserInfoOutboundInfo{} + + copier.Copy(ret, c.Service.PersonOther(data.UserId)) + return ret, 0 +} +func (h Controller) UserMoreInfo(data *user.MoreUserInfoInboundInfo, c *player.Player) (result *user.MoreUserInfoOutboundInfo, err errorcode.ErrorCode) { + ret := &user.MoreUserInfoOutboundInfo{} + info := c.Service.PersonOther(data.UserId) + copier.Copy(ret, info) + + //todo 待实现 + return ret, 0 +} diff --git a/logic/service/fight/cmd.go b/logic/service/fight/cmd.go index 28b6d7b1b..73e42cc51 100644 --- a/logic/service/fight/cmd.go +++ b/logic/service/fight/cmd.go @@ -38,6 +38,19 @@ type HandleFightInviteInboundInfo struct { Mode uint32 `json:"mode" codec:"mode,uint"` // 战斗类型 1 = 1v1 2 = 6v6 } +// InviteToFightInboundInfo 对应 Java 的 InviteToFightInboundInfo 类 +// 实现 InboundMessage 接口 +type InviteToFightInboundInfo struct { + Head player.TomeeHeader `cmd:"2401" struc:"[0]pad"` + // UserID 被邀请人的userid + // 对应 Java 注解: @FieldDescription("被邀请人的userid") @UInt + UserID uint32 `codec:"true"` + + // Mode 战斗类型 1 = 1v1 2 = 6v6 + // 对应 Java 注解: @FieldDescription("战斗类型 1 = 1v1 2 = 6v6") @UInt + Mode uint32 `codec:"true"` +} + // 2502的回复包 PVP邀请消息 type NoteHandleFightInviteOutboundInfo struct { UserID uint32 diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 7163f2ee4..1cf0b3e82 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -142,7 +142,13 @@ func (f *FightC) initplayer(c common.PlayerI, opp bool) { func NewFight(i info.EnumBattleMode, p1 common.PlayerI, p2 common.PlayerI) *FightC { f := &FightC{} f.ownerID = p1.ID() - f.Info.FightId = i //房主 + f.Info.FightId = i //房主 + switch i { + case info.BattleMode.PVP_6V6: + f.Info.MAXPET = 6 + case info.BattleMode.PVP_1V1: + f.Info.MAXPET = 1 + } seed := f.StartTime.UnixNano() ^ int64(p1.ID()) ^ int64(p2.ID()) // ^ int64(f.Round) // 用异或运算混合多维度信息 f.rand = rand.New(rand.NewSource(seed)) f.Info = info.NoteReadyToFightInfo{ diff --git a/logic/service/fight/info/battle.go b/logic/service/fight/info/battle.go index c9b0e6a43..67b28c9d9 100644 --- a/logic/service/fight/info/battle.go +++ b/logic/service/fight/info/battle.go @@ -26,8 +26,9 @@ import ( type EnumBattleMode int var BattleMode = enum.New[struct { - PVE EnumBattleMode `enum:"3"` - PVP EnumBattleMode `enum:"1"` + PVE EnumBattleMode `enum:"3"` + PVP_6V6 EnumBattleMode `enum:"2"` + PVP_1V1 EnumBattleMode `enum:"1"` }]() // 玩家离线数据 diff --git a/logic/service/fight/info/info.go b/logic/service/fight/info/info.go index 1e4d38483..9b1e321be 100644 --- a/logic/service/fight/info/info.go +++ b/logic/service/fight/info/info.go @@ -20,6 +20,32 @@ type ChangePetInfo struct { MaxHp uint32 `json:"maxHp"` CatchTime uint32 `fieldDesc:"捕捉时间" ` } +type NoteInviteToFightOutboundInfo struct { + // UserID 邀请我对战人的userid + // 对应 Java 注解: @FieldDescription("邀请我对战人的userid") @UInt + UserID uint32 `codec:"true"` + + // Nickname 邀请我对战人的玩家名称 + // 对应 Java 注解: @FieldDescription("邀请我对战人的玩家名称") @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + Nick string `struc:"[16]byte" default:"seer" json:"nick"` // 16字节昵称 + + // Mode 战斗模式 1 = 1v1 2 = 6v6 + // 对应 Java 注解: @FieldDescription("战斗模式 1 = 1v1 2 = 6v6") @UInt + Mode EnumBattleMode `codec:"true"` +} +type S2C_NOTE_HANDLE_FIGHT_INVITE struct { + // UserID 对方的userid + UserID uint32 + // 对应 Java 注解: @FieldDescription("邀请我对战人的玩家名称") @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + Nick string `struc:"[16]byte" default:"seer" json:"nick"` // 16字节昵称 + // Result 处理结果 + // 0=对方拒绝了对战 + // 1=对方同意了对战 + // 2=对方在线时长超过6小时 + // 3=对方没有可出战的精灵 + // 4=对方不在线 + Result uint32 +} // FightPetInfo 战斗精灵信息结构体,FightPetInfo类 type FightPetInfo struct { diff --git a/logic/service/fight/node/attr.go b/logic/service/fight/node/attr.go new file mode 100644 index 000000000..bca6647d2 --- /dev/null +++ b/logic/service/fight/node/attr.go @@ -0,0 +1,15 @@ +package node + +// 返回false阻止继续运行 +// 回合开始 +func (this *EffectNode) AfterAttr() { + +} + +// 返回false阻止继续运行 +// 回合开始 +func (this *EffectNode) BeferAttr() { + +} + +//回合结束前 diff --git a/logic/service/fight/playeraction.go b/logic/service/fight/playeraction.go index a55c38457..d1b9c4f56 100644 --- a/logic/service/fight/playeraction.go +++ b/logic/service/fight/playeraction.go @@ -100,7 +100,12 @@ func (f *FightC) ReadyFight(c common.PlayerI) { if f.GetInputByPlayer(c, true).Finished { rrsult() } + case 2: // 6v6 + f.GetInputByPlayer(c, false).Finished = true + if f.GetInputByPlayer(c, true).Finished { + rrsult() + } case 3: // 野怪战斗 //判断捕捉率大于0 diff --git a/logic/service/player/player.go b/logic/service/player/player.go index cddb56fb8..f19566ef4 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -5,6 +5,7 @@ import ( "blazing/common/utils" "blazing/logic/service/common" + "blazing/logic/service/fight/info" "blazing/logic/service/space" @@ -20,7 +21,6 @@ import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/glog" "github.com/panjf2000/gnet/pkg/logging" - "github.com/tnnmigga/enum" ) func ConutPlayer() int { @@ -102,6 +102,7 @@ type Player struct { OgreInfo *OgreInfo FightC common.FightI //绑定战斗标识 替代本身的是否战斗标记 //IsFighting bool Service *blservice.UserService + PVPinfo map[uint32]info.EnumBattleMode //FightInfo info.NoteReadyToFightInfo } @@ -118,6 +119,7 @@ func WithConn(c *Conn) PlayerOption { func NewPlayer(opts ...PlayerOption) *Player { p := &Player{ loginChan: make(chan struct{}), + PVPinfo: make(map[uint32]info.EnumBattleMode), } for _, opt := range opts { opt(p) @@ -235,7 +237,11 @@ func LeaveMap(c common.PlayerI) { // Save 保存玩家数据 func (p *Player) Save() { - glog.Debug(context.Background(), p.Info.UserID, "断开连接") + if p.Info == nil { + return + + } + //glog.Debug(context.Background(), p.Info.UserID, "断开连接") LeaveMap(p) @@ -326,31 +332,30 @@ func (lw *Player) IsNewPlayer() bool { return false // 全部等于3则返回false } -// 战斗模式 -type EnumBattleMode int - -var BattleMode_PVP = enum.New[struct { - PVP_1V1 EnumBattleMode `enum:"1"` - PVP_6V6 EnumBattleMode `enum:"2"` -}]() -var Playerinvitemap map[uint32][]Playerinvite = make(map[uint32][]Playerinvite) //玩家邀请信息 ,比如一个玩家被多人邀请对战 - -type Playerinvite struct { //挂载到[]Playerinvite上? 被邀请者->邀请者 - InviteID uint32 // 邀请者 - InviteTime EnumBattleMode //游戏模式 -} +// type Playerinvite struct { //挂载到[]Playerinvite上? 被邀请者->邀请者 +// InviteID uint32 // 邀请者 +// InviteTime EnumBattleMode //游戏模式 +// } // 邀请玩家加入战斗 邀请者,被邀请者,邀请模式 -func (lw *Player) InvitePlayerToBattle(target int64, mode EnumBattleMode) { - t, ok := Playerinvitemap[uint32(target)] //被邀请者是否被邀请过 - if ok { //说明存在被邀请 - t = append(t, Playerinvite{uint32(lw.Info.UserID), mode}) - Playerinvitemap[uint32(target)] = t - } else { - Playerinvitemap[uint32(target)] = []Playerinvite{{uint32(lw.Info.UserID), mode}} - } - +func (lw *Player) InvitePlayerToBattle(target uint32, mode info.EnumBattleMode) { lw.Playerinvite = uint32(target) + Mainplayer.Range(func(key uint32, value *Player) bool { + + if key == uint32(target) { + value.PVPinfo[uint32(lw.Info.UserID)] = mode + t1 := NewTomeeHeader(2501, value.Info.UserID) + value.SendPack(t1.Pack(&info.NoteInviteToFightOutboundInfo{ + UserID: lw.ID(), + Nick: lw.Info.Nick, + Mode: mode, + })) + return false + } + + return true + }) + } // 取消对战邀请 @@ -359,6 +364,72 @@ func (lw *Player) CancelBattle() { if lw.Playerinvite == 0 { return } - delete(Playerinvitemap, uint32(lw.Playerinvite)) //删除玩家邀请信息 + Mainplayer.Range(func(key uint32, value *Player) bool { + + if key == uint32(lw.Playerinvite) { + delete(value.PVPinfo, uint32(lw.Playerinvite)) //删除玩家邀请信息 + return false + } + + return true + }) + lw.Playerinvite = 0 } +func (lw *Player) CanBattle() bool { + + for _, v := range lw.Info.PetList { + if v.Hp > 0 { + return true + + } + + } + return false +} + +// 同意对战 +func (lw *Player) AgreeBattle(userid, flag, mode uint32) (bool, common.PlayerI) { + + otherpp, ok := Mainplayer.Load(userid) + defer delete(lw.PVPinfo, userid) //删除对方的邀请信息 + if ok { //获取到对方 + t1 := NewTomeeHeader(2502, otherpp.Info.UserID) + ret := &info.S2C_NOTE_HANDLE_FIGHT_INVITE{ + UserID: lw.ID(), + Nick: lw.Info.Nick, + } + + if flag == 0 { //拒绝对战 + + otherpp.SendPack(t1.Pack(ret)) + return false, nil + } + if !lw.IsLogin { //玩家未登录 + ret.Result = 4 + otherpp.SendPack(t1.Pack(ret)) + return false, nil + } + for t, v := range lw.PVPinfo { + if t == userid && uint32(v) == mode { //成功找到,同意对战 + if lw.CanBattle() { + ret.Result = 1 + //todo 待发送2503开始对战 + otherpp.SendPack(t1.Pack(ret)) + return true, otherpp + + } else { + ret.Result = 3 + otherpp.SendPack(t1.Pack(ret)) + return false, nil + } + + } + + return false, nil + } + return false, nil + + } //如果对方掉线 + return false, nil +} diff --git a/logic/service/user/user.go b/logic/service/user/user.go new file mode 100644 index 000000000..32884deda --- /dev/null +++ b/logic/service/user/user.go @@ -0,0 +1,123 @@ +package user + +import ( + "blazing/logic/service/player" + "blazing/modules/blazing/model" +) + +// SimUserInfoInboundInfo 对应 Java 的 SimUserInfoInboundInfo 类 +type SimUserInfoInboundInfo struct { + Head player.TomeeHeader `cmd:"2051" struc:"[0]pad"` + UserId uint32 `fieldDescription:"米米号" uint:"true" codec:"true"` +} +type SimUserInfoOutboundInfo struct { + // UserID 米米号 + // 对应 Java 注解: @FieldDescription("米米号") @UInt + UserID uint32 `codec:"true"` + + Nick string `struc:"[16]byte" default:"seer" json:"nick"` // 16字节昵称 + + // Color rgb颜色 + // 对应 Java 注解: @FieldDescription("rgb颜色") @UInt + Color uint32 `codec:"true"` + + // Texture 纹理 0 + // 对应 Java 注解: @FieldDescription("纹理 0") @UInt + Texture uint32 `codec:"true"` + + // Vip 默认值 1 位置 + // 对应 Java 注解: @FieldDescription("默认值 1 位置") @UInt + Vip uint32 `codec:"true"` + + // Status 默认值0 未知 + // 对应 Java 注解: @FieldDescription("默认值0 未知") @UInt + Status uint32 `codec:"true"` + + // MapType 地图类型 进入地图包传入的字段 + // 对应 Java 注解: @FieldDescription("地图类型 进入地图包传入的字段") @UInt + MapType uint32 `codec:"true"` + + // MapID 地图id + // 对应 Java 注解: @FieldDescription("地图id") @UInt + MapID uint32 `codec:"true"` + + // IsCanBeTeacher 能不能做教官 + // 对应 Java 注解: @FieldDescription("能不能做教官") @UInt + IsCanBeTeacher uint32 `codec:"true"` + + // TeacherID 教官id + // 对应 Java 注解: @FieldDescription("教官id") @UInt + TeacherID uint32 `codec:"true"` + + // StudentID 学生id + // 对应 Java 注解: @FieldDescription("学生id") @UInt + StudentID uint32 `codec:"true"` + + // GraduationCount 教官成绩 + // 对应 Java 注解: @FieldDescription("教官成绩") @UInt + GraduationCount uint32 `codec:"true"` + + // VipLevel vip等级 8 + // 对应 Java 注解: @FieldDescription("vip等级 8") @UInt + VipLevel uint32 `codec:"true"` + + // TeamId 战队id + // 对应 Java 注解: @FieldDescription("战队id") @UInt + TeamId uint32 `codec:"true"` + + // IsShow 有没有跟随的精灵 + // 对应 Java 注解: @FieldDescription("有没有跟随的精灵") @UInt + IsShow uint32 `codec:"true"` + ClothesCount uint32 `struc:"sizeof=Clothes" json:"clothes_count"` // 穿戴装备数量 + // Clothes 穿戴装备 + // 对应 Java 注解: @FieldDescription("穿戴装备") @Builder.Default + Clothes []model.PeopleItemInfo `codec:"true"` +} +type MoreUserInfoInboundInfo struct { + Head player.TomeeHeader `cmd:"2052" struc:"[0]pad"` + UserId uint32 `fieldDescription:"米米号" uint:"true" codec:"true"` +} +type MoreUserInfoOutboundInfo struct { + // UserID 米米号 + // 对应 Java 注解: @FieldDescription("米米号") @UInt + UserID uint32 `codec:"true"` + + Nick string `struc:"[16]byte" default:"seer" json:"nick"` // 16字节昵称 + RegisterTime uint32 `struc:"uint32" json:"register_time"` // 注册时间(秒时间戳) + + // PetAllNum 所有精灵数量 + // 对应 Java 注解: @FieldDescription("所有精灵数量") @UInt + PetAllNum uint32 `codec:"true"` + + // PetMaxLev 精灵最大等级 + // 对应 Java 注解: @FieldDescription("精灵最大等级") @UInt + PetMaxLev uint32 `codec:"true"` + + // BossAchievement spt boos成就 20字节 以任务状态完成 3为击败该boss, 目前spt只有12个, 剩下的长度以3填充 + // 对应 Java 注解: @FieldDescription(...) @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 20) @Builder.Default + BossAchievement []byte `codec:"true"` + + // GraduationCount 教官成绩 + // 对应 Java 注解: @FieldDescription("教官成绩") @UInt + GraduationCount uint32 `codec:"true"` + + // MonKingWin 精灵王胜场 + // 对应 Java 注解: @FieldDescription("精灵王胜场") @UInt + MonKingWin uint32 `codec:"true"` + + // MessWin 大乱斗胜场 + // 对应 Java 注解: @FieldDescription("大乱斗胜场") @UInt + MessWin uint32 `codec:"true"` + + // MaxStage 勇者之塔层数 + // 对应 Java 注解: @FieldDescription("勇者之塔层数") @UInt + MaxStage uint32 `codec:"true"` + + // MaxArenaWins 星际擂台胜场 + // 对应 Java 注解: @FieldDescription("星际擂台胜场") @UInt + MaxArenaWins uint32 `codec:"true"` + + // CurrentTitleID 当前称号ID + // 对应 Java 注解: @FieldDescription("当前称号ID") @UInt + CurrentTitleID uint32 `codec:"true"` +} diff --git a/modules/blazing/service/reg.go b/modules/blazing/service/reg.go index 8054c551e..b6079d710 100644 --- a/modules/blazing/service/reg.go +++ b/modules/blazing/service/reg.go @@ -45,7 +45,7 @@ func (s *UserService) Reg(nick string, color uint32) { } t.Data = string(t22) - _, err = cool.DBM(s.reg.Model).Data(t).Insert() + _, err = cool.DBM(s.reg.Model).Data(t).FieldsEx("id").Insert() if err != nil { glog.Error(context.Background(), err) return @@ -62,6 +62,16 @@ func (s *UserService) Person() (ret *model.PlayerInfo) { return +} +func (s *UserService) PersonOther(userid uint32) (ret *model.PlayerInfo) { + + m := cool.DBM(s.reg.Model).Where("player_id", userid) + var tt model.Player + m.Scan(&tt) + json.Unmarshal([]byte(tt.Data), &ret) + + return + } func (s *UserService) Save(data *model.PlayerInfo) { diff --git a/public/seer_data-main/resource/config/xml/SptPetInfo.json b/public/seer_data-main/resource/config/xml/SptPetInfo.json index 50c1d4c55..13b3aa3ae 100644 --- a/public/seer_data-main/resource/config/xml/SptPetInfo.json +++ b/public/seer_data-main/resource/config/xml/SptPetInfo.json @@ -6,8 +6,8 @@ "sptInfo": { "panel": { "news": { - "dec": "号外号外!酒鬼克莱芬开启超进化啦!", - "html": "快去获得" + "dec": "鍙峰鍙峰锛侀厭楝煎厠鑾辫姮寮€鍚秴杩涘寲鍟︼紒", + "html": "蹇幓鑾峰緱" }, "pet": { "exchange": [ @@ -17,7 +17,7 @@ "bit": 12086, "excNum": 300, "evoId": 883, - "dec": "克莱芬超进化兑换" + "dec": "鍏嬭幈鑺秴杩涘寲鍏戞崲" }, { "petId": 4047, @@ -25,7 +25,7 @@ "bit": 11290, "excNum": 300, "evoId": 877, - "dec": "德拉蒙进化兑换" + "dec": "寰锋媺钂欒繘鍖栧厬鎹�" }, { "petId": 3768, @@ -33,7 +33,7 @@ "bit": "455 ", "excNum": 200, "evoId": 826, - "dec": "肯佩德进化兑换" + "dec": "鑲僵寰疯繘鍖栧厬鎹�" }, { "petId": 3480, @@ -41,7 +41,7 @@ "bit": 9549, "excNum": 100, "evoId": 715, - "dec": "普兰特超进化兑换" + "dec": "鏅叞鐗硅秴杩涘寲鍏戞崲" }, { "petId": 3235, @@ -49,7 +49,7 @@ "bit": 19491, "excNum": 100, "evoId": 585, - "dec": "兰斯特超进化兑换" + "dec": "鍏版柉鐗硅秴杩涘寲鍏戞崲" }, { "petId": 3151, @@ -57,7 +57,7 @@ "bit": 19471, "excNum": 100, "evoId": 524, - "dec": "库里超进化" + "dec": "搴撻噷瓒呰繘鍖�" }, { "petId": 3098, @@ -65,7 +65,7 @@ "bit": 19440, "excNum": 100, "evoId": 480, - "dec": "皮特萨罗超进化" + "dec": "鐨壒钀ㄧ綏瓒呰繘鍖�" }, { "petId": 3065, @@ -73,7 +73,7 @@ "bit": 19431, "excNum": 100, "evoId": 451, - "dec": "卡沃尔超进化兑换" + "dec": "鍗℃矁灏旇秴杩涘寲鍏戞崲" }, { "petId": 3030, @@ -81,7 +81,7 @@ "bit": 19432, "excNum": 100, "evoId": 433, - "dec": "克拉尼特超进化兑换" + "dec": "鍏嬫媺灏肩壒瓒呰繘鍖栧厬鎹�" } ] }, @@ -90,37 +90,37 @@ "itemId": 1, "excNum": 5, "excId": 8190, - "dec": "赛尔豆x50000" + "dec": "璧涘皵璞唜50000" }, { "itemId": 400065, "excNum": 5, "excId": 8191, - "dec": "一万经验券x1" + "dec": "涓€涓囩粡楠屽埜x1" }, { "itemId": 300075, "excNum": 5, "excId": 8192, - "dec": "精灵还原药剂Ωx1" + "dec": "绮剧伒杩樺師鑽墏惟x1" }, { "itemId": 300070, "excNum": 5, "excId": 8193, - "dec": "性格重塑胶囊Ωx1" + "dec": "鎬ф牸閲嶅鑳跺泭惟x1" }, { "itemId": 300742, "excNum": 15, "excId": 8194, - "dec": "长效体力药剂" + "dec": "闀挎晥浣撳姏鑽墏" }, { "itemId": 300135, "excNum": 15, "excId": 8195, - "dec": "减伤能量珠Ωx1" + "dec": "鍑忎激鑳介噺鐝犖﹛1" } ] }, @@ -136,86 +136,86 @@ { "id": 301, "petID": 47, - "name": "蘑菇怪", + "name": "铇戣弴鎬�", "mapId": 11066, "sLevel": 1, - "petType": "草系", + "petType": "鑽夌郴", "height": 135, "weight": 78, - "habitat": "克洛斯星林间", - "des": "生活在克洛斯星,被海盗攻击而发狂" + "habitat": "鍏嬫礇鏂槦鏋楅棿", + "des": "鐢熸椿鍦ㄥ厠娲涙柉鏄燂紝琚捣鐩楁敾鍑昏€屽彂鐙�" }, { "id": 302, "petID": 34, - "name": "钢牙鲨", + "name": "閽㈢墮椴�", "mapId": 11068, "sLevel": 1, - "petType": "水系", + "petType": "姘寸郴", "height": 64, "weight": 40, - "habitat": "海洋星海底", - "des": "海洋星海底的危险掠食者,贸然靠近它会被攻击" + "habitat": "娴锋磱鏄熸捣搴�", + "des": "娴锋磱鏄熸捣搴曠殑鍗遍櫓鎺犻鑰咃紝璐哥劧闈犺繎瀹冧細琚敾鍑�" }, { "id": 303, "petID": 42, - "name": "里奥斯", + "name": "閲屽ゥ鏂�", "mapId": 11067, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 80, "weight": 43, - "habitat": "火山星洞穴深处", - "des": "火山星的传说神兽,拥有恐怖的火焰攻击力" + "habitat": "鐏北鏄熸礊绌存繁澶�", + "des": "鐏北鏄熺殑浼犺绁炲吔锛屾嫢鏈夋亹鎬栫殑鐏劙鏀诲嚮鍔�" }, { "id": 304, "petID": 50, - "name": "阿克希亚", + "name": "闃垮厠甯屼簹", "mapId": 11070, "sLevel": 1, - "petType": "冰系", + "petType": "鍐扮郴", "height": 110, "weight": 45, - "habitat": "塞西利亚星", - "des": "塞西利亚星的守护者,从未战败过的她正在等待宿命的对手" + "habitat": "濉炶タ鍒╀簹鏄�", + "des": "濉炶タ鍒╀簹鏄熺殑瀹堟姢鑰咃紝浠庢湭鎴樿触杩囩殑濂规鍦ㄧ瓑寰呭鍛界殑瀵规墜" }, { "id": 305, "petID": 69, - "name": "提亚斯", + "name": "鎻愪簹鏂�", "mapId": 11069, "sLevel": 1, - "petType": "飞行系", + "petType": "椋炶绯�", "height": 99, "weight": 27, - "habitat": "云霄星最高层", - "des": "突然出现在云霄星,属于变异精灵,领地意识极强" + "habitat": "浜戦渼鏄熸渶楂樺眰", + "des": "绐佺劧鍑虹幇鍦ㄤ簯闇勬槦锛屽睘浜庡彉寮傜簿鐏碉紝棰嗗湴鎰忚瘑鏋佸己" }, { "id": 307, "petID": 88, - "name": "纳多雷", + "name": "绾冲闆�", "mapId": 11081, "sLevel": 1, - "petType": "地面系", + "petType": "鍦伴潰绯�", "height": 145, "weight": 600, - "habitat": "双子阿尔法星", - "des": "他从地下破土而出,坚信自己的身体无法被击碎" + "habitat": "鍙屽瓙闃垮皵娉曟槦", + "des": "浠栦粠鍦颁笅鐮村湡鑰屽嚭锛屽潥淇¤嚜宸辩殑韬綋鏃犳硶琚嚮纰�" }, { "id": 2102, "petID": 2263, - "name": "伊森特", + "name": "浼婃.鐗�", "mapId": 11088, "sLevel": 0, - "petType": "电系", + "petType": "鐢电郴", "height": 143, "weight": 74, - "habitat": "空间补给站", - "des": "除了充电,它也没什么值得一提的地方,快把它从补给站里踢走" + "habitat": "绌洪棿琛ョ粰绔�", + "des": "闄や簡鍏呯數锛屽畠涔熸病浠€涔堝€煎緱涓€鎻愮殑鍦版柟锛屽揩鎶婂畠浠庤ˉ缁欑珯閲岃涪璧�" } ], "Difficulty": 1 @@ -225,254 +225,254 @@ { "id": 308, "petID": 113, - "name": "雷纳多", + "name": "闆风撼澶�", "mapId": 11072, "sLevel": 1, - "petType": "机械系", + "petType": "鏈烘绯�", "height": 66, "weight": 88, - "habitat": "双子贝塔星", - "des": "雷纳多本是双子贝塔星的首领,被海盗改造后变成了双子贝塔星的噩梦" + "habitat": "鍙屽瓙璐濆鏄�", + "des": "闆风撼澶氭湰鏄弻瀛愯礉濉旀槦鐨勯棰嗭紝琚捣鐩楁敼閫犲悗鍙樻垚浜嗗弻瀛愯礉濉旀槦鐨勫櫓姊�" }, { "id": 309, "petID": 132, - "name": "尤纳斯", + "name": "灏ょ撼鏂�", "mapId": 11082, "sLevel": 1, - "petType": "暗影系", + "petType": "鏆楀奖绯�", "height": 80, "weight": 8, - "habitat": "拜伦号", - "des": "拜伦号的能量核心就是这只暗影凝聚而成的怪兽" + "habitat": "鎷滀鸡鍙�", + "des": "鎷滀鸡鍙风殑鑳介噺鏍稿績灏辨槸杩欏彧鏆楀奖鍑濊仛鑰屾垚鐨勬€吔" }, { "id": 312, "petID": 264, - "name": "奈尼芬多", + "name": "濂堝凹鑺", "mapId": 11084, "sLevel": 1, - "petType": "超能系", + "petType": "瓒呰兘绯�", "height": 98, "weight": 45, - "habitat": "艾迪星", - "des": "艾迪星的守护者,她的歌声优美动人,也是对付敌人的强悍武器" + "habitat": "鑹捐开鏄�", + "des": "鑹捐开鏄熺殑瀹堟姢鑰咃紝濂圭殑姝屽0浼樼編鍔ㄤ汉锛屼篃鏄浠樻晫浜虹殑寮烘倣姝﹀櫒" }, { "id": 316, "petID": 421, - "name": "厄尔塞拉", + "name": "鍘勫皵濉炴媺", "mapId": 11076, "sLevel": 1, - "petType": "光系", + "petType": "鍏夌郴", "height": 64, "weight": 43, - "habitat": "光之迷城", - "des": "浑身散发着各色光芒,任何邪恶在她的光芒下消散无形" + "habitat": "鍏変箣杩峰煄", + "des": "娴戣韩鏁e彂鐫€鍚勮壊鍏夎姃锛屼换浣曢偑鎭跺湪濂圭殑鍏夎姃涓嬫秷鏁f棤褰�" }, { "id": 353, "petID": 1521, - "name": "克鲁斯", + "name": "鍏嬮瞾鏂�", "mapId": 11075, "sLevel": 1, - "petType": "飞行系", + "petType": "椋炶绯�", "height": 113, "weight": 77, - "habitat": "尼古尔星", - "des": "尼古尔星的河流很多,正是克鲁斯理想的狩猎场" + "habitat": "灏煎彜灏旀槦", + "des": "灏煎彜灏旀槦鐨勬渤娴佸緢澶氾紝姝f槸鍏嬮瞾鏂悊鎯崇殑鐙╃寧鍦�" }, { "id": 369, "petID": 2094, - "name": "普尔扎", + "name": "鏅皵鎵�", "mapId": 11080, "sLevel": 0, - "petType": "普通系", + "petType": "鏅€氱郴", "height": 112, "weight": 71, - "habitat": "天蛇星", - "des": "大��王普尔扎,会吃掉任何他觉得可以吃的东西,包括精灵胶囊" + "habitat": "澶╄泧鏄�", + "des": "澶э拷锟界帇鏅皵鎵庯紝浼氬悆鎺変换浣曚粬瑙夊緱鍙互鍚冪殑涓滆タ锛屽寘鎷簿鐏佃兌鍥�" }, { "id": 2101, "petID": 2171, - "name": "奥特克伯", + "name": "濂ョ壒鍏嬩集", "mapId": 11075, "sLevel": 0, - "petType": "水系", + "petType": "姘寸郴", "height": 153, "weight": 92, - "habitat": "尼古尔星", - "des": "尼古尔星湖底下的海怪,统治着尼古尔星水面下的世界" + "habitat": "灏煎彜灏旀槦", + "des": "灏煎彜灏旀槦婀栧簳涓嬬殑娴锋€紝缁熸不鐫€灏煎彜灏旀槦姘撮潰涓嬬殑涓栫晫" }, { "id": 318, "petID": 538, - "name": "克拉尼特", + "name": "鍏嬫媺灏肩壒", "mapId": 11090, "sLevel": 1, - "petType": "火 龙系", + "petType": "鐏� 榫欑郴", "height": 172, "weight": 265, - "habitat": "戴斯星", - "des": "戴斯星死亡之河的摆渡人,只有他才能自由穿行死亡之河" + "habitat": "鎴存柉鏄�", + "des": "鎴存柉鏄熸浜′箣娌崇殑鎽嗘浮浜猴紝鍙湁浠栨墠鑳借嚜鐢辩┛琛屾浜′箣娌�" }, { "id": 320, "petID": 587, - "name": "墨杜萨", + "name": "澧ㄦ潨钀�", "mapId": 11091, "sLevel": 1, - "petType": "超能系", + "petType": "瓒呰兘绯�", "height": 95, "weight": 52, - "habitat": "墨杜萨星", - "des": "墨杜萨星几乎没有生命,因为它们都被墨杜萨变成了石头" + "habitat": "澧ㄦ潨钀ㄦ槦", + "des": "澧ㄦ潨钀ㄦ槦鍑犱箮娌℃湁鐢熷懡锛屽洜涓哄畠浠兘琚ⅷ鏉滆惃鍙樻垚浜嗙煶澶�" }, { "id": 363, "petID": 1892, - "name": "阿索卡", + "name": "闃跨储鍗�", "mapId": 11086, "sLevel": 1, - "petType": "电系", + "petType": "鐢电郴", "height": 135, "weight": 92, - "habitat": "陨石地带", - "des": "阿索卡表面暴躁好斗,但内心还是愿意接受比自己强的强者的指导的" + "habitat": "闄ㄧ煶鍦板甫", + "des": "闃跨储鍗¤〃闈㈡毚韬佸ソ鏂楋紝浣嗗唴蹇冭繕鏄効鎰忔帴鍙楁瘮鑷繁寮虹殑寮鸿€呯殑鎸囧鐨�" }, { "id": 365, "petID": 1964, - "name": "德拉蒙", + "name": "寰锋媺钂�", "mapId": 11096, "sLevel": 1, - "petType": "地面系", + "petType": "鍦伴潰绯�", "height": 45, "weight": 14, - "habitat": "菲尔纳星", - "des": "德拉蒙在菲尔纳星挖出无数地道,快去制止他疯狂的行为" + "habitat": "鑿插皵绾虫槦", + "des": "寰锋媺钂欏湪鑿插皵绾虫槦鎸栧嚭鏃犳暟鍦伴亾锛屽揩鍘诲埗姝粬鐤媯鐨勮涓�" }, { "id": 323, "petID": 715, - "name": "德拉萨", + "name": "寰锋媺钀�", "mapId": 11101, "sLevel": 1, - "petType": "冰 龙系", + "petType": "鍐� 榫欑郴", "height": 280, "weight": 195, - "habitat": "怀特矿场", - "des": "德拉萨霸占着怀特矿场很久了,他强横的力量能轻易砸碎任何反抗者" + "habitat": "鎬€鐗圭熆鍦�", + "des": "寰锋媺钀ㄩ湼鍗犵潃鎬€鐗圭熆鍦哄緢涔呬簡锛屼粬寮烘í鐨勫姏閲忚兘杞绘槗鐮哥浠讳綍鍙嶆姉鑰�" }, { "id": 333, "petID": 997, - "name": "皮特萨罗", + "name": "鐨壒钀ㄧ綏", "mapId": 11105, "sLevel": 1, - "petType": "飞行系", + "petType": "椋炶绯�", "height": 122, "weight": 49, - "habitat": "丛林之境", - "des": "为了保护自己的孩子,皮特萨罗会攻击任何闯入者" + "habitat": "涓涙灄涔嬪", + "des": "涓轰簡淇濇姢鑷繁鐨勫瀛愶紝鐨壒钀ㄧ綏浼氭敾鍑讳换浣曢棷鍏ヨ€�" }, { "id": 334, "petID": 1012, - "name": "暗夜冰狐", + "name": "鏆楀鍐扮嫄", "mapId": 11106, "sLevel": 1, - "petType": "冰 暗影系", + "petType": "鍐� 鏆楀奖绯�", "height": 104, "weight": 67, - "habitat": "神兽谷", - "des": "冰狐与火狐的斗争由来已久,而暗夜冰狐决心改变这个局面" + "habitat": "绁炲吔璋�", + "des": "鍐扮嫄涓庣伀鐙愮殑鏂椾簤鐢辨潵宸蹭箙锛岃€屾殫澶滃啺鐙愬喅蹇冩敼鍙樿繖涓眬闈�" }, { "id": 358, "petID": 1723, - "name": "安奈美", + "name": "瀹夊缇�", "mapId": 11102, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 146, "weight": 75, - "habitat": "麦兹星", - "des": "她与她的忠实伙伴大熊形影不离,别因为她是小孩子就轻视她" + "habitat": "楹﹀吂鏄�", + "des": "濂逛笌濂圭殑蹇犲疄浼欎即澶х唺褰㈠奖涓嶇锛屽埆鍥犱负濂规槸灏忓瀛愬氨杞昏濂�" }, { "id": 339, "petID": 1131, - "name": "凯洛亚", + "name": "鍑礇浜�", "mapId": 11110, "sLevel": 1, - "petType": "水 超能系", + "petType": "姘� 瓒呰兘绯�", "height": 187, "weight": 102, - "habitat": "珊瑚海礁", - "des": "凯洛亚喜欢珊瑚海礁美丽的景色,不过他喜欢独享,不欢迎外来者" + "habitat": "鐝婄憵娴风", + "des": "鍑礇浜氬枩娆㈢強鐟氭捣绀佺編涓界殑鏅壊锛屼笉杩囦粬鍠滄鐙韩锛屼笉娆㈣繋澶栨潵鑰�" }, { "id": 342, "petID": 1191, - "name": "普兰特", + "name": "鏅叞鐗�", "mapId": 11115, "sLevel": 1, - "petType": "草 超能系", + "petType": "鑽� 瓒呰兘绯�", "height": 80, "weight": 38, - "habitat": "米娜村落", - "des": "米娜村的村长,勤勤恳恳的守护着米娜村" + "habitat": "绫冲鏉戣惤", + "des": "绫冲鏉戠殑鏉戦暱锛屽嫟鍕ゆ伋鎭崇殑瀹堟姢鐫€绫冲鏉�" }, { "id": 344, "petID": 1265, - "name": "巴索尔", + "name": "宸寸储灏�", "mapId": 11118, "sLevel": 1, - "petType": "光系", + "petType": "鍏夌郴", "height": 197, "weight": 102, - "habitat": "守护残殿", - "des": "光之骑士巴索尔因为神殿被摧毁而陷入疯狂" + "habitat": "瀹堟姢娈嬫", + "des": "鍏変箣楠戝+宸寸储灏斿洜涓虹娈胯鎽ф瘉鑰岄櫡鍏ョ柉鐙�" }, { "id": 348, "petID": 1391, - "name": "斯图尔特", + "name": "鏂浘灏旂壒", "mapId": 11122, "sLevel": 1, - "petType": "超能系", + "petType": "瓒呰兘绯�", "height": 125, "weight": 69, - "habitat": "藏宝密室", - "des": "身为黄金家族的最强战力,斯图尔特一直忠实地守护着藏宝密室" + "habitat": "钘忓疂瀵嗗", + "des": "韬负榛勯噾瀹舵棌鐨勬渶寮烘垬鍔涳紝鏂浘灏旂壒涓€鐩村繝瀹炲湴瀹堟姢鐫€钘忓疂瀵嗗" }, { "id": 354, "petID": 1569, - "name": "达蒙特", + "name": "杈捐挋鐗�", "mapId": 11077, "sLevel": 1, - "petType": "暗影系", + "petType": "鏆楀奖绯�", "height": 71, "weight": 32, - "habitat": "迷域之门", - "des": "守护时间秘密的达蒙特一直在等待宿命的勇者打开迷域之门" + "habitat": "杩峰煙涔嬮棬", + "des": "瀹堟姢鏃堕棿绉樺瘑鐨勮揪钂欑壒涓€鐩村湪绛夊緟瀹垮懡鐨勫媷鑰呮墦寮€杩峰煙涔嬮棬" }, { "id": 366, "petID": 1995, - "name": "克雷扎", + "name": "鍏嬮浄鎵�", "mapId": 11112, "sLevel": 1, - "petType": "机械 超能系", + "petType": "鏈烘 瓒呰兘绯�", "height": 133, "weight": 52, - "habitat": "云层之径", - "des": "弹簧人是个不折不扣的麻烦制造者,别和他玩游戏,去击败他" + "habitat": "浜戝眰涔嬪緞", + "des": "寮圭哀浜烘槸涓笉鎶樹笉鎵g殑楹荤儲鍒堕€犺€咃紝鍒拰浠栫帺娓告垙锛屽幓鍑昏触浠�" } ], "Difficulty": 2 @@ -482,302 +482,302 @@ { "id": 310, "petID": 187, - "name": "魔狮迪露", + "name": "榄旂嫯杩湶", "mapId": 11073, "sLevel": 1, - "petType": "普通系", + "petType": "鏅€氱郴", "height": 87, "weight": 33, - "habitat": "斯诺岩洞", - "des": "魔狮迪露被称为不死之身,他超高的生命力永无止境" + "habitat": "鏂宀╂礊", + "des": "榄旂嫯杩湶琚О涓轰笉姝讳箣韬紝浠栬秴楂樼殑鐢熷懡鍔涙案鏃犳澧�" }, { "id": 327, "petID": 855, - "name": "克莱芬", + "name": "鍏嬭幈鑺�", "mapId": 11074, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 353, "weight": 480, - "habitat": "露西欧星", - "des": "克莱芬在不喝酒时很绅士,可惜大部分时间里他都是个暴躁的酒鬼" + "habitat": "闇茶タ娆ф槦", + "des": "鍏嬭幈鑺湪涓嶅枬閰掓椂寰堢粎澹紝鍙儨澶ч儴鍒嗘椂闂撮噷浠栭兘鏄釜鏆磋簛鐨勯厭楝�" }, { "id": 331, "petID": 945, - "name": "斯宾塞", + "name": "鏂濉�", "mapId": 11071, "sLevel": 1, - "petType": "暗影系", + "petType": "鏆楀奖绯�", "height": 108, "weight": 57, - "habitat": "海盗能源站", - "des": "邪灵组织的猛兽,威斯克的得力干将,神秘的能力使他很难受到伤害" + "habitat": "娴风洍鑳芥簮绔�", + "des": "閭伒缁勭粐鐨勭寷鍏斤紝濞佹柉鍏嬬殑寰楀姏骞插皢锛岀绉樼殑鑳藉姏浣夸粬寰堥毦鍙楀埌浼ゅ" }, { "id": 336, "petID": 1061, - "name": "阿加莎", + "name": "闃垮姞鑾�", "mapId": 11098, "sLevel": 1, - "petType": "草系", + "petType": "鑽夌郴", "height": 82, "weight": 25, - "habitat": "卡酷星丛林", - "des": "阿加莎定居于此,因为这里美丽的景象能吸引很多猎物" + "habitat": "鍗¢叿鏄熶笡鏋�", + "des": "闃垮姞鑾庡畾灞呬簬姝わ紝鍥犱负杩欓噷缇庝附鐨勬櫙璞¤兘鍚稿紩寰堝鐚庣墿" }, { "id": 368, "petID": 2058, - "name": "卡尔玛", + "name": "鍗″皵鐜�", "mapId": 11083, "sLevel": 0, - "petType": "机械系", + "petType": "鏈烘绯�", "height": 124, "weight": 99, - "habitat": "神秘空间", - "des": "卡尔玛是控制拜伦号的智能机器人,而且他与海盗一样邪恶" + "habitat": "绁炵绌洪棿", + "des": "鍗″皵鐜涙槸鎺у埗鎷滀鸡鍙风殑鏅鸿兘鏈哄櫒浜猴紝鑰屼笖浠栦笌娴风洍涓€鏍烽偑鎭�" }, { "id": 314, "petID": 391, - "name": "塔西亚", + "name": "濉旇タ浜�", "mapId": 11085, "sLevel": 1, - "petType": "龙系", + "petType": "榫欑郴", "height": 3200, "weight": 80000, - "habitat": "龙王圣殿", - "des": "龙族三巨头之一,对古老的龙族咒语有着与生俱来的天赋" + "habitat": "榫欑帇鍦f", + "des": "榫欐棌涓夊法澶翠箣涓€锛屽鍙よ€佺殑榫欐棌鍜掕鏈夌潃涓庣敓淇辨潵鐨勫ぉ璧�" }, { "id": 324, "petID": 755, - "name": "斯普林特", + "name": "鏂櫘鏋楃壒", "mapId": 11103, "sLevel": 1, - "petType": "冰 暗影系", + "petType": "鍐� 鏆楀奖绯�", "height": 85, "weight": 20, - "habitat": "地底古迹", - "des": "现在,解开封印的他已迫不及待向宇宙展示忍术的奥义" + "habitat": "鍦板簳鍙よ抗", + "des": "鐜板湪锛岃В寮€灏佸嵃鐨勪粬宸茶揩涓嶅強寰呭悜瀹囧畽灞曠ず蹇嶆湳鐨勫ゥ涔�" }, { "id": 357, "petID": 1667, - "name": "奥德斯", + "name": "濂ュ痉鏂�", "mapId": 11079, "sLevel": 1, - "petType": "火 电系", + "petType": "鐏� 鐢电郴", "height": 179, "weight": 70, - "habitat": "上古广场", - "des": "掌握着雷电与火焰的神秘强者,他高傲不羁的性格使他很难相处" + "habitat": "涓婂彜骞垮満", + "des": "鎺屾彙鐫€闆风數涓庣伀鐒扮殑绁炵寮鸿€咃紝浠栭珮鍌蹭笉缇佺殑鎬ф牸浣夸粬寰堥毦鐩稿" }, { "id": 361, "petID": 1808, - "name": "加蒂安", + "name": "鍔犺拏瀹�", "mapId": 11127, "sLevel": 1, - "petType": "火 超能系", + "petType": "鐏� 瓒呰兘绯�", "height": 165, "weight": 48, - "habitat": "神灵之巅", - "des": "普特罗星神灵之巅的永恒守护者,你要进入神灵之巅就要先击败他" + "habitat": "绁炵伒涔嬪穮", + "des": "鏅壒缃楁槦绁炵伒涔嬪穮鐨勬案鎭掑畧鎶よ€咃紝浣犺杩涘叆绁炵伒涔嬪穮灏辫鍏堝嚮璐ヤ粬" }, { "id": 317, "petID": 490, - "name": "劳克蒙德", + "name": "鍔冲厠钂欏痉", "mapId": 11087, "sLevel": 1, - "petType": "战斗系", + "petType": "鎴樻枟绯�", "height": 108, "weight": 60, - "habitat": "沃尔夫洞穴", - "des": "劳克蒙德是战斗大师,连盖亚也曾经接受过他的指导" + "habitat": "娌冨皵澶礊绌�", + "des": "鍔冲厠钂欏痉鏄垬鏂楀ぇ甯堬紝杩炵洊浜氫篃鏇剧粡鎺ュ彈杩囦粬鐨勬寚瀵�" }, { "id": 321, "petID": 617, - "name": "肯佩德", + "name": "鑲僵寰�", "mapId": 11092, "sLevel": 1, - "petType": "水 暗影系", + "petType": "姘� 鏆楀奖绯�", "height": 85, "weight": 68, - "habitat": "拉铂尔星", - "des": "整个拉铂尔星都被肯佩德体内散发出的黑暗能量笼罩,至今没有消散" + "habitat": "鎷夐搨灏旀槦", + "des": "鏁翠釜鎷夐搨灏旀槦閮借鑲僵寰蜂綋鍐呮暎鍙戝嚭鐨勯粦鏆楄兘閲忕缃╋紝鑷充粖娌℃湁娑堟暎" }, { "id": 322, "petID": 672, - "name": "亚伦斯", + "name": "浜氫鸡鏂�", "mapId": 11089, "sLevel": 1, - "petType": "冰 超能系", + "petType": "鍐� 瓒呰兘绯�", "height": 86, "weight": 102, - "habitat": "拓梯星", - "des": "冰之妖兽的传说在卡兰星系无人不知,一探究竟的冒险者无一幸免" + "habitat": "鎷撴鏄�", + "des": "鍐颁箣濡栧吔鐨勪紶璇村湪鍗″叞鏄熺郴鏃犱汉涓嶇煡锛屼竴鎺㈢┒绔熺殑鍐掗櫓鑰呮棤涓€骞稿厤" }, { "id": 330, "petID": 925, - "name": "古尔扎迪", + "name": "鍙ゅ皵鎵庤开", "mapId": 11104, "sLevel": 1, - "petType": "地面系", + "petType": "鍦伴潰绯�", "height": 125, "weight": 500, - "habitat": "守护部落", - "des": "暗黑异能王派驻在地底的大将,被称为毁灭者" + "habitat": "瀹堟姢閮ㄨ惤", + "des": "鏆楅粦寮傝兘鐜嬫淳椹诲湪鍦板簳鐨勫ぇ灏嗭紝琚О涓烘瘉鐏€�" }, { "id": 332, "petID": 957, - "name": "米诺斯", + "name": "绫宠鏂�", "mapId": 11099, "sLevel": 1, - "petType": "战斗系", + "petType": "鎴樻枟绯�", "height": 210, "weight": 136, - "habitat": "怀特星魔窟", - "des": "米诺斯横行在怀特星很久了,他的战斗力连卡修斯也无法小觑" + "habitat": "鎬€鐗规槦榄旂獰", + "des": "绫宠鏂í琛屽湪鎬€鐗规槦寰堜箙浜嗭紝浠栫殑鎴樻枟鍔涜繛鍗′慨鏂篃鏃犳硶灏忚" }, { "id": 367, "petID": 2023, - "name": "潘多斯", + "name": "娼樺鏂�", "mapId": 11095, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 114, "weight": 0, - "habitat": "格雷斯星", - "des": "格雷斯星上游荡着一团鬼火,会将任何生物化为灰烬" + "habitat": "鏍奸浄鏂槦", + "des": "鏍奸浄鏂槦涓婃父鑽$潃涓€鍥㈤鐏紝浼氬皢浠讳綍鐢熺墿鍖栦负鐏扮儸" }, { "id": 337, "petID": 1085, - "name": "兰斯特", + "name": "鍏版柉鐗�", "mapId": 11108, "sLevel": 1, - "petType": "地面 战斗系", + "petType": "鍦伴潰 鎴樻枟绯�", "height": 136, "weight": 200, - "habitat": "巨石岛", - "des": "巨石之杖的守护者,也是不断学习战斗技巧的勤奋学生" + "habitat": "宸ㄧ煶宀�", + "des": "宸ㄧ煶涔嬫潠鐨勫畧鎶よ€咃紝涔熸槸涓嶆柇瀛︿範鎴樻枟鎶€宸х殑鍕ゅ瀛︾敓" }, { "id": 338, "petID": 1109, - "name": "卡沃尔", + "name": "鍗℃矁灏�", "mapId": 11109, "sLevel": 1, - "petType": "电 冰系", + "petType": "鐢� 鍐扮郴", "height": 198, "weight": 157, - "habitat": "石源密林", - "des": "麒麟陷入沉睡之后,卡沃尔也追随麒麟的脚步陷入了沉睡" + "habitat": "鐭虫簮瀵嗘灄", + "des": "楹掗簾闄峰叆娌夌潯涔嬪悗锛屽崱娌冨皵涔熻拷闅忛簰楹熺殑鑴氭闄峰叆浜嗘矇鐫�" }, { "id": 340, "petID": 1147, - "name": "卡伦尼", + "name": "鍗′鸡灏�", "mapId": 11111, "sLevel": 1, - "petType": "草 暗影系", + "petType": "鑽� 鏆楀奖绯�", "height": 114, "weight": 24, - "habitat": "雾气石林", - "des": "卡伦尼有隐身的能力,不过逃不过帕罗狄亚的眼睛,甘心为他卖命" + "habitat": "闆炬皵鐭虫灄", + "des": "鍗′鸡灏兼湁闅愯韩鐨勮兘鍔涳紝涓嶈繃閫冧笉杩囧笗缃楃媱浜氱殑鐪肩潧锛岀敇蹇冧负浠栧崠鍛�" }, { "id": 341, "petID": 1164, - "name": "斯利普", + "name": "鏂埄鏅�", "mapId": 11113, "sLevel": 1, - "petType": "龙系", + "petType": "榫欑郴", "height": 210, "weight": 240, - "habitat": "上古龙殿", - "des": "上古龙殿的保卫者,被帕罗狄亚蛊惑后,不再相信任何人" + "habitat": "涓婂彜榫欐", + "des": "涓婂彜榫欐鐨勪繚鍗€咃紝琚笗缃楃媱浜氳泭鎯戝悗锛屼笉鍐嶇浉淇′换浣曚汉" }, { "id": 346, "petID": 1354, - "name": "斯克鲁", + "name": "鏂厠椴�", "mapId": 11120, "sLevel": 1, - "petType": "冰系", + "petType": "鍐扮郴", "height": 215, "weight": 198, - "habitat": "通天塔", - "des": "魔神艾里克的忠实部下,只有艾里克才能制服这头孤独的巨兽" + "habitat": "閫氬ぉ濉�", + "des": "榄旂鑹鹃噷鍏嬬殑蹇犲疄閮ㄤ笅锛屽彧鏈夎壘閲屽厠鎵嶈兘鍒舵湇杩欏ご瀛ょ嫭鐨勫法鍏�" }, { "id": 347, "petID": 1377, - "name": "纳特", + "name": "绾崇壒", "mapId": 11121, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 148, "weight": 248, - "habitat": "恶灵深渊", - "des": "恶灵深渊永远在熊熊燃烧,因为纳特的怒火永远宣泄不尽" + "habitat": "鎭剁伒娣辨笂", + "des": "鎭剁伒娣辨笂姘歌繙鍦ㄧ唺鐔婄噧鐑э紝鍥犱负绾崇壒鐨勬€掔伀姘歌繙瀹f硠涓嶅敖" }, { "id": 350, "petID": 1431, - "name": "洛拉斯克", + "name": "娲涙媺鏂厠", "mapId": 11124, "sLevel": 1, - "petType": "地面系", + "petType": "鍦伴潰绯�", "height": 196, "weight": 298, - "habitat": "晶蛇魔窟", - "des": "洛拉斯克发起怒来连天马一族也要退避三舍" + "habitat": "鏅惰泧榄旂獰", + "des": "娲涙媺鏂厠鍙戣捣鎬掓潵杩炲ぉ椹竴鏃忎篃瑕侀€€閬夸笁鑸�" }, { "id": 352, "petID": 1477, - "name": "弗希斯", + "name": "寮楀笇鏂�", "mapId": 11126, "sLevel": 1, - "petType": "草 暗影系", + "petType": "鑽� 鏆楀奖绯�", "height": 97, "weight": 39, - "habitat": "神树之巅", - "des": "被麒麟委派守护神树之后,弗希斯就不再仁慈让任何人进入了" + "habitat": "绁炴爲涔嬪穮", + "des": "琚簰楹熷娲惧畧鎶ょ鏍戜箣鍚庯紝寮楀笇鏂氨涓嶅啀浠佹厛璁╀换浣曚汉杩涘叆浜�" }, { "id": 355, "petID": 1598, - "name": "里弗斯", + "name": "閲屽紬鏂�", "mapId": 11078, "sLevel": 1, - "petType": "水 暗影系", + "petType": "姘� 鏆楀奖绯�", "height": 172, "weight": 87, - "habitat": "水竹山脉", - "des": "没有人知道里弗斯已经存在了多久,他能轻易引发一场海啸" + "habitat": "姘寸灞辫剦", + "des": "娌℃湁浜虹煡閬撻噷寮楁柉宸茬粡瀛樺湪浜嗗涔咃紝浠栬兘杞绘槗寮曞彂涓€鍦烘捣鍟�" }, { "id": 370, "petID": 2151, - "name": "加尔鲁什", + "name": "鍔犲皵椴佷粈", "mapId": 11114, "sLevel": 0, - "petType": "草系", + "petType": "鑽夌郴", "height": 88, "weight": 66, - "habitat": "莱恩纳星", - "des": "蜥蜴王加尔鲁什喜欢埋伏在草丛中伏击敌人,因而被真正的强者鄙视" + "habitat": "鑾辨仼绾虫槦", + "des": "铚ヨ湸鐜嬪姞灏旈瞾浠€鍠滄鍩嬩紡鍦ㄨ崏涓涗腑浼忓嚮鏁屼汉锛屽洜鑰岃鐪熸鐨勫己鑰呴剻瑙�" } ], "Difficulty": 3 @@ -787,152 +787,152 @@ { "id": 315, "petID": 274, - "name": "塔克林", + "name": "濉斿厠鏋�", "mapId": 11085, "sLevel": 1, - "petType": "龙系", + "petType": "榫欑郴", "height": 3500, "weight": 85000, - "habitat": "龙王圣殿", - "des": "龙族三巨头之一,代表着龙族巨大身躯与蛮力的最高水平" + "habitat": "榫欑帇鍦f", + "des": "榫欐棌涓夊法澶翠箣涓€锛屼唬琛ㄧ潃榫欐棌宸ㄥぇ韬函涓庤洰鍔涚殑鏈€楂樻按骞�" }, { "id": 364, "petID": 1923, - "name": "雅库布", + "name": "闆呭簱甯�", "mapId": 11128, "sLevel": 1, - "petType": "机械系", + "petType": "鏈烘绯�", "height": 134, "weight": 89, - "habitat": "祸乱之源", - "des": "海盗创造的机械猛兽,在吸收了索伦森的黑暗能量后变得更加恐怖" + "habitat": "绁镐贡涔嬫簮", + "des": "娴风洍鍒涢€犵殑鏈烘鐚涘吔锛屽湪鍚告敹浜嗙储浼︽.鐨勯粦鏆楄兘閲忓悗鍙樺緱鏇村姞鎭愭€�" }, { "id": 343, "petID": 1221, - "name": "博卡特", + "name": "鍗氬崱鐗�", "mapId": 11116, "sLevel": 1, - "petType": "机械系", + "petType": "鏈烘绯�", "height": 186, "weight": 120, - "habitat": "海盗研究基地", - "des": "海盗研制出的新一代毁灭机甲,瞬间可以毁灭整个星球" + "habitat": "娴风洍鐮旂┒鍩哄湴", + "des": "娴风洍鐮斿埗鍑虹殑鏂颁竴浠f瘉鐏満鐢诧紝鐬棿鍙互姣佺伃鏁翠釜鏄熺悆" }, { "id": 345, "petID": 1304, - "name": "帕里斯", + "name": "甯曢噷鏂�", "mapId": 11119, "sLevel": 1, - "petType": "水 暗影系", + "petType": "姘� 鏆楀奖绯�", "height": 189, "weight": 154, - "habitat": "兽神瀑布", - "des": "恶魔星的恐怖凶兽,强大的能力能使瀑布断流" + "habitat": "鍏界鐎戝竷", + "des": "鎭堕瓟鏄熺殑鎭愭€栧嚩鍏斤紝寮哄ぇ鐨勮兘鍔涜兘浣跨€戝竷鏂祦" }, { "id": 349, "petID": 1418, - "name": "库里", + "name": "搴撻噷", "mapId": 11123, "sLevel": 1, - "petType": "普通系", + "petType": "鏅€氱郴", "height": 176, "weight": 75, - "habitat": "浮空仙岛", - "des": "天马一族的长老年龄已经很大了,但这并没有使他好斗的性格有所收敛" + "habitat": "娴┖浠欏矝", + "des": "澶╅┈涓€鏃忕殑闀胯€佸勾榫勫凡缁忓緢澶т簡锛屼絾杩欏苟娌℃湁浣夸粬濂芥枟鐨勬€ф牸鏈夋墍鏀舵暃" }, { "id": 351, "petID": 1453, - "name": "伊索里", + "name": "浼婄储閲�", "mapId": 11125, "sLevel": 1, - "petType": "战斗系", + "petType": "鎴樻枟绯�", "height": 180, "weight": 126, - "habitat": "冰晶奇宫", - "des": "作为战神一族的家臣,伊索里一直在等待盖亚解开战神一族秘密的时刻" + "habitat": "鍐版櫠濂囧", + "des": "浣滀负鎴樼涓€鏃忕殑瀹惰嚕锛屼紛绱㈤噷涓€鐩村湪绛夊緟鐩栦簹瑙e紑鎴樼涓€鏃忕瀵嗙殑鏃跺埢" }, { "id": 2104, "sId": 2070, "petID": 2455, - "name": "布鲁克", + "name": "甯冮瞾鍏�", "mapId": 11129, "sLevel": 1, - "petType": "冰系", + "petType": "鍐扮郴", "height": 216, "weight": 20, - "habitat": "魔灵之城", - "des": "为了心中所爱,他即时成为了骷髅也没有停止歌唱" + "habitat": "榄旂伒涔嬪煄", + "des": "涓轰簡蹇冧腑鎵€鐖憋紝浠栧嵆鏃舵垚涓轰簡楠烽珔涔熸病鏈夊仠姝㈡瓕鍞�" }, { "id": 2105, "sId": 2071, "petID": 2507, - "name": "斗魔旺乔", + "name": "鏂楅瓟鏃轰箶", "mapId": 11130, "sLevel": 1, - "petType": "草 战斗系", + "petType": "鑽� 鎴樻枟绯�", "height": 210, "weight": 266, - "habitat": "龙神祭坛", - "des": "没人知道这个巨人的来历,尝试与他交流的人全部都被他碾碎了" + "habitat": "榫欑绁潧", + "des": "娌′汉鐭ラ亾杩欎釜宸ㄤ汉鐨勬潵鍘嗭紝灏濊瘯涓庝粬浜ゆ祦鐨勪汉鍏ㄩ儴閮借浠栫⒕纰庝簡" }, { "id": 2106, "sId": 2072, "petID": 2602, - "name": "暗黑球球", + "name": "鏆楅粦鐞冪悆", "mapId": 11100, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 40, "weight": 15, - "habitat": "般若星", - "des": "这家伙在般若星捣蛋很久了,当地居民对他一直没什么办法" + "habitat": "鑸嫢鏄�", + "des": "杩欏浼欏湪鑸嫢鏄熸崳铔嬪緢涔呬簡锛屽綋鍦板眳姘戝浠栦竴鐩存病浠€涔堝姙娉�" }, { "id": 2107, "sId": 2073, "petID": 2641, - "name": "乱斗", + "name": "涔辨枟", "mapId": 11117, "sLevel": 1, - "petType": "战斗系", + "petType": "鎴樻枟绯�", "height": 185, "weight": 101, - "habitat": "幻梦迷境", - "des": "乱斗骑士只是个传说,现在只有乱斗了" + "habitat": "骞绘ⅵ杩峰", + "des": "涔辨枟楠戝+鍙槸涓紶璇达紝鐜板湪鍙湁涔辨枟浜�" }, { "id": 2108, "sId": 2074, "petID": 2656, - "name": "蚀日", + "name": "铓€鏃�", "mapId": 11131, "sLevel": 1, - "petType": "火系", + "petType": "鐏郴", "height": 50, "weight": 28, - "habitat": "云霄古桥", - "des": "蚀日是火焰的化身,所以物理攻击无法对它造成伤害" + "habitat": "浜戦渼鍙ゆˉ", + "des": "铓€鏃ユ槸鐏劙鐨勫寲韬紝鎵€浠ョ墿鐞嗘敾鍑绘棤娉曞瀹冮€犳垚浼ゅ" }, { "id": 2109, "sId": 2075, "petID": 2763, - "name": "黑暗三角兽", + "name": "榛戞殫涓夎鍏�", "mapId": 11094, "sLevel": 1, - "petType": "草 暗影系", + "petType": "鑽� 鏆楀奖绯�", "height": 300, "weight": 300, - "habitat": "格雷斯星", - "des": "邪灵组织污染了格雷斯星,使得温顺的三角兽变成了暴躁的怪兽" + "habitat": "鏍奸浄鏂槦", + "des": "閭伒缁勭粐姹℃煋浜嗘牸闆锋柉鏄燂紝浣垮緱娓╅『鐨勪笁瑙掑吔鍙樻垚浜嗘毚韬佺殑鎬吔" } ], "Difficulty": 4 @@ -942,74 +942,74 @@ { "id": 311, "petID": 216, - "name": "哈莫雷特", + "name": "鍝堣帿闆风壒", "mapId": 11085, "sLevel": 1, - "petType": "龙系", + "petType": "榫欑郴", "height": 4000, "weight": 80000, - "habitat": "龙王圣殿", - "des": "高傲的龙族正统继承人,强大的力量与正义的心完美结合的龙王子" + "habitat": "榫欑帇鍦f", + "des": "楂樺偛鐨勯緳鏃忔缁熺户鎵夸汉锛屽己澶х殑鍔涢噺涓庢涔夌殑蹇冨畬缇庣粨鍚堢殑榫欑帇瀛�" }, { "id": 335, "petID": 1045, - "name": "瑞尔斯", + "name": "鐟炲皵鏂�", "mapId": 11107, "sLevel": 1, - "petType": "战斗系", + "petType": "鎴樻枟绯�", "height": 134, "weight": 55, - "habitat": "加利部落", - "des": "盖亚的兄长,他与盖亚的每年都会定期决斗,来决定谁才是战神一族的最强" + "habitat": "鍔犲埄閮ㄨ惤", + "des": "鐩栦簹鐨勫厔闀匡紝浠栦笌鐩栦簹鐨勬瘡骞撮兘浼氬畾鏈熷喅鏂楋紝鏉ュ喅瀹氳皝鎵嶆槸鎴樼涓€鏃忕殑鏈€寮�" }, { "id": 362, "petID": 1853, - "name": "哈耶克", + "name": "鍝堣€跺厠", "mapId": 11097, "sLevel": 1, - "petType": "普通系", + "petType": "鏅€氱郴", "height": 171, "weight": 51, - "habitat": "赫鲁卡城", - "des": "哈耶克被暗黑战神联盟偷袭后,其心智也逐渐扭曲,现在他一心复仇" + "habitat": "璧瞾鍗″煄", + "des": "鍝堣€跺厠琚殫榛戞垬绁炶仈鐩熷伔琚悗锛屽叾蹇冩櫤涔熼€愭笎鎵洸锛岀幇鍦ㄤ粬涓€蹇冨浠�" }, { "id": 326, "petID": 804, - "name": "迪符特", + "name": "杩鐗�", "mapId": 11093, "sLevel": 1, - "petType": "普通系", + "petType": "鏅€氱郴", "height": 1300, "weight": 2800, - "habitat": "怀特星", - "des": "炫彩山的山神,拥有传说中的神圣炫彩能量" + "habitat": "鎬€鐗规槦", + "des": "鐐僵灞辩殑灞辩锛屾嫢鏈変紶璇翠腑鐨勭鍦g偒褰╄兘閲�" }, { "id": 2103, "petID": 2399, - "name": "瓦里恩", + "name": "鐡﹂噷鎭�", "mapId": 11114, "sLevel": 0, - "petType": "地面系", + "petType": "鍦伴潰绯�", "height": 98, "weight": 26, - "habitat": "蘑草绿洲", - "des": "瓦里恩很喜欢钱,所以摩哥斯就雇佣他成为自己的专职刺客" + "habitat": "铇戣崏缁挎床", + "des": "鐡﹂噷鎭╁緢鍠滄閽憋紝鎵€浠ユ懇鍝ユ柉灏遍泧浣d粬鎴愪负鑷繁鐨勪笓鑱屽埡瀹�" }, { "id": 2110, "petID": 3985, - "name": "弥萨尔", + "name": "寮ヨ惃灏�", "mapId": 11901, "sLevel": 0, - "petType": "邪灵 神秘", + "petType": "閭伒 绁炵", "height": 198, "weight": 20, - "habitat": "丧钟丘陵", - "des": "掌握着可怖的祭祀法咒,据说直视过他的人都被用来献祭了" + "habitat": "涓ч挓涓橀櫟", + "des": "鎺屾彙鐫€鍙€栫殑绁娉曞拻锛屾嵁璇寸洿瑙嗚繃浠栫殑浜洪兘琚敤鏉ョ尞绁簡" } ], "Difficulty": 5