========================
Adding BOTZ by factions:

mutate addbotzfaction FACTION_NAME BOTZ_COUNT TEAM MODIFIER


- Faction name: self explanatory.

- Botz count: self explanatory.

- Team: team can be set as RED or 0 (for example)
Team is persistant on a specific faction, this means:
if you added Thunder_Crash in red team, next time you
add Thunder_Crash BotZ without specifying team, they
will appear on red team, it is possible as well to
change the team they appear on by specifying a new one.

- Modifier: 3 choices:
NORMAL = (default) skill and accuracy isn't modified.
HARD = skill and acc increased
EASY = skill and acc decreased to half

Example:
mutate addbotzfaction thunder_crash 5 red
mutate addbotzfaction the_corrupt 3 blue hard
Result is 5 normal thunder crash BotZ against 3 difficult War machines (includes Xan)

or
mutate addbotzfaction dark_phalanx 5 red
mutate addbotzfaction dark_phalanx 5 1
Result 5 Dark Phalanx on red and 5 on blue.

========================

==================
Faction mechanics:

Faction generates a preset list when a faction BotZ is
first added, there can be up to 16 different members per
faction.

There will never appear a duplicated BotZ, the list
even has the ability to re-add a BotZ that has been
kicked.

The first 2 members are the leaders, the first BotZ to
appear will be one of these two.

When BotZ count is lesser than 7, members will be 
randomly selected between 1 and 8 (so the other leader
is likely to appear as well).

If BotZ count exceeds 6, members are selected without
any kind of priority.

Example:
Xan (team leader) is likely to appear on the game
(existing BotZ count - % (for each slot) )
(takes into account that botz can't be added twice)
0 = 50 %
1 = 12,5 %
2 = 14,3 %
3 = 16,7 %
4 = 20,0 %
5 = 25,0 %
6 = 10,0 % (assuming there are 16 members, otherwise formula changes)
7 = 11,1 %
8 = 12,5 %
9 = 14,3 %
10= 16,7 %
11= 20,0 %
12= 25,0 %
13= 33,3 %
14= 50,0 %
15= 100 %

===================


======================
Fabricating a faction:

Open FerBotz.int (change extension for other languaje settings)

Under [Public] you'll see the faction defining lines.
The faction lines must follow this order:
(FACTION DEFINITION)
(CLASS, SKINS, OTHER SETTINGS)
(MEMBERS)

=
Object=(Name=Thunder_Crash,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="FACTION")
. This line defines tells the interpreter to start a faction.
. Faction name will be Thunder_Crash here.
. Name must not have spaces or weird characters.

=
Object=(Name=Botpack.TMale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
Object=(Name=Botpack.TFemale2,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="CLASS")
. These lines will store classes and enumerate them.
. Here, TMale2 will be Class number 1; and TFemale2 Class number 2, and so on...

=
Object=(Name=SoldierSkins.blkt,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=SGirlSkins.fbth,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="SKIN")
Object=(Name=BotPack.VoiceMaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
Object=(Name=BotPack.VoiceFemaleTwo,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="VOICE")
. Same thing happens with Skins and Voices, they must be enumerated.
. Enumeration is kept separately for each element type (class,skin,voice)

=
Object=(Name=65,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="BASESKILL")
Object=(Name=55,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="BASEACCURACY")
. Skill is by default a random number between 50 and 70, unless specified here.
. Accuracy is by default a random number between 40 and 60, unless specified here.
. The random number is autogenerated on each match.

=
Object=(Name=Aryss,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="class=2,skin=2,face=Aryss,voice=2,skill=75")
. This is a team member with Class=2 | Skin=2 | face=Aryss | voice=2 | skill=75
. Class, Skin and Voice are persistant on lines below. (read below)
. This means, the first BotZ must always have a class,skin,voice definition.

Object=(Name=Ryanna,Class=Class,MetaClass=FerBotz.Botz_FactionInfo,Description="face=Ryanna")
. And BotZ that don't have definitions will use the ones from above.

Keywords that can be placed in a team member definition:
class = (1 to 8, enumerated)
Skin = (1 to 8, enumerated)
Face = (face name in texture package, package name is optional)
Voice = (1 to 8, enumerated)
Skill = (0 to 100, default to base skill)
Accuracy = (0 to 100, default to base accuracy)
Weapon = (favorite weapon, in package_name.class_name format, example: Botpack.Ripper)
Camp = (0 to 100, likeliness to go camping)

======================
