2020-09-19 14:33:40 -04:00
|
|
|
package d2records
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2calculation/d2parser"
|
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Loadrecords loads skill description records from skilldesc.txt
|
|
|
|
//nolint:funlen // doesn't make sense to split
|
|
|
|
func skillDescriptionLoader(r *RecordManager, d *d2txt.DataDictionary) error {
|
|
|
|
records := make(map[string]*SkillDescriptionRecord)
|
|
|
|
|
|
|
|
parser := d2parser.New()
|
2020-10-25 18:36:12 -04:00
|
|
|
parser.SetCurrentReference("skill", "TODO: connect skill with description!")
|
2020-09-19 14:33:40 -04:00
|
|
|
|
|
|
|
for d.Next() {
|
|
|
|
record := &SkillDescriptionRecord{
|
|
|
|
d.String("skilldesc"),
|
2020-10-22 12:54:45 -04:00
|
|
|
d.Number("SkillPage"),
|
|
|
|
d.Number("SkillRow"),
|
|
|
|
d.Number("SkillColumn"),
|
2020-10-22 16:53:18 -04:00
|
|
|
d.Number("ListRow"),
|
2020-09-19 14:33:40 -04:00
|
|
|
d.String("ListPool"),
|
2020-09-20 17:52:01 -04:00
|
|
|
d.Number("IconCel"),
|
2020-09-19 14:33:40 -04:00
|
|
|
d.String("str name"),
|
|
|
|
d.String("str short"),
|
|
|
|
d.String("str long"),
|
|
|
|
d.String("str alt"),
|
|
|
|
d.String("str mana"),
|
|
|
|
d.String("descdam"),
|
|
|
|
parser.Parse(d.String("ddam calc1")),
|
|
|
|
parser.Parse(d.String("ddam calc2")),
|
|
|
|
d.String("p1dmelem"),
|
|
|
|
parser.Parse(d.String("p1dmmin")),
|
|
|
|
parser.Parse(d.String("p1dmmax")),
|
|
|
|
d.String("p2dmelem"),
|
|
|
|
parser.Parse(d.String("p2dmmin")),
|
|
|
|
parser.Parse(d.String("p2dmmax")),
|
|
|
|
d.String("p3dmelem"),
|
|
|
|
parser.Parse(d.String("p3dmmin")),
|
|
|
|
parser.Parse(d.String("p3dmmax")),
|
|
|
|
d.String("descatt"),
|
|
|
|
d.String("descmissile1"),
|
|
|
|
d.String("descmissile2"),
|
|
|
|
d.String("descmissile3"),
|
|
|
|
d.String("descline1"),
|
|
|
|
d.String("desctexta1"),
|
|
|
|
d.String("desctextb1"),
|
|
|
|
parser.Parse(d.String("desccalca1")),
|
|
|
|
parser.Parse(d.String("desccalcb1")),
|
|
|
|
d.String("descline2"),
|
|
|
|
d.String("desctexta2"),
|
|
|
|
d.String("desctextb2"),
|
|
|
|
parser.Parse(d.String("desccalca2")),
|
|
|
|
parser.Parse(d.String("desccalcb2")),
|
|
|
|
d.String("descline3"),
|
|
|
|
d.String("desctexta3"),
|
|
|
|
d.String("desctextb3"),
|
|
|
|
parser.Parse(d.String("desccalca3")),
|
|
|
|
parser.Parse(d.String("desccalcb3")),
|
|
|
|
d.String("descline4"),
|
|
|
|
d.String("desctexta4"),
|
|
|
|
d.String("desctextb4"),
|
|
|
|
parser.Parse(d.String("desccalca4")),
|
|
|
|
parser.Parse(d.String("desccalcb4")),
|
|
|
|
d.String("descline5"),
|
|
|
|
d.String("desctexta5"),
|
|
|
|
d.String("desctextb5"),
|
|
|
|
parser.Parse(d.String("desccalca5")),
|
|
|
|
parser.Parse(d.String("desccalcb5")),
|
|
|
|
d.String("descline6"),
|
|
|
|
d.String("desctexta6"),
|
|
|
|
d.String("desctextb6"),
|
|
|
|
parser.Parse(d.String("desccalca6")),
|
|
|
|
parser.Parse(d.String("desccalcb6")),
|
|
|
|
d.String("dsc2line1"),
|
|
|
|
d.String("dsc2texta1"),
|
|
|
|
d.String("dsc2textb1"),
|
|
|
|
parser.Parse(d.String("dsc2calca1")),
|
|
|
|
parser.Parse(d.String("dsc2calcb1")),
|
|
|
|
d.String("dsc2line2"),
|
|
|
|
d.String("dsc2texta2"),
|
|
|
|
d.String("dsc2textb2"),
|
|
|
|
parser.Parse(d.String("dsc2calca2")),
|
|
|
|
parser.Parse(d.String("dsc2calcb2")),
|
|
|
|
d.String("dsc2line3"),
|
|
|
|
d.String("dsc2texta3"),
|
|
|
|
d.String("dsc2textb3"),
|
|
|
|
parser.Parse(d.String("dsc2calca3")),
|
|
|
|
parser.Parse(d.String("dsc2calcb3")),
|
|
|
|
d.String("dsc2line4"),
|
|
|
|
d.String("dsc2texta4"),
|
|
|
|
d.String("dsc2textb4"),
|
|
|
|
parser.Parse(d.String("dsc2calca4")),
|
|
|
|
parser.Parse(d.String("dsc2calcb4")),
|
|
|
|
d.String("dsc3line1"),
|
|
|
|
d.String("dsc3texta1"),
|
|
|
|
d.String("dsc3textb1"),
|
|
|
|
parser.Parse(d.String("dsc3calca1")),
|
|
|
|
parser.Parse(d.String("dsc3calcb1")),
|
|
|
|
d.String("dsc3line2"),
|
|
|
|
d.String("dsc3texta2"),
|
|
|
|
d.String("dsc3textb2"),
|
|
|
|
parser.Parse(d.String("dsc3calca2")),
|
|
|
|
parser.Parse(d.String("dsc3calcb2")),
|
|
|
|
d.String("dsc3line3"),
|
|
|
|
d.String("dsc3texta3"),
|
|
|
|
d.String("dsc3textb3"),
|
|
|
|
parser.Parse(d.String("dsc3calca3")),
|
|
|
|
parser.Parse(d.String("dsc3calcb3")),
|
|
|
|
d.String("dsc3line4"),
|
|
|
|
d.String("dsc3texta4"),
|
|
|
|
d.String("dsc3textb4"),
|
|
|
|
parser.Parse(d.String("dsc3calca4")),
|
|
|
|
parser.Parse(d.String("dsc3calcb4")),
|
|
|
|
d.String("dsc3line5"),
|
|
|
|
d.String("dsc3texta5"),
|
|
|
|
d.String("dsc3textb5"),
|
|
|
|
parser.Parse(d.String("dsc3calca5")),
|
|
|
|
parser.Parse(d.String("dsc3calcb5")),
|
|
|
|
d.String("dsc3line6"),
|
|
|
|
d.String("dsc3texta6"),
|
|
|
|
d.String("dsc3textb6"),
|
|
|
|
parser.Parse(d.String("dsc3calca6")),
|
|
|
|
parser.Parse(d.String("dsc3calcb6")),
|
|
|
|
d.String("dsc3line7"),
|
|
|
|
d.String("dsc3texta7"),
|
|
|
|
d.String("dsc3textb7"),
|
|
|
|
parser.Parse(d.String("dsc3calca7")),
|
|
|
|
parser.Parse(d.String("dsc3calcb7")),
|
|
|
|
}
|
|
|
|
|
|
|
|
records[record.Name] = record
|
|
|
|
}
|
|
|
|
|
|
|
|
if d.Err != nil {
|
|
|
|
return d.Err
|
|
|
|
}
|
|
|
|
|
|
|
|
r.Skill.Descriptions = records
|
|
|
|
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-02 21:23:07 -05:00
|
|
|
r.Logger.Infof("Loaded %d Skill Description records", len(records))
|
2020-09-19 14:33:40 -04:00
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|