elmokki / nationgen

NationGen is a program that procedurally generates new playable nations, including graphics, for the strategy game Dominions 4 published by Illwinter. Support for Dominions 5 may be forthcoming.
33 stars 26 forks source link

Mount description weirdness #667

Closed Ealb closed 8 years ago

Ealb commented 8 years ago

Reference Kitashi (1075548668) from the current master branch. It has sacred infantry who are valiant cavaliers mounted on unspecified mounts. Their cavalry bears ride unspecified mounts, too. I also saw elite infantry being called cavaliers on another nation that didn't even have any mounted troops (Monomice -994633067). For sacred infantry who are chariots, see Ribence (352899664). I probably can dredge up a couple more from the set of test nations, but that looks like enough to see a pattern.

(I also need to take a long, hard look at my last couple of commits when I'm more awake, as contrary to my expectations, a test set of 20 primate nations had exactly one beastmaster, and that was a secondary race caveman sacred commander...)

elmokki commented 8 years ago

Syncing master branch did not generate Kitashi with that nation seed, but it generated a nation with unspecified mounts.

elmokki commented 8 years ago

In this question there's a bear mount without #animal bear. It's #theme animal bear. These should be tags as they're entirely for naming.

elmokki commented 8 years ago

Are you sure you did not have any settings on? I get Ostorix for Monomice.

elmokki commented 8 years ago

I generated 20 nations and names were fine and I didn't see any obvious problems overall

elmokki commented 8 years ago

Those sacred / elite problems baffle me but I cannot reproduce them.

Ealb commented 8 years ago

Argh, I haven't synced my branch. I'll, uh, see if I can reproduce this stuff after a sync and if it seems like not, this shall be closed, Tired, tired, tired...

Ealb commented 8 years ago

(This would have been much more obvious had I followed through on my initial instinct and included a clueless question about why rejected nation candidates were still keeping their nation IDs...)

Ealb commented 8 years ago

Okay, it's not dead, and I may have more useful bad data than I did before.

Since there seems to be some interaction among seeds, these were generated as a batch of 20 with the condition of primary race primates. Full seeds follow:

-- Generation setting code: 0 -- Nation seeds generated with seed 967289998. -- Nation 100: Mizubetsu generated with seed 865281171 -- Nation 101: Kamayan generated with seed 39835779 -- Nation 102: Chaipur generated with seed 677488801 -- Nation 103: Nepur generated with seed -1343146357 -- Nation 104: Vitfaice generated with seed -718379090 -- Nation 105: Jannes generated with seed -205618012 -- Nation 106: Hindda generated with seed 1352743118 -- Nation 107: Gaegre generated with seed 1437799748 -- Nation 108: Osteche generated with seed -1092041205 -- Nation 109: Jaiore generated with seed -466150002 -- Nation 110: Khedhi generated with seed 37908485 -- Nation 111: Kyoshima generated with seed -1452238118 -- Nation 112: Kamanai generated with seed -967219789 -- Nation 113: Ichji generated with seed 1845548214 -- Nation 114: Belgbusorde generated with seed 2063084481 -- Nation 115: Kitapontsu generated with seed 1684043329 -- Nation 116: Pornes generated with seed -1538193723 -- Nation 117: Patnon generated with seed 1081264634 -- Nation 118: Khedar generated with seed 1010846290 -- Nation 119: Nagakot generated with seed 2082052720

elmokki commented 8 years ago

Any interaction with seeds need to be eliminated immediately if found (and may somehow be a cause for this)

elmokki commented 8 years ago

Belgbusorde alone has:

\ Guard of Stars (Primate - bandar), 35g, 39r, Club, Long Bow, Plate Hauberk, Legionary Helmet. --- Capital only, Sacred, shapeshifts into a werebear when damaged, Ranged sacred and Shock resistant

No issue there. The imperial primates are gorgeous though. I'm generating the full mod to see if it appears there.

Ealb commented 8 years ago

That batch does give a lovely bunch of primates. I like the imperials, but I might like the oriental ones more - those bandar are very imposing.

elmokki commented 8 years ago

...and I actually can guess the reason for the bug before the mod is even written (though it'll be written by the time I finish).

Custom items, as in the sacred super special stuff, were originally named somewhere in the style of "nation_x_custom_item_y". Now, 0.6.16c release has the bug where nation ids are given to all nations even if they're discarded due to restrictions and everything is fine, but in the current dev branch all nations have id of 0 until they're done.

I'll see if my batch could reproduce any of your issues and if so, I'll make the program have a running number as temporary nation id.

Ealb commented 8 years ago

Oh - I should point out that the errors I was seeing with descriptions weren't showing up in the advanced description files. Bel's sacreds were:

\ Guard of Stars (Primate - bandar), 35g, 39r, Club, Long Bow, Plate Hauberk, Legionary Helmet. --- Capital only, Sacred, shapeshifts into a werebear when damaged, Ranged sacred and Shock resistant

in there, but in the .dm unit description they were being called caveliers.

Ealb commented 8 years ago

That makes perfect sense. Eww.

elmokki commented 8 years ago

The difference in descriptions and .dm on the other hand makes very little sense to me at all.

elmokki commented 8 years ago

Oh, yeah, the unit names aren't cavalier but descriptions ingame are. I have no idea but sacreds should not be getting these basic troop descriptions anyway.

The item bug, however, is pretty obvious.

elmokki commented 8 years ago

The description bug doesn't depend on other units. It's probably something really simple, but I'll first test whether the item fix works.

elmokki commented 8 years ago

Sacreds are picking descriptions from every single possible description.

elmokki commented 8 years ago

...yeah, the check for #nopose in descriptions was for exact nopose, so having "sacred foo" or "elite foo" didn't trigger those.