mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-11-02 17:27:23 -04:00
271673851a
* Added RecordManager implementation to remove d2datadict singletons * fix object lookup test
39 lines
887 B
Go
39 lines
887 B
Go
package d2records
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt"
|
|
)
|
|
|
|
func booksLoader(r *RecordManager, d *d2txt.DataDictionary) error {
|
|
records := make(Books)
|
|
|
|
for d.Next() {
|
|
record := &BooksRecord{
|
|
Name: d.String("Name"),
|
|
Namco: d.String("Namco"),
|
|
Completed: d.String("Completed"),
|
|
ScrollSpellCode: d.String("ScrollSpellCode"),
|
|
BookSpellCode: d.String("BooksSpellCode"),
|
|
Pspell: d.Number("pSpell"),
|
|
SpellIcon: d.Number("SpellIcon"),
|
|
ScrollSkill: d.String("ScrollSkill"),
|
|
BookSkill: d.String("BookSkill"),
|
|
BaseCost: d.Number("BaseCost"),
|
|
CostPerCharge: d.Number("CostPerCharge"),
|
|
}
|
|
records[record.Namco] = record
|
|
}
|
|
|
|
if d.Err != nil {
|
|
panic(d.Err)
|
|
}
|
|
|
|
log.Printf("Loaded %d book items", len(records))
|
|
|
|
r.Item.Books = records
|
|
|
|
return nil
|
|
}
|