Hack, Slash, Loot, Chat
 
 
Post a Reply Post a Reply  
 
 
Modding guide There are 19 replies
Original Message posted by David Williamson on 08/02/2013 at 1:53:42PM
I will present this in parts to make it easier for absolute beginners to follow. To have the guide presented in order from top to bottom click the 'Flip Order - Oldest First' button at the top of this thread.

Part 1

Let's start with the basics of character modding. First you need to be able to locate the data folder. This is in a different place for each operating system.

Windows
%APPDATA%/HackSlashLoot/Data
Type the above path into the Windows Explorer path bar.

OS X
~/Library/Application Support/HackSlashLoot/Data
From Finder select Go>Go to folder… and enter the path above.

Linux
~/.HackSlahLoot/Data
You're a Linux user, you know what to do.

When we save our new character we'll save it to this folder. When saving use a filename of the following format "char_name.xml". Be sure to back up the files that are already in the folder just in case.

Below is a basic character.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Class</field>
    <field name="subClass" type="string">Race</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">60</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">50</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">40</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>
  </TPlayerCritter>
</bmo>

The first three and the bottom two lines need to appear as written. We will only be editing the field lines.

<field name="class" type="string">Class</field>
<field name="subClass" type="string">Race</field>

The first two fields are probably self explanatory. They define the character's class and race. These can be anything, but longer entries won't display correctly in game. For a Human Knight it would look so.

<field name="class" type="string">Knight</field>
<field name="subClass" type="string">Human</field>

The next two fields define the character's sprite.

<field name="set" type="string">pcs</field>
<field name="icon" type="int">0</field>

Set is the name of the image file to get the sprite from, and icon is the index number of the sprite. The first index is always 0. "pcs" in the set field above is the default character image. Play around with the index number to see how it works. Making custom sprite sheets will be covered in a later part.

<field name="weap" type="int">1</field>

This field defines which form the character's natural weapon takes. 1=melee, 2=ranged, and 3=magic.

<field name="baseMelee" type="int">60</field>
<field name="baseMelDmg" type="int">2</field>
<field name="baseRanged" type="int">50</field>
<field name="baseRanDmg" type="int">1</field>
<field name="baseMagic" type="int">40</field>
<field name="baseMagDmg" type="int">0</field>
<field name="baseArmour" type="int">0</field>
<field name="baseHitPoints" type="int">30</field>

The remaining fields are the character's base stats that it will begin the game with and before item bonuses are added.

All that remains is to save your new character and try it out.
 
 Replies To This Post:
 
Keinname
on 24/01/2014 at 1:39:54PM
Total Posts: 2
*I removed this post because it was way too long, sorry for that*
 
Keinname
on 24/01/2014 at 1:37:46PM
Total Posts: 2
Thank you for this guide!
I started with almost no knoweledge on modding, but after 4 hours i made my first char!
I decided to share him, there's the download link:
http://adf.ly/cYdEw
Hope the next part comes soon.
Have fun!
 
David Williamson
Moderator
on 09/12/2013 at 2:08:02PM
Total Posts: 2
I got a chance to test this and it seems I've missed the "modified" field from the modding guide. Sorry about that. Here's you character fully working. Also note that you put his sword in the wrong hand.


<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">T Knight</field>
    <field name="subClass" type="string">Human</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">80</field>
    <field name="baseMelDmg" type="int">5</field>
    <field name="baseRanged" type="int">30</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">0</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">6</field>
    <field name="baseHitPoints" type="int">50</field>

    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>
<field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
<field name="baseItem" type="array:TItem[]">
  <val>
        <TItem ref="0BG76G">
          <field name="loc" type="int">0</field>
          <field name="base" type="int">2</field>
          <field name="material" type="int">0</field>
          <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
     </TItem>
  </val>
  <val/>
<val>
        <TItem ref="0BG77G">

          <field name="loc" type="int">2</field>
          <field name="base" type="int">11</field>
          <field name="material" type="int">0</field>
          <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
     </TItem>
  </val>
<val>
        <TItem ref="0BG78G">
          <field name="loc" type="int">3</field>
          <field name="base" type="int">30</field>
          <field name="material" type="int">0</field>
          <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
     </TItem>
  </val>
  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem"/>

  </TPlayerCritter>
</bmo>
 
Dave9000
on 07/12/2013 at 3:15:52AM
Total Posts: 0
Yeah, so okay the game sees him again. only now when I try to select him I get a windows exception error, and it shuts down :/

It hs o be something to do with the items, oz before I added those it worked fine :/
 
David Williamson
Moderator
on 06/12/2013 at 8:30:29PM
Total Posts: 2
I'm not at my computer at the mo' so can't test, but from a quick look I can see you are missing closing tags for the val and item fields.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">T Knight</field>
    <field name="subClass" type="string">Human</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">80</field>
    <field name="baseMelDmg" type="int">5</field>
    <field name="baseRanged" type="int">30</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">0</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">6</field>
    <field name="baseHitPoints" type="int">50</field>

    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>
<field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
<field name="baseItem" type="array:TItem[]">
  <val>
        <TItem ref="0BG76G">
          <field name="loc" type="int">0</field>
          <field name="base" type="int">2</field>
          <field name="material" type="int">0</field>
     </TItem>
  </val>

  <val/>
<val>
        <TItem ref="0BG77G">

          <field name="loc" type="int">2</field>
          <field name="base" type="int">11</field>
          <field name="material" type="int">0</field>
     </TItem>
  </val>

  <val/>
<val>
        <TItem ref="0BG78G">
          <field name="loc" type="int">3</field>
          <field name="base" type="int">30</field>
          <field name="material" type="int">0</field>
     </TItem>
  </val>

  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem"/>

  </TPlayerCritter>
</bmo>
 
Dave9000
on 06/12/2013 at 7:09:12PM
Total Posts: 0
I tried that, but the game started to ignore the character. I can't see what I did wrong. wanna take a look at it?

It should be basi steel helmet, chestplate and a broadsword.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">T Knight</field>
    <field name="subClass" type="string">Human</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">80</field>
    <field name="baseMelDmg" type="int">5</field>
    <field name="baseRanged" type="int">30</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">0</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">6</field>
    <field name="baseHitPoints" type="int">50</field>

    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>
<field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
<field name="baseItem" type="array:TItem[]">
  <val>
        <TItem ref="0BG76G">
          <field name="loc" type="int">0</field>
          <field name="base" type="int">2</field>
          <field name="material" type="int">0</field>
  <val/>
<val>
        <TItem ref="0BG77G">

          <field name="loc" type="int">2</field>
          <field name="base" type="int">11</field>
          <field name="material" type="int">0</field>
  <val/>
<val>
        <TItem ref="0BG78G">
          <field name="loc" type="int">3</field>
          <field name="base" type="int">30</field>
          <field name="material" type="int">0</field>
  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem"/>

  </TPlayerCritter>
</bmo>


Something else I wondered, was - is it possible to give negative values for a particular stat? I was hoping to remove the ability to use magic for the T Knight. I set it as 0, but this doesn't really disable it.
 
David Williamson
Moderator
on 06/12/2013 at 5:24:35PM
Total Posts: 2
It can be any Base36 value. It's only used whilst parsing the file so just make something up or copy paste it from an existing character mod. As long as you use a different value for each item in the file it doesn't matter.
 
Dave9000
on 06/12/2013 at 12:46:56PM
Total Posts: 0
I figured it was something like that, but where do I find he references? Is there a list available somewhere?
 
David Williamson
Moderator
on 06/12/2013 at 7:55:42AM
Total Posts: 2
They are the item's internal reference number. They are required for each item and must be different for each item the character has. The best way to learn how characters are constructed is to look at the bonus characters I posted on the forum and see how each one is set out.

Here's the download link so you don't have to go hunting for it.
 
Dave9000
on 05/12/2013 at 2:54:03AM
Total Posts: 0
Hi there,

I couldn't help notice you missed out this references in your explaination. Are these neccessary at all?

for example:   <TItem ref="08Q788">

While you explained how to create the char items, you never mentioned what these are or if it will work without adding them
 
David Williamson
Moderator
on 12/02/2013 at 2:19:10PM
Total Posts: 2
Part 4

Let's continue to expand on items. We know how to set the loc field, so lets move on to base.

<field name="base" type="int">0</field>

The base field sets the base stats for the item. This can be any value from the list below.

Null item
0 = Blank/Custom item

Head items
1 = Hood, Leather
2 = Helmet, Steel
3 = Full helm, Steel

Torso items
4 = Bodice, Leather
5 = Vest, Leather
6 = Scale bodice, Steel
7 = Scalemail, Steel
8 = Chain bodice, Steel
9 = Chainmail, Steel
10 = Plate bodice, Steel
11 = Breastplate, Steel

Magic weapon
12 = Staff, Sorcerer

Ranged weapons
13 = Shuriken, Steel
14 = Shortbow, Wooden
15 = Longbow, Wooden
16 = Crossbow, Wooden

Melee weapons
17 = Nunchaku, Wooden
18 = Scythe, Steel
19 = Whip, Leather
20 = Rapier, Steel
21 = Saber, Steel
22 = Falchion, Steel
23 = Club, Wooden
24 = Trident, Steel
25 = Quarterstaff, Wooden
26 = Shortspear, Steel
27 = Battleaxe, Steel
28 = Mace, Steel
29 = Longsword, Steel

Large weapons
30 = Broadsword, Steel
31 = Heavy mace, Steel
32 = Greataxe, Steel
33 = Greatclub, Wooden
34 = Longspear, Steel

Offhand items
35 = Shield, Steel
36 = Shield, Wooden

As you may have noticed not all items have a base. Items such as belts need to be created as custom items. A Steel, Trident will have a base value of 24 like so.

<field name="base" type="int">24</field>


Now you have the base item you can change the material of the item.

<field name="material" type="int">0</field>

Only certain material can be applied to each item. This is dependent on the kind of item weapon, armour, etc. and it's base material, steel, wood, or leather. The possible materials are listed below.

No material
0 = No material

Leather armour materials. Hood, bodice, vest, etc
1 = Tanned cthulet
2 = Woodland
3 = Gold thread
4 = Bat leather
5 = Spider weave
6 = Troll skin
7 = Dragonhide

Steel armour materials. Helmet, chain mail, steel shield, etc
8 = Golden
9 = Silver
10 = Blood steel
11 = Troll bone
12 = Dragonscale
13 = Adamantine
14 = Mithril

Steel weapon materials. Longsword, trident, etc
15 = Golden
16 = Silver
17 = Adamantine
18 = Blood steel
19 = Poisoned
20 = Lightning
21 = Flaming
22 = Shadow
23 = Mithril
24 = Radient

Wooden weapon materials. Staff, Longbow, etc
25 = Austras koks
26 = Silverleaf
27 = Underdarkwood
28 = Cold ash
29 = Poisoned
30 = Lightning
31 = Flaming
32 = Shadow
33 = Elven yew
34 = Radient

Wooden armour materials. Wooden shield
35 = Silverleaf
36 = Underdarkwood
37 = Cold ash
38 = Lightning
39 = Fire
40 = Austras koks
41 = Shadow
42 = Elven yew
43 = Radiant

As you may have noticed some materials seem to be repeated, but it is important that you select the material from the appropriate list for the item. So a Shadow Staff would have a material of 32 and not 41.

Lets put this all together to give our character a golden trident.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Class</field>
    <field name="subClass" type="string">Race</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">60</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">50</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">40</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>
    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>
    <field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
    <field name="baseItem" type="array:TItem[]">
      <val>
        <TItem ref="0BG76G">
          <field name="loc" type="int">0</field>
          <field name="base" type="int">2</field>
          <field name="material" type="int">9</field>
          <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
        </TItem>
      </val>
      <val/>
      <val/>
      <val>
        <TItem ref="0BG77G">
          <field name="loc" type="int">3</field>
          <field name="base" type="int">24</field>
          <field name="material" type="int">15</field>
           <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
       </TItem>
      </val>
      <val/>
      <val/>
      <val/>
      <val/>
    </field>
    <field name="baseSwap" type="TItem">
      <TItem ref="08Q788">
        <field name="loc" type="int">3</field>
        <field name="base" type="int">15</field>
        <field name="material" type="int">31</field>
          <field name="modified" type="TItemDef">
            <TItemDef/>
          </field>
      </TItem>
    </field>
  </TPlayerCritter>
</bmo>
 
Leoloop
on 12/02/2013 at 8:27:25AM
Total Posts: 12
Thanks but for some reason it's still not working for me :/
 
David Williamson
Moderator
on 11/02/2013 at 9:06:41PM
Total Posts: 2
Make sure you name the xml file correctly. As you are creating a priest I'd suggest something like "char_priest.xml". And make sure it is located in the correct folder, see the top post for details.

Also, you have defined 'set' as "Priest". If the correct sprite file isn't there then it will crash the game. I had to change it to pcs to get the character to work. The character below works for me.

<?xml version="1.0"?>
<bmo ver="5">
    <TPlayerCritter ref="0BGTS8">
        <field name="class" type="string">Priest</field>
        <field name="subClass" type="string">Square</field>
        <field name="set" type="string">pcs</field>
        <field name="icon" type="int">0</field>
        <field name="weap" type="int">3</field>
        <field name="baseMelee" type="int">10</field>
        <field name="baseMelDmg" type="int">2</field>
        <field name="baseRanged" type="int">20</field>
        <field name="baseRanDmg" type="int">1</field>
        <field name="baseMagic" type="int">55</field>
        <field name="baseMagDmg" type="int">20</field>
        <field name="baseArmour" type="int">0</field>
        <field name="baseHitPoints" type="int">30</field>
        <field name="baseDrType" type="int">10</field>
        <field name="baseVulnType" type="int">11</field>
        <field name="baseProp" type="int">16</field>
       
       
        <field name="slot" type="array:Int[]">1 1 1 0 1 1 1 1 1</field>
        <field name="baseItem" type="array:TItem[]">
            <val/>
            <val/>
            <val/>
            <val/>
            <val/>
            <val/>
            <val/>
            <val/>
        </field>
        <field name="baseSwap" type="TItem"/>
       
    </TPlayerCritter>
</bmo>


I have a bit more to add about items and then I'll detail how to create custom sprite sheets for characters and items.
 
Leoloop
on 11/02/2013 at 6:05:25PM
Total Posts: 12
The game doesn't recognize my character, do you know the solution?

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Priest</field>
    <field name="subClass" type="string">Square</field>
    <field name="set" type="string">priest</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">3</field>
    <field name="baseMelee" type="int">10</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">20</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">55</field>
    <field name="baseMagDmg" type="int">20</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>
    <field name="baseDrType" type="int">10</field>
    <field name="baseVulnType" type="int">11</field>
    <field name="baseProp" type="int">16</field>


    <field name="slot" type="array:Int[]">1 1 1 0 1 1 1 1 1</field>
    <field name="baseItem" type="array:TItem[]">
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
    </field>
    <field name="baseSwap" type="TItem"/>

  </TPlayerCritter>
</bmo>
 
David Williamson
Moderator
on 11/02/2013 at 5:47:39PM
Total Posts: 2
Part 3

Before we continue I'd like to explain the ref value. Some entries have a ref value which is a base36 reference. All you need to know is that each time a reference is needed you should use a unique value that you haven't used previously within that file. And with that out of the way lets move on to items.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Class</field>
    <field name="subClass" type="string">Race</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">60</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">50</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">40</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>
    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>

    <field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
    <field name="baseItem" type="array:TItem[]">
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
    </field>
    <field name="baseSwap" type="TItem"/>

  </TPlayerCritter>
</bmo>

These new entries define which items the character can use and also which items they start with.

<field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>

This first field defines which equipment slots are available to the character. A '1' means the slot is available, and a '0' means the slot cannot be used. The nine slots are represented in the order below.

0 = Head
1 = Neck
2 = Torso
3 = Weapon
4 = Off hand
5 = Ring/Bracers
6 = Waist
7 = Feet
8 = One use(Potions/Scrolls)

Therefore a character which has no head and neck slot would look so.

<field name="slot" type="array:Int[]">0 0 1 1 1 1 1 1 1</field>

A character with slot 8 set to '0' cannot use one use items.

<field name="baseItem" type="array:TItem[]">
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem"/>

These fields define the characters starting equipment. The eight val entries can be replaced to fill the eight slots. The ninth slot, one use item, cannot be filled at start for obvious reasons and so doesn't have a val field associated with it. BaseSwap is the backup weapon that the character will start with. Lets put a simple item in slot '0', the head.

<field name="baseItem" type="array:TItem[]">
  <val>
    <TItem ref="0BG76G">
      <field name="loc" type="int">0</field>
      <field name="base" type="int">2</field>
      <field name="material" type="int">9</field>
      </field>
    </TItem>
  </val>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem"/>

This gives our character a Silver Helmet, but the important thing to look at here is that the item was put in the first val(Head), and the loc(location) field matches it's slot number. It is important that the loc field always be correct for the item otherwise problems may occur. Now lets fill in the backup weapon slot.

<field name="baseItem" type="array:TItem[]">
  <val>
    <TItem ref="0BG76G">
      <field name="loc" type="int">0</field>
      <field name="base" type="int">2</field>
      <field name="material" type="int">9</field>
      </field>
    </TItem>
  </val>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
  <val/>
</field>
<field name="baseSwap" type="TItem">
  <TItem ref="08Q788">
    <field name="loc" type="int">3</field>
    <field name="base" type="int">15</field>
    <field name="material" type="int">31</field>
  </TItem>
</field>

The character will now start with a Flaming Longbow as their backup weapon, but take note of the loc field. In this case it is 3(weapon) as the backup weapon is of course a weapon item. Here is how it looks all together.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Class</field>
    <field name="subClass" type="string">Race</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">60</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">50</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">40</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>
    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>
    <field name="slot" type="array:Int[]">1 1 1 1 1 1 1 1 1</field>
    <field name="baseItem" type="array:TItem[]">
      <val>
        <TItem ref="0BG76G">
          <field name="loc" type="int">0</field>
          <field name="base" type="int">2</field>
          <field name="material" type="int">9</field>
          </field>
        </TItem>
      </val>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
      <val/>
    </field>
    <field name="baseSwap" type="TItem">
      <TItem ref="08Q788">
        <field name="loc" type="int">3</field>
        <field name="base" type="int">15</field>
        <field name="material" type="int">31</field>
      </TItem>
    </field>
  </TPlayerCritter>
</bmo>

In part four I'll list all the possible base items and the possible materials.
 
Leoloop
on 11/02/2013 at 12:54:02PM
Total Posts: 12
Thanks, looking forward to it.
 
David Williamson
Moderator
on 08/02/2013 at 3:45:55PM
Total Posts: 2
Items, which I think you said you were struggling with in the other thread, should be up monday.
 
Leoloop
on 08/02/2013 at 2:43:24PM
Total Posts: 12
Thanks a lot David! I really appreciate it
 
David Williamson
Moderator
on 08/02/2013 at 2:30:40PM
Total Posts: 2
Part 2

Let's add some more to our new character.

<?xml version="1.0"?>
<bmo ver="5">
  <TPlayerCritter ref="0BGTS8">
    <field name="class" type="string">Class</field>
    <field name="subClass" type="string">Race</field>
    <field name="set" type="string">pcs</field>
    <field name="icon" type="int">0</field>
    <field name="weap" type="int">1</field>
    <field name="baseMelee" type="int">60</field>
    <field name="baseMelDmg" type="int">2</field>
    <field name="baseRanged" type="int">50</field>
    <field name="baseRanDmg" type="int">1</field>
    <field name="baseMagic" type="int">40</field>
    <field name="baseMagDmg" type="int">0</field>
    <field name="baseArmour" type="int">0</field>
    <field name="baseHitPoints" type="int">30</field>

    <field name="baseDrType" type="int">0</field>
    <field name="baseVulnType" type="int">0</field>
    <field name="baseProp" type="int">16</field>

  </TPlayerCritter>
</bmo>

We have added three new fields. The first two are Damage/Resistance and Vulnerability.

<field name="baseDrType" type="int">0</field>
<field name="baseVulnType" type="int">0</field>

Damage/Resistance indicates which damage type the character's natural weapon does and also it's natural resistance type. Vulnerability is the character's natural vulnerability. They both take values from the table below.

6 = Silver
7 = Fire
8 = Shock/Lightning
9 = Poison/Acid
10 = Divine
11 = Necro
12 = Psychic

A character can only have one natural resistance and one natural vulnerability. A character with resistance to fire damage and vulnerability to necro damage would look so.

<field name="baseDrType" type="int">7</field>
<field name="baseVulnType" type="int">11</field>

The third new field is the innate abilities field.

<field name="baseProp" type="int">16</field>

This field is filled in by adding together the values of all the desired abilities below. Ability 16 is compulsory for player characters.

1 = Reserved. I'll explain this more at a later date.
2 = Map.
4 = Swift.
8 = Shadeform.
16 = Player/Friendly. Creatures only. Compulsory for player characters.
32 = Doppelganger. Creatures only. Only useful when making monsters.
64 = Spawning/Cloning. The player/monster will spawn clones of themselves.
128 = Regeneration.
256 = Teleport. Items only.
512 = Dispel enchantments. Items only.
1024 = Resurrection.
2048 = Magic resistance.

So if you want the character to start with Swift and Regeneration you would enter 148(4+16+128=148).

<field name="baseProp" type="int">148</field>

If you wanted the character to start with Map, Swift, Shadeform, Spawning, Regeneration, Resurrection, and Magic resistance you would enter 3294(2+4+8+16+64+128+1024+2048=3294)

<field name="baseProp" type="int">3294</field>

These will be the character's natural abilities before any abilities from items are added. And always remember to include the player property(16).