bugfix fields

This commit is contained in:
Robert Janetzko 2022-04-14 17:06:52 +00:00
parent a9f3597edf
commit 757b7c6b79
6 changed files with 414 additions and 404 deletions

View File

@ -12,7 +12,7 @@ func main() {
flag.Parse()
if len(*a) > 0 {
df.Analyze(*a)
df.AnalyzeStructure(*a)
}
if *g {

View File

@ -1,13 +1,6 @@
package df
import (
"bytes"
"encoding/json"
"fmt"
"go/format"
"io/ioutil"
"os"
"path/filepath"
"sort"
"strings"
@ -15,29 +8,18 @@ import (
"github.com/robertjanetzko/LegendsBrowser2/backend/util"
)
func Analyze(filex string) error {
fmt.Println("Search...", filex)
files, err := filepath.Glob(filex + "/*.xml")
if err != nil {
return err
}
fmt.Println(files)
a := NewAnalyzeData()
for _, file := range files {
analyze(file, a)
}
return a.Save()
}
func Generate() error {
a, err := LoadAnalyzeData()
if err != nil {
return err
}
return createMetadata(a)
m, err := createMetadata(a)
if err != nil {
return err
}
return generateCode(m)
}
var allowedTyped = map[string]bool{
@ -45,58 +27,9 @@ var allowedTyped = map[string]bool{
"df_world|historical_event_collections|historical_event_collection": true,
}
func filterSubtypes(data *map[string]*FieldData) []string {
filtered := make(map[string]*FieldData)
for k, v := range *data {
path := strings.Split(k, PATH_SEPARATOR)
for index, seg := range path {
if strings.Contains(seg, "+") {
base := seg[:strings.Index(seg, "+")]
basePath := strings.Join(append(path[:index], base), PATH_SEPARATOR)
if allowedTyped[basePath] {
path[index] = seg
}
}
}
filtered[strings.Join(path, PATH_SEPARATOR)] = v
}
*data = filtered
list := util.Keys(filtered)
sort.Strings(list)
return list
}
type Metadata map[string]Object
func getSubtypes(objectTypes []string, k string) *[]string {
subtypes := make(map[string]bool)
for _, t := range objectTypes {
if strings.HasPrefix(t, k+"+") && !strings.Contains(t[len(k):], PATH_SEPARATOR) {
subtypes[t[strings.LastIndex(t, "+")+1:]] = true
}
}
keys := util.Keys(subtypes)
sort.Strings(keys)
if len(keys) > 0 {
return &keys
}
return nil
}
func getSubtypeOf(k string) *string {
if strings.Contains(k, PATH_SEPARATOR) {
last := k[strings.LastIndex(k, PATH_SEPARATOR)+1:]
if strings.Contains(last, "+") {
base := strcase.ToCamel(last[:strings.Index(last, "+")])
return &base
}
}
return nil
}
func createMetadata(a *AnalyzeData) error {
func createMetadata(a *AnalyzeData) (*Metadata, error) {
fs := filterSubtypes(&a.Fields)
var objectTypes []string
@ -107,7 +40,7 @@ func createMetadata(a *AnalyzeData) error {
}
}
objects := make(map[string]Object, 0)
objects := make(Metadata, 0)
for _, k := range objectTypes {
if ok, _ := isArray(k, fs); !ok {
@ -171,34 +104,58 @@ func createMetadata(a *AnalyzeData) error {
}
}
return generateCode(&objects)
return &objects, nil
}
func generateCode(objects *map[string]Object) error {
file, _ := json.MarshalIndent(objects, "", " ")
_ = ioutil.WriteFile("model.json", file, 0644)
func filterSubtypes(data *map[string]*FieldData) []string {
filtered := make(map[string]*FieldData)
for k, v := range *data {
path := strings.Split(k, PATH_SEPARATOR)
for index, seg := range path {
if strings.Contains(seg, "+") {
base := seg[:strings.Index(seg, "+")]
basePath := strings.Join(append(path[:index], base), PATH_SEPARATOR)
if allowedTyped[basePath] {
path[index] = seg
}
}
}
filtered[strings.Join(path, PATH_SEPARATOR)] = v
}
*data = filtered
list := util.Keys(filtered)
sort.Strings(list)
return list
}
f, err := os.Create("../backend/model/model.go")
if err != nil {
return err
}
defer f.Close()
func getSubtypes(objectTypes []string, k string) *[]string {
subtypes := make(map[string]bool)
var buf bytes.Buffer
err = packageTemplate.Execute(&buf, struct {
Objects *map[string]Object
}{
Objects: objects,
})
if err != nil {
return err
for _, t := range objectTypes {
if strings.HasPrefix(t, k+"+") && !strings.Contains(t[len(k):], PATH_SEPARATOR) {
subtypes[t[strings.LastIndex(t, "+")+1:]] = true
}
p, err := format.Source(buf.Bytes())
if err != nil {
return err
}
_, err = f.Write(p)
return err
keys := util.Keys(subtypes)
sort.Strings(keys)
if len(keys) > 0 {
return &keys
}
return nil
}
func getSubtypeOf(k string) *string {
if strings.Contains(k, PATH_SEPARATOR) {
last := k[strings.LastIndex(k, PATH_SEPARATOR)+1:]
if strings.Contains(last, "+") {
base := strcase.ToCamel(last[:strings.Index(last, "+")])
return &base
}
}
return nil
}
func isArray(typ string, types []string) (bool, string) {

View File

@ -1,7 +1,12 @@
package df
import (
"bytes"
"encoding/json"
"fmt"
"go/format"
"io/ioutil"
"os"
"text/template"
"github.com/iancoleman/strcase"
@ -206,3 +211,30 @@ func parse{{ $obj.Name }}(d *xml.Decoder, start *xml.StartElement) (*{{ $obj.Nam
}
{{- end }}
`))
func generateCode(objects *Metadata) error {
file, _ := json.MarshalIndent(objects, "", " ")
_ = ioutil.WriteFile("model.json", file, 0644)
f, err := os.Create("../backend/model/model.go")
if err != nil {
return err
}
defer f.Close()
var buf bytes.Buffer
err = packageTemplate.Execute(&buf, struct {
Objects *Metadata
}{
Objects: objects,
})
if err != nil {
return err
}
p, err := format.Source(buf.Bytes())
if err != nil {
return err
}
_, err = f.Write(p)
return err
}

View File

@ -7,6 +7,7 @@ import (
"io"
"io/ioutil"
"os"
"path/filepath"
"strconv"
"strings"
@ -14,6 +15,23 @@ import (
"github.com/robertjanetzko/LegendsBrowser2/backend/util"
)
func AnalyzeStructure(filex string) error {
fmt.Println("Search...", filex)
files, err := filepath.Glob(filex + "/*.xml")
if err != nil {
return err
}
fmt.Println(files)
a := NewAnalyzeData()
for _, file := range files {
analyze(file, a)
}
return a.Save()
}
type FieldData struct {
IsString bool
Multiple bool
@ -85,8 +103,7 @@ const PATH_SEPARATOR = "|"
func analyzeElement(d *xml.Decoder, a *AnalyzeData, path []string, plus bool) error {
if len(path) > 1 {
s := strings.Join(path, PATH_SEPARATOR)
fd := NewFieldData()
a.Fields[s] = fd
fd := a.GetField(s)
if plus {
fd.Plus = true
} else {
@ -116,7 +133,7 @@ Loop:
newPath := append(path, t.Name.Local)
if _, ok := fields[t.Name.Local]; ok {
a.Fields[strings.Join(newPath, PATH_SEPARATOR)].Multiple = true
a.GetField(strings.Join(newPath, PATH_SEPARATOR)).Multiple = true
}
fields[t.Name.Local] = true
@ -128,7 +145,7 @@ Loop:
case xml.EndElement:
if value {
if _, err := strconv.Atoi(string(data)); err != nil {
a.Fields[strings.Join(path, PATH_SEPARATOR)].IsString = true
a.GetField(strings.Join(path, PATH_SEPARATOR)).IsString = true
}
}

View File

@ -12,7 +12,7 @@ type Artifact struct {
AbsTileY int `json:"absTileY" legend:"base"`
AbsTileZ int `json:"absTileZ" legend:"base"`
HolderHfid int `json:"holderHfid" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Item *Item `json:"item" legend:"base"`
ItemDescription string `json:"itemDescription" legend:"plus"`
ItemSubtype string `json:"itemSubtype" legend:"plus"`
@ -31,8 +31,6 @@ func (x *Artifact) Name() string { return x.Name_ }
type Circumstance struct {
Defeated int `json:"defeated" legend:"plus"`
HistEventCollection int `json:"histEventCollection" legend:"plus"`
Murdered int `json:"murdered" legend:"plus"`
Type string `json:"type" legend:"plus"`
}
type Creature struct {
@ -158,7 +156,7 @@ type Creature struct {
}
type DanceForm struct {
Description string `json:"description" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"plus"`
}
@ -167,29 +165,29 @@ func (x *DanceForm) Name() string { return x.Name_ }
type DfWorld struct {
Altname string `json:"altname" legend:"plus"`
Artifacts map[int]*Artifact `json:"artifacts" legend:"plus"`
Artifacts map[int]*Artifact `json:"artifacts" legend:"both"`
CreatureRaw []*Creature `json:"creatureRaw" legend:"plus"`
DanceForms map[int]*DanceForm `json:"danceForms" legend:"plus"`
Entities map[int]*Entity `json:"entities" legend:"plus"`
EntityPopulations map[int]*EntityPopulation `json:"entityPopulations" legend:"plus"`
HistoricalEras []*HistoricalEra `json:"historicalEras" legend:"plus"`
HistoricalEventCollections map[int]*HistoricalEventCollection `json:"historicalEventCollections" legend:"plus"`
DanceForms map[int]*DanceForm `json:"danceForms" legend:"both"`
Entities map[int]*Entity `json:"entities" legend:"both"`
EntityPopulations map[int]*EntityPopulation `json:"entityPopulations" legend:"both"`
HistoricalEras []*HistoricalEra `json:"historicalEras" legend:"both"`
HistoricalEventCollections map[int]*HistoricalEventCollection `json:"historicalEventCollections" legend:"both"`
HistoricalEventRelationshipSupplements []*HistoricalEventRelationshipSupplement `json:"historicalEventRelationshipSupplements" legend:"plus"`
HistoricalEventRelationships []*HistoricalEventRelationship `json:"historicalEventRelationships" legend:"plus"`
HistoricalEvents map[int]*HistoricalEvent `json:"historicalEvents" legend:"plus"`
HistoricalFigures map[int]*HistoricalFigure `json:"historicalFigures" legend:"plus"`
HistoricalEvents map[int]*HistoricalEvent `json:"historicalEvents" legend:"both"`
HistoricalFigures map[int]*HistoricalFigure `json:"historicalFigures" legend:"both"`
Identities map[int]*Identity `json:"identities" legend:"plus"`
Landmasses map[int]*Landmass `json:"landmasses" legend:"plus"`
MountainPeaks map[int]*MountainPeak `json:"mountainPeaks" legend:"plus"`
MusicalForms map[int]*MusicalForm `json:"musicalForms" legend:"plus"`
MusicalForms map[int]*MusicalForm `json:"musicalForms" legend:"both"`
Name_ string `json:"name" legend:"plus"`
PoeticForms map[int]*PoeticForm `json:"poeticForms" legend:"plus"`
Regions map[int]*Region `json:"regions" legend:"plus"`
PoeticForms map[int]*PoeticForm `json:"poeticForms" legend:"both"`
Regions map[int]*Region `json:"regions" legend:"both"`
Rivers []*River `json:"rivers" legend:"plus"`
Sites map[int]*Site `json:"sites" legend:"plus"`
UndergroundRegions map[int]*UndergroundRegion `json:"undergroundRegions" legend:"plus"`
WorldConstructions map[int]*WorldConstruction `json:"worldConstructions" legend:"plus"`
WrittenContents map[int]*WrittenContent `json:"writtenContents" legend:"plus"`
Sites map[int]*Site `json:"sites" legend:"both"`
UndergroundRegions map[int]*UndergroundRegion `json:"undergroundRegions" legend:"both"`
WorldConstructions map[int]*WorldConstruction `json:"worldConstructions" legend:"both"`
WrittenContents map[int]*WrittenContent `json:"writtenContents" legend:"both"`
}
func (x *DfWorld) Name() string { return x.Name_ }
@ -197,19 +195,19 @@ func (x *DfWorld) Name() string { return x.Name_ }
type Entity struct {
Child int `json:"child" legend:"plus"`
Claims string `json:"claims" legend:"plus"`
EntityLink *EntityLink `json:"entityLink" legend:"plus"`
EntityPosition *EntityPosition `json:"entityPosition" legend:"plus"`
EntityLink []*EntityLink `json:"entityLink" legend:"plus"`
EntityPosition []*EntityPosition `json:"entityPosition" legend:"plus"`
EntityPositionAssignment *EntityPositionAssignment `json:"entityPositionAssignment" legend:"plus"`
HistfigId int `json:"histfigId" legend:"plus"`
Honor *Honor `json:"honor" legend:"base"`
Id_ int `json:"id" legend:"plus"`
HistfigId []int `json:"histfigId" legend:"plus"`
Honor []*Honor `json:"honor" legend:"base"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"base"`
Occasion *Occasion `json:"occasion" legend:"plus"`
Occasion []*Occasion `json:"occasion" legend:"plus"`
Profession string `json:"profession" legend:"plus"`
Race string `json:"race" legend:"plus"`
Type string `json:"type" legend:"plus"`
Weapon string `json:"weapon" legend:"plus"`
WorshipId int `json:"worshipId" legend:"plus"`
Weapon []string `json:"weapon" legend:"plus"`
WorshipId []int `json:"worshipId" legend:"plus"`
}
func (x *Entity) Id() int { return x.Id_ }
@ -222,13 +220,13 @@ type EntityFormerPositionLink struct {
StartYear int `json:"startYear" legend:"base"`
}
type EntityLink struct {
Strength int `json:"strength" legend:"plus"`
Target int `json:"target" legend:"plus"`
Type string `json:"type" legend:"plus"`
EntityId int `json:"entityId" legend:"base"`
LinkStrength int `json:"linkStrength" legend:"base"`
LinkType string `json:"linkType" legend:"base"`
}
type EntityPopulation struct {
CivId int `json:"civId" legend:"plus"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Race string `json:"race" legend:"plus"`
}
@ -294,7 +292,7 @@ type HistoricalEra struct {
func (x *HistoricalEra) Name() string { return x.Name_ }
type HistoricalEvent struct {
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Seconds72 int `json:"seconds72" legend:"base"`
Year int `json:"year" legend:"base"`
Details any
@ -308,7 +306,7 @@ type HistoricalEventAddHfEntityHonor struct {
HonorId int `json:"honorId" legend:"base"`
}
type HistoricalEventAddHfEntityLink struct {
AppointerHfid int `json:"appointerHfid" legend:"plus"`
AppointerHfid int `json:"appointerHfid" legend:"both"`
Civ int `json:"civ" legend:"plus"`
CivId int `json:"civId" legend:"base"`
Hfid int `json:"hfid" legend:"base"`
@ -317,7 +315,7 @@ type HistoricalEventAddHfEntityLink struct {
LinkType string `json:"linkType" legend:"plus"`
Position string `json:"position" legend:"plus"`
PositionId int `json:"positionId" legend:"base"`
PromiseToHfid int `json:"promiseToHfid" legend:"plus"`
PromiseToHfid int `json:"promiseToHfid" legend:"both"`
}
type HistoricalEventAddHfHfLink struct {
Hf int `json:"hf" legend:"plus"`
@ -375,7 +373,7 @@ type HistoricalEventArtifactCopied struct {
SourceStructureId int `json:"sourceStructureId" legend:"base"`
}
type HistoricalEventArtifactCreated struct {
ArtifactId int `json:"artifactId" legend:"plus"`
ArtifactId int `json:"artifactId" legend:"both"`
Circumstance *Circumstance `json:"circumstance" legend:"plus"`
CreatorHfid int `json:"creatorHfid" legend:"plus"`
CreatorUnitId int `json:"creatorUnitId" legend:"plus"`
@ -464,7 +462,7 @@ type HistoricalEventAttackedSite struct {
}
type HistoricalEventBodyAbused struct {
AbuseType string `json:"abuseType" legend:"plus"`
Bodies int `json:"bodies" legend:"plus"`
Bodies []int `json:"bodies" legend:"plus"`
Civ int `json:"civ" legend:"plus"`
Coords string `json:"coords" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
@ -518,7 +516,7 @@ type HistoricalEventChangeHfBodyState struct {
}
type HistoricalEventChangeHfJob struct {
FeatureLayerId int `json:"featureLayerId" legend:"base"`
Hfid int `json:"hfid" legend:"plus"`
Hfid int `json:"hfid" legend:"both"`
NewJob string `json:"newJob" legend:"plus"`
OldJob string `json:"oldJob" legend:"plus"`
Site int `json:"site" legend:"plus"`
@ -528,12 +526,12 @@ type HistoricalEventChangeHfJob struct {
type HistoricalEventChangeHfState struct {
Coords string `json:"coords" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
Hfid int `json:"hfid" legend:"plus"`
Hfid int `json:"hfid" legend:"both"`
Mood string `json:"mood" legend:"base"`
Reason string `json:"reason" legend:"plus"`
Reason string `json:"reason" legend:"both"`
Site int `json:"site" legend:"plus"`
SiteId int `json:"siteId" legend:"base"`
State string `json:"state" legend:"plus"`
State string `json:"state" legend:"both"`
SubregionId int `json:"subregionId" legend:"base"`
}
type HistoricalEventChangedCreatureType struct {
@ -546,7 +544,7 @@ type HistoricalEventChangedCreatureType struct {
}
type HistoricalEventCompetition struct {
CivId int `json:"civId" legend:"base"`
CompetitorHfid int `json:"competitorHfid" legend:"base"`
CompetitorHfid []int `json:"competitorHfid" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
OccasionId int `json:"occasionId" legend:"base"`
ScheduleId int `json:"scheduleId" legend:"base"`
@ -626,7 +624,7 @@ type HistoricalEventEntityAction struct {
}
type HistoricalEventEntityAllianceFormed struct {
InitiatingEnid int `json:"initiatingEnid" legend:"base"`
JoiningEnid int `json:"joiningEnid" legend:"base"`
JoiningEnid []int `json:"joiningEnid" legend:"base"`
}
type HistoricalEventEntityBreachFeatureLayer struct {
CivEntityId int `json:"civEntityId" legend:"base"`
@ -646,7 +644,7 @@ type HistoricalEventEntityDissolved struct {
}
type HistoricalEventEntityEquipmentPurchase struct {
EntityId int `json:"entityId" legend:"base"`
Hfid int `json:"hfid" legend:"base"`
Hfid []int `json:"hfid" legend:"base"`
NewEquipmentLevel int `json:"newEquipmentLevel" legend:"base"`
}
type HistoricalEventEntityIncorporated struct {
@ -663,7 +661,7 @@ type HistoricalEventEntityLaw struct {
LawRemove string `json:"lawRemove" legend:"base"`
}
type HistoricalEventEntityOverthrown struct {
ConspiratorHfid int `json:"conspiratorHfid" legend:"base"`
ConspiratorHfid []int `json:"conspiratorHfid" legend:"base"`
EntityId int `json:"entityId" legend:"base"`
InstigatorHfid int `json:"instigatorHfid" legend:"base"`
OverthrownHfid int `json:"overthrownHfid" legend:"base"`
@ -673,13 +671,13 @@ type HistoricalEventEntityOverthrown struct {
}
type HistoricalEventEntityPersecuted struct {
DestroyedStructureId int `json:"destroyedStructureId" legend:"base"`
ExpelledCreature int `json:"expelledCreature" legend:"base"`
ExpelledHfid int `json:"expelledHfid" legend:"base"`
ExpelledNumber int `json:"expelledNumber" legend:"base"`
ExpelledPopId int `json:"expelledPopId" legend:"base"`
ExpelledCreature []int `json:"expelledCreature" legend:"base"`
ExpelledHfid []int `json:"expelledHfid" legend:"base"`
ExpelledNumber []int `json:"expelledNumber" legend:"base"`
ExpelledPopId []int `json:"expelledPopId" legend:"base"`
PersecutorEnid int `json:"persecutorEnid" legend:"base"`
PersecutorHfid int `json:"persecutorHfid" legend:"base"`
PropertyConfiscatedFromHfid int `json:"propertyConfiscatedFromHfid" legend:"base"`
PropertyConfiscatedFromHfid []int `json:"propertyConfiscatedFromHfid" legend:"base"`
ShrineAmountDestroyed int `json:"shrineAmountDestroyed" legend:"base"`
SiteId int `json:"siteId" legend:"base"`
TargetEnid int `json:"targetEnid" legend:"base"`
@ -772,7 +770,7 @@ type HistoricalEventHfConfronted struct {
Coords string `json:"coords" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
Hfid int `json:"hfid" legend:"base"`
Reason string `json:"reason" legend:"base"`
Reason []string `json:"reason" legend:"base"`
SiteId int `json:"siteId" legend:"base"`
Situation string `json:"situation" legend:"base"`
SubregionId int `json:"subregionId" legend:"base"`
@ -792,7 +790,7 @@ type HistoricalEventHfConvicted struct {
FooledHfid int `json:"fooledHfid" legend:"base"`
FramerHfid int `json:"framerHfid" legend:"base"`
HeldFirmInInterrogation string `json:"heldFirmInInterrogation" legend:"base"`
ImplicatedHfid int `json:"implicatedHfid" legend:"base"`
ImplicatedHfid []int `json:"implicatedHfid" legend:"base"`
InterrogatorHfid int `json:"interrogatorHfid" legend:"base"`
PlotterHfid int `json:"plotterHfid" legend:"base"`
PrisonMonths int `json:"prisonMonths" legend:"base"`
@ -924,7 +922,7 @@ type HistoricalEventHfRelationshipDenied struct {
type HistoricalEventHfReunion struct {
FeatureLayerId int `json:"featureLayerId" legend:"base"`
Group1Hfid int `json:"group1Hfid" legend:"base"`
Group2Hfid int `json:"group2Hfid" legend:"base"`
Group2Hfid []int `json:"group2Hfid" legend:"base"`
SiteId int `json:"siteId" legend:"base"`
SubregionId int `json:"subregionId" legend:"base"`
}
@ -947,7 +945,7 @@ type HistoricalEventHfSimpleBattleEvent struct {
type HistoricalEventHfTravel struct {
Coords string `json:"coords" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
GroupHfid int `json:"groupHfid" legend:"base"`
GroupHfid []int `json:"groupHfid" legend:"base"`
Return string `json:"return" legend:"base"`
SiteId int `json:"siteId" legend:"base"`
SubregionId int `json:"subregionId" legend:"base"`
@ -1039,7 +1037,7 @@ type HistoricalEventHolyCityDeclaration struct {
SiteId int `json:"siteId" legend:"base"`
}
type HistoricalEventItemStolen struct {
Circumstance *Circumstance `json:"circumstance" legend:"plus"`
Circumstance *Circumstance `json:"circumstance" legend:"both"`
CircumstanceId int `json:"circumstanceId" legend:"base"`
Entity int `json:"entity" legend:"plus"`
Histfig int `json:"histfig" legend:"plus"`
@ -1142,7 +1140,7 @@ type HistoricalEventRemoveHfEntityLink struct {
Histfig int `json:"histfig" legend:"plus"`
Link string `json:"link" legend:"base"`
LinkType string `json:"linkType" legend:"plus"`
Position int `json:"position" legend:"plus"`
Position string `json:"position" legend:"plus"`
PositionId int `json:"positionId" legend:"base"`
}
type HistoricalEventRemoveHfHfLink struct {
@ -1220,8 +1218,8 @@ type HistoricalEventWrittenContentComposed struct {
type HistoricalEventCollection struct {
EndSeconds72 int `json:"endSeconds72" legend:"base"`
EndYear int `json:"endYear" legend:"base"`
Event int `json:"event" legend:"base"`
Eventcol int `json:"eventcol" legend:"base"`
Event []int `json:"event" legend:"base"`
Eventcol []int `json:"eventcol" legend:"base"`
Id_ int `json:"id" legend:"base"`
StartSeconds72 int `json:"startSeconds72" legend:"base"`
StartYear int `json:"startYear" legend:"base"`
@ -1242,31 +1240,31 @@ type HistoricalEventCollectionAbduction struct {
}
type HistoricalEventCollectionBattle struct {
ASupportMercEnid int `json:"aSupportMercEnid" legend:"base"`
ASupportMercHfid int `json:"aSupportMercHfid" legend:"base"`
AttackingHfid int `json:"attackingHfid" legend:"base"`
ASupportMercHfid []int `json:"aSupportMercHfid" legend:"base"`
AttackingHfid []int `json:"attackingHfid" legend:"base"`
AttackingMercEnid int `json:"attackingMercEnid" legend:"base"`
AttackingSquadAnimated string `json:"attackingSquadAnimated" legend:"base"`
AttackingSquadDeaths int `json:"attackingSquadDeaths" legend:"base"`
AttackingSquadEntityPop int `json:"attackingSquadEntityPop" legend:"base"`
AttackingSquadNumber int `json:"attackingSquadNumber" legend:"base"`
AttackingSquadRace string `json:"attackingSquadRace" legend:"base"`
AttackingSquadSite int `json:"attackingSquadSite" legend:"base"`
CompanyMerc string `json:"companyMerc" legend:"base"`
AttackingSquadAnimated []string `json:"attackingSquadAnimated" legend:"base"`
AttackingSquadDeaths []int `json:"attackingSquadDeaths" legend:"base"`
AttackingSquadEntityPop []int `json:"attackingSquadEntityPop" legend:"base"`
AttackingSquadNumber []int `json:"attackingSquadNumber" legend:"base"`
AttackingSquadRace []string `json:"attackingSquadRace" legend:"base"`
AttackingSquadSite []int `json:"attackingSquadSite" legend:"base"`
CompanyMerc []string `json:"companyMerc" legend:"base"`
Coords string `json:"coords" legend:"base"`
DSupportMercEnid int `json:"dSupportMercEnid" legend:"base"`
DSupportMercHfid int `json:"dSupportMercHfid" legend:"base"`
DefendingHfid int `json:"defendingHfid" legend:"base"`
DSupportMercHfid []int `json:"dSupportMercHfid" legend:"base"`
DefendingHfid []int `json:"defendingHfid" legend:"base"`
DefendingMercEnid int `json:"defendingMercEnid" legend:"base"`
DefendingSquadAnimated string `json:"defendingSquadAnimated" legend:"base"`
DefendingSquadDeaths int `json:"defendingSquadDeaths" legend:"base"`
DefendingSquadEntityPop int `json:"defendingSquadEntityPop" legend:"base"`
DefendingSquadNumber int `json:"defendingSquadNumber" legend:"base"`
DefendingSquadRace string `json:"defendingSquadRace" legend:"base"`
DefendingSquadSite int `json:"defendingSquadSite" legend:"base"`
DefendingSquadAnimated []string `json:"defendingSquadAnimated" legend:"base"`
DefendingSquadDeaths []int `json:"defendingSquadDeaths" legend:"base"`
DefendingSquadEntityPop []int `json:"defendingSquadEntityPop" legend:"base"`
DefendingSquadNumber []int `json:"defendingSquadNumber" legend:"base"`
DefendingSquadRace []string `json:"defendingSquadRace" legend:"base"`
DefendingSquadSite []int `json:"defendingSquadSite" legend:"base"`
FeatureLayerId int `json:"featureLayerId" legend:"base"`
IndividualMerc string `json:"individualMerc" legend:"base"`
IndividualMerc []string `json:"individualMerc" legend:"base"`
Name_ string `json:"name" legend:"base"`
NoncomHfid int `json:"noncomHfid" legend:"base"`
NoncomHfid []int `json:"noncomHfid" legend:"base"`
Outcome string `json:"outcome" legend:"base"`
SiteId int `json:"siteId" legend:"base"`
SubregionId int `json:"subregionId" legend:"base"`
@ -1368,7 +1366,7 @@ type HistoricalEventRelationshipSupplement struct {
Unk1 int `json:"unk1" legend:"plus"`
}
type HistoricalFigure struct {
ActiveInteraction string `json:"activeInteraction" legend:"base"`
ActiveInteraction []string `json:"activeInteraction" legend:"base"`
Animated string `json:"animated" legend:"base"`
AnimatedString string `json:"animatedString" legend:"base"`
Appeared int `json:"appeared" legend:"base"`
@ -1381,32 +1379,32 @@ type HistoricalFigure struct {
DeathYear int `json:"deathYear" legend:"base"`
Deity string `json:"deity" legend:"base"`
EntPopId int `json:"entPopId" legend:"base"`
EntityFormerPositionLink *EntityFormerPositionLink `json:"entityFormerPositionLink" legend:"base"`
EntityLink *EntityLink `json:"entityLink" legend:"base"`
EntityPositionLink *EntityPositionLink `json:"entityPositionLink" legend:"base"`
EntityReputation *EntityReputation `json:"entityReputation" legend:"base"`
EntityFormerPositionLink []*EntityFormerPositionLink `json:"entityFormerPositionLink" legend:"base"`
EntityLink []*EntityLink `json:"entityLink" legend:"base"`
EntityPositionLink []*EntityPositionLink `json:"entityPositionLink" legend:"base"`
EntityReputation []*EntityReputation `json:"entityReputation" legend:"base"`
EntitySquadLink *EntitySquadLink `json:"entitySquadLink" legend:"base"`
Force string `json:"force" legend:"base"`
Goal string `json:"goal" legend:"base"`
HfLink *HfLink `json:"hfLink" legend:"base"`
HfSkill *HfSkill `json:"hfSkill" legend:"base"`
HoldsArtifact int `json:"holdsArtifact" legend:"base"`
HonorEntity *HonorEntity `json:"honorEntity" legend:"base"`
Id_ int `json:"id" legend:"plus"`
InteractionKnowledge string `json:"interactionKnowledge" legend:"base"`
IntrigueActor *IntrigueActor `json:"intrigueActor" legend:"base"`
IntriguePlot *IntriguePlot `json:"intriguePlot" legend:"base"`
JourneyPet string `json:"journeyPet" legend:"base"`
Goal []string `json:"goal" legend:"base"`
HfLink []*HfLink `json:"hfLink" legend:"base"`
HfSkill []*HfSkill `json:"hfSkill" legend:"base"`
HoldsArtifact []int `json:"holdsArtifact" legend:"base"`
HonorEntity []*HonorEntity `json:"honorEntity" legend:"base"`
Id_ int `json:"id" legend:"both"`
InteractionKnowledge []string `json:"interactionKnowledge" legend:"base"`
IntrigueActor []*IntrigueActor `json:"intrigueActor" legend:"base"`
IntriguePlot []*IntriguePlot `json:"intriguePlot" legend:"base"`
JourneyPet []string `json:"journeyPet" legend:"base"`
Name_ string `json:"name" legend:"base"`
Race string `json:"race" legend:"plus"`
RelationshipProfileHfHistorical *RelationshipProfileHfHistorical `json:"relationshipProfileHfHistorical" legend:"base"`
RelationshipProfileHfVisual *RelationshipProfileHfVisual `json:"relationshipProfileHfVisual" legend:"base"`
Race string `json:"race" legend:"both"`
RelationshipProfileHfHistorical []*RelationshipProfileHfHistorical `json:"relationshipProfileHfHistorical" legend:"base"`
RelationshipProfileHfVisual []*RelationshipProfileHfVisual `json:"relationshipProfileHfVisual" legend:"base"`
Sex int `json:"sex" legend:"plus"`
SiteLink *SiteLink `json:"siteLink" legend:"base"`
SiteProperty *SiteProperty `json:"siteProperty" legend:"base"`
Sphere string `json:"sphere" legend:"base"`
UsedIdentityId int `json:"usedIdentityId" legend:"base"`
VagueRelationship *VagueRelationship `json:"vagueRelationship" legend:"base"`
SiteLink []*SiteLink `json:"siteLink" legend:"base"`
SiteProperty []*SiteProperty `json:"siteProperty" legend:"base"`
Sphere []string `json:"sphere" legend:"base"`
UsedIdentityId []int `json:"usedIdentityId" legend:"base"`
VagueRelationship []*VagueRelationship `json:"vagueRelationship" legend:"base"`
}
func (x *HistoricalFigure) Id() int { return x.Id_ }
@ -1433,7 +1431,7 @@ func (x *Honor) Name() string { return x.Name_ }
type HonorEntity struct {
Battles int `json:"battles" legend:"base"`
Entity int `json:"entity" legend:"base"`
HonorId int `json:"honorId" legend:"base"`
HonorId []int `json:"honorId" legend:"base"`
Kills int `json:"kills" legend:"base"`
}
type Identity struct {
@ -1474,7 +1472,7 @@ type IntriguePlot struct {
OnHold string `json:"onHold" legend:"base"`
ParentPlotHfid int `json:"parentPlotHfid" legend:"base"`
ParentPlotId int `json:"parentPlotId" legend:"base"`
PlotActor *PlotActor `json:"plotActor" legend:"base"`
PlotActor []*PlotActor `json:"plotActor" legend:"base"`
Type string `json:"type" legend:"base"`
}
type Item struct {
@ -1506,7 +1504,7 @@ func (x *MountainPeak) Name() string { return x.Name_ }
type MusicalForm struct {
Description string `json:"description" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"plus"`
}
@ -1517,7 +1515,7 @@ type Occasion struct {
Event int `json:"event" legend:"plus"`
Id_ int `json:"id" legend:"plus"`
Name_ string `json:"name" legend:"plus"`
Schedule *Schedule `json:"schedule" legend:"plus"`
Schedule []*Schedule `json:"schedule" legend:"plus"`
}
func (x *Occasion) Id() int { return x.Id_ }
@ -1531,7 +1529,7 @@ type PlotActor struct {
}
type PoeticForm struct {
Description string `json:"description" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"plus"`
}
@ -1549,7 +1547,7 @@ type Region struct {
Coords string `json:"coords" legend:"plus"`
Evilness string `json:"evilness" legend:"plus"`
ForceId int `json:"forceId" legend:"plus"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"base"`
Type string `json:"type" legend:"base"`
}
@ -1588,7 +1586,7 @@ type River struct {
func (x *River) Name() string { return x.Name_ }
type Schedule struct {
Feature *Feature `json:"feature" legend:"plus"`
Feature []*Feature `json:"feature" legend:"plus"`
Id_ int `json:"id" legend:"plus"`
ItemSubtype string `json:"itemSubtype" legend:"plus"`
ItemType string `json:"itemType" legend:"plus"`
@ -1603,7 +1601,7 @@ type Site struct {
CivId int `json:"civId" legend:"plus"`
Coords string `json:"coords" legend:"base"`
CurOwnerId int `json:"curOwnerId" legend:"plus"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Name_ string `json:"name" legend:"base"`
Rectangle string `json:"rectangle" legend:"base"`
SiteProperties map[int]*SiteProperty `json:"siteProperties" legend:"base"`
@ -1631,19 +1629,19 @@ type SiteProperty struct {
func (x *SiteProperty) Id() int { return x.Id_ }
type Structure struct {
CopiedArtifactId int `json:"copiedArtifactId" legend:"base"`
CopiedArtifactId []int `json:"copiedArtifactId" legend:"base"`
Deity int `json:"deity" legend:"plus"`
DeityType int `json:"deityType" legend:"plus"`
DungeonType int `json:"dungeonType" legend:"plus"`
EntityId int `json:"entityId" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Inhabitant int `json:"inhabitant" legend:"plus"`
Inhabitant []int `json:"inhabitant" legend:"plus"`
LocalId int `json:"localId" legend:"base"`
Name_ string `json:"name" legend:"base"`
Name2 string `json:"name2" legend:"plus"`
Religion int `json:"religion" legend:"plus"`
Subtype string `json:"subtype" legend:"base"`
Type string `json:"type" legend:"base"`
Type string `json:"type" legend:"plus"`
WorshipHfid int `json:"worshipHfid" legend:"base"`
}
@ -1653,7 +1651,7 @@ func (x *Structure) Name() string { return x.Name_ }
type UndergroundRegion struct {
Coords string `json:"coords" legend:"plus"`
Depth int `json:"depth" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
Type string `json:"type" legend:"base"`
}
@ -1691,12 +1689,12 @@ type WrittenContent struct {
AuthorRoll int `json:"authorRoll" legend:"base"`
Form string `json:"form" legend:"base"`
FormId int `json:"formId" legend:"base"`
Id_ int `json:"id" legend:"plus"`
Id_ int `json:"id" legend:"both"`
PageEnd int `json:"pageEnd" legend:"plus"`
PageStart int `json:"pageStart" legend:"plus"`
Reference *Reference `json:"reference" legend:"plus"`
Style string `json:"style" legend:"plus"`
Title string `json:"title" legend:"plus"`
Reference []*Reference `json:"reference" legend:"plus"`
Style []string `json:"style" legend:"plus"`
Title string `json:"title" legend:"both"`
Type string `json:"type" legend:"plus"`
}
@ -1821,10 +1819,6 @@ func parseCircumstance(d *xml.Decoder, start *xml.StartElement) (*Circumstance,
switch t.Name.Local {
case "defeated":
data = nil
case "hist_event_collection":
data = nil
case "murdered":
data = nil
case "type":
data = nil
default:
@ -1843,10 +1837,6 @@ func parseCircumstance(d *xml.Decoder, start *xml.StartElement) (*Circumstance,
switch t.Name.Local {
case "defeated":
obj.Defeated = n(data)
case "hist_event_collection":
obj.HistEventCollection = n(data)
case "murdered":
obj.Murdered = n(data)
case "type":
obj.Type = string(data)
default:
@ -2574,10 +2564,10 @@ func parseEntity(d *xml.Decoder, start *xml.StartElement) (*Entity, error) {
data = nil
case "entity_link":
v, _ := parseEntityLink(d, &t)
obj.EntityLink = v
obj.EntityLink = append(obj.EntityLink, v)
case "entity_position":
v, _ := parseEntityPosition(d, &t)
obj.EntityPosition = v
obj.EntityPosition = append(obj.EntityPosition, v)
case "entity_position_assignment":
v, _ := parseEntityPositionAssignment(d, &t)
obj.EntityPositionAssignment = v
@ -2585,14 +2575,14 @@ func parseEntity(d *xml.Decoder, start *xml.StartElement) (*Entity, error) {
data = nil
case "honor":
v, _ := parseHonor(d, &t)
obj.Honor = v
obj.Honor = append(obj.Honor, v)
case "id":
data = nil
case "name":
data = nil
case "occasion":
v, _ := parseOccasion(d, &t)
obj.Occasion = v
obj.Occasion = append(obj.Occasion, v)
case "profession":
data = nil
case "race":
@ -2628,7 +2618,7 @@ func parseEntity(d *xml.Decoder, start *xml.StartElement) (*Entity, error) {
case "entity_position_assignment":
case "histfig_id":
obj.HistfigId = n(data)
obj.HistfigId = append(obj.HistfigId, n(data))
case "honor":
case "id":
@ -2644,9 +2634,9 @@ func parseEntity(d *xml.Decoder, start *xml.StartElement) (*Entity, error) {
case "type":
obj.Type = string(data)
case "weapon":
obj.Weapon = string(data)
obj.Weapon = append(obj.Weapon, string(data))
case "worship_id":
obj.WorshipId = n(data)
obj.WorshipId = append(obj.WorshipId, n(data))
default:
// fmt.Println("unknown field", t.Name.Local)
}
@ -2715,11 +2705,11 @@ func parseEntityLink(d *xml.Decoder, start *xml.StartElement) (*EntityLink, erro
switch t := tok.(type) {
case xml.StartElement:
switch t.Name.Local {
case "strength":
case "entity_id":
data = nil
case "target":
case "link_strength":
data = nil
case "type":
case "link_type":
data = nil
default:
// fmt.Println("unknown field", t.Name.Local)
@ -2735,12 +2725,12 @@ func parseEntityLink(d *xml.Decoder, start *xml.StartElement) (*EntityLink, erro
}
switch t.Name.Local {
case "strength":
obj.Strength = n(data)
case "target":
obj.Target = n(data)
case "type":
obj.Type = string(data)
case "entity_id":
obj.EntityId = n(data)
case "link_strength":
obj.LinkStrength = n(data)
case "link_type":
obj.LinkType = string(data)
default:
// fmt.Println("unknown field", t.Name.Local)
}
@ -4616,7 +4606,7 @@ func parseHistoricalEventBodyAbused(d *xml.Decoder, start *xml.StartElement) (*H
case "abuse_type":
obj.AbuseType = string(data)
case "bodies":
obj.Bodies = n(data)
obj.Bodies = append(obj.Bodies, n(data))
case "civ":
obj.Civ = n(data)
case "coords":
@ -5126,7 +5116,7 @@ func parseHistoricalEventCompetition(d *xml.Decoder, start *xml.StartElement) (*
case "civ_id":
obj.CivId = n(data)
case "competitor_hfid":
obj.CompetitorHfid = n(data)
obj.CompetitorHfid = append(obj.CompetitorHfid, n(data))
case "feature_layer_id":
obj.FeatureLayerId = n(data)
case "occasion_id":
@ -5684,7 +5674,7 @@ func parseHistoricalEventEntityAllianceFormed(d *xml.Decoder, start *xml.StartEl
case "initiating_enid":
obj.InitiatingEnid = n(data)
case "joining_enid":
obj.JoiningEnid = n(data)
obj.JoiningEnid = append(obj.JoiningEnid, n(data))
default:
// fmt.Println("unknown field", t.Name.Local)
}
@ -5866,7 +5856,7 @@ func parseHistoricalEventEntityEquipmentPurchase(d *xml.Decoder, start *xml.Star
case "entity_id":
obj.EntityId = n(data)
case "hfid":
obj.Hfid = n(data)
obj.Hfid = append(obj.Hfid, n(data))
case "new_equipment_level":
obj.NewEquipmentLevel = n(data)
default:
@ -6019,7 +6009,7 @@ func parseHistoricalEventEntityOverthrown(d *xml.Decoder, start *xml.StartElemen
switch t.Name.Local {
case "conspirator_hfid":
obj.ConspiratorHfid = n(data)
obj.ConspiratorHfid = append(obj.ConspiratorHfid, n(data))
case "entity_id":
obj.EntityId = n(data)
case "instigator_hfid":
@ -6090,19 +6080,19 @@ func parseHistoricalEventEntityPersecuted(d *xml.Decoder, start *xml.StartElemen
case "destroyed_structure_id":
obj.DestroyedStructureId = n(data)
case "expelled_creature":
obj.ExpelledCreature = n(data)
obj.ExpelledCreature = append(obj.ExpelledCreature, n(data))
case "expelled_hfid":
obj.ExpelledHfid = n(data)
obj.ExpelledHfid = append(obj.ExpelledHfid, n(data))
case "expelled_number":
obj.ExpelledNumber = n(data)
obj.ExpelledNumber = append(obj.ExpelledNumber, n(data))
case "expelled_pop_id":
obj.ExpelledPopId = n(data)
obj.ExpelledPopId = append(obj.ExpelledPopId, n(data))
case "persecutor_enid":
obj.PersecutorEnid = n(data)
case "persecutor_hfid":
obj.PersecutorHfid = n(data)
case "property_confiscated_from_hfid":
obj.PropertyConfiscatedFromHfid = n(data)
obj.PropertyConfiscatedFromHfid = append(obj.PropertyConfiscatedFromHfid, n(data))
case "shrine_amount_destroyed":
obj.ShrineAmountDestroyed = n(data)
case "site_id":
@ -6724,7 +6714,7 @@ func parseHistoricalEventHfConfronted(d *xml.Decoder, start *xml.StartElement) (
case "hfid":
obj.Hfid = n(data)
case "reason":
obj.Reason = string(data)
obj.Reason = append(obj.Reason, string(data))
case "site_id":
obj.SiteId = n(data)
case "situation":
@ -6841,7 +6831,7 @@ func parseHistoricalEventHfConvicted(d *xml.Decoder, start *xml.StartElement) (*
case "held_firm_in_interrogation":
obj.HeldFirmInInterrogation = string(data)
case "implicated_hfid":
obj.ImplicatedHfid = n(data)
obj.ImplicatedHfid = append(obj.ImplicatedHfid, n(data))
case "interrogator_hfid":
obj.InterrogatorHfid = n(data)
case "plotter_hfid":
@ -7780,7 +7770,7 @@ func parseHistoricalEventHfReunion(d *xml.Decoder, start *xml.StartElement) (*Hi
case "group_1_hfid":
obj.Group1Hfid = n(data)
case "group_2_hfid":
obj.Group2Hfid = n(data)
obj.Group2Hfid = append(obj.Group2Hfid, n(data))
case "site_id":
obj.SiteId = n(data)
case "subregion_id":
@ -7949,7 +7939,7 @@ func parseHistoricalEventHfTravel(d *xml.Decoder, start *xml.StartElement) (*His
case "feature_layer_id":
obj.FeatureLayerId = n(data)
case "group_hfid":
obj.GroupHfid = n(data)
obj.GroupHfid = append(obj.GroupHfid, n(data))
case "return":
obj.Return = string(data)
case "site_id":
@ -9301,7 +9291,7 @@ func parseHistoricalEventRemoveHfEntityLink(d *xml.Decoder, start *xml.StartElem
case "link_type":
obj.LinkType = string(data)
case "position":
obj.Position = n(data)
obj.Position = string(data)
case "position_id":
obj.PositionId = n(data)
default:
@ -9896,9 +9886,9 @@ func parseHistoricalEventCollection(d *xml.Decoder, start *xml.StartElement) (*H
case "end_year":
obj.EndYear = n(data)
case "event":
obj.Event = n(data)
obj.Event = append(obj.Event, n(data))
case "eventcol":
obj.Eventcol = n(data)
obj.Eventcol = append(obj.Eventcol, n(data))
case "id":
obj.Id_ = n(data)
case "start_seconds72":
@ -10108,55 +10098,55 @@ func parseHistoricalEventCollectionBattle(d *xml.Decoder, start *xml.StartElemen
case "a_support_merc_enid":
obj.ASupportMercEnid = n(data)
case "a_support_merc_hfid":
obj.ASupportMercHfid = n(data)
obj.ASupportMercHfid = append(obj.ASupportMercHfid, n(data))
case "attacking_hfid":
obj.AttackingHfid = n(data)
obj.AttackingHfid = append(obj.AttackingHfid, n(data))
case "attacking_merc_enid":
obj.AttackingMercEnid = n(data)
case "attacking_squad_animated":
obj.AttackingSquadAnimated = string(data)
obj.AttackingSquadAnimated = append(obj.AttackingSquadAnimated, string(data))
case "attacking_squad_deaths":
obj.AttackingSquadDeaths = n(data)
obj.AttackingSquadDeaths = append(obj.AttackingSquadDeaths, n(data))
case "attacking_squad_entity_pop":
obj.AttackingSquadEntityPop = n(data)
obj.AttackingSquadEntityPop = append(obj.AttackingSquadEntityPop, n(data))
case "attacking_squad_number":
obj.AttackingSquadNumber = n(data)
obj.AttackingSquadNumber = append(obj.AttackingSquadNumber, n(data))
case "attacking_squad_race":
obj.AttackingSquadRace = string(data)
obj.AttackingSquadRace = append(obj.AttackingSquadRace, string(data))
case "attacking_squad_site":
obj.AttackingSquadSite = n(data)
obj.AttackingSquadSite = append(obj.AttackingSquadSite, n(data))
case "company_merc":
obj.CompanyMerc = string(data)
obj.CompanyMerc = append(obj.CompanyMerc, string(data))
case "coords":
obj.Coords = string(data)
case "d_support_merc_enid":
obj.DSupportMercEnid = n(data)
case "d_support_merc_hfid":
obj.DSupportMercHfid = n(data)
obj.DSupportMercHfid = append(obj.DSupportMercHfid, n(data))
case "defending_hfid":
obj.DefendingHfid = n(data)
obj.DefendingHfid = append(obj.DefendingHfid, n(data))
case "defending_merc_enid":
obj.DefendingMercEnid = n(data)
case "defending_squad_animated":
obj.DefendingSquadAnimated = string(data)
obj.DefendingSquadAnimated = append(obj.DefendingSquadAnimated, string(data))
case "defending_squad_deaths":
obj.DefendingSquadDeaths = n(data)
obj.DefendingSquadDeaths = append(obj.DefendingSquadDeaths, n(data))
case "defending_squad_entity_pop":
obj.DefendingSquadEntityPop = n(data)
obj.DefendingSquadEntityPop = append(obj.DefendingSquadEntityPop, n(data))
case "defending_squad_number":
obj.DefendingSquadNumber = n(data)
obj.DefendingSquadNumber = append(obj.DefendingSquadNumber, n(data))
case "defending_squad_race":
obj.DefendingSquadRace = string(data)
obj.DefendingSquadRace = append(obj.DefendingSquadRace, string(data))
case "defending_squad_site":
obj.DefendingSquadSite = n(data)
obj.DefendingSquadSite = append(obj.DefendingSquadSite, n(data))
case "feature_layer_id":
obj.FeatureLayerId = n(data)
case "individual_merc":
obj.IndividualMerc = string(data)
obj.IndividualMerc = append(obj.IndividualMerc, string(data))
case "name":
obj.Name_ = string(data)
case "noncom_hfid":
obj.NoncomHfid = n(data)
obj.NoncomHfid = append(obj.NoncomHfid, n(data))
case "outcome":
obj.Outcome = string(data)
case "site_id":
@ -10968,16 +10958,16 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
data = nil
case "entity_former_position_link":
v, _ := parseEntityFormerPositionLink(d, &t)
obj.EntityFormerPositionLink = v
obj.EntityFormerPositionLink = append(obj.EntityFormerPositionLink, v)
case "entity_link":
v, _ := parseEntityLink(d, &t)
obj.EntityLink = v
obj.EntityLink = append(obj.EntityLink, v)
case "entity_position_link":
v, _ := parseEntityPositionLink(d, &t)
obj.EntityPositionLink = v
obj.EntityPositionLink = append(obj.EntityPositionLink, v)
case "entity_reputation":
v, _ := parseEntityReputation(d, &t)
obj.EntityReputation = v
obj.EntityReputation = append(obj.EntityReputation, v)
case "entity_squad_link":
v, _ := parseEntitySquadLink(d, &t)
obj.EntitySquadLink = v
@ -10987,25 +10977,25 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
data = nil
case "hf_link":
v, _ := parseHfLink(d, &t)
obj.HfLink = v
obj.HfLink = append(obj.HfLink, v)
case "hf_skill":
v, _ := parseHfSkill(d, &t)
obj.HfSkill = v
obj.HfSkill = append(obj.HfSkill, v)
case "holds_artifact":
data = nil
case "honor_entity":
v, _ := parseHonorEntity(d, &t)
obj.HonorEntity = v
obj.HonorEntity = append(obj.HonorEntity, v)
case "id":
data = nil
case "interaction_knowledge":
data = nil
case "intrigue_actor":
v, _ := parseIntrigueActor(d, &t)
obj.IntrigueActor = v
obj.IntrigueActor = append(obj.IntrigueActor, v)
case "intrigue_plot":
v, _ := parseIntriguePlot(d, &t)
obj.IntriguePlot = v
obj.IntriguePlot = append(obj.IntriguePlot, v)
case "journey_pet":
data = nil
case "name":
@ -11014,25 +11004,25 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
data = nil
case "relationship_profile_hf_historical":
v, _ := parseRelationshipProfileHfHistorical(d, &t)
obj.RelationshipProfileHfHistorical = v
obj.RelationshipProfileHfHistorical = append(obj.RelationshipProfileHfHistorical, v)
case "relationship_profile_hf_visual":
v, _ := parseRelationshipProfileHfVisual(d, &t)
obj.RelationshipProfileHfVisual = v
obj.RelationshipProfileHfVisual = append(obj.RelationshipProfileHfVisual, v)
case "sex":
data = nil
case "site_link":
v, _ := parseSiteLink(d, &t)
obj.SiteLink = v
obj.SiteLink = append(obj.SiteLink, v)
case "site_property":
v, _ := parseSiteProperty(d, &t)
obj.SiteProperty = v
obj.SiteProperty = append(obj.SiteProperty, v)
case "sphere":
data = nil
case "used_identity_id":
data = nil
case "vague_relationship":
v, _ := parseVagueRelationship(d, &t)
obj.VagueRelationship = v
obj.VagueRelationship = append(obj.VagueRelationship, v)
default:
// fmt.Println("unknown field", t.Name.Local)
d.Skip()
@ -11048,7 +11038,7 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
switch t.Name.Local {
case "active_interaction":
obj.ActiveInteraction = string(data)
obj.ActiveInteraction = append(obj.ActiveInteraction, string(data))
case "animated":
obj.Animated = string(data)
case "animated_string":
@ -11086,25 +11076,25 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
case "force":
obj.Force = string(data)
case "goal":
obj.Goal = string(data)
obj.Goal = append(obj.Goal, string(data))
case "hf_link":
case "hf_skill":
case "holds_artifact":
obj.HoldsArtifact = n(data)
obj.HoldsArtifact = append(obj.HoldsArtifact, n(data))
case "honor_entity":
case "id":
obj.Id_ = n(data)
case "interaction_knowledge":
obj.InteractionKnowledge = string(data)
obj.InteractionKnowledge = append(obj.InteractionKnowledge, string(data))
case "intrigue_actor":
case "intrigue_plot":
case "journey_pet":
obj.JourneyPet = string(data)
obj.JourneyPet = append(obj.JourneyPet, string(data))
case "name":
obj.Name_ = string(data)
case "race":
@ -11120,9 +11110,9 @@ func parseHistoricalFigure(d *xml.Decoder, start *xml.StartElement) (*Historical
case "site_property":
case "sphere":
obj.Sphere = string(data)
obj.Sphere = append(obj.Sphere, string(data))
case "used_identity_id":
obj.UsedIdentityId = n(data)
obj.UsedIdentityId = append(obj.UsedIdentityId, n(data))
case "vague_relationship":
default:
@ -11252,7 +11242,7 @@ func parseHonorEntity(d *xml.Decoder, start *xml.StartElement) (*HonorEntity, er
case "entity":
obj.Entity = n(data)
case "honor_id":
obj.HonorId = n(data)
obj.HonorId = append(obj.HonorId, n(data))
case "kills":
obj.Kills = n(data)
default:
@ -11440,7 +11430,7 @@ func parseIntriguePlot(d *xml.Decoder, start *xml.StartElement) (*IntriguePlot,
data = nil
case "plot_actor":
v, _ := parsePlotActor(d, &t)
obj.PlotActor = v
obj.PlotActor = append(obj.PlotActor, v)
case "type":
data = nil
default:
@ -11702,7 +11692,7 @@ func parseOccasion(d *xml.Decoder, start *xml.StartElement) (*Occasion, error) {
data = nil
case "schedule":
v, _ := parseSchedule(d, &t)
obj.Schedule = v
obj.Schedule = append(obj.Schedule, v)
default:
// fmt.Println("unknown field", t.Name.Local)
d.Skip()
@ -12121,7 +12111,7 @@ func parseSchedule(d *xml.Decoder, start *xml.StartElement) (*Schedule, error) {
switch t.Name.Local {
case "feature":
v, _ := parseFeature(d, &t)
obj.Feature = v
obj.Feature = append(obj.Feature, v)
case "id":
data = nil
case "item_subtype":
@ -12397,7 +12387,7 @@ func parseStructure(d *xml.Decoder, start *xml.StartElement) (*Structure, error)
switch t.Name.Local {
case "copied_artifact_id":
obj.CopiedArtifactId = n(data)
obj.CopiedArtifactId = append(obj.CopiedArtifactId, n(data))
case "deity":
obj.Deity = n(data)
case "deity_type":
@ -12409,7 +12399,7 @@ func parseStructure(d *xml.Decoder, start *xml.StartElement) (*Structure, error)
case "id":
obj.Id_ = n(data)
case "inhabitant":
obj.Inhabitant = n(data)
obj.Inhabitant = append(obj.Inhabitant, n(data))
case "local_id":
obj.LocalId = n(data)
case "name":
@ -12648,7 +12638,7 @@ func parseWrittenContent(d *xml.Decoder, start *xml.StartElement) (*WrittenConte
data = nil
case "reference":
v, _ := parseReference(d, &t)
obj.Reference = v
obj.Reference = append(obj.Reference, v)
case "style":
data = nil
case "title":
@ -12688,7 +12678,7 @@ func parseWrittenContent(d *xml.Decoder, start *xml.StartElement) (*WrittenConte
case "reference":
case "style":
obj.Style = string(data)
obj.Style = append(obj.Style, string(data))
case "title":
obj.Title = string(data)
case "type":

View File

@ -0,0 +1,14 @@
{
"folders": [
{
"path": "."
},
{
"path": "backend"
},
{
"path": "analyze"
}
],
"settings": {}
}