AIRivalTable.byaml

From MK8
Revision as of 21:44, 14 June 2022 by Zachruff (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

AIRivalTable.byaml is a YAML file found in /content/ai/ in Mario Kart 8's filesystem. It appears to store what AIs get loaded for which character you used. It seems to be hardcoded, because an edit attempt was made and it had just ignored the file and loaded the regular characters for the race.

Structure

The node is opened by a <yaml> element.

The rival table has a element for each character name, and a "type" attribute for each, which is always an array of characters that are loaded. It usually loads 20 characters, but this has been shortened for length purposes.

 <value>
   <Character type="array">
     <value Character="-1" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value EnemyCharacter="0" />
     <value>
       <ORRange X="-1f" Y="100f" />
     </value>
   </Character>
 </value>

The <Character type="array"> declares what character that loads this certain character set, and sets the current character name to -1 in the "EnemyCharacter" attribute. If set to -1, the character will not load as an AI, but rather the player itself.

Then, the <EnemyCharacter type="array"> declares what character is loaded. The value returned from an enemy AI is 0.

After the AIs have been configured, it checks for a range, under element <ORRange> which are 2 floats under attributes "X" and "Y". It is unknown what purpose they have.

<ORRange X="-1f" Y="100f" />

Then after all characters are configured, a <yaml> element is closed.