16 //mt:if r.N > 0 { %s.NonNil = true}; /**/
22 AttackCooldown float32
26 GroupCaps []ToolGroupCap
40 type ToolGroupCap struct {
57 func (tc ToolCaps) DigTime(groups map[string]int16) (time.Duration, bool) {
58 immDig := groups["dig_immediate"]
60 minTime := float32(math.Inf(1))
62 lvl := groups["level"]
63 for _, gc := range tc.GroupCaps {
64 if gc.Name == "dig_immediate" {
73 for _, dt := range gc.Times {
76 t /= float32(gc.MaxLvl - lvl)
78 if dt.Rating == r && t < minTime {
86 return time.Second / 2, true
91 if math.IsInf(float64(minTime), 1) {
95 return time.Duration(math.Ceil(float64(minTime) * float64(time.Second))), true