package model // 章节类型 // 多人 多人主线 单人主线 PVP const ( LevelTypeCooperation = 1 LevelTypeMainMulti = 2 LevelTypeMainSingle = 3 LevelTypePVP = 4 ) func CombineLevelId(typ int64, chapter int64, level int64) int64 { id := typ*100000 + chapter*100 + level return id } // type LevelListItem struct { // 关卡列表-LevelList exported from 关卡配置.xlsx type LevelListItem struct { Uid int64 `json:"Uid"` // 关卡编号 每个关卡都有一个唯一编号 Type int64 `json:"Type"` // 关卡类型 1:多人 2:多人主线 3:单人主线 4:PVP Name string `json:"Name"` // 关卡名字 Chapter int64 `json:"Chapter"` // 所属大章 Level int64 `json:"Level"` // 本章排序 (小章节ID) Unlock [][]int64 `json:"Unlock"` // 解锁条件 [类型,数值] 1--玩家等级 2--通关前置章节 WaveNum int64 `json:"WaveNum"` // 关卡总波数 Cost [][]int64 `json:"Cost"` // 关卡消耗 IconRes string `json:"IconRes"` // 入口怪物资源 Map string `json:"Map"` // 调用场景 MapGrid []int64 `json:"MapGrid"` // 地图网格 【横格子数,竖格子数】 服务端用来计算中心点,水晶系统相关 CorePos [][]int64 `json:"CorePos"` // 要塞所在格子坐标 最左上角开始算 【【格子x坐标,格子y坐标】】 RepelPos [][]int64 `json:"RepelPos"` // 水晶不能生成格子 最左上角开始算 【【格子x坐标,格子y坐标】】 WavePlan int64 `json:"WavePlan"` // 每关波数组号 ConnectUp int64 `json:"ConnectUp"` // 连接上限提升组 Restore float64 `json:"Restore"` // 要塞恢复 基础治疗力比例 小数 RestoreUse []int64 `json:"RestoreUse"` // 要塞恢复消耗 【基础消耗,每次增加】 消耗幸运币 CrystalGroup []int64 `json:"CrystalGroup"` // 小水晶出现逻辑 【基础水晶数,水晶随机组】 Time int64 `json:"Time"` // 准备时间 秒 PosPlan int64 `json:"PosPlan"` // 坐标点组号 RandomPlan int64 `json:"RandomPlan"` // 刷新规则策略 读取刷新策略表组号 InitGold int64 `json:"InitGold"` // 初始银币数 整数 InitUse int64 `json:"InitUse"` // 初始刷新消耗 整数 UseUp int64 `json:"UseUp"` // 刷新消耗成长 整数 ResetTime int64 `json:"ResetTime"` // 重置时间 /天 -1:不会重置 CycleAward int64 `json:"CycleAward"` // 合作关卡周期奖励 重置时间达到时将重置该部分奖励 FirstAward int64 `json:"FirstAward"` // 首通奖励 掉落组ID(0代表无) Award int64 `json:"Award"` // 掉落奖励组 波数掉落组合-RewardMix 中的ID Preview [][]int64 `json:"Preview"` // 奖励预览 BossDet []int64 `json:"BossDet"` // 关卡BOSS详情 MonsterDet []int64 `json:"MonsterDet"` // 关卡小怪详情 } // package model // 关卡每波组合-LevelWavePlan exported from 关卡配置.xlsx type LevelWavePlan struct { Uid int64 `json:"Uid"` // 唯一编号 GroupId int64 `json:"GroupId"` // 所属组号 Wave int64 `json:"Wave"` // 波数编号 Time int64 `json:"Time"` // 单波总时间 MonsterGroupId int64 `json:"MonsterGroupId"` // 每波出怪策略组号 Level float64 `json:"Level"` // 怪物成长等级 Pen int64 `json:"Pen"` // 每波全局穿透 Countdown int64 `json:"Countdown"` // 结束倒计时 普通:3秒 结尾:0秒 Award [][]int64 `json:"Award"` // 提前结束奖励 } // package model // 出怪策略组-LevelMonsterPlan exported from 关卡配置.xlsx type LevelMonsterPlan struct { Uid int64 `json:"Uid"` // 唯一编号 GroupId int64 `json:"GroupId"` // 策略组号 Id int64 `json:"Id"` // 小编号 MonsterUid int64 `json:"MonsterUid"` // 怪物ID Interval int64 `json:"Interval"` // 生成间隔时间 秒 可以小数值 生成下一个的间隔 Delay int64 `json:"Delay"` // 延迟生成时间 秒 每波开头时的只针对第一只怪的延迟 PosList []int64 `json:"PosList"` // 生成坐标点编号列表 对应出怪坐标点配置中的坐标点编号 Award [][]int64 `json:"Award"` // 怪物死亡奖励货币 [[道具id,数量]] } // package model // 出怪坐标点-LevelPosPlan exported from 关卡配置.xlsx type LevelPosPlan struct { Uid int64 `json:"Uid"` // 唯一ID GroupId int64 `json:"GroupId"` // 组号 PosId int64 `json:"PosId"` // 坐标点编号 Angle int64 `json:"Angle"` // 角度 Range int64 `json:"Range"` // 离中心距离 像素数 } // package model // 刷新策略组-LevelEnhancePlan exported from 关卡配置.xlsx type LevelEnhancePlan struct { Uid int64 `json:"Uid"` // 唯一编号 GroupId int64 `json:"GroupId"` // 组编号 Level int64 `json:"Level"` // 等级 Quality int64 `json:"Quality"` // 品质 1:1 2:2 3:3 4:4 Weight int64 `json:"Weight"` // 出现权重 } // package model // 连接上限提升-LevelConnectUp exported from 关卡配置.xlsx type LevelConnectUp struct { Uid int64 `json:"Uid"` // 唯一编号 GroupId int64 `json:"GroupId"` // 组编号 Level int64 `json:"Level"` // 等级 UpNum int64 `json:"UpNum"` // 提升数量 Use int64 `json:"Use"` // 消耗幸运币 } // 关卡进度奖励-ProgressReward exported from 关卡进度奖励.xlsx // type ProgressReward struct { // Uid int64 `json:"Uid"` // 关卡编号 每个关卡都有一个唯一编号 // WaveNum int64 `json:"WaveNum"` // 波数 // FirstReward [][]int64 `json:"FirstReward"` // 首通奖励列表 【【道具ID,数量】】 // CycleReward [][]int64 `json:"CycleReward"` // 循环奖励列表 【【道具ID,数量】】 // } // 波数掉落组合-RewardMix exported from 掉落相关配置.xlsx type RewardMix struct { Uid int64 `json:"Uid"` // 唯一ID GroupID int64 `json:"GroupID"` // 组号 Inning int64 `json:"Inning"` // 波数 FixedForm int64 `json:"FixedForm"` // 固定掉落组 固定掉落组号 RandomForm [][]int64 `json:"RandomForm"` // 随机掉落组 【【随机掉落组号,随机次数】】 SelectForm int64 `json:"SelectForm"` // 自选掉落组 自选掉落组号 } // 固定掉落组-RewardFixed exported from 掉落相关配置.xlsx type RewardFixed struct { GroupID int64 `json:"GroupID"` // 掉落组号 Type int64 `json:"Type"` // 道具类型 1:普通道具 2:装备类 3;铭文类型 4;道具宝箱 ItemID int64 `json:"ItemID"` // 道具ID Num int64 `json:"Num"` // 道具数量 } // package model // 随机掉落组-RewardRandom exported from 掉落相关配置.xlsx type RewardRandom struct { GroupID int64 `json:"GroupID"` // 掉落组号 Type int64 `json:"Type"` // 道具类型 1:普通道具 2:装备类 3;铭文类型 4;道具宝箱 ItemID int64 `json:"ItemID"` // 道具ID Num int64 `json:"Num"` // 道具数量 Weight int64 `json:"Weight"` // 权重 } // package model // 自选掉落组-SelectRandom exported from 掉落相关配置.xlsx type SelectRandom struct { GroupID int64 `json:"GroupID"` // 掉落组号 Type int64 `json:"Type"` // 道具类型 1:普通道具 2:装备类 3;铭文类型 4;道具宝箱 ItemID int64 `json:"ItemID"` // 道具ID Num int64 `json:"Num"` // 道具数量 }