hero_fetter.go 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var HeroFetter = &heroFetterConfig{}
  7. func init() {
  8. _allList = append(_allList, HeroFetter)
  9. }
  10. type (
  11. HeroFetterRow struct {
  12. ID int32 `json:"ID"` // ID
  13. ActiveHeroNum int32 `json:"ActiveHeroNum"` // 激活羁绊所需英雄数
  14. HeroIDs types.List[int32] `json:"HeroIDs"` // 英雄列表
  15. MinAttack int64 `json:"MinAttack"` // 最小攻击
  16. MaxAttack int64 `json:"MaxAttack"` // 最大攻击
  17. AttackSpeed int64 `json:"AttackSpeed"` // 攻击速度
  18. Speed int64 `json:"Speed"` // 移动速度
  19. MinDefense int64 `json:"MinDefense"` // 最小防御
  20. MaxDefense int64 `json:"MaxDefense"` // 最大防御
  21. Hp int64 `json:"Hp"` // 血量
  22. CriticalHitChance int64 `json:"CriticalHitChance"` // 暴击率
  23. CriticalHitResistance int64 `json:"CriticalHitResistance"` // 暴击抵抗
  24. CriticalHitDamage int64 `json:"CriticalHitDamage"` // 暴击伤害
  25. CriticalHitDamageResistance int64 `json:"CriticalHitDamageResistance"` // 暴伤抵抗
  26. Luck int64 `json:"Luck"` // 幸运值
  27. DamageBonus int64 `json:"DamageBonus"` // 伤害加成
  28. DamageReduction int64 `json:"DamageReduction"` // 伤害减免
  29. SquadAttackBonus int64 `json:"SquadAttackBonus"` // 兵团攻击加成
  30. SquadHealthBonus int64 `json:"SquadHealthBonus"` // 兵团生命加成
  31. }
  32. heroFetterConfig struct {
  33. baseConfig
  34. list []*HeroFetterRow // all list
  35. idUniMaps map[int32]*HeroFetterRow // key:id
  36. }
  37. )
  38. func (p *heroFetterConfig) Name() string {
  39. return "hero_fetter"
  40. }
  41. func (p *heroFetterConfig) Init() {
  42. p.idUniMaps = map[int32]*HeroFetterRow{}
  43. }
  44. func (p *heroFetterConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  45. if reload && p.denyLoad {
  46. return 0, nil
  47. }
  48. var list []*HeroFetterRow
  49. if err := DecodeData(maps, &list); err != nil {
  50. return 0, err
  51. }
  52. p.list = list
  53. idUniMaps := map[int32]*HeroFetterRow{}
  54. for _, row := range list {
  55. idUniMaps[row.ID] = row
  56. }
  57. p.idUniMaps = idUniMaps
  58. return len(list), nil
  59. }
  60. // func (p *heroFetterConfig) OnAfterLoad(_ bool) {
  61. // }
  62. func (p *heroFetterConfig) List() []*HeroFetterRow {
  63. return p.list
  64. }
  65. func (p *heroFetterConfig) GetByID(id int32) (*HeroFetterRow, bool) {
  66. value, found := p.idUniMaps[id]
  67. return value, found
  68. }
  69. func (p *heroFetterConfig) ContainID(id int32) bool {
  70. _, found := p.idUniMaps[id]
  71. return found
  72. }