From 7f2f36c544e1aaa60543604b8170077729019f63 Mon Sep 17 00:00:00 2001
From: meixiongfeng <766881921@qq.com>
Date: Thu, 25 Aug 2022 19:04:42 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E9=93=81=E5=8C=A0=E9=93=BAbug=20+=20viking?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bin/json/game_vikingboss.json | 2267 +++++++++++++++++
bin/json/game_vikingchallenge.json | 102 +
comm/const.go | 3 +
modules/smithy/api_createorder.go | 22 +-
modules/smithy/api_getReward.go | 3 +
modules/viking/api.go | 34 +
modules/viking/api_getlist.go | 24 +
modules/viking/comp_configure.go | 145 ++
modules/viking/model_gourmet.go | 78 +
modules/viking/module.go | 50 +
sys/configure/structs/Game.VikingBoss.go | 42 +
sys/configure/structs/Game.VikingBossData.go | 167 ++
sys/configure/structs/Game.VikingChallenge.go | 42 +
.../structs/Game.VikingChallengeData.go | 50 +
14 files changed, 3008 insertions(+), 21 deletions(-)
create mode 100644 bin/json/game_vikingboss.json
create mode 100644 bin/json/game_vikingchallenge.json
create mode 100644 modules/viking/api.go
create mode 100644 modules/viking/api_getlist.go
create mode 100644 modules/viking/comp_configure.go
create mode 100644 modules/viking/model_gourmet.go
create mode 100644 modules/viking/module.go
create mode 100644 sys/configure/structs/Game.VikingBoss.go
create mode 100644 sys/configure/structs/Game.VikingBossData.go
create mode 100644 sys/configure/structs/Game.VikingChallenge.go
create mode 100644 sys/configure/structs/Game.VikingChallengeData.go
diff --git a/bin/json/game_vikingboss.json b/bin/json/game_vikingboss.json
new file mode 100644
index 000000000..943a3d2a9
--- /dev/null
+++ b/bin/json/game_vikingboss.json
@@ -0,0 +1,2267 @@
+[
+ {
+ "id": 1001,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 1,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ }
+ ],
+ "drop": 1001,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 10,
+ "npc1hp": 0.5,
+ "npc1atk": 0.5,
+ "npc1def": 0.5,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 10,
+ "npc2hp": 0.5,
+ "npc2atk": 0.5,
+ "npc2def": 0.5,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 10,
+ "npc3hp": 0.5,
+ "npc3atk": 0.5,
+ "npc3def": 0.5,
+ "bosslv": 10,
+ "bosshp": 0.5,
+ "bossatk": 0.5,
+ "bossdef": 0.5
+ },
+ {
+ "id": 1002,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 2,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ }
+ ],
+ "drop": 1002,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 20,
+ "npc1hp": 0.6,
+ "npc1atk": 0.6,
+ "npc1def": 0.6,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 20,
+ "npc2hp": 0.6,
+ "npc2atk": 0.6,
+ "npc2def": 0.6,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 20,
+ "npc3hp": 0.6,
+ "npc3atk": 0.6,
+ "npc3def": 0.6,
+ "bosslv": 20,
+ "bosshp": 0.6,
+ "bossatk": 0.6,
+ "bossdef": 0.6
+ },
+ {
+ "id": 1003,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 3,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1003,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 30,
+ "npc1hp": 0.7,
+ "npc1atk": 0.7,
+ "npc1def": 0.7,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 30,
+ "npc2hp": 0.7,
+ "npc2atk": 0.7,
+ "npc2def": 0.7,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 30,
+ "npc3hp": 0.7,
+ "npc3atk": 0.7,
+ "npc3def": 0.7,
+ "bosslv": 30,
+ "bosshp": 0.7,
+ "bossatk": 0.7,
+ "bossdef": 0.7
+ },
+ {
+ "id": 1004,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 4,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1004,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 40,
+ "npc1hp": 0.8,
+ "npc1atk": 0.8,
+ "npc1def": 0.8,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 40,
+ "npc2hp": 0.8,
+ "npc2atk": 0.8,
+ "npc2def": 0.8,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 40,
+ "npc3hp": 0.8,
+ "npc3atk": 0.8,
+ "npc3def": 0.8,
+ "bosslv": 40,
+ "bosshp": 0.8,
+ "bossatk": 0.8,
+ "bossdef": 0.8
+ },
+ {
+ "id": 1005,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 5,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1005,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 50,
+ "npc1hp": 0.9,
+ "npc1atk": 0.9,
+ "npc1def": 0.9,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 50,
+ "npc2hp": 0.9,
+ "npc2atk": 0.9,
+ "npc2def": 0.9,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 50,
+ "npc3hp": 0.9,
+ "npc3atk": 0.9,
+ "npc3def": 0.9,
+ "bosslv": 50,
+ "bosshp": 0.9,
+ "bossatk": 0.9,
+ "bossdef": 0.9
+ },
+ {
+ "id": 1006,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 6,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1006,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 60,
+ "npc1hp": 1,
+ "npc1atk": 1,
+ "npc1def": 1,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 60,
+ "npc2hp": 1,
+ "npc2atk": 1,
+ "npc2def": 1,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 60,
+ "npc3hp": 1,
+ "npc3atk": 1,
+ "npc3def": 1,
+ "bosslv": 60,
+ "bosshp": 1,
+ "bossatk": 1,
+ "bossdef": 1
+ },
+ {
+ "id": 1007,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 7,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1007,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 70,
+ "npc1hp": 1.1,
+ "npc1atk": 1.1,
+ "npc1def": 1.1,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 70,
+ "npc2hp": 1.1,
+ "npc2atk": 1.1,
+ "npc2def": 1.1,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 70,
+ "npc3hp": 1.1,
+ "npc3atk": 1.1,
+ "npc3def": 1.1,
+ "bosslv": 70,
+ "bosshp": 1.1,
+ "bossatk": 1.1,
+ "bossdef": 1.1
+ },
+ {
+ "id": 1008,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 8,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1008,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 80,
+ "npc1hp": 1.2,
+ "npc1atk": 1.2,
+ "npc1def": 1.2,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 80,
+ "npc2hp": 1.2,
+ "npc2atk": 1.2,
+ "npc2def": 1.2,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 80,
+ "npc3hp": 1.2,
+ "npc3atk": 1.2,
+ "npc3def": 1.2,
+ "bosslv": 80,
+ "bosshp": 1.2,
+ "bossatk": 1.2,
+ "bossdef": 1.2
+ },
+ {
+ "id": 1009,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 9,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1009,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 90,
+ "npc1hp": 1.3,
+ "npc1atk": 1.3,
+ "npc1def": 1.3,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 90,
+ "npc2hp": 1.3,
+ "npc2atk": 1.3,
+ "npc2def": 1.3,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 90,
+ "npc3hp": 1.3,
+ "npc3atk": 1.3,
+ "npc3def": 1.3,
+ "bosslv": 90,
+ "bosshp": 1.3,
+ "bossatk": 1.3,
+ "bossdef": 1.3
+ },
+ {
+ "id": 1010,
+ "type": 1,
+ "name": {
+ "key": "viking_boss_1001",
+ "text": "火焰泰坦"
+ },
+ "difficulty": 10,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1010,
+ "bossmodel": 25001,
+ "npcid1": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc1lv": 100,
+ "npc1hp": 1.4,
+ "npc1atk": 1.4,
+ "npc1def": 1.4,
+ "npcid2": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc2lv": 100,
+ "npc2hp": 1.4,
+ "npc2atk": 1.4,
+ "npc2def": 1.4,
+ "npcid3": [
+ 250011,
+ 250011,
+ 250011
+ ],
+ "npc3lv": 100,
+ "npc3hp": 1.4,
+ "npc3atk": 1.4,
+ "npc3def": 1.4,
+ "bosslv": 100,
+ "bosshp": 1.4,
+ "bossatk": 1.4,
+ "bossdef": 1.4
+ },
+ {
+ "id": 2001,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 1,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ }
+ ],
+ "drop": 1011,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 10,
+ "npc1hp": 0.5,
+ "npc1atk": 0.5,
+ "npc1def": 0.5,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 10,
+ "npc2hp": 0.5,
+ "npc2atk": 0.5,
+ "npc2def": 0.5,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 10,
+ "npc3hp": 0.5,
+ "npc3atk": 0.5,
+ "npc3def": 0.5,
+ "bosslv": 10,
+ "bosshp": 0.5,
+ "bossatk": 0.5,
+ "bossdef": 0.5
+ },
+ {
+ "id": 2002,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 2,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ }
+ ],
+ "drop": 1012,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 20,
+ "npc1hp": 0.6,
+ "npc1atk": 0.6,
+ "npc1def": 0.6,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 20,
+ "npc2hp": 0.6,
+ "npc2atk": 0.6,
+ "npc2def": 0.6,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 20,
+ "npc3hp": 0.6,
+ "npc3atk": 0.6,
+ "npc3def": 0.6,
+ "bosslv": 20,
+ "bosshp": 0.6,
+ "bossatk": 0.6,
+ "bossdef": 0.6
+ },
+ {
+ "id": 2003,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 3,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1013,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 30,
+ "npc1hp": 0.7,
+ "npc1atk": 0.7,
+ "npc1def": 0.7,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 30,
+ "npc2hp": 0.7,
+ "npc2atk": 0.7,
+ "npc2def": 0.7,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 30,
+ "npc3hp": 0.7,
+ "npc3atk": 0.7,
+ "npc3def": 0.7,
+ "bosslv": 30,
+ "bosshp": 0.7,
+ "bossatk": 0.7,
+ "bossdef": 0.7
+ },
+ {
+ "id": 2004,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 4,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1014,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 40,
+ "npc1hp": 0.8,
+ "npc1atk": 0.8,
+ "npc1def": 0.8,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 40,
+ "npc2hp": 0.8,
+ "npc2atk": 0.8,
+ "npc2def": 0.8,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 40,
+ "npc3hp": 0.8,
+ "npc3atk": 0.8,
+ "npc3def": 0.8,
+ "bosslv": 40,
+ "bosshp": 0.8,
+ "bossatk": 0.8,
+ "bossdef": 0.8
+ },
+ {
+ "id": 2005,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 5,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1015,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 50,
+ "npc1hp": 0.9,
+ "npc1atk": 0.9,
+ "npc1def": 0.9,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 50,
+ "npc2hp": 0.9,
+ "npc2atk": 0.9,
+ "npc2def": 0.9,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 50,
+ "npc3hp": 0.9,
+ "npc3atk": 0.9,
+ "npc3def": 0.9,
+ "bosslv": 50,
+ "bosshp": 0.9,
+ "bossatk": 0.9,
+ "bossdef": 0.9
+ },
+ {
+ "id": 2006,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 6,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1016,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 60,
+ "npc1hp": 1,
+ "npc1atk": 1,
+ "npc1def": 1,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 60,
+ "npc2hp": 1,
+ "npc2atk": 1,
+ "npc2def": 1,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 60,
+ "npc3hp": 1,
+ "npc3atk": 1,
+ "npc3def": 1,
+ "bosslv": 60,
+ "bosshp": 1,
+ "bossatk": 1,
+ "bossdef": 1
+ },
+ {
+ "id": 2007,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 7,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1017,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 70,
+ "npc1hp": 1.1,
+ "npc1atk": 1.1,
+ "npc1def": 1.1,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 70,
+ "npc2hp": 1.1,
+ "npc2atk": 1.1,
+ "npc2def": 1.1,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 70,
+ "npc3hp": 1.1,
+ "npc3atk": 1.1,
+ "npc3def": 1.1,
+ "bosslv": 70,
+ "bosshp": 1.1,
+ "bossatk": 1.1,
+ "bossdef": 1.1
+ },
+ {
+ "id": 2008,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 8,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1018,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 80,
+ "npc1hp": 1.2,
+ "npc1atk": 1.2,
+ "npc1def": 1.2,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 80,
+ "npc2hp": 1.2,
+ "npc2atk": 1.2,
+ "npc2def": 1.2,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 80,
+ "npc3hp": 1.2,
+ "npc3atk": 1.2,
+ "npc3def": 1.2,
+ "bosslv": 80,
+ "bosshp": 1.2,
+ "bossatk": 1.2,
+ "bossdef": 1.2
+ },
+ {
+ "id": 2009,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 9,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1019,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 90,
+ "npc1hp": 1.3,
+ "npc1atk": 1.3,
+ "npc1def": 1.3,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 90,
+ "npc2hp": 1.3,
+ "npc2atk": 1.3,
+ "npc2def": 1.3,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 90,
+ "npc3hp": 1.3,
+ "npc3atk": 1.3,
+ "npc3def": 1.3,
+ "bosslv": 90,
+ "bosshp": 1.3,
+ "bossatk": 1.3,
+ "bossdef": 1.3
+ },
+ {
+ "id": 2010,
+ "type": 2,
+ "name": {
+ "key": "viking_boss_1002",
+ "text": "冰之泰坦"
+ },
+ "difficulty": 10,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1020,
+ "bossmodel": 25004,
+ "npcid1": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc1lv": 100,
+ "npc1hp": 1.4,
+ "npc1atk": 1.4,
+ "npc1def": 1.4,
+ "npcid2": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc2lv": 100,
+ "npc2hp": 1.4,
+ "npc2atk": 1.4,
+ "npc2def": 1.4,
+ "npcid3": [
+ 240031,
+ 240031,
+ 240031
+ ],
+ "npc3lv": 100,
+ "npc3hp": 1.4,
+ "npc3atk": 1.4,
+ "npc3def": 1.4,
+ "bosslv": 100,
+ "bosshp": 1.4,
+ "bossatk": 1.4,
+ "bossdef": 1.4
+ },
+ {
+ "id": 3001,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 1,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ }
+ ],
+ "drop": 1021,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 10,
+ "npc1hp": 0.5,
+ "npc1atk": 0.5,
+ "npc1def": 0.5,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 10,
+ "npc2hp": 0.5,
+ "npc2atk": 0.5,
+ "npc2def": 0.5,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 10,
+ "npc3hp": 0.5,
+ "npc3atk": 0.5,
+ "npc3def": 0.5,
+ "bosslv": 10,
+ "bosshp": 0.5,
+ "bossatk": 0.5,
+ "bossdef": 0.5
+ },
+ {
+ "id": 3002,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 2,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ }
+ ],
+ "drop": 1022,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 20,
+ "npc1hp": 0.6,
+ "npc1atk": 0.6,
+ "npc1def": 0.6,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 20,
+ "npc2hp": 0.6,
+ "npc2atk": 0.6,
+ "npc2def": 0.6,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 20,
+ "npc3hp": 0.6,
+ "npc3atk": 0.6,
+ "npc3def": 0.6,
+ "bosslv": 20,
+ "bosshp": 0.6,
+ "bossatk": 0.6,
+ "bossdef": 0.6
+ },
+ {
+ "id": 3003,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 3,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1023,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 30,
+ "npc1hp": 0.7,
+ "npc1atk": 0.7,
+ "npc1def": 0.7,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 30,
+ "npc2hp": 0.7,
+ "npc2atk": 0.7,
+ "npc2def": 0.7,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 30,
+ "npc3hp": 0.7,
+ "npc3atk": 0.7,
+ "npc3def": 0.7,
+ "bosslv": 30,
+ "bosshp": 0.7,
+ "bossatk": 0.7,
+ "bossdef": 0.7
+ },
+ {
+ "id": 3004,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 4,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1024,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 40,
+ "npc1hp": 0.8,
+ "npc1atk": 0.8,
+ "npc1def": 0.8,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 40,
+ "npc2hp": 0.8,
+ "npc2atk": 0.8,
+ "npc2def": 0.8,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 40,
+ "npc3hp": 0.8,
+ "npc3atk": 0.8,
+ "npc3def": 0.8,
+ "bosslv": 40,
+ "bosshp": 0.8,
+ "bossatk": 0.8,
+ "bossdef": 0.8
+ },
+ {
+ "id": 3005,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 5,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1025,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 50,
+ "npc1hp": 0.9,
+ "npc1atk": 0.9,
+ "npc1def": 0.9,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 50,
+ "npc2hp": 0.9,
+ "npc2atk": 0.9,
+ "npc2def": 0.9,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 50,
+ "npc3hp": 0.9,
+ "npc3atk": 0.9,
+ "npc3def": 0.9,
+ "bosslv": 50,
+ "bosshp": 0.9,
+ "bossatk": 0.9,
+ "bossdef": 0.9
+ },
+ {
+ "id": 3006,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 6,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1026,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 60,
+ "npc1hp": 1,
+ "npc1atk": 1,
+ "npc1def": 1,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 60,
+ "npc2hp": 1,
+ "npc2atk": 1,
+ "npc2def": 1,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 60,
+ "npc3hp": 1,
+ "npc3atk": 1,
+ "npc3def": 1,
+ "bosslv": 60,
+ "bosshp": 1,
+ "bossatk": 1,
+ "bossdef": 1
+ },
+ {
+ "id": 3007,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 7,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1027,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 70,
+ "npc1hp": 1.1,
+ "npc1atk": 1.1,
+ "npc1def": 1.1,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 70,
+ "npc2hp": 1.1,
+ "npc2atk": 1.1,
+ "npc2def": 1.1,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 70,
+ "npc3hp": 1.1,
+ "npc3atk": 1.1,
+ "npc3def": 1.1,
+ "bosslv": 70,
+ "bosshp": 1.1,
+ "bossatk": 1.1,
+ "bossdef": 1.1
+ },
+ {
+ "id": 3008,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 8,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1028,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 80,
+ "npc1hp": 1.2,
+ "npc1atk": 1.2,
+ "npc1def": 1.2,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 80,
+ "npc2hp": 1.2,
+ "npc2atk": 1.2,
+ "npc2def": 1.2,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 80,
+ "npc3hp": 1.2,
+ "npc3atk": 1.2,
+ "npc3def": 1.2,
+ "bosslv": 80,
+ "bosshp": 1.2,
+ "bossatk": 1.2,
+ "bossdef": 1.2
+ },
+ {
+ "id": 3009,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 9,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1029,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 90,
+ "npc1hp": 1.3,
+ "npc1atk": 1.3,
+ "npc1def": 1.3,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 90,
+ "npc2hp": 1.3,
+ "npc2atk": 1.3,
+ "npc2def": 1.3,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 90,
+ "npc3hp": 1.3,
+ "npc3atk": 1.3,
+ "npc3def": 1.3,
+ "bosslv": 90,
+ "bosshp": 1.3,
+ "bossatk": 1.3,
+ "bossdef": 1.3
+ },
+ {
+ "id": 3010,
+ "type": 3,
+ "name": {
+ "key": "viking_boss_1003",
+ "text": "森林泰坦"
+ },
+ "difficulty": 10,
+ "captionrecommend": [
+ 25001,
+ 25004,
+ 34006,
+ 11017
+ ],
+ "firstprize": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ],
+ "dropshow": [
+ {
+ "a": "item",
+ "t": "10001",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10002",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10003",
+ "n": 1
+ },
+ {
+ "a": "item",
+ "t": "10004",
+ "n": 1
+ }
+ ],
+ "drop": 1030,
+ "bossmodel": 34006,
+ "npcid1": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc1lv": 100,
+ "npc1hp": 1.4,
+ "npc1atk": 1.4,
+ "npc1def": 1.4,
+ "npcid2": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc2lv": 100,
+ "npc2hp": 1.4,
+ "npc2atk": 1.4,
+ "npc2def": 1.4,
+ "npcid3": [
+ 350021,
+ 350021,
+ 350021
+ ],
+ "npc3lv": 100,
+ "npc3hp": 1.4,
+ "npc3atk": 1.4,
+ "npc3def": 1.4,
+ "bosslv": 100,
+ "bosshp": 1.4,
+ "bossatk": 1.4,
+ "bossdef": 1.4
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_vikingchallenge.json b/bin/json/game_vikingchallenge.json
new file mode 100644
index 000000000..b66be6731
--- /dev/null
+++ b/bin/json/game_vikingchallenge.json
@@ -0,0 +1,102 @@
+[
+ {
+ "buynum": 1,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "buynum": 2,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 20
+ }
+ ]
+ },
+ {
+ "buynum": 3,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ }
+ ]
+ },
+ {
+ "buynum": 4,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 40
+ }
+ ]
+ },
+ {
+ "buynum": 5,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 50
+ }
+ ]
+ },
+ {
+ "buynum": 6,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 60
+ }
+ ]
+ },
+ {
+ "buynum": 7,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 70
+ }
+ ]
+ },
+ {
+ "buynum": 8,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 80
+ }
+ ]
+ },
+ {
+ "buynum": 9,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 90
+ }
+ ]
+ },
+ {
+ "buynum": 10,
+ "need": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 100
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/comm/const.go b/comm/const.go
index 71cb5e63a..d3fc125d8 100644
--- a/comm/const.go
+++ b/comm/const.go
@@ -55,6 +55,7 @@ const (
ModuleRtask core.M_Modules = "rtask" //随机任务
ModuleSmithy core.M_Modules = "smithy" //铁匠铺
ModuleTimer core.M_Modules = "timer" //定时任务模块
+ ModuleViking core.M_Modules = "viking" //维京远征
)
//数据表名定义处
@@ -111,6 +112,8 @@ const (
TableSmithy = "smithy"
/// 赛季塔数据表
TableSeasonPagoda = "seasonpagoda"
+ //
+ TableViking = "viking"
)
//RPC服务接口定义处
diff --git a/modules/smithy/api_createorder.go b/modules/smithy/api_createorder.go
index 3df1f5eb1..8bf46c235 100644
--- a/modules/smithy/api_createorder.go
+++ b/modules/smithy/api_createorder.go
@@ -43,23 +43,7 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
}
costTime += needTime * order.Count
}
- if _smithy.Orders == nil { // 队列数据为nil 直接将订单数据给ta
- _smithy.Orders = req.Order
- } else {
- for _, v := range req.Order {
- bFound := false
- for _, v1 := range _smithy.Orders {
- if v.DeskType == v1.DeskType {
- v1.Count += v.Count // 加对应的数量
- bFound = true
- break
- }
- }
- if !bFound {
- _smithy.Orders = append(_smithy.Orders, v)
- }
- }
- }
+ _smithy.Orders = append(_smithy.Orders, req.Order...) // 直接追加订单数据
if _smithy.Clang == nil || (_smithy.Clang != nil && _smithy.Clang.ETime == 0) {
if _smithy.Ctime == 0 {
@@ -73,7 +57,6 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
if v.Count > 0 {
v.Count--
// 获取生产时间
-
_smithy.Clang = &pb.Clang{
DeskType: v.DeskType,
ETime: time.Now().Unix() + int64(needTime),
@@ -105,9 +88,6 @@ func (this *apiComp) CreateOrder(session comm.IUserSession, req *pb.SmithyCreate
return
}
- if code = this.module.DispenseRes(session, res, true); code != pb.ErrorCode_Success { // 真正消耗
- return
- }
// 校验通过 写数据
mapData := make(map[string]interface{}, 0)
mapData["orders"] = _smithy.Orders
diff --git a/modules/smithy/api_getReward.go b/modules/smithy/api_getReward.go
index f2dfc0305..6747d68a0 100644
--- a/modules/smithy/api_getReward.go
+++ b/modules/smithy/api_getReward.go
@@ -32,6 +32,9 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.SmithyGetRewar
})
}
code = this.module.DispenseRes(session, res, true)
+ if code != pb.ErrorCode_Success {
+ return
+ }
_gourmet.Items = nil
mapData := make(map[string]interface{}, 0)
mapData["items"] = nil
diff --git a/modules/viking/api.go b/modules/viking/api.go
new file mode 100644
index 000000000..acd19683c
--- /dev/null
+++ b/modules/viking/api.go
@@ -0,0 +1,34 @@
+package viking
+
+import (
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+)
+
+const (
+ VikingGetListResp = "getlist"
+ VikingCreateOrderResp = "createorder"
+ VikingSkillLvResp = "skilllv"
+ VikingGetRewardResp = "getreward"
+)
+
+type apiComp struct {
+ modules.MCompGate
+ service core.IService
+ configure *configureComp
+ module *Viking
+}
+
+//组件初始化接口
+func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompGate.Init(service, module, comp, options)
+ this.module = module.(*Viking)
+ this.service = service
+ return
+}
+
+func (this *apiComp) Start() (err error) {
+ err = this.MCompGate.Start()
+
+ return
+}
diff --git a/modules/viking/api_getlist.go b/modules/viking/api_getlist.go
new file mode 100644
index 000000000..648643044
--- /dev/null
+++ b/modules/viking/api_getlist.go
@@ -0,0 +1,24 @@
+package viking
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+
+ "google.golang.org/protobuf/proto"
+)
+
+//参数校验
+func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.GourmetGetListReq) (code pb.ErrorCode) {
+
+ return
+}
+
+func (this *apiComp) GetList(session comm.IUserSession, req *pb.GourmetGetListReq) (code pb.ErrorCode, data proto.Message) {
+
+ code = this.GetListCheck(session, req)
+ if code != pb.ErrorCode_Success {
+ return // 参数校验失败直接返回
+ }
+
+ return
+}
diff --git a/modules/viking/comp_configure.go b/modules/viking/comp_configure.go
new file mode 100644
index 000000000..cdcb6aa28
--- /dev/null
+++ b/modules/viking/comp_configure.go
@@ -0,0 +1,145 @@
+package viking
+
+import (
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/core/cbase"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "sync"
+)
+
+const (
+ game_gourmet = "game_gourmet.json"
+ game_gourmetskill = "game_gourmetskill.json"
+ game_drop = "game_drop.json"
+)
+
+///配置管理基础组件
+type configureComp struct {
+ cbase.ModuleCompBase
+ hlock sync.RWMutex
+ modules.MCompConfigure
+ _gourmetMap map[int64]*cfg.GameGourmetData
+ _gourmetSkillMap map[int64]*cfg.GameGourmetSkillData
+ _dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
+}
+
+//组件初始化接口
+func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.ModuleCompBase.Init(service, module, comp, options)
+
+ this._gourmetMap = make(map[int64]*cfg.GameGourmetData, 0)
+ configure.RegisterConfigure(game_gourmet, cfg.NewGameGourmet, func() {
+ if v, err := this.GetConfigure(game_gourmet); err == nil {
+ if configure, ok := v.(*cfg.GameGourmet); ok {
+ this.hlock.Lock()
+ defer this.hlock.Unlock()
+ for _, value := range configure.GetDataList() {
+ this._gourmetMap[int64(value.Type<<16)+int64(value.Level)] = value
+ }
+ return
+ }
+ }
+ log.Errorf("get game_pagoda conf err:%v", err)
+ return
+ })
+ this._gourmetSkillMap = make(map[int64]*cfg.GameGourmetSkillData, 0)
+ configure.RegisterConfigure(game_gourmetskill, cfg.NewGameGourmetSkill, func() {
+ if v, err := this.GetConfigure(game_gourmetskill); err == nil {
+ if configure, ok := v.(*cfg.GameGourmetSkill); ok {
+ this.hlock.Lock()
+ defer this.hlock.Unlock()
+ for _, value := range configure.GetDataList() {
+ this._gourmetSkillMap[int64(value.Type<<16)+int64(value.Level)] = value
+ }
+ return
+ }
+ }
+ log.Errorf("get game_pagoda conf err:%v", err)
+ return
+ })
+ this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
+ configure.RegisterConfigure(game_drop, cfg.NewGameDrop, func() {
+ if v, err := this.GetConfigure(game_drop); err == nil {
+ if configure, ok := v.(*cfg.GameDrop); ok {
+ this.hlock.Lock()
+ defer this.hlock.Unlock()
+ for _, value := range configure.GetDataList() {
+ this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value)
+ }
+ return
+ }
+ }
+ log.Errorf("get game_pagoda conf err:%v", err)
+ return
+ })
+ // _data := this.GetGourmetConfigData(1002, 4) // 测试配置文件读取
+ // _dataskill := this.GetGourmetSkillConfigData(1001, 4)
+ // _data := this.GetDropData(1001)
+ // fmt.Printf("%v", _data)
+ return
+}
+
+// 获取美食馆配置数据
+func (this *configureComp) GetGourmetConfigData(gourmetType int32, level int32) (data *cfg.GameGourmetData) {
+
+ return this._gourmetMap[int64(gourmetType<<16)+int64(level)]
+}
+
+// 获取美食馆配置数据
+func (this *configureComp) GetGourmetSkillConfigData(gourmetType int32, level int32) (data *cfg.GameGourmetSkillData) {
+
+ return this._gourmetSkillMap[int64(gourmetType<<16)+int64(level)]
+}
+
+// 通过技能id 查询技能配置表
+func (this *configureComp) GetGourmetSkillConfigBySkillID(skillId int) (data *cfg.GameGourmetSkillData) {
+
+ if v, err := this.GetConfigure(game_gourmetskill); err == nil {
+ if configure, ok := v.(*cfg.GameGourmetSkill); ok {
+ data = configure.Get(int32(skillId))
+ return
+ }
+ }
+ return
+}
+
+func (this *configureComp) GetGourmetSkillConfigBySkillType(skillType int) (szSkill []int32) {
+ szSkill = make([]int32, 0)
+ if v, err := this.GetConfigure(game_gourmetskill); err == nil {
+ if configure, ok := v.(*cfg.GameGourmetSkill); ok {
+ for _, data := range configure.GetDataList() {
+ if skillType == int(data.SkillType) && data.Initial == 1 {
+ szSkill = append(szSkill, data.Type)
+ }
+ }
+ //data = configure.Get(int32(skillId))
+ return
+ }
+ }
+ return
+}
+
+//加载多个配置文件
+func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
+ for k, v := range confs {
+ err = configure.RegisterConfigure(k, v, nil)
+ if err != nil {
+ log.Errorf("配置文件:%s解析失败!", k)
+ break
+ }
+ }
+ return
+}
+
+//读取配置数据
+func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
+ return configure.GetConfigure(name)
+}
+
+func (this *configureComp) GetDropData(dropId int32) (data []*cfg.GameDropData) {
+ data = this._dropMap[dropId]
+ return
+}
diff --git a/modules/viking/model_gourmet.go b/modules/viking/model_gourmet.go
new file mode 100644
index 000000000..5ceae76cb
--- /dev/null
+++ b/modules/viking/model_gourmet.go
@@ -0,0 +1,78 @@
+package viking
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
+
+ "go.mongodb.org/mongo-driver/mongo"
+ "go.mongodb.org/mongo-driver/x/bsonx"
+)
+
+type modelViking struct {
+ modules.MCompModel
+ module *Viking
+}
+
+func (this *modelViking) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ this.TableName = string(comm.TableViking)
+ err = this.MCompModel.Init(service, module, comp, options)
+ this.module = module.(*Viking)
+ // uid 创建索引
+ this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
+ Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
+ })
+ return
+}
+
+// func (this *modelViking) getVikingList(uid string) (result *pb.DBViking, err error) {
+// result = &pb.DBViking{}
+// if err = this.Get(uid, result); err != nil {
+// if redis.RedisNil != err { // 没有数据直接创建新的数据
+// return
+// }
+// }
+// err = nil
+// return result, err
+
+// }
+
+func (this *modelViking) modifyVikingDataByObjId(uid string, data map[string]interface{}) error {
+ return this.Change(uid, data)
+}
+
+// todo 调用drop 表 获取掉落信息
+func (this *modelViking) GetDropReward(count, dropId int32, Items []*pb.UserAssets) {
+ res := make([]*cfg.Gameatn, 0)
+ for i := 0; i < int(count); i++ {
+ data := this.module.configure.GetDropData(dropId)
+ szW := make([]int32, 0)
+ for _, value := range data {
+ szW = append(szW, value.P)
+ }
+ if len(szW) > 0 {
+ index := comm.GetRandW(szW)
+ res = append(res, data[index].Prize...)
+ }
+ }
+ for _, v := range res {
+ bFind := false
+ for _, v1 := range Items {
+ if v.A == v1.A && v.T == v1.T {
+ v1.N += v.N
+ bFind = true
+ }
+ }
+ if !bFind {
+ Items = append(Items, &pb.UserAssets{
+ A: v.A,
+ T: v.T,
+ N: v.N,
+ })
+ }
+ }
+
+ return
+}
diff --git a/modules/viking/module.go b/modules/viking/module.go
new file mode 100644
index 000000000..f14595aeb
--- /dev/null
+++ b/modules/viking/module.go
@@ -0,0 +1,50 @@
+/*
+模块名:viking
+描述:维京远征
+开发:梅雄风
+*/
+package viking
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+)
+
+type Viking struct {
+ modules.ModuleBase
+ modelViking *modelViking
+ api *apiComp
+ configure *configureComp
+}
+
+func NewModule() core.IModule {
+ return &Viking{}
+}
+
+func (this *Viking) GetType() core.M_Modules {
+ return comm.ModuleViking
+}
+
+func (this *Viking) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
+ err = this.ModuleBase.Init(service, module, options)
+
+ return
+}
+
+func (this *Viking) OnInstallComp() {
+ this.ModuleBase.OnInstallComp()
+ this.api = this.RegisterComp(new(apiComp)).(*apiComp)
+ this.modelViking = this.RegisterComp(new(modelViking)).(*modelViking)
+ this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
+}
+
+// 接口信息
+func (this *Viking) ModifyVikingData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
+ err := this.modelViking.modifyVikingDataByObjId(uid, data)
+ if err != nil {
+ code = pb.ErrorCode_DBError
+ }
+ return
+}
diff --git a/sys/configure/structs/Game.VikingBoss.go b/sys/configure/structs/Game.VikingBoss.go
new file mode 100644
index 000000000..ef64d7cdf
--- /dev/null
+++ b/sys/configure/structs/Game.VikingBoss.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameVikingBoss struct {
+ _dataMap map[int32]*GameVikingBossData
+ _dataList []*GameVikingBossData
+}
+
+func NewGameVikingBoss(_buf []map[string]interface{}) (*GameVikingBoss, error) {
+ _dataList := make([]*GameVikingBossData, 0, len(_buf))
+ dataMap := make(map[int32]*GameVikingBossData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameVikingBossData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameVikingBoss{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameVikingBoss) GetDataMap() map[int32]*GameVikingBossData {
+ return table._dataMap
+}
+
+func (table *GameVikingBoss) GetDataList() []*GameVikingBossData {
+ return table._dataList
+}
+
+func (table *GameVikingBoss) Get(key int32) *GameVikingBossData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.VikingBossData.go b/sys/configure/structs/Game.VikingBossData.go
new file mode 100644
index 000000000..0940f7cc6
--- /dev/null
+++ b/sys/configure/structs/Game.VikingBossData.go
@@ -0,0 +1,167 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameVikingBossData struct {
+ Id int32
+ Type int32
+ Name string
+ Difficulty int32
+ Captionrecommend []int32
+ Firstprize []*Gameatn
+ Dropshow []*Gameatn
+ Drop int32
+ Bossmodel int32
+ Npcid1 []int32
+ Npc1lv int32
+ Npc1hp float32
+ Npc1atk float32
+ Npc1def float32
+ Npcid2 []int32
+ Npc2lv int32
+ Npc2hp float32
+ Npc2atk float32
+ Npc2def float32
+ Npcid3 []int32
+ Npc3lv int32
+ Npc3hp float32
+ Npc3atk float32
+ Npc3def float32
+ Bosslv int32
+ Bosshp float32
+ Bossatk float32
+ Bossdef float32
+}
+
+const TypeId_GameVikingBossData = 550277405
+
+func (*GameVikingBossData) GetTypeId() int32 {
+ return 550277405
+}
+
+func (_v *GameVikingBossData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["difficulty"].(float64); !_ok_ { err = errors.New("difficulty error"); return }; _v.Difficulty = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["captionrecommend"].([]interface{}); !_ok_ { err = errors.New("captionrecommend error"); return }
+
+ _v.Captionrecommend = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Captionrecommend = append(_v.Captionrecommend, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["firstprize"].([]interface{}); !_ok_ { err = errors.New("firstprize error"); return }
+
+ _v.Firstprize = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.Firstprize = append(_v.Firstprize, _list_v_)
+ }
+ }
+
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["dropshow"].([]interface{}); !_ok_ { err = errors.New("dropshow error"); return }
+
+ _v.Dropshow = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.Dropshow = append(_v.Dropshow, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["drop"].(float64); !_ok_ { err = errors.New("drop error"); return }; _v.Drop = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossmodel"].(float64); !_ok_ { err = errors.New("bossmodel error"); return }; _v.Bossmodel = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["npcid1"].([]interface{}); !_ok_ { err = errors.New("npcid1 error"); return }
+
+ _v.Npcid1 = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Npcid1 = append(_v.Npcid1, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1lv"].(float64); !_ok_ { err = errors.New("npc1lv error"); return }; _v.Npc1lv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1hp"].(float64); !_ok_ { err = errors.New("npc1hp error"); return }; _v.Npc1hp = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1atk"].(float64); !_ok_ { err = errors.New("npc1atk error"); return }; _v.Npc1atk = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc1def"].(float64); !_ok_ { err = errors.New("npc1def error"); return }; _v.Npc1def = float32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["npcid2"].([]interface{}); !_ok_ { err = errors.New("npcid2 error"); return }
+
+ _v.Npcid2 = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Npcid2 = append(_v.Npcid2, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2lv"].(float64); !_ok_ { err = errors.New("npc2lv error"); return }; _v.Npc2lv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2hp"].(float64); !_ok_ { err = errors.New("npc2hp error"); return }; _v.Npc2hp = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2atk"].(float64); !_ok_ { err = errors.New("npc2atk error"); return }; _v.Npc2atk = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc2def"].(float64); !_ok_ { err = errors.New("npc2def error"); return }; _v.Npc2def = float32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["npcid3"].([]interface{}); !_ok_ { err = errors.New("npcid3 error"); return }
+
+ _v.Npcid3 = make([]int32, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ int32
+ { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
+ _v.Npcid3 = append(_v.Npcid3, _list_v_)
+ }
+ }
+
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3lv"].(float64); !_ok_ { err = errors.New("npc3lv error"); return }; _v.Npc3lv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3hp"].(float64); !_ok_ { err = errors.New("npc3hp error"); return }; _v.Npc3hp = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3atk"].(float64); !_ok_ { err = errors.New("npc3atk error"); return }; _v.Npc3atk = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc3def"].(float64); !_ok_ { err = errors.New("npc3def error"); return }; _v.Npc3def = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bosslv"].(float64); !_ok_ { err = errors.New("bosslv error"); return }; _v.Bosslv = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bosshp"].(float64); !_ok_ { err = errors.New("bosshp error"); return }; _v.Bosshp = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossatk"].(float64); !_ok_ { err = errors.New("bossatk error"); return }; _v.Bossatk = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossdef"].(float64); !_ok_ { err = errors.New("bossdef error"); return }; _v.Bossdef = float32(_tempNum_) }
+ return
+}
+
+func DeserializeGameVikingBossData(_buf map[string]interface{}) (*GameVikingBossData, error) {
+ v := &GameVikingBossData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.VikingChallenge.go b/sys/configure/structs/Game.VikingChallenge.go
new file mode 100644
index 000000000..bf6d8a8c3
--- /dev/null
+++ b/sys/configure/structs/Game.VikingChallenge.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameVikingChallenge struct {
+ _dataMap map[int32]*GameVikingChallengeData
+ _dataList []*GameVikingChallengeData
+}
+
+func NewGameVikingChallenge(_buf []map[string]interface{}) (*GameVikingChallenge, error) {
+ _dataList := make([]*GameVikingChallengeData, 0, len(_buf))
+ dataMap := make(map[int32]*GameVikingChallengeData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameVikingChallengeData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Buynum] = _v
+ }
+ }
+ return &GameVikingChallenge{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameVikingChallenge) GetDataMap() map[int32]*GameVikingChallengeData {
+ return table._dataMap
+}
+
+func (table *GameVikingChallenge) GetDataList() []*GameVikingChallengeData {
+ return table._dataList
+}
+
+func (table *GameVikingChallenge) Get(key int32) *GameVikingChallengeData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.VikingChallengeData.go b/sys/configure/structs/Game.VikingChallengeData.go
new file mode 100644
index 000000000..7a2fb627b
--- /dev/null
+++ b/sys/configure/structs/Game.VikingChallengeData.go
@@ -0,0 +1,50 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameVikingChallengeData struct {
+ Buynum int32
+ Need []*Gameatn
+}
+
+const TypeId_GameVikingChallengeData = 1311823367
+
+func (*GameVikingChallengeData) GetTypeId() int32 {
+ return 1311823367
+}
+
+func (_v *GameVikingChallengeData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buynum"].(float64); !_ok_ { err = errors.New("buynum error"); return }; _v.Buynum = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
+
+ _v.Need = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.Need = append(_v.Need, _list_v_)
+ }
+ }
+
+ return
+}
+
+func DeserializeGameVikingChallengeData(_buf map[string]interface{}) (*GameVikingChallengeData, error) {
+ v := &GameVikingChallengeData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
From b16cc0ce5c3fff0be7d3f5b30dfc690624b3136d Mon Sep 17 00:00:00 2001
From: meixiongfeng <766881921@qq.com>
Date: Fri, 26 Aug 2022 15:46:18 +0800
Subject: [PATCH 2/2] bug
---
modules/pagoda/api_challenge.go | 8 +-
modules/pagoda/api_getReward.go | 87 ++-
modules/pagoda/api_getlist.go | 1 +
.../{model_gourmet.go => model_smithy.go} | 0
pb/viking_db.pb.go | 197 ++++++
pb/viking_msg.pb.go | 560 ++++++++++++++++++
6 files changed, 827 insertions(+), 26 deletions(-)
rename modules/smithy/{model_gourmet.go => model_smithy.go} (100%)
create mode 100644 pb/viking_db.pb.go
create mode 100644 pb/viking_msg.pb.go
diff --git a/modules/pagoda/api_challenge.go b/modules/pagoda/api_challenge.go
index c5e1f598b..b65b45f60 100644
--- a/modules/pagoda/api_challenge.go
+++ b/modules/pagoda/api_challenge.go
@@ -70,6 +70,8 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
code = pb.ErrorCode_PagodaNotFound
return
}
+
+ // 塔数据校验
seasonPagoda, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if seasonPagoda == nil {
@@ -94,7 +96,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), seasonPagoda)
} else {
- pagoda.PagodaId = cfg.LayerNum
+ seasonPagoda.PagodaId = cfg.LayerNum
mapData["pagodaId"] = cfg.LayerNum
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
}
@@ -112,6 +114,10 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
mapData["pagodaId"] = cfg.LayerNum
this.module.modulerank.ChangeUserRank(session.GetUserId(), mapData)
}
+ pagoda.PagodaId = seasonPagoda.PagodaId
+ pagoda.Type = seasonPagoda.Type
+ pagoda.Reward = seasonPagoda.Reward
+ session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{Data: pagoda})
}
return
diff --git a/modules/pagoda/api_getReward.go b/modules/pagoda/api_getReward.go
index 1ac419290..a79d76b61 100644
--- a/modules/pagoda/api_getReward.go
+++ b/modules/pagoda/api_getReward.go
@@ -28,32 +28,69 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.PagodaGetRewar
code = pb.ErrorCode_DBError
return
}
- _cfg := this.module.configure.GetPagodaRewardconfig(req.Id)
- if _cfg == nil {
- code = pb.ErrorCode_ConfigNoFound
- return
- }
- // 校验是否能领取
- if _cfg.LayerNum >= list.PagodaId {
- code = pb.ErrorCode_PagodaConditionErr
- return
+ season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
+ if season != nil {
+ _cfg := this.module.configure.GetPagodaRewardconfig(req.Id)
+ if _cfg == nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ // 校验是否能领取
+ if _cfg.LayerNum >= season.PagodaId {
+ code = pb.ErrorCode_PagodaConditionErr
+ return
+ }
+
+ if _, ok := season.Reward[req.Id]; ok { // 校验是否重复领取
+ code = pb.ErrorCode_PagodaGetRewardErr
+ return
+ }
+ if season.Reward == nil {
+ season.Reward = make(map[int32]bool, 0)
+ }
+ // 发奖励
+ if code = this.module.DispenseRes(session, _cfg.Reward, true); code != pb.ErrorCode_Success {
+ return
+ }
+ season.Reward[req.Id] = true
+ mapData := make(map[string]interface{}, 0)
+ mapData["reward"] = season.Reward
+ code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
+
+ session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.PagodaGetRewardResp{Data: &pb.DBPagoda{
+ PagodaId: season.PagodaId,
+ Reward: season.Reward,
+ Type: season.Type,
+ }})
+ } else {
+ _cfg := this.module.configure.GetPagodaRewardconfig(req.Id)
+ if _cfg == nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ // 校验是否能领取
+ if _cfg.LayerNum >= list.PagodaId {
+ code = pb.ErrorCode_PagodaConditionErr
+ return
+ }
+
+ if _, ok := list.Reward[req.Id]; ok { // 校验是否重复领取
+ code = pb.ErrorCode_PagodaGetRewardErr
+ return
+ }
+ if list.Reward == nil {
+ list.Reward = make(map[int32]bool, 0)
+ }
+ // 发奖励
+ if code = this.module.DispenseRes(session, _cfg.Reward, true); code != pb.ErrorCode_Success {
+ return
+ }
+ list.Reward[req.Id] = true
+ mapData := make(map[string]interface{}, 0)
+ mapData["reward"] = list.Reward
+ code = this.module.ModifyPagodaData(session.GetUserId(), mapData)
+ session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.PagodaGetRewardResp{Data: list})
}
- if _, ok := list.Reward[req.GetId()]; ok { // 校验是否重复领取
- code = pb.ErrorCode_PagodaGetRewardErr
- return
- }
- if list.Reward == nil {
- list.Reward = make(map[int32]bool, 0)
- }
- // 发奖励
- if code = this.module.DispenseRes(session, _cfg.Reward, true); code != pb.ErrorCode_Success {
- return
- }
- list.Reward[req.Id] = true
- mapData := make(map[string]interface{}, 0)
- mapData["reward"] = list.Reward
- code = this.module.ModifyPagodaData(session.GetUserId(), mapData)
- session.SendMsg(string(this.module.GetType()), PagodaGetRewardResp, &pb.PagodaGetRewardResp{Data: list})
return
}
diff --git a/modules/pagoda/api_getlist.go b/modules/pagoda/api_getlist.go
index ab11f559e..bb3d77bca 100644
--- a/modules/pagoda/api_getlist.go
+++ b/modules/pagoda/api_getlist.go
@@ -43,6 +43,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq
if season != nil {
list.PagodaId = season.PagodaId
list.Type = season.Type
+ list.Reward = season.Reward
}
return
}
diff --git a/modules/smithy/model_gourmet.go b/modules/smithy/model_smithy.go
similarity index 100%
rename from modules/smithy/model_gourmet.go
rename to modules/smithy/model_smithy.go
diff --git a/pb/viking_db.pb.go b/pb/viking_db.pb.go
new file mode 100644
index 000000000..c1a44c6dd
--- /dev/null
+++ b/pb/viking_db.pb.go
@@ -0,0 +1,197 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: viking/viking_db.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+//维京远征
+type DBViking struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
+ ChallengeCount int32 `protobuf:"varint,3,opt,name=challengeCount,proto3" json:"challengeCount" bson:"challengeCount"` //挑战次数
+ Boos map[int32]bool `protobuf:"bytes,4,rep,name=boos,proto3" json:"boos" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key boos 类型 value 难度
+ BuyCount int32 `protobuf:"varint,5,opt,name=buyCount,proto3" json:"buyCount" bson:"buyCount"` //购买次数
+ CTime int64 `protobuf:"varint,6,opt,name=cTime,proto3" json:"cTime" bson:"cTime"` //修改时间
+}
+
+func (x *DBViking) Reset() {
+ *x = DBViking{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_db_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBViking) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBViking) ProtoMessage() {}
+
+func (x *DBViking) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_db_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DBViking.ProtoReflect.Descriptor instead.
+func (*DBViking) Descriptor() ([]byte, []int) {
+ return file_viking_viking_db_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DBViking) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *DBViking) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+func (x *DBViking) GetChallengeCount() int32 {
+ if x != nil {
+ return x.ChallengeCount
+ }
+ return 0
+}
+
+func (x *DBViking) GetBoos() map[int32]bool {
+ if x != nil {
+ return x.Boos
+ }
+ return nil
+}
+
+func (x *DBViking) GetBuyCount() int32 {
+ if x != nil {
+ return x.BuyCount
+ }
+ return 0
+}
+
+func (x *DBViking) GetCTime() int64 {
+ if x != nil {
+ return x.CTime
+ }
+ return 0
+}
+
+var File_viking_viking_db_proto protoreflect.FileDescriptor
+
+var file_viking_viking_db_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
+ 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x56,
+ 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x27, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x79, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x79, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f,
+ 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_viking_viking_db_proto_rawDescOnce sync.Once
+ file_viking_viking_db_proto_rawDescData = file_viking_viking_db_proto_rawDesc
+)
+
+func file_viking_viking_db_proto_rawDescGZIP() []byte {
+ file_viking_viking_db_proto_rawDescOnce.Do(func() {
+ file_viking_viking_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_viking_viking_db_proto_rawDescData)
+ })
+ return file_viking_viking_db_proto_rawDescData
+}
+
+var file_viking_viking_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_viking_viking_db_proto_goTypes = []interface{}{
+ (*DBViking)(nil), // 0: DBViking
+ nil, // 1: DBViking.BoosEntry
+}
+var file_viking_viking_db_proto_depIdxs = []int32{
+ 1, // 0: DBViking.boos:type_name -> DBViking.BoosEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_viking_viking_db_proto_init() }
+func file_viking_viking_db_proto_init() {
+ if File_viking_viking_db_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_viking_viking_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBViking); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_viking_viking_db_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_viking_viking_db_proto_goTypes,
+ DependencyIndexes: file_viking_viking_db_proto_depIdxs,
+ MessageInfos: file_viking_viking_db_proto_msgTypes,
+ }.Build()
+ File_viking_viking_db_proto = out.File
+ file_viking_viking_db_proto_rawDesc = nil
+ file_viking_viking_db_proto_goTypes = nil
+ file_viking_viking_db_proto_depIdxs = nil
+}
diff --git a/pb/viking_msg.pb.go b/pb/viking_msg.pb.go
new file mode 100644
index 000000000..5a2741091
--- /dev/null
+++ b/pb/viking_msg.pb.go
@@ -0,0 +1,560 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: viking/viking_msg.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VikingGetListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VikingGetListReq) Reset() {
+ *x = VikingGetListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingGetListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingGetListReq) ProtoMessage() {}
+
+func (x *VikingGetListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingGetListReq.ProtoReflect.Descriptor instead.
+func (*VikingGetListReq) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{0}
+}
+
+type VikingGetListResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *VikingGetListResp) Reset() {
+ *x = VikingGetListResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingGetListResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingGetListResp) ProtoMessage() {}
+
+func (x *VikingGetListResp) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingGetListResp.ProtoReflect.Descriptor instead.
+func (*VikingGetListResp) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *VikingGetListResp) GetData() *DBViking {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// 挑战
+type VikingChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BossType int32 `protobuf:"varint,1,opt,name=bossType,proto3" json:"bossType"` // boos 类型
+ Difficulty int32 `protobuf:"varint,2,opt,name=difficulty,proto3" json:"difficulty"` // 难度
+}
+
+func (x *VikingChallengeReq) Reset() {
+ *x = VikingChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingChallengeReq) ProtoMessage() {}
+
+func (x *VikingChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingChallengeReq.ProtoReflect.Descriptor instead.
+func (*VikingChallengeReq) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *VikingChallengeReq) GetBossType() int32 {
+ if x != nil {
+ return x.BossType
+ }
+ return 0
+}
+
+func (x *VikingChallengeReq) GetDifficulty() int32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+type VikingChallengeResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *VikingChallengeResp) Reset() {
+ *x = VikingChallengeResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingChallengeResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingChallengeResp) ProtoMessage() {}
+
+func (x *VikingChallengeResp) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingChallengeResp.ProtoReflect.Descriptor instead.
+func (*VikingChallengeResp) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *VikingChallengeResp) GetData() *DBViking {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// 购买
+type VikingBuyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VikingBuyReq) Reset() {
+ *x = VikingBuyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingBuyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingBuyReq) ProtoMessage() {}
+
+func (x *VikingBuyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingBuyReq.ProtoReflect.Descriptor instead.
+func (*VikingBuyReq) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{4}
+}
+
+type VikingBuyResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBViking `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *VikingBuyResp) Reset() {
+ *x = VikingBuyResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingBuyResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingBuyResp) ProtoMessage() {}
+
+func (x *VikingBuyResp) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingBuyResp.ProtoReflect.Descriptor instead.
+func (*VikingBuyResp) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *VikingBuyResp) GetData() *DBViking {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+// 排行榜
+type VikingRankListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VikingRankListReq) Reset() {
+ *x = VikingRankListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingRankListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingRankListReq) ProtoMessage() {}
+
+func (x *VikingRankListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingRankListReq.ProtoReflect.Descriptor instead.
+func (*VikingRankListReq) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{6}
+}
+
+type VikingRankListResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VikingRankListResp) Reset() {
+ *x = VikingRankListResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_viking_viking_msg_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VikingRankListResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VikingRankListResp) ProtoMessage() {}
+
+func (x *VikingRankListResp) ProtoReflect() protoreflect.Message {
+ mi := &file_viking_viking_msg_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VikingRankListResp.ProtoReflect.Descriptor instead.
+func (*VikingRankListResp) Descriptor() ([]byte, []int) {
+ return file_viking_viking_msg_proto_rawDescGZIP(), []int{7}
+}
+
+var File_viking_viking_msg_proto protoreflect.FileDescriptor
+
+var file_viking_viking_msg_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f,
+ 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x76, 0x69, 0x6b, 0x69, 0x6e,
+ 0x67, 0x2f, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x47,
+ 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b,
+ 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x50, 0x0a, 0x12, 0x56, 0x69, 0x6b,
+ 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x34, 0x0a, 0x13, 0x56,
+ 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74,
+ 0x61, 0x22, 0x0e, 0x0a, 0x0c, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65,
+ 0x71, 0x22, 0x2e, 0x0a, 0x0d, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65,
+ 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x09, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74,
+ 0x61, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x4c,
+ 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x14, 0x0a, 0x12, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67,
+ 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04,
+ 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_viking_viking_msg_proto_rawDescOnce sync.Once
+ file_viking_viking_msg_proto_rawDescData = file_viking_viking_msg_proto_rawDesc
+)
+
+func file_viking_viking_msg_proto_rawDescGZIP() []byte {
+ file_viking_viking_msg_proto_rawDescOnce.Do(func() {
+ file_viking_viking_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_viking_viking_msg_proto_rawDescData)
+ })
+ return file_viking_viking_msg_proto_rawDescData
+}
+
+var file_viking_viking_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_viking_viking_msg_proto_goTypes = []interface{}{
+ (*VikingGetListReq)(nil), // 0: VikingGetListReq
+ (*VikingGetListResp)(nil), // 1: VikingGetListResp
+ (*VikingChallengeReq)(nil), // 2: VikingChallengeReq
+ (*VikingChallengeResp)(nil), // 3: VikingChallengeResp
+ (*VikingBuyReq)(nil), // 4: VikingBuyReq
+ (*VikingBuyResp)(nil), // 5: VikingBuyResp
+ (*VikingRankListReq)(nil), // 6: VikingRankListReq
+ (*VikingRankListResp)(nil), // 7: VikingRankListResp
+ (*DBViking)(nil), // 8: DBViking
+}
+var file_viking_viking_msg_proto_depIdxs = []int32{
+ 8, // 0: VikingGetListResp.data:type_name -> DBViking
+ 8, // 1: VikingChallengeResp.data:type_name -> DBViking
+ 8, // 2: VikingBuyResp.data:type_name -> DBViking
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_viking_viking_msg_proto_init() }
+func file_viking_viking_msg_proto_init() {
+ if File_viking_viking_msg_proto != nil {
+ return
+ }
+ file_viking_viking_db_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_viking_viking_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingGetListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingGetListResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingChallengeResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingBuyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingBuyResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingRankListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_viking_viking_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VikingRankListResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_viking_viking_msg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 8,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_viking_viking_msg_proto_goTypes,
+ DependencyIndexes: file_viking_viking_msg_proto_depIdxs,
+ MessageInfos: file_viking_viking_msg_proto_msgTypes,
+ }.Build()
+ File_viking_viking_msg_proto = out.File
+ file_viking_viking_msg_proto_rawDesc = nil
+ file_viking_viking_msg_proto_goTypes = nil
+ file_viking_viking_msg_proto_depIdxs = nil
+}