hero.go 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package model
  2. const (
  3. HeroStratumNormal = 1
  4. HeroStratumMyth = 2
  5. )
  6. // const (
  7. // // 英雄等级
  8. // HeroQualityWhite int64 = iota + 1
  9. // HeroQualityGreen
  10. // HeroQualityBlue
  11. // HeroQualityPurple
  12. // HeroQualityMythic int64 = 10
  13. // )
  14. const (
  15. HeroTypeNormal = 1
  16. HeroTypeMythic = 2
  17. )
  18. func SkinIdToHeroId(skinId int64) int64 {
  19. return (skinId / 1000)
  20. }
  21. // LandBase 英雄类型列表-LandBase exported from 英雄配置.xlsx
  22. type LandBase struct {
  23. ID int64 `json:"ID"` // 地块ID
  24. Name string `json:"Name"` // 地块名字
  25. Type int64 `json:"Type"` // 地块定位类型 1:基础 2:神话
  26. // Quality int64 `json:"Quality"` // 品质 1:白 2:绿 3:蓝 4:紫 10:神话
  27. Camp int64 `json:"Camp"` // 阵营类型 1:天神 2:半神 3:军团 4:侠盗 5:魔灵 6:恶魔
  28. Tag [][]int64 `json:"Tag"` // 定位列表 查找定位文本表 【【对应形象定位】,【对应形象定位】】
  29. HeroRes []int64 `json:"HeroRes"` // 对应形象的数值 可变换形态的填数组
  30. SkinList []int64 `json:"SkinList"` // 皮肤组 【皮肤组号,皮肤组号】 在英雄形象列表 默认第一个是基础皮肤
  31. Formula []int64 `json:"Formula"` // 合成公式 【【地块ID,品质】,【地块ID,品质】】
  32. Shape []int64 `json:"Shape"` // 地块所占格子 【【第1行1格,第1行2格,第1行3格……】, 【第2行1格,第2行2格,第2行3格……】, 【第3行1格,第3行2格,第3行3格……】】 0:空 1:有 注意:每个块的第一横行要写全,用来判断此地块的长度。
  33. Offset []int64 `json:"Offset"` // 角色的偏移格子数 单位:格 角色的中心点位置
  34. LandRes int64 `json:"LandRes"` // 形状类型
  35. Dmg float64 `json:"Dmg"` // 升级增加的暴击伤害% 小数值
  36. GetWey []int64 `json:"GetWey"` // 获取方式 0:初始获得 1:钻石购买 2:其它直接获得
  37. ExclusiveItem int64 `json:"ExclusiveItem"` // 碎片道具ID
  38. DiamondNum int64 `json:"DiamondNum"` // 钻石价格
  39. Disintegration []int64 `json:"Disintegration"` // 分解获得 神话英雄招募时若已获得则自动分解
  40. IsShow int64 `json:"IsShow"` // 列表中是否显示 0:不显示 1:显示
  41. }
  42. // 英雄皮肤表-LandModeSkin exported from 英雄配置.xlsx
  43. type LandModeSkin struct {
  44. SkinId int64 `json:"SkinId"` // 皮肤组号
  45. HeroId int64 `json:"HeroId"` // 造型所属英雄
  46. Name string `json:"Name"` // 形象名字
  47. Skill []int64 `json:"Skill"` // 皮肤技能 界面上显示 技能ID []:没有技能
  48. Deep float64 `json:"Deep"` // 收集属性 本体伤害加成 文本:"收集属性:本体伤害+x%" /小数 0:没有
  49. Hp float64 `json:"Hp"` // 收集属性 本体血量加成 文本:"收集属性:本体血量+x%" /小数 0:没有
  50. Quality int64 `json:"Quality"` // 皮肤品质 6-典藏彩 5-传说橙 4-精品紫 3-蓝色
  51. HeroRes int64 `json:"HeroRes"` // 皮肤展示英雄阶段
  52. HeroImage string `json:"HeroImage"` // 皮肤立绘展示
  53. UnlockItem int64 `json:"UnlockItem"` // 解锁道具 道具表中ID 0:默认解锁
  54. } // package model
  55. // LandUpList 英雄升级列表-LandUpList exported from 英雄配置.xlsx
  56. type LandUpList struct {
  57. Uid int64 `json:"Uid"` // 唯一编号
  58. ID int64 `json:"ID"` // 英雄ID
  59. Level int64 `json:"Level"` // 地块外围等级
  60. Consume [][]int64 `json:"Consume"` // 升级至本级所需材料 【【道具ID,消耗数量】】 注:第1位是升级材料,第2位是金币
  61. // UpText string `json:"UpText"` // 升星技能加成文本
  62. }
  63. // LandMode 英雄形象列表-LandMode exported from 英雄配置.xlsx
  64. type LandMode struct {
  65. Uid int64 `json:"Uid"` // 唯一ID
  66. SkinId int64 `json:"SkinId"` // 最终皮肤组号 每种英雄预留5个位置 服务器要求将此组和HeroId关联 公式:HeroId * 1000+皮肤组号
  67. HeroId int64 `json:"HeroId"` // 造型所属英雄
  68. Order int64 `json:"Order"` // 进阶顺序
  69. Name string `json:"Name"` // 形象名字
  70. HeroRes string `json:"HeroRes"` // 英雄资源名
  71. Pos []int64 `json:"Pos"` // 子弹发射点 怪物资源上找 可多个发射点
  72. Skill int64 `json:"Skill"` // 皮肤技能 界面上显示 技能ID 0:没有技能
  73. }
  74. // 英雄形象数值-LandModeData exported from 英雄配置.xlsx
  75. type LandModeData struct {
  76. Uid int64 `json:"Uid"` // 唯一编号
  77. ID int64 `json:"ID"` // 地块ID
  78. Order int64 `json:"Order"` // 进阶顺序 基础:升级形态 神话:变化形态
  79. Level int64 `json:"Level"` // 地块外围等级
  80. Ant int64 `json:"Ant"` // 基础攻击力 整数值
  81. Attr int64 `json:"Attr"` // 攻击属性 1:物理 2:魔法
  82. Pen int64 `json:"Pen"` // 全能穿透 整数值 全局生效
  83. Apen int64 `json:"Apen"` // 物理穿透 整数值 全局生效
  84. Mpen int64 `json:"Mpen"` // 魔法穿透 整数值 全局生效
  85. Td int64 `json:"Td"` // 真实伤害 整数值 无视抗性
  86. As int64 `json:"As"` // 攻速 小数值 1秒攻击多少次,越大攻速越快
  87. Crt int64 `json:"Crt"` // 暴击率 小数值 展示百分比
  88. Dmg int64 `json:"Dmg"` // 暴击伤害 小数值 展示百分比
  89. Range int64 `json:"Range"` // 警戒范围 普攻范围 整数值 以此地块为中心的半径像素大小 进入此范围英雄开始攻击
  90. Price []int64 `json:"Price"` // 出售价格 【道具ID,数量】
  91. OrdinarySkill int64 `json:"OrdinarySkill"` // 普攻技能ID 0:没有普攻
  92. SkillList []int64 `json:"SkillList"` // 技能列表 (临时) 【【技能ID,动作编号,是否解锁】】 普通攻击动作编号永远为1 0:未解锁 1:已解锁
  93. } // package model
  94. // 定位文本-LandTag exported from 英雄配置.xlsx
  95. type LandTag struct {
  96. Uid int64 `json:"Uid"` // 编号
  97. Text string `json:"Text"` // 定位文本
  98. Icon string `json:"Icon"` // 背景资源
  99. }
  100. func IsMythicHero(heroId int64) bool {
  101. return heroId >= 100
  102. }