item.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package enum
  2. import (
  3. "slices"
  4. )
  5. type ItemUseType int32 // 道具池使用类型
  6. const (
  7. ItemUseRandom ItemUseType = 1 // 权重随机一项
  8. ItemUseGetAll ItemUseType = 2 // 获取全部
  9. ItemUseSelectOne ItemUseType = 3 // 玩家选择一项
  10. )
  11. // 货币类型的id
  12. const (
  13. ItemIDSilver int32 = 1 // 银币
  14. ItemIDGold int32 = 2 // 金币
  15. ItemIDF int32 = 3 // F币
  16. ItemIDStamina int32 = 5 // 精力
  17. ItemIDTempStamina int32 = 7 // 存储精力
  18. ItemIDWood int32 = 101 // 木材(绑定)
  19. ItemIDIron int32 = 102 // 铁矿(绑定)
  20. ItemIDStone int32 = 103 // 石料(绑定)
  21. ItemIDGrain int32 = 104 // 粮食(绑定)
  22. ItemIDWoodUnBound int32 = 111 // 木材
  23. ItemIDIronUnBound int32 = 112 // 铁矿
  24. ItemIDStoneUnBound int32 = 113 // 石料
  25. ItemIDGrainUnBound int32 = 114 // 粮食
  26. ItemIDSeasonPoint int32 = 1001 // 赛季积分
  27. ItemIDChargePoint int32 = 1003 // 充值积分
  28. ItemIDArm201 int32 = 201 // 民兵
  29. ItemIDArm202 int32 = 202 // 精锐兵1
  30. ItemIDArm203 int32 = 203 // 精锐兵2
  31. ItemIDArm204 int32 = 204 // 精锐兵3
  32. ItemIDArm205 int32 = 205 // 精锐兵4
  33. ItemIDArm206 int32 = 206 // 精锐兵5
  34. ItemIDLordExp int32 = 10001 // 领主经验
  35. ItemIDFeat int32 = 10104 // 个人功勋
  36. )
  37. var (
  38. // 有上限货币道具ID列表
  39. ItemMaxNumList = []int32{
  40. ItemIDWoodUnBound,
  41. ItemIDIronUnBound,
  42. ItemIDStoneUnBound,
  43. ItemIDGrainUnBound,
  44. ItemIDWood,
  45. ItemIDIron,
  46. ItemIDStone,
  47. ItemIDGrain,
  48. }
  49. // 后台需要展示的道具ID列表
  50. OpsItemInfoList = []int32{
  51. ItemIDSilver,
  52. ItemIDGold,
  53. ItemIDF,
  54. ItemIDStamina,
  55. ItemIDWoodUnBound,
  56. ItemIDIronUnBound,
  57. ItemIDStoneUnBound,
  58. ItemIDGrainUnBound,
  59. ItemIDWood,
  60. ItemIDIron,
  61. ItemIDStone,
  62. ItemIDGrain,
  63. }
  64. // TOD 暂时先这里处理 Map currency id list
  65. MapCurrencyIDList = []int32{
  66. ItemIDWood,
  67. ItemIDIron,
  68. ItemIDStone,
  69. ItemIDGrain,
  70. ItemIDWoodUnBound,
  71. ItemIDIronUnBound,
  72. ItemIDStoneUnBound,
  73. ItemIDGrainUnBound,
  74. ItemIDArm201,
  75. ItemIDArm202,
  76. ItemIDArm203,
  77. ItemIDArm204,
  78. ItemIDArm205,
  79. ItemIDArm206,
  80. ItemIDSeasonPoint,
  81. ItemIDFeat,
  82. }
  83. // 个人货币转换为联盟货币(交税映射)
  84. RatioConvertMap = map[int32]int32{
  85. ItemIDWood: LeagueItemIDWood,
  86. ItemIDIron: LeagueItemIDIron,
  87. ItemIDStone: LeagueItemIDStone,
  88. ItemIDGrain: LeagueItemIDGrain,
  89. ItemIDF: LeagueItemIDF,
  90. }
  91. // 地图侦察资源列表
  92. MapScoutItemIDList = []int32{
  93. ItemIDWoodUnBound,
  94. ItemIDIronUnBound,
  95. ItemIDStoneUnBound,
  96. ItemIDGrainUnBound,
  97. }
  98. // 绑定资源和非绑定资源的映射
  99. BindingResourceMap = map[int32]int32{
  100. ItemIDWood: ItemIDWoodUnBound,
  101. ItemIDIron: ItemIDIronUnBound,
  102. ItemIDStone: ItemIDStoneUnBound,
  103. ItemIDGrain: ItemIDGrainUnBound,
  104. }
  105. // 非绑定资源和绑定资源的映射
  106. UnBindingResourceMap = map[int32]int32{
  107. ItemIDWoodUnBound: ItemIDWood,
  108. ItemIDIronUnBound: ItemIDIron,
  109. ItemIDStoneUnBound: ItemIDStone,
  110. ItemIDGrainUnBound: ItemIDGrain,
  111. }
  112. // 绑定资源产出的映射
  113. MapItemAttrs = map[int32]int32{
  114. ItemIDWood: AttrWoodYield,
  115. ItemIDIron: AttrIronYield,
  116. ItemIDStone: AttrStoneYield,
  117. ItemIDGrain: AttrGrainYield,
  118. }
  119. )
  120. const (
  121. GenPoolTimeType_Hour int32 = 1 // 每小时
  122. GenPoolTimeType_Day int32 = 2 // 每天
  123. GenPoolTimeType_Week int32 = 3 // 每周
  124. GenPoolTimeType_Month int32 = 4 // 每月
  125. )
  126. var (
  127. MedicineType_Energy int32 = 1 // 体力药
  128. MedicineType_Troops int32 = 2 // 补兵药
  129. MedicineType_Injured int32 = 3 // 重伤药
  130. )
  131. // 判断是否是地图货币
  132. func IsMapCurrency(id int32) bool {
  133. return slices.Contains(MapCurrencyIDList, id)
  134. }
  135. // 获取交税联盟映射
  136. func GetLeagueRatioItemID(id int32) (int32, bool) {
  137. leagueItemID, found := RatioConvertMap[id]
  138. return leagueItemID, found
  139. }