We've got encounter and monster group data now! Fuck yeah.
Monster Groups are stored as -
-monster
-min
-max
An entire Monster Party (or Troop) is stored as a list of monster groups.
An Encounter is a collection of monster troops each with a -
-encounter rate
-max rate
(rates are almost like ratios, eg; 3 : 64, however they can be whatever you want)
Finally an Encounter Region is an abstract idea that inside this region are any number of possible encounters. These are generally a property on a tile, or map, where you'd expect it to tell you what monsters live here.
Here's how it looks so far:
Code:
<Troop name="Minotaur(2-4)">
<Monster name="Minotaur" min="2" max="4" />
</Troop>
<Troop name="Piranha(0-2),Crocodile(0-2),Ochu(1),Hydra(0-1)">
<Monster name="Piranha" min="0" max="2" />
<Monster name="Crocodile" min="0" max="2" />
<Monster name="Ochu" min="1" max="1" />
<Monster name="Hydra" min="0" max="1" />
</Troop>
<Troop name="Piranha(2-4),Crocodile(0-2)">
<Monster name="Piranha" min="2" max="4" />
<Monster name="Crocodile" min="0" max="2" />
</Troop>
<Troop name="Tarantula(1-2),Black Widow(0-2),Green Slime(0-1),Gray Ooze(0-1)">
<Monster name="Tarantula" min="1" max="2" />
<Monster name="Black Widow" min="0" max="2" />
<Monster name="Green Slime" min="0" max="1" />
<Monster name="Gray Ooze" min="0" max="1" />
</Troop>
Code:
<Region name="Temple of Fiends">
<Encounter troop_index="2" rate="12" max_rate="64" />
<Encounter troop_index="10" rate="12" max_rate="64" />
<Encounter troop_index="8" rate="12" max_rate="64" />
<Encounter troop_index="16" rate="12" max_rate="64" />
<Encounter troop_index="14" rate="6" max_rate="64" />
<Encounter troop_index="7" rate="6" max_rate="64" />
<Encounter troop_index="4" rate="3" max_rate="64" />
<Encounter troop_index="29" rate="1" max_rate="64" />
</Region>
The entire compressed xml data for these is just under 6 kb so here they are for great justice.