2020-06-27 23:15:20 -04:00
|
|
|
package d2datadict
|
|
|
|
|
|
|
|
import (
|
|
|
|
"log"
|
|
|
|
|
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common"
|
|
|
|
)
|
|
|
|
|
2020-06-30 09:17:07 -04:00
|
|
|
// MonPresets stores monster presets
|
2020-06-29 12:37:11 -04:00
|
|
|
//nolint:gochecknoglobals // Currently global by design, only written once
|
2020-06-28 00:07:52 -04:00
|
|
|
var MonPresets [][]string
|
2020-06-27 23:15:20 -04:00
|
|
|
|
2020-06-30 09:17:07 -04:00
|
|
|
// LoadMonPresets loads monster presets from monpresets.txt
|
2020-06-27 23:15:20 -04:00
|
|
|
func LoadMonPresets(file []byte) {
|
|
|
|
dict := d2common.LoadDataDictionary(string(file))
|
|
|
|
numRecords := len(dict.Data)
|
2020-06-28 00:07:52 -04:00
|
|
|
MonPresets = make([][]string, numRecords)
|
2020-06-29 12:37:11 -04:00
|
|
|
|
2020-06-28 00:07:52 -04:00
|
|
|
for idx := range MonPresets {
|
|
|
|
MonPresets[idx] = make([]string, numRecords)
|
|
|
|
}
|
|
|
|
|
|
|
|
lastAct := 0
|
|
|
|
placeIdx := 0
|
2020-06-29 12:37:11 -04:00
|
|
|
|
2020-06-28 00:07:52 -04:00
|
|
|
for dictIdx := range dict.Data {
|
|
|
|
act := dict.GetNumber("Act", dictIdx)
|
|
|
|
if act != lastAct {
|
|
|
|
placeIdx = 0
|
2020-06-27 23:15:20 -04:00
|
|
|
}
|
2020-06-29 12:37:11 -04:00
|
|
|
|
2020-06-28 00:07:52 -04:00
|
|
|
MonPresets[act][placeIdx] = dict.GetString("Place", dictIdx)
|
|
|
|
lastAct = act
|
2020-06-29 12:37:11 -04:00
|
|
|
|
|
|
|
placeIdx++
|
2020-06-27 23:15:20 -04:00
|
|
|
}
|
2020-06-29 12:37:11 -04:00
|
|
|
|
2020-06-27 23:15:20 -04:00
|
|
|
log.Printf("Loaded %d MonPreset records", len(MonPresets))
|
|
|
|
}
|