Fix for staffmod level requirement eval
This commit is contained in:
377
pkg/data/skill/skillreq_gen.go
Normal file
377
pkg/data/skill/skillreq_gen.go
Normal file
@@ -0,0 +1,377 @@
|
|||||||
|
package skill
|
||||||
|
|
||||||
|
var SkillLevelReq = map[ID]int{
|
||||||
|
0: 1,
|
||||||
|
1: 1,
|
||||||
|
2: 1,
|
||||||
|
3: 1,
|
||||||
|
4: 1,
|
||||||
|
5: 1,
|
||||||
|
6: 1,
|
||||||
|
7: 1,
|
||||||
|
8: 1,
|
||||||
|
9: 1,
|
||||||
|
10: 1,
|
||||||
|
11: 6,
|
||||||
|
12: 6,
|
||||||
|
13: 6,
|
||||||
|
14: 6,
|
||||||
|
15: 6,
|
||||||
|
16: 12,
|
||||||
|
17: 12,
|
||||||
|
18: 12,
|
||||||
|
19: 12,
|
||||||
|
20: 12,
|
||||||
|
21: 18,
|
||||||
|
22: 18,
|
||||||
|
23: 18,
|
||||||
|
24: 18,
|
||||||
|
25: 18,
|
||||||
|
26: 24,
|
||||||
|
27: 24,
|
||||||
|
28: 24,
|
||||||
|
29: 24,
|
||||||
|
30: 24,
|
||||||
|
31: 30,
|
||||||
|
32: 30,
|
||||||
|
33: 30,
|
||||||
|
34: 30,
|
||||||
|
35: 30,
|
||||||
|
36: 1,
|
||||||
|
37: 1,
|
||||||
|
38: 1,
|
||||||
|
39: 1,
|
||||||
|
40: 1,
|
||||||
|
41: 6,
|
||||||
|
42: 6,
|
||||||
|
43: 6,
|
||||||
|
44: 6,
|
||||||
|
45: 6,
|
||||||
|
46: 12,
|
||||||
|
47: 12,
|
||||||
|
48: 12,
|
||||||
|
49: 12,
|
||||||
|
50: 12,
|
||||||
|
51: 18,
|
||||||
|
52: 18,
|
||||||
|
53: 18,
|
||||||
|
54: 18,
|
||||||
|
55: 18,
|
||||||
|
56: 24,
|
||||||
|
57: 24,
|
||||||
|
58: 24,
|
||||||
|
59: 24,
|
||||||
|
60: 24,
|
||||||
|
61: 30,
|
||||||
|
62: 30,
|
||||||
|
63: 30,
|
||||||
|
64: 30,
|
||||||
|
65: 30,
|
||||||
|
66: 1,
|
||||||
|
67: 1,
|
||||||
|
68: 1,
|
||||||
|
69: 1,
|
||||||
|
70: 1,
|
||||||
|
71: 6,
|
||||||
|
72: 6,
|
||||||
|
73: 6,
|
||||||
|
74: 6,
|
||||||
|
75: 6,
|
||||||
|
76: 12,
|
||||||
|
77: 12,
|
||||||
|
78: 12,
|
||||||
|
79: 12,
|
||||||
|
80: 12,
|
||||||
|
81: 18,
|
||||||
|
82: 18,
|
||||||
|
83: 18,
|
||||||
|
84: 18,
|
||||||
|
85: 18,
|
||||||
|
86: 24,
|
||||||
|
87: 24,
|
||||||
|
88: 24,
|
||||||
|
89: 24,
|
||||||
|
90: 24,
|
||||||
|
91: 30,
|
||||||
|
92: 30,
|
||||||
|
93: 30,
|
||||||
|
94: 30,
|
||||||
|
95: 30,
|
||||||
|
96: 1,
|
||||||
|
97: 1,
|
||||||
|
98: 1,
|
||||||
|
99: 1,
|
||||||
|
100: 1,
|
||||||
|
101: 6,
|
||||||
|
102: 6,
|
||||||
|
103: 6,
|
||||||
|
104: 6,
|
||||||
|
105: 6,
|
||||||
|
106: 12,
|
||||||
|
107: 12,
|
||||||
|
108: 12,
|
||||||
|
109: 12,
|
||||||
|
110: 12,
|
||||||
|
111: 18,
|
||||||
|
112: 18,
|
||||||
|
113: 18,
|
||||||
|
114: 18,
|
||||||
|
115: 18,
|
||||||
|
116: 24,
|
||||||
|
117: 24,
|
||||||
|
118: 24,
|
||||||
|
119: 24,
|
||||||
|
120: 24,
|
||||||
|
121: 30,
|
||||||
|
122: 30,
|
||||||
|
123: 30,
|
||||||
|
124: 30,
|
||||||
|
125: 30,
|
||||||
|
126: 1,
|
||||||
|
127: 1,
|
||||||
|
128: 1,
|
||||||
|
129: 1,
|
||||||
|
130: 1,
|
||||||
|
131: 1,
|
||||||
|
132: 6,
|
||||||
|
133: 6,
|
||||||
|
134: 6,
|
||||||
|
135: 6,
|
||||||
|
136: 6,
|
||||||
|
137: 6,
|
||||||
|
138: 6,
|
||||||
|
139: 12,
|
||||||
|
140: 12,
|
||||||
|
141: 12,
|
||||||
|
142: 12,
|
||||||
|
143: 18,
|
||||||
|
144: 18,
|
||||||
|
145: 18,
|
||||||
|
146: 18,
|
||||||
|
147: 24,
|
||||||
|
148: 24,
|
||||||
|
149: 24,
|
||||||
|
150: 24,
|
||||||
|
151: 30,
|
||||||
|
152: 30,
|
||||||
|
153: 30,
|
||||||
|
154: 30,
|
||||||
|
155: 30,
|
||||||
|
156: 1,
|
||||||
|
157: 1,
|
||||||
|
158: 1,
|
||||||
|
159: 1,
|
||||||
|
160: 1,
|
||||||
|
161: 1,
|
||||||
|
162: 1,
|
||||||
|
163: 1,
|
||||||
|
164: 1,
|
||||||
|
165: 1,
|
||||||
|
166: 1,
|
||||||
|
167: 1,
|
||||||
|
168: 1,
|
||||||
|
169: 1,
|
||||||
|
170: 1,
|
||||||
|
171: 1,
|
||||||
|
172: 1,
|
||||||
|
173: 1,
|
||||||
|
174: 1,
|
||||||
|
175: 1,
|
||||||
|
176: 1,
|
||||||
|
177: 1,
|
||||||
|
178: 1,
|
||||||
|
179: 1,
|
||||||
|
180: 1,
|
||||||
|
181: 1,
|
||||||
|
182: 1,
|
||||||
|
183: 1,
|
||||||
|
184: 1,
|
||||||
|
185: 1,
|
||||||
|
186: 1,
|
||||||
|
187: 1,
|
||||||
|
188: 1,
|
||||||
|
189: 1,
|
||||||
|
190: 1,
|
||||||
|
191: 1,
|
||||||
|
192: 1,
|
||||||
|
193: 1,
|
||||||
|
194: 1,
|
||||||
|
195: 1,
|
||||||
|
196: 1,
|
||||||
|
197: 1,
|
||||||
|
198: 1,
|
||||||
|
199: 1,
|
||||||
|
200: 1,
|
||||||
|
201: 1,
|
||||||
|
202: 1,
|
||||||
|
203: 1,
|
||||||
|
204: 1,
|
||||||
|
205: 1,
|
||||||
|
206: 1,
|
||||||
|
207: 1,
|
||||||
|
208: 1,
|
||||||
|
209: 1,
|
||||||
|
210: 1,
|
||||||
|
211: 1,
|
||||||
|
212: 1,
|
||||||
|
213: 1,
|
||||||
|
214: 1,
|
||||||
|
215: 1,
|
||||||
|
216: 1,
|
||||||
|
217: 1,
|
||||||
|
218: 1,
|
||||||
|
219: 1,
|
||||||
|
220: 1,
|
||||||
|
221: 1,
|
||||||
|
222: 1,
|
||||||
|
223: 1,
|
||||||
|
224: 1,
|
||||||
|
225: 1,
|
||||||
|
226: 6,
|
||||||
|
227: 6,
|
||||||
|
228: 6,
|
||||||
|
229: 6,
|
||||||
|
230: 6,
|
||||||
|
231: 12,
|
||||||
|
232: 12,
|
||||||
|
233: 12,
|
||||||
|
234: 12,
|
||||||
|
235: 12,
|
||||||
|
236: 18,
|
||||||
|
237: 18,
|
||||||
|
238: 18,
|
||||||
|
239: 18,
|
||||||
|
240: 18,
|
||||||
|
241: 24,
|
||||||
|
242: 24,
|
||||||
|
243: 24,
|
||||||
|
244: 24,
|
||||||
|
245: 24,
|
||||||
|
246: 30,
|
||||||
|
247: 30,
|
||||||
|
248: 30,
|
||||||
|
249: 30,
|
||||||
|
250: 30,
|
||||||
|
251: 1,
|
||||||
|
252: 1,
|
||||||
|
253: 1,
|
||||||
|
254: 1,
|
||||||
|
255: 1,
|
||||||
|
256: 6,
|
||||||
|
257: 6,
|
||||||
|
258: 6,
|
||||||
|
259: 6,
|
||||||
|
260: 6,
|
||||||
|
261: 12,
|
||||||
|
262: 12,
|
||||||
|
263: 12,
|
||||||
|
264: 12,
|
||||||
|
265: 12,
|
||||||
|
266: 18,
|
||||||
|
267: 18,
|
||||||
|
268: 18,
|
||||||
|
269: 18,
|
||||||
|
270: 18,
|
||||||
|
271: 24,
|
||||||
|
272: 24,
|
||||||
|
273: 24,
|
||||||
|
274: 24,
|
||||||
|
275: 24,
|
||||||
|
276: 30,
|
||||||
|
277: 30,
|
||||||
|
278: 30,
|
||||||
|
279: 30,
|
||||||
|
280: 30,
|
||||||
|
281: 1,
|
||||||
|
282: 1,
|
||||||
|
283: 1,
|
||||||
|
284: 1,
|
||||||
|
285: 1,
|
||||||
|
286: 1,
|
||||||
|
287: 1,
|
||||||
|
288: 1,
|
||||||
|
289: 1,
|
||||||
|
290: 1,
|
||||||
|
291: 1,
|
||||||
|
292: 1,
|
||||||
|
293: 1,
|
||||||
|
294: 1,
|
||||||
|
295: 1,
|
||||||
|
296: 1,
|
||||||
|
297: 1,
|
||||||
|
298: 1,
|
||||||
|
299: 1,
|
||||||
|
300: 1,
|
||||||
|
301: 1,
|
||||||
|
302: 1,
|
||||||
|
303: 1,
|
||||||
|
304: 1,
|
||||||
|
305: 1,
|
||||||
|
306: 1,
|
||||||
|
307: 1,
|
||||||
|
308: 1,
|
||||||
|
309: 1,
|
||||||
|
310: 1,
|
||||||
|
311: 1,
|
||||||
|
312: 1,
|
||||||
|
313: 1,
|
||||||
|
314: 1,
|
||||||
|
315: 1,
|
||||||
|
316: 1,
|
||||||
|
317: 1,
|
||||||
|
318: 1,
|
||||||
|
319: 1,
|
||||||
|
320: 1,
|
||||||
|
321: 1,
|
||||||
|
322: 1,
|
||||||
|
323: 1,
|
||||||
|
324: 1,
|
||||||
|
325: 1,
|
||||||
|
326: 1,
|
||||||
|
327: 1,
|
||||||
|
328: 1,
|
||||||
|
329: 1,
|
||||||
|
330: 1,
|
||||||
|
331: 1,
|
||||||
|
332: 1,
|
||||||
|
333: 1,
|
||||||
|
334: 1,
|
||||||
|
335: 1,
|
||||||
|
336: 1,
|
||||||
|
337: 1,
|
||||||
|
338: 1,
|
||||||
|
339: 1,
|
||||||
|
340: 1,
|
||||||
|
341: 1,
|
||||||
|
342: 1,
|
||||||
|
343: 1,
|
||||||
|
344: 1,
|
||||||
|
345: 1,
|
||||||
|
346: 1,
|
||||||
|
347: 1,
|
||||||
|
348: 1,
|
||||||
|
349: 1,
|
||||||
|
350: 1,
|
||||||
|
351: 1,
|
||||||
|
352: 1,
|
||||||
|
353: 1,
|
||||||
|
354: 1,
|
||||||
|
355: 1,
|
||||||
|
356: 1,
|
||||||
|
357: 1,
|
||||||
|
358: 1,
|
||||||
|
359: 1,
|
||||||
|
360: 1,
|
||||||
|
361: 0,
|
||||||
|
362: 0,
|
||||||
|
363: 0,
|
||||||
|
364: 0,
|
||||||
|
365: 18,
|
||||||
|
366: 6,
|
||||||
|
367: 18,
|
||||||
|
368: 6,
|
||||||
|
369: 24,
|
||||||
|
370: 1,
|
||||||
|
371: 1,
|
||||||
|
372: 1,
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hectorgimenez/d2go/pkg/data"
|
"github.com/hectorgimenez/d2go/pkg/data"
|
||||||
"github.com/hectorgimenez/d2go/pkg/data/item"
|
"github.com/hectorgimenez/d2go/pkg/data/item"
|
||||||
|
"github.com/hectorgimenez/d2go/pkg/data/skill"
|
||||||
"github.com/hectorgimenez/d2go/pkg/data/stat"
|
"github.com/hectorgimenez/d2go/pkg/data/stat"
|
||||||
"github.com/hectorgimenez/d2go/pkg/data/state"
|
"github.com/hectorgimenez/d2go/pkg/data/state"
|
||||||
"github.com/hectorgimenez/d2go/pkg/utils"
|
"github.com/hectorgimenez/d2go/pkg/utils"
|
||||||
@@ -633,6 +634,39 @@ func updateMaxReqFromAffixes(currentMax int, affixes data.ItemAffixes) int {
|
|||||||
}
|
}
|
||||||
return maxReq
|
return maxReq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func staffModLevelRequirement(itm *data.Item, baseDesc item.Description) int {
|
||||||
|
eligibleTypes := map[string]bool{
|
||||||
|
item.TypeScepter: true,
|
||||||
|
item.TypeWand: true,
|
||||||
|
item.TypeStaff: true,
|
||||||
|
item.TypeHandtoHand: true,
|
||||||
|
item.TypeHandtoHand2: true,
|
||||||
|
item.TypePelt: true,
|
||||||
|
item.TypePrimalHelm: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
if !eligibleTypes[baseDesc.Type] {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
maxReq := 0
|
||||||
|
checkStats := func(stats stat.Stats) {
|
||||||
|
for _, s := range stats {
|
||||||
|
if s.ID == stat.SingleSkill {
|
||||||
|
if req, ok := skill.SkillLevelReq[skill.ID(s.Layer)]; ok && req > maxReq {
|
||||||
|
maxReq = req
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
checkStats(itm.BaseStats)
|
||||||
|
checkStats(itm.Stats)
|
||||||
|
|
||||||
|
return maxReq
|
||||||
|
}
|
||||||
|
|
||||||
func calculateItemLevelReq(itm *data.Item, baseDesc item.Description) int {
|
func calculateItemLevelReq(itm *data.Item, baseDesc item.Description) int {
|
||||||
// Start with base item's requirement
|
// Start with base item's requirement
|
||||||
maxReq := baseDesc.RequiredLevel
|
maxReq := baseDesc.RequiredLevel
|
||||||
@@ -735,5 +769,10 @@ func calculateItemLevelReq(itm *data.Item, baseDesc item.Description) int {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if staffModReq := staffModLevelRequirement(itm, baseDesc); staffModReq > maxReq {
|
||||||
|
maxReq = staffModReq
|
||||||
|
}
|
||||||
|
|
||||||
return maxReq
|
return maxReq
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user