<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Apolyon6k</id>
		<title>Dragon Age Toolset Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Apolyon6k"/>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/wiki/Special:Contributions/Apolyon6k"/>
		<updated>2026-04-17T13:28:05Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15538</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15538"/>
				<updated>2011-01-16T07:49:20Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Create new abilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]]. After that tutorial you have a new class by name only. You will still have the vanilla abilities, for magic users those are the four &amp;quot;schools&amp;quot;(Creation, Primal, Entropy, Spirit) and for non-magicians there are two-weapon fighting and archery.&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
So far I was able to create spells and talents. &lt;br /&gt;
&lt;br /&gt;
Skills on the other hand are a little resistent, the basics are the same but when I implemented them they interfered with the overall skills.&lt;br /&gt;
===Editing needed GDAs===&lt;br /&gt;
The tables that need editing are ''ABI_base'' and ''guitypes''.&lt;br /&gt;
&lt;br /&gt;
The ''guitypes'' table is needed for headlines like the different spell categories or the combat styles as well as for any class related headlines.&lt;br /&gt;
It is here where the class name will be added and can later be referenced in ''ABI_base''.&lt;br /&gt;
&lt;br /&gt;
The ''ABI_base'' table...&lt;br /&gt;
&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15537</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15537"/>
				<updated>2011-01-16T07:48:25Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Create new abilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]]. After that tutorial you have a new class by name only. You will still have the vanilla abilities, for magic users those are the four &amp;quot;schools&amp;quot;(Creation, Primal, Entropy, Spirit) and for non-magicians there are two-weapon fighting and archery.&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
So far I was able to create spells and talents. &lt;br /&gt;
Skills on the other hand are a little resistent, the basics are the same but when I implemented them they interfered with the overall skills.&lt;br /&gt;
===Editing needed GDAs===&lt;br /&gt;
The tables that need editing are ''ABI_base'' and ''guitypes''.&lt;br /&gt;
&lt;br /&gt;
The ''guitypes'' table is needed for headlines like the different spell categories or the combat styles as well as for any class related headlines.&lt;br /&gt;
It is here where the class name will be added and can later be referenced in ''ABI_base''.&lt;br /&gt;
&lt;br /&gt;
The ''ABI_base'' table...&lt;br /&gt;
&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15536</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15536"/>
				<updated>2011-01-16T07:35:28Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*[[/Class tutorial extended (Draft)|Class tutorial extended (Draft)]]&lt;br /&gt;
*[[/follower_tutorial|My attempts to add custom followers]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15534</id>
		<title>User:Apolyon6k/follower tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15534"/>
				<updated>2011-01-16T07:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: moved User:Apolyon6k/follower desaster to User:Apolyon6k/follower tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_desaster&amp;diff=15535</id>
		<title>User:Apolyon6k/follower desaster</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_desaster&amp;diff=15535"/>
				<updated>2011-01-16T07:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: moved User:Apolyon6k/follower desaster to User:Apolyon6k/follower tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:Apolyon6k/follower tutorial]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15533</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15533"/>
				<updated>2011-01-16T07:10:35Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*[[/Class tutorial extended (Draft)|Class tutorial extended (Draft)]]&lt;br /&gt;
*[[/follower_desaster|My attempts to add custom followers]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15519</id>
		<title>User:Apolyon6k/follower tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15519"/>
				<updated>2011-01-11T08:20:05Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15518</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15518"/>
				<updated>2011-01-11T08:16:53Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Create new abilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]]. After that tutorial you have a new class by name only. You will still have the vanilla abilities, for magic users those are the four &amp;quot;schools&amp;quot;(Creation, Primal, Entropy, Spirit) and for non-magicians there are two-weapon fighting and archery.&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
So far I was able to create spells and talents. &lt;br /&gt;
Skills on the other hand are a little resistent, the basics are the same but when I implemented them they interfered with the overall skills.&lt;br /&gt;
&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15517</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15517"/>
				<updated>2011-01-11T08:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* The Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]]. After that tutorial you have a new class by name only. You will still have the vanilla abilities, for magic users those are the four &amp;quot;schools&amp;quot;(Creation, Primal, Entropy, Spirit) and for non-magicians there are two-weapon fighting and archery.&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15516</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15516"/>
				<updated>2011-01-11T08:07:59Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]].&lt;br /&gt;
&lt;br /&gt;
After that tutorial you have a new class by name only. You will still have the vanilla abilities, for magic users those are the four &amp;quot;schools&amp;quot;(Creation, Primal, Entropy, Spirit) and for non-magicians there are two-weapon fighting and archery.&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Prefixes_in_use&amp;diff=15409</id>
		<title>Prefixes in use</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Prefixes_in_use&amp;diff=15409"/>
				<updated>2011-01-04T10:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Potential conflict between add-ins can be reduced by using a unique prefix for resource names (and a similar suffix for M2DA tables). See also [[2DA ranges in use]].&lt;br /&gt;
&lt;br /&gt;
We don't know for sure which prefixes Bioware may need to use in future, but we can reduce conflict between community offerings by registering our intentions here.&lt;br /&gt;
&lt;br /&gt;
Please insert new entries in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
WARNING - no doubt Bioware has already allocated additional prefixes for DLC and future releases, so registering here does not guarantee that your prefix is unique.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Prefix&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| APL&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BDC&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BDN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BEC&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BED&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BHM&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BHN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| BRC&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| CAM&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| CID&lt;br /&gt;
| CID-78 project(s) (unreleased)&lt;br /&gt;
|-&lt;br /&gt;
| CIR&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| COC&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| DAW&lt;br /&gt;
| Dragon Age Workshop - [http://www.dragon-age-workshop.de/ Dragon Age Workshop]&lt;br /&gt;
|-&lt;br /&gt;
| DEN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| EPI&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| FFG&lt;br /&gt;
| Feline Fuelled Games - [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
| FTG&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=73 UI Mod and future projects].&lt;br /&gt;
|-&lt;br /&gt;
| GEN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| HRT&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| HUS&lt;br /&gt;
| [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| LAK&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| LDP&lt;br /&gt;
| Ladydesire&lt;br /&gt;
|-&lt;br /&gt;
| LGT&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| LOT&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| MIX&lt;br /&gt;
| Alice Down the Rabbit Hole - [http://social.bioware.com/project/2222/ Alice DTRH]&lt;br /&gt;
|-&lt;br /&gt;
| NEZ&lt;br /&gt;
| All of [http://social.bioware.com/profile/20696#bw_projects nezroy's projects].&lt;br /&gt;
|-&lt;br /&gt;
| NTB&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| NUK&lt;br /&gt;
| [http://social.bioware.com/66558/#bw_projects Nukenin's projects]&lt;br /&gt;
|- &lt;br /&gt;
| ORZ&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| OST&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| OTH&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| PRE&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| RAN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| RMT&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| SOB&lt;br /&gt;
| Saga of Bradenscir&lt;br /&gt;
|-&lt;br /&gt;
| TMOI&lt;br /&gt;
| The Magic of Innocence&lt;br /&gt;
|-&lt;br /&gt;
| TRE&lt;br /&gt;
| TreDawn&lt;br /&gt;
|-&lt;br /&gt;
| URN&lt;br /&gt;
| BIOWARE&lt;br /&gt;
|-&lt;br /&gt;
| VWK&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker]&lt;br /&gt;
|-&lt;br /&gt;
| AMC&lt;br /&gt;
| amcnow's [http://social.bioware.com/1297112/#bw_projects projects]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15392</id>
		<title>2DA ranges in use</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15392"/>
				<updated>2011-01-03T10:20:35Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* ABI_base */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to enumerate row ID ranges that are used by the main game and by various popular addins, to avoid accidental overlap. See also [[Prefixes in use]] and [[Compatibility]].&lt;br /&gt;
&lt;br /&gt;
Note that there's no need for 2DA row IDs to be sequential, so you can use very large row ID numbers to reduce the chances of collision.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of the toolset had a bug in ExcelProcessor that caused problems with high row ID numbers, but this has been fixed in subsequent releases. See [[Bug: ExcelProcessor doesn't handle row IDs above 8.3 million correctly|the bug report]].&lt;br /&gt;
&lt;br /&gt;
As of now there is a bug that prevents ID's above 255 to be used for some M2DA's. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]] for a list of tables affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ABI_base ==&lt;br /&gt;
&lt;br /&gt;
According to the [[ABI_base]] page under the ''tooltipstrref'' column, anything over 500000 is considered a debuff. This would limit the range a fair amount.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 200262'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50001&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 51000 - 51002&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 450000 - 450300&lt;br /&gt;
| ladydesire's [http://social.bioware.com/project/815/ Tevinter Warden class]&lt;br /&gt;
|-&lt;br /&gt;
| 466000 - 466100&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 901974-903000 and 401974-403000(modal)&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560500&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680250&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2646/ 2 Handed Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/3637/ Dual Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2644/ Weapon and Shield Abilities for Arcane Warriors]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== AI_TacticsPresets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 9'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 10 - 15&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== ambient_ai ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000000-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ANIM_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65002&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APR_base ==&lt;br /&gt;
&lt;br /&gt;
Note that there is a bug involving this 2DA: [[Bug: APR base maximum M2DA row ID is 65535 in the toolset]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 90'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40010&lt;br /&gt;
| [http://social.bioware.com/project/3175/ Horses]&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65001&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 55000 - 57000&lt;br /&gt;
| World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
||-&lt;br /&gt;
| 65010 - 65025&lt;br /&gt;
| Mutantspicy Oracle and Enchanted Armor [Dragonage Nexus]&lt;br /&gt;
|--&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== armor_massive_variation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 8'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 50-50&lt;br /&gt;
| [http://social.bioware.com/project/3666/ Sandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the highest working tested ID for this variation is 141. See [http://social.bioware.com/wiki/datoolset/index.php/Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game bug report]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BITM_base and ItemStats_ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 30000 - 30500&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40200&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 57000-59000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50100&lt;br /&gt;
| Feline Fuelled Games - (by Silk) [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== CLA_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 25'''&lt;br /&gt;
| '''Bioware&lt;br /&gt;
|-&lt;br /&gt;
| 10000 - 10012&lt;br /&gt;
| Ladydesire&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== crafting_recipe_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 7'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== crafting_recipes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 91'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5682000&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== engineevents ==&lt;br /&gt;
&lt;br /&gt;
Those ranges relates to custom events types/ID and not to engineevents based [[Event_override|events overriding]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 500&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 510 - 511&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== guitypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 600 - 600&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 601 - 601&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 666000 - 666020&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 1974100-1974200&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Heraldry ==&lt;br /&gt;
There is a [[Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game | bug]] with this table. The range 0-255 is known to work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (using 201 onwards temporarily) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemprps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10022'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873322&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000-2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemsets ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680500&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7771000 - 7771500&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ItemVariations (all) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000'''&lt;br /&gt;
| '''Bioware - reserved (guessed)'''&lt;br /&gt;
|-&lt;br /&gt;
| 12000 - 12100&lt;br /&gt;
| [http://social.bioware.com/project/1923/ Adonnay's Weaponry] (reserved by mikemike37 on his behalf)&lt;br /&gt;
|-&lt;br /&gt;
| 140 - 160&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 101000 - 400000&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
note: ItemVariations are affected by the bug which prevents ID's above 255 from appearing properly in the game. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== M2DA_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1016, 2000 - 2010, 10011 - 10142, ...? '''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5000 - 5014&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 100000 - 100000&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1907/ Event Manager]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2300000 - 2300100&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (M2DA prefix: COC)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5000000 - 5000010&lt;br /&gt;
| Noob766's [http://social.bioware.com/project/3827/ Companion Compatibility pack]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680050 - 5680055&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/3185/ Flexible craft UI]&lt;br /&gt;
|-&lt;br /&gt;
| 5681000 - 5681005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/2896/ DACrafting framework]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 6660000 - 6660050&lt;br /&gt;
| Apolyon6k - [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 7000000 - 7000050&lt;br /&gt;
| FtG - [http://social.bioware.com/project/1688/ UI Mod]&lt;br /&gt;
|-&lt;br /&gt;
| 7000051 - 7000055&lt;br /&gt;
| FtG - [http://social.bioware.com/project/3663/ Custom Loading Screen]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000 - 7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone] &lt;br /&gt;
|-&lt;br /&gt;
| 7777770 - 7777799&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker] (M2DA prefix: VWK)&lt;br /&gt;
|-&lt;br /&gt;
| 9000000 - 9000050&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|- &lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialrules ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873323&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialtypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 88'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680300&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873340&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PartyPicker ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 11'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''????'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 101-199&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 200 - 299&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 300 - 350&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1980&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 5711-5720&lt;br /&gt;
| [http://social.bioware.com/project/3926/ Castle Drakhaoul] by Marshal57'&lt;br /&gt;
|-&lt;br /&gt;
| 6660 - 6665&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 6900000 - 6900200&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRCSCR ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 10100000&lt;br /&gt;
| Camp [http://social.bioware.com/project/463/ storage chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100011-10100013&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2620/ Camp Merchant Chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100014-10100016&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2717/ Item Sets Fix]&lt;br /&gt;
|-&lt;br /&gt;
| 10100100-10100110&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1000197400-1000197410&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
| 1672464532 - 1672464542&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/2991/ Ser Gilmore NPC Awakening]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2000000-2000050&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=942 Oracle,mutantspicy's magic vault, and other custom armors]&lt;br /&gt;
|-&lt;br /&gt;
| 42006090 - 42006100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1120 Morrigan Restoration Patch]&lt;br /&gt;
|-&lt;br /&gt;
| 1109197751 - 1109197799&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1020 Awakening Runes Fixes], [http://dragonagenexus.com/downloads/file.php?id=1112 Awakening Blackblade Armor Dragon Drop Fix]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== placeable_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 14000 - 16000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 17000 - 19000&lt;br /&gt;
| Standalone modules (see discussion tab)&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 43050-43061&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]  (Greater 65535 is showing bugs so this is until it is fixed)&lt;br /&gt;
|-&lt;br /&gt;
| 43062-43065&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 56000-56200&lt;br /&gt;
| [http://social.bioware.com/project/2472/#details Mikes Invisible Boxes]&lt;br /&gt;
|-&lt;br /&gt;
| 2696549 - 2696700&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden] (NOTE: I'm using the 6000-6200 range until Bioware fixes the bug which prevents m2da ID ranges above 900000 from showing up in game.)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1978&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon] (They are low so they'll show in game, recall the toolset bug)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== popups ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRJ_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== String ID ==&lt;br /&gt;
It is not generally necessary to register String ID ranges here. The values generated by the toolset are sufficiently random to minimise the risk of collision. Exception : the Community Contest reserved the range below so that the builders will stick to that and can import VO without having to renumber the VO files.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 89000000  - 89999999&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== tint_override ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 520&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden]&lt;br /&gt;
|-&lt;br /&gt;
| 6900 - 6920&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1109197701 - 1109197750&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1064 Helmets without wings and retints]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ts_material ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TS_Category ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vfx_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680011 - 5680019&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== worldmaps (has to be less than 256) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 6'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| '''210 - 220'''&lt;br /&gt;
| [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15391</id>
		<title>2DA ranges in use</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15391"/>
				<updated>2011-01-03T10:17:53Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* PartyPicker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to enumerate row ID ranges that are used by the main game and by various popular addins, to avoid accidental overlap. See also [[Prefixes in use]] and [[Compatibility]].&lt;br /&gt;
&lt;br /&gt;
Note that there's no need for 2DA row IDs to be sequential, so you can use very large row ID numbers to reduce the chances of collision.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of the toolset had a bug in ExcelProcessor that caused problems with high row ID numbers, but this has been fixed in subsequent releases. See [[Bug: ExcelProcessor doesn't handle row IDs above 8.3 million correctly|the bug report]].&lt;br /&gt;
&lt;br /&gt;
As of now there is a bug that prevents ID's above 255 to be used for some M2DA's. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]] for a list of tables affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ABI_base ==&lt;br /&gt;
&lt;br /&gt;
According to the [[ABI_base]] page under the ''tooltipstrref'' column, anything over 500000 is considered a debuff. This would limit the range a fair amount.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 200262'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50001&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 51000 - 51002&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 450000 - 450300&lt;br /&gt;
| ladydesire's [http://social.bioware.com/project/815/ Tevinter Warden class]&lt;br /&gt;
|-&lt;br /&gt;
| 901974-903000 and 401974-403000(modal)&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560500&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680250&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2646/ 2 Handed Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/3637/ Dual Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2644/ Weapon and Shield Abilities for Arcane Warriors]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== AI_TacticsPresets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 9'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 10 - 15&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== ambient_ai ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000000-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ANIM_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65002&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APR_base ==&lt;br /&gt;
&lt;br /&gt;
Note that there is a bug involving this 2DA: [[Bug: APR base maximum M2DA row ID is 65535 in the toolset]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 90'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40010&lt;br /&gt;
| [http://social.bioware.com/project/3175/ Horses]&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65001&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 55000 - 57000&lt;br /&gt;
| World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
||-&lt;br /&gt;
| 65010 - 65025&lt;br /&gt;
| Mutantspicy Oracle and Enchanted Armor [Dragonage Nexus]&lt;br /&gt;
|--&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== armor_massive_variation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 8'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 50-50&lt;br /&gt;
| [http://social.bioware.com/project/3666/ Sandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the highest working tested ID for this variation is 141. See [http://social.bioware.com/wiki/datoolset/index.php/Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game bug report]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BITM_base and ItemStats_ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 30000 - 30500&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40200&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 57000-59000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50100&lt;br /&gt;
| Feline Fuelled Games - (by Silk) [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== CLA_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 25'''&lt;br /&gt;
| '''Bioware&lt;br /&gt;
|-&lt;br /&gt;
| 10000 - 10012&lt;br /&gt;
| Ladydesire&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== crafting_recipe_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 7'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== crafting_recipes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 91'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5682000&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== engineevents ==&lt;br /&gt;
&lt;br /&gt;
Those ranges relates to custom events types/ID and not to engineevents based [[Event_override|events overriding]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 500&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 510 - 511&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== guitypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 600 - 600&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 601 - 601&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 666000 - 666020&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 1974100-1974200&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Heraldry ==&lt;br /&gt;
There is a [[Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game | bug]] with this table. The range 0-255 is known to work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (using 201 onwards temporarily) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemprps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10022'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873322&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000-2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemsets ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680500&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7771000 - 7771500&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ItemVariations (all) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000'''&lt;br /&gt;
| '''Bioware - reserved (guessed)'''&lt;br /&gt;
|-&lt;br /&gt;
| 12000 - 12100&lt;br /&gt;
| [http://social.bioware.com/project/1923/ Adonnay's Weaponry] (reserved by mikemike37 on his behalf)&lt;br /&gt;
|-&lt;br /&gt;
| 140 - 160&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 101000 - 400000&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
note: ItemVariations are affected by the bug which prevents ID's above 255 from appearing properly in the game. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== M2DA_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1016, 2000 - 2010, 10011 - 10142, ...? '''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5000 - 5014&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 100000 - 100000&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1907/ Event Manager]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2300000 - 2300100&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (M2DA prefix: COC)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5000000 - 5000010&lt;br /&gt;
| Noob766's [http://social.bioware.com/project/3827/ Companion Compatibility pack]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680050 - 5680055&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/3185/ Flexible craft UI]&lt;br /&gt;
|-&lt;br /&gt;
| 5681000 - 5681005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/2896/ DACrafting framework]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 6660000 - 6660050&lt;br /&gt;
| Apolyon6k - [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 7000000 - 7000050&lt;br /&gt;
| FtG - [http://social.bioware.com/project/1688/ UI Mod]&lt;br /&gt;
|-&lt;br /&gt;
| 7000051 - 7000055&lt;br /&gt;
| FtG - [http://social.bioware.com/project/3663/ Custom Loading Screen]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000 - 7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone] &lt;br /&gt;
|-&lt;br /&gt;
| 7777770 - 7777799&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker] (M2DA prefix: VWK)&lt;br /&gt;
|-&lt;br /&gt;
| 9000000 - 9000050&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|- &lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialrules ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873323&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialtypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 88'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680300&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873340&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PartyPicker ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 11'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''????'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 101-199&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 200 - 299&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 300 - 350&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1980&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 5711-5720&lt;br /&gt;
| [http://social.bioware.com/project/3926/ Castle Drakhaoul] by Marshal57'&lt;br /&gt;
|-&lt;br /&gt;
| 6660 - 6665&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 6900000 - 6900200&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRCSCR ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 10100000&lt;br /&gt;
| Camp [http://social.bioware.com/project/463/ storage chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100011-10100013&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2620/ Camp Merchant Chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100014-10100016&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2717/ Item Sets Fix]&lt;br /&gt;
|-&lt;br /&gt;
| 10100100-10100110&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1000197400-1000197410&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
| 1672464532 - 1672464542&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/2991/ Ser Gilmore NPC Awakening]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2000000-2000050&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=942 Oracle,mutantspicy's magic vault, and other custom armors]&lt;br /&gt;
|-&lt;br /&gt;
| 42006090 - 42006100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1120 Morrigan Restoration Patch]&lt;br /&gt;
|-&lt;br /&gt;
| 1109197751 - 1109197799&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1020 Awakening Runes Fixes], [http://dragonagenexus.com/downloads/file.php?id=1112 Awakening Blackblade Armor Dragon Drop Fix]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== placeable_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 14000 - 16000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 17000 - 19000&lt;br /&gt;
| Standalone modules (see discussion tab)&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 43050-43061&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]  (Greater 65535 is showing bugs so this is until it is fixed)&lt;br /&gt;
|-&lt;br /&gt;
| 43062-43065&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 56000-56200&lt;br /&gt;
| [http://social.bioware.com/project/2472/#details Mikes Invisible Boxes]&lt;br /&gt;
|-&lt;br /&gt;
| 2696549 - 2696700&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden] (NOTE: I'm using the 6000-6200 range until Bioware fixes the bug which prevents m2da ID ranges above 900000 from showing up in game.)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1978&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon] (They are low so they'll show in game, recall the toolset bug)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== popups ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRJ_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== String ID ==&lt;br /&gt;
It is not generally necessary to register String ID ranges here. The values generated by the toolset are sufficiently random to minimise the risk of collision. Exception : the Community Contest reserved the range below so that the builders will stick to that and can import VO without having to renumber the VO files.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 89000000  - 89999999&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== tint_override ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 520&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden]&lt;br /&gt;
|-&lt;br /&gt;
| 6900 - 6920&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1109197701 - 1109197750&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1064 Helmets without wings and retints]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ts_material ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TS_Category ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vfx_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680011 - 5680019&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== worldmaps (has to be less than 256) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 6'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| '''210 - 220'''&lt;br /&gt;
| [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15390</id>
		<title>2DA ranges in use</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15390"/>
				<updated>2011-01-03T10:15:21Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* guitypes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to enumerate row ID ranges that are used by the main game and by various popular addins, to avoid accidental overlap. See also [[Prefixes in use]] and [[Compatibility]].&lt;br /&gt;
&lt;br /&gt;
Note that there's no need for 2DA row IDs to be sequential, so you can use very large row ID numbers to reduce the chances of collision.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of the toolset had a bug in ExcelProcessor that caused problems with high row ID numbers, but this has been fixed in subsequent releases. See [[Bug: ExcelProcessor doesn't handle row IDs above 8.3 million correctly|the bug report]].&lt;br /&gt;
&lt;br /&gt;
As of now there is a bug that prevents ID's above 255 to be used for some M2DA's. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]] for a list of tables affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ABI_base ==&lt;br /&gt;
&lt;br /&gt;
According to the [[ABI_base]] page under the ''tooltipstrref'' column, anything over 500000 is considered a debuff. This would limit the range a fair amount.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 200262'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50001&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 51000 - 51002&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 450000 - 450300&lt;br /&gt;
| ladydesire's [http://social.bioware.com/project/815/ Tevinter Warden class]&lt;br /&gt;
|-&lt;br /&gt;
| 901974-903000 and 401974-403000(modal)&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560500&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680250&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2646/ 2 Handed Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/3637/ Dual Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2644/ Weapon and Shield Abilities for Arcane Warriors]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== AI_TacticsPresets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 9'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 10 - 15&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== ambient_ai ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000000-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ANIM_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65002&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APR_base ==&lt;br /&gt;
&lt;br /&gt;
Note that there is a bug involving this 2DA: [[Bug: APR base maximum M2DA row ID is 65535 in the toolset]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 90'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40010&lt;br /&gt;
| [http://social.bioware.com/project/3175/ Horses]&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65001&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 55000 - 57000&lt;br /&gt;
| World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
||-&lt;br /&gt;
| 65010 - 65025&lt;br /&gt;
| Mutantspicy Oracle and Enchanted Armor [Dragonage Nexus]&lt;br /&gt;
|--&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== armor_massive_variation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 8'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 50-50&lt;br /&gt;
| [http://social.bioware.com/project/3666/ Sandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the highest working tested ID for this variation is 141. See [http://social.bioware.com/wiki/datoolset/index.php/Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game bug report]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BITM_base and ItemStats_ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 30000 - 30500&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40200&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 57000-59000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50100&lt;br /&gt;
| Feline Fuelled Games - (by Silk) [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== CLA_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 25'''&lt;br /&gt;
| '''Bioware&lt;br /&gt;
|-&lt;br /&gt;
| 10000 - 10012&lt;br /&gt;
| Ladydesire&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== crafting_recipe_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 7'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== crafting_recipes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 91'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5682000&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== engineevents ==&lt;br /&gt;
&lt;br /&gt;
Those ranges relates to custom events types/ID and not to engineevents based [[Event_override|events overriding]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 500&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 510 - 511&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== guitypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 600 - 600&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 601 - 601&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 666000 - 666020&lt;br /&gt;
| Apolyon6k's [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 1974100-1974200&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Heraldry ==&lt;br /&gt;
There is a [[Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game | bug]] with this table. The range 0-255 is known to work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (using 201 onwards temporarily) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemprps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10022'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873322&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000-2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemsets ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680500&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7771000 - 7771500&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ItemVariations (all) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000'''&lt;br /&gt;
| '''Bioware - reserved (guessed)'''&lt;br /&gt;
|-&lt;br /&gt;
| 12000 - 12100&lt;br /&gt;
| [http://social.bioware.com/project/1923/ Adonnay's Weaponry] (reserved by mikemike37 on his behalf)&lt;br /&gt;
|-&lt;br /&gt;
| 140 - 160&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 101000 - 400000&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
note: ItemVariations are affected by the bug which prevents ID's above 255 from appearing properly in the game. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== M2DA_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1016, 2000 - 2010, 10011 - 10142, ...? '''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5000 - 5014&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 100000 - 100000&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1907/ Event Manager]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2300000 - 2300100&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (M2DA prefix: COC)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5000000 - 5000010&lt;br /&gt;
| Noob766's [http://social.bioware.com/project/3827/ Companion Compatibility pack]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680050 - 5680055&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/3185/ Flexible craft UI]&lt;br /&gt;
|-&lt;br /&gt;
| 5681000 - 5681005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/2896/ DACrafting framework]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 6660000 - 6660050&lt;br /&gt;
| Apolyon6k - [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 7000000 - 7000050&lt;br /&gt;
| FtG - [http://social.bioware.com/project/1688/ UI Mod]&lt;br /&gt;
|-&lt;br /&gt;
| 7000051 - 7000055&lt;br /&gt;
| FtG - [http://social.bioware.com/project/3663/ Custom Loading Screen]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000 - 7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone] &lt;br /&gt;
|-&lt;br /&gt;
| 7777770 - 7777799&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker] (M2DA prefix: VWK)&lt;br /&gt;
|-&lt;br /&gt;
| 9000000 - 9000050&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|- &lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialrules ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873323&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialtypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 88'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680300&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873340&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PartyPicker ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 11'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''????'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 101-199&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 200 - 299&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 300 - 350&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1980&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 5711-5720&lt;br /&gt;
| [http://social.bioware.com/project/3926/ Castle Drakhaoul] by Marshal57'&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 6900000 - 6900200&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRCSCR ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 10100000&lt;br /&gt;
| Camp [http://social.bioware.com/project/463/ storage chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100011-10100013&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2620/ Camp Merchant Chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100014-10100016&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2717/ Item Sets Fix]&lt;br /&gt;
|-&lt;br /&gt;
| 10100100-10100110&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1000197400-1000197410&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
| 1672464532 - 1672464542&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/2991/ Ser Gilmore NPC Awakening]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2000000-2000050&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=942 Oracle,mutantspicy's magic vault, and other custom armors]&lt;br /&gt;
|-&lt;br /&gt;
| 42006090 - 42006100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1120 Morrigan Restoration Patch]&lt;br /&gt;
|-&lt;br /&gt;
| 1109197751 - 1109197799&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1020 Awakening Runes Fixes], [http://dragonagenexus.com/downloads/file.php?id=1112 Awakening Blackblade Armor Dragon Drop Fix]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== placeable_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 14000 - 16000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 17000 - 19000&lt;br /&gt;
| Standalone modules (see discussion tab)&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 43050-43061&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]  (Greater 65535 is showing bugs so this is until it is fixed)&lt;br /&gt;
|-&lt;br /&gt;
| 43062-43065&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 56000-56200&lt;br /&gt;
| [http://social.bioware.com/project/2472/#details Mikes Invisible Boxes]&lt;br /&gt;
|-&lt;br /&gt;
| 2696549 - 2696700&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden] (NOTE: I'm using the 6000-6200 range until Bioware fixes the bug which prevents m2da ID ranges above 900000 from showing up in game.)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1978&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon] (They are low so they'll show in game, recall the toolset bug)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== popups ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRJ_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== String ID ==&lt;br /&gt;
It is not generally necessary to register String ID ranges here. The values generated by the toolset are sufficiently random to minimise the risk of collision. Exception : the Community Contest reserved the range below so that the builders will stick to that and can import VO without having to renumber the VO files.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 89000000  - 89999999&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== tint_override ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 520&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden]&lt;br /&gt;
|-&lt;br /&gt;
| 6900 - 6920&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1109197701 - 1109197750&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1064 Helmets without wings and retints]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ts_material ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TS_Category ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vfx_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680011 - 5680019&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== worldmaps (has to be less than 256) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 6'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| '''210 - 220'''&lt;br /&gt;
| [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15389</id>
		<title>2DA ranges in use</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=2DA_ranges_in_use&amp;diff=15389"/>
				<updated>2011-01-03T10:12:50Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* M2DA_base */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to enumerate row ID ranges that are used by the main game and by various popular addins, to avoid accidental overlap. See also [[Prefixes in use]] and [[Compatibility]].&lt;br /&gt;
&lt;br /&gt;
Note that there's no need for 2DA row IDs to be sequential, so you can use very large row ID numbers to reduce the chances of collision.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of the toolset had a bug in ExcelProcessor that caused problems with high row ID numbers, but this has been fixed in subsequent releases. See [[Bug: ExcelProcessor doesn't handle row IDs above 8.3 million correctly|the bug report]].&lt;br /&gt;
&lt;br /&gt;
As of now there is a bug that prevents ID's above 255 to be used for some M2DA's. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]] for a list of tables affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ABI_base ==&lt;br /&gt;
&lt;br /&gt;
According to the [[ABI_base]] page under the ''tooltipstrref'' column, anything over 500000 is considered a debuff. This would limit the range a fair amount.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 200262'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50001&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 51000 - 51002&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 450000 - 450300&lt;br /&gt;
| ladydesire's [http://social.bioware.com/project/815/ Tevinter Warden class]&lt;br /&gt;
|-&lt;br /&gt;
| 901974-903000 and 401974-403000(modal)&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560500&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680250&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2646/ 2 Handed Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/3637/ Dual Weapon Abilities for Arcane Warriors]&lt;br /&gt;
|-&lt;br /&gt;
| 300000-300047&lt;br /&gt;
| rebel5555's [http://social.bioware.com/project/2644/ Weapon and Shield Abilities for Arcane Warriors]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== AI_TacticsPresets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 9'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 10 - 15&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== ambient_ai ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000000-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ANIM_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65002&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== APR_base ==&lt;br /&gt;
&lt;br /&gt;
Note that there is a bug involving this 2DA: [[Bug: APR base maximum M2DA row ID is 65535 in the toolset]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 90'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40010&lt;br /&gt;
| [http://social.bioware.com/project/3175/ Horses]&lt;br /&gt;
|-&lt;br /&gt;
| 65000 - 65001&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 55000 - 57000&lt;br /&gt;
| World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
||-&lt;br /&gt;
| 65010 - 65025&lt;br /&gt;
| Mutantspicy Oracle and Enchanted Armor [Dragonage Nexus]&lt;br /&gt;
|--&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== armor_massive_variation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 8'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| 50-50&lt;br /&gt;
| [http://social.bioware.com/project/3666/ Sandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: the highest working tested ID for this variation is 141. See [http://social.bioware.com/wiki/datoolset/index.php/Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game bug report]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BITM_base and ItemStats_ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 30000 - 30500&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 40000 - 40200&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 57000-59000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 50000 - 50100&lt;br /&gt;
| Feline Fuelled Games - (by Silk) [http://www.felinefuelledgames.de/ Feline Fuelled Games]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== CLA_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 25'''&lt;br /&gt;
| '''Bioware&lt;br /&gt;
|-&lt;br /&gt;
| 10000 - 10012&lt;br /&gt;
| Ladydesire&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== crafting_recipe_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 7'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== crafting_recipes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 91'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5682000&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== engineevents ==&lt;br /&gt;
&lt;br /&gt;
Those ranges relates to custom events types/ID and not to engineevents based [[Event_override|events overriding]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 500&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 510 - 511&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== guitypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 600 - 600&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 601 - 601&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1888/ Advanced Quickbar]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|-&lt;br /&gt;
| 1974100-1974200&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Heraldry ==&lt;br /&gt;
There is a [[Bug:_High_M2DA_ID_ranges_might_work_in_the_toolset,_but_not_in_game | bug]] with this table. The range 0-255 is known to work.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (using 201 onwards temporarily) &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemprps ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10022'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873322&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000-2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== itemsets ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680500&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 2000000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7771000 - 7771500&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ItemVariations (all) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 30'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000'''&lt;br /&gt;
| '''Bioware - reserved (guessed)'''&lt;br /&gt;
|-&lt;br /&gt;
| 12000 - 12100&lt;br /&gt;
| [http://social.bioware.com/project/1923/ Adonnay's Weaponry] (reserved by mikemike37 on his behalf)&lt;br /&gt;
|-&lt;br /&gt;
| 140 - 160&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 101000 - 400000&lt;br /&gt;
| [http://social.bioware.com/project/2157/ Dark Times: The Confederacy of Malkuth] (reserved by Starlight on Questorion's behalf)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
note: ItemVariations are affected by the bug which prevents ID's above 255 from appearing properly in the game. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== M2DA_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1016, 2000 - 2010, 10011 - 10142, ...? '''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5000 - 5014&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/861/ Advanced Tactics]&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000 - 38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 100000 - 100000&lt;br /&gt;
| Anakin's [http://social.bioware.com/project/1907/ Event Manager]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2300000 - 2300100&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation] (M2DA prefix: COC)&lt;br /&gt;
|-&lt;br /&gt;
| 2560000 - 2560050&lt;br /&gt;
| Timelord's [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|-&lt;br /&gt;
| 5000000 - 5000010&lt;br /&gt;
| Noob766's [http://social.bioware.com/project/3827/ Companion Compatibility pack]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680050 - 5680055&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/3185/ Flexible craft UI]&lt;br /&gt;
|-&lt;br /&gt;
| 5681000 - 5681005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/2896/ DACrafting framework]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 6660000 - 6660050&lt;br /&gt;
| Apolyon6k - [http://social.bioware.com/project/3842/ The magic of innocence]&lt;br /&gt;
|-&lt;br /&gt;
| 7000000 - 7000050&lt;br /&gt;
| FtG - [http://social.bioware.com/project/1688/ UI Mod]&lt;br /&gt;
|-&lt;br /&gt;
| 7000051 - 7000055&lt;br /&gt;
| FtG - [http://social.bioware.com/project/3663/ Custom Loading Screen]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000 - 7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone] &lt;br /&gt;
|-&lt;br /&gt;
| 7777770 - 7777799&lt;br /&gt;
| Magic - [http://social.bioware.com/project/1429/ Void Walker] (M2DA prefix: VWK)&lt;br /&gt;
|-&lt;br /&gt;
| 9000000 - 9000050&lt;br /&gt;
| Ambaryerno - [http://social.bioware.com/project/415/ Arms and Armor]&lt;br /&gt;
|- &lt;br /&gt;
| 30000000 - 40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialrules ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873323&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== materialtypes ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 88'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680300&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 536873321 - 536873340&lt;br /&gt;
| Elys' [http://social.bioware.com/project/522/ Mysterious Gifts]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PartyPicker ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 11'''&lt;br /&gt;
| '''Bioware - Main campaign'''&lt;br /&gt;
|-&lt;br /&gt;
| '''????'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 101-199&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 200 - 299&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 300 - 350&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1980&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 5711-5720&lt;br /&gt;
| [http://social.bioware.com/project/3926/ Castle Drakhaoul] by Marshal57'&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 6900000 - 6900200&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRCSCR ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 690000 - 690100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 10100000&lt;br /&gt;
| Camp [http://social.bioware.com/project/463/ storage chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100011-10100013&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2620/ Camp Merchant Chest]&lt;br /&gt;
|-&lt;br /&gt;
| 10100014-10100016&lt;br /&gt;
| Didymos' [http://social.bioware.com/project/2717/ Item Sets Fix]&lt;br /&gt;
|-&lt;br /&gt;
| 10100100-10100110&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680020&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 6000000 - 6000050&lt;br /&gt;
| TreDawn - [http://social.bioware.com/project/1750/ Nesiara Companion]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 1000197400-1000197410&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon]&lt;br /&gt;
|-&lt;br /&gt;
| 1140150041 - 1140150091&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/789/ Ser Gilmore NPC]&lt;br /&gt;
|-&lt;br /&gt;
| 1672464532 - 1672464542&lt;br /&gt;
| DLAN_Immortality - [http://social.bioware.com/project/2991/ Ser Gilmore NPC Awakening]&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 2000000-2000050&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=942 Oracle,mutantspicy's magic vault, and other custom armors]&lt;br /&gt;
|-&lt;br /&gt;
| 42006090 - 42006100&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1120 Morrigan Restoration Patch]&lt;br /&gt;
|-&lt;br /&gt;
| 1109197751 - 1109197799&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1020 Awakening Runes Fixes], [http://dragonagenexus.com/downloads/file.php?id=1112 Awakening Blackblade Armor Dragon Drop Fix]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== placeable_types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 14000 - 16000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 17000 - 19000&lt;br /&gt;
| Standalone modules (see discussion tab)&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 43050-43061&lt;br /&gt;
| Eshme's [http://social.bioware.com/project/1929/ Sleeping Tent]  (Greater 65535 is showing bugs so this is until it is fixed)&lt;br /&gt;
|-&lt;br /&gt;
| 43062-43065&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|-&lt;br /&gt;
| 56000-56200&lt;br /&gt;
| [http://social.bioware.com/project/2472/#details Mikes Invisible Boxes]&lt;br /&gt;
|-&lt;br /&gt;
| 2696549 - 2696700&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden] (NOTE: I'm using the 6000-6200 range until Bioware fixes the bug which prevents m2da ID ranges above 900000 from showing up in game.)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / Author: frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 1974-1978&lt;br /&gt;
| Idomeneas' [http://social.bioware.com/project/3152/ Valeria Addon] (They are low so they'll show in game, recall the toolset bug)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== popups ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 1337000&lt;br /&gt;
| amcnow's [http://social.bioware.com/project/3823/ Respecification]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PRJ_base ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680050&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== String ID ==&lt;br /&gt;
It is not generally necessary to register String ID ranges here. The values generated by the toolset are sufficiently random to minimise the risk of collision. Exception : the Community Contest reserved the range below so that the builders will stick to that and can import VO without having to renumber the VO files.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 10000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 89000000  - 89999999&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== tint_override ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 500 - 520&lt;br /&gt;
| PavelNovotny - [http://social.bioware.com/project/517/ Gay Bars of Ferelden]&lt;br /&gt;
|-&lt;br /&gt;
| 6900 - 6920&lt;br /&gt;
| [http://www.dragonagenexus.com/downloads/file.php?id=1617 Karma's Origins Companions]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001-1001000&lt;br /&gt;
| [http://social.bioware.com/project/178/ Crown of Creation]&lt;br /&gt;
|-&lt;br /&gt;
| 30000000-40000000&lt;br /&gt;
| MCC's Senderfall: The Last Bastion (To author: unreasonable range, please correct)&lt;br /&gt;
|-&lt;br /&gt;
| 1109197701 - 1109197750&lt;br /&gt;
| Schwinni - [http://dragonagenexus.com/downloads/file.php?id=1064 Helmets without wings and retints]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ts_material ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| 1405261000 - 1405261999&lt;br /&gt;
| nezroy - [http://social.bioware.com/project/1834/ Warden Shields], [http://www.dragonagenexus.com/downloads/file.php?id=793 Leliana Item Set]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TS_Category ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680005&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 1000001 - 1100000&lt;br /&gt;
| DA Workshop / by frosti [http://www.dragon-age-workshop.de/forum/viewforum.php?f=19/ Icewind Dale Remake]&lt;br /&gt;
|-&lt;br /&gt;
| 7570000-7770000&lt;br /&gt;
| [World of Grone (by Shodushi) [http://social.bioware.com/project/2194/ World of Grone]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vfx_base ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 1000000'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000 - 26000&lt;br /&gt;
| [http://social.bioware.com/wiki/datoolset/index.php/Community_Contest_Main_Page Community Contest]&lt;br /&gt;
|-&lt;br /&gt;
| 37000-38000&lt;br /&gt;
| [http://bg2redux.student.utwente.nl/trac/wiki Baldur's Gate Redux]&lt;br /&gt;
|-&lt;br /&gt;
| 5680000 - 5680010&lt;br /&gt;
| Phaenan's [http://social.bioware.com/project/672/ The Winter Forge]&lt;br /&gt;
|-&lt;br /&gt;
| 5680011 - 5680019&lt;br /&gt;
| BioSpirit's [http://social.bioware.com/project/1647/ Hilltop Under Siege]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== worldmaps (has to be less than 256) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range&lt;br /&gt;
! Used by&lt;br /&gt;
|-&lt;br /&gt;
| '''0 - 6'''&lt;br /&gt;
| '''Bioware - reserved'''&lt;br /&gt;
|-&lt;br /&gt;
| '''210 - 220'''&lt;br /&gt;
| [http://social.bioware.com/project/1845/ Blood and Lyrium]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15254</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15254"/>
				<updated>2010-12-21T01:39:43Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*[[User:Apolyon6k/Class tutorial extended (Draft)|Class tutorial extended (Draft)]]&lt;br /&gt;
*[[/follower_desaster|My attempts to add custom followers]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15253</id>
		<title>User:Apolyon6k/follower tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/follower_tutorial&amp;diff=15253"/>
				<updated>2010-12-21T01:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: Created page with 'I tried to add custom followers but ended up with no ablities and no skills for everyone :('&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I tried to add custom followers but ended up with no ablities and no skills for everyone :(&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15252</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15252"/>
				<updated>2010-12-21T01:36:15Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*[[/Class_tutorial_extented|tutorial for advanced classes]]&lt;br /&gt;
*[[/follower_desaster|My attempts to add custom followers]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15251</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15251"/>
				<updated>2010-12-21T01:36:01Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*[[/Class_tutorial_extended|tutorial for advanced classes]]&lt;br /&gt;
*[[/follower_desaster|My attempts to add custom followers]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15250</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15250"/>
				<updated>2010-12-21T01:33:43Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I have to create my own tutorial to cover all the aspects of a custom class I need.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]].&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15249</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15249"/>
				<updated>2010-12-21T01:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* The Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I created my own tutorial to cover all the aspects of a custom class I needed.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_A_New_Class_Tutorial|&amp;quot;Add A New Class&amp;quot; tutorial]].&lt;br /&gt;
&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15247</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15247"/>
				<updated>2010-12-21T01:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: moved User:Apolyon6k/Class tutorial extented to User:Apolyon6k/Class tutorial extended (Draft)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I created my own tutorial to cover all the aspects of a custom class I needed.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_a_new_class|&amp;quot;Add a new Class&amp;quot; tutorial]].&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extented&amp;diff=15248</id>
		<title>User:Apolyon6k/Class tutorial extented</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extented&amp;diff=15248"/>
				<updated>2010-12-21T01:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: moved User:Apolyon6k/Class tutorial extented to User:Apolyon6k/Class tutorial extended (Draft)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:Apolyon6k/Class tutorial extended (Draft)]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15246</id>
		<title>User:Apolyon6k/Class tutorial extended (Draft)</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k/Class_tutorial_extended_(Draft)&amp;diff=15246"/>
				<updated>2010-12-21T01:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: Created page with 'This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it... The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but ...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is just a draft, throwing together some ideas. I will flesh it out over time and make a real tutorial out of it...&lt;br /&gt;
The &amp;quot;Add a new class&amp;quot; tutorial was good to start with but to basic for my taste so I created my own tutorial to cover all the aspects of a custom class I needed.&lt;br /&gt;
==The Basics==&lt;br /&gt;
Follow the [[Add_a_new_class|&amp;quot;Add a new Class&amp;quot; tutorial]].&lt;br /&gt;
==Create new abilities==&lt;br /&gt;
There is a tutorial for that out there.&lt;br /&gt;
==Putting it together==&lt;br /&gt;
If the new abilities are designed they are put into the AL*your classname*.xls and processed to get the gda.&lt;br /&gt;
That gda is put into the ...\module\override\ folder and hopefully the game recognises it and you can use your abilites.&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15245</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=15245"/>
				<updated>2010-12-21T01:19:20Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[/Class_tutorial_extented|tutorial for advanced classes]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Talk:Conversation&amp;diff=15220</id>
		<title>Talk:Conversation</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Talk:Conversation&amp;diff=15220"/>
				<updated>2010-12-14T22:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* NPC saying more than one line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NPC saying more than one line ==&lt;br /&gt;
&lt;br /&gt;
In-game you'll notice that NPCs will have multiple lines before the player can respond. They'll say one line, with a slight break, then say another line, and so on until its time for the player to speak up.  My first attempt at this was just to have multiple OWNER lines in a row, but each line is a branch, and of course didnt work.  My second attempt was to add empty player lines. If you have an owner reply to the empty line, the END DIALOGUE becomes CONTINUE. Tho, I had to add text to the line then clear it for the change to happen.    But in game, the only button I could press that would continue the conversation was ESC.  What is the proper way to make this happen? [[User:Interitus3841|Interitus3841]] 10:22, 29 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Update: Instead of a blank response, or making that CONTINUE line, I just make the only dialogue choice to be &amp;quot;&amp;lt;desc&amp;gt;continue&amp;lt;/desc&amp;gt;&amp;quot;.   Seems to work, tho I figured there would be a more seemless way to do this.&lt;br /&gt;
&lt;br /&gt;
Yes, there is:&lt;br /&gt;
After the OWNER line set a PLAYER line and change the Fast Pass option in the lower right corner to fast pass. The PLAYER lines will be automatically skipped and the NPC seems to speak multiple lines without much break. But think about the amount of text you confront the player with in those cases maybe a codex entry would be better. It is a good way to use henchmen interjections though or if you want other people standing near the OWNER to speak one or two lines without giving them their own conversation. [[User:Apolyon6k|Apolyon6k]] 22:40, 14 December 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15201</id>
		<title>Talk:Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15201"/>
				<updated>2010-12-11T03:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Cleaning up errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial edit ==&lt;br /&gt;
I have started to edit this page at the author's request to try and fix up some of the formatting. It was prety much a cut and paste from the forum. I think it has a way to go yet. I would recommend replacing all the capitalised text with appropriate markup such as '''bold'''. Also the structure could perhaps be improved and some of the content organised better in sentences rather than point form. Please help out if you have the time and incliniation. [[User:Stuntpope|Stuntpope]]&lt;br /&gt;
&lt;br /&gt;
=== edit ===&lt;br /&gt;
Embedded all images and added dascript tages&lt;br /&gt;
&lt;br /&gt;
--[[User:Rigortauri|Rigortauri]] 13:12, 2 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
did some table formating&lt;br /&gt;
&lt;br /&gt;
--[[User:Apolyon6k|Apolyon6k]] 09:14, 2 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
&lt;br /&gt;
The following section is incorrect:&lt;br /&gt;
&lt;br /&gt;
Next goto  &amp;quot;// Undo Class and Race selection&amp;quot; and add the 4th CharGen_ClearAbilityList&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            // Note: This wipes the ability list clear&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,1);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,2);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,3);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,4);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto &amp;quot;// enabling proper tactics presets&amp;quot; and add the ValidForClass4 parts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            nForClass1 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass1&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass2 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass2&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass3 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass3&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass4 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass4&amp;quot;, nCurrentRow);&lt;br /&gt;
            if(nCoreClass == nForClass1 || nCoreClass == nForClass2 || nCoreClass == nForClass3 || nCoreClass == nForClass4)&lt;br /&gt;
                AddTacticPresetID(oCreature, nCurrentRow);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The author has misunderstood the purpose of these methods. There is no need to modify the first of these. The int parameter in CharGen_ClearAbilityList is actually the ability type - not a class id. In the second part there is no point modifying this unless you also modify user tactics 2da table. The three columns allow up to three classes to be listed and since the third column is not used already there is really no need to add a fourth column anyway.&lt;br /&gt;
&lt;br /&gt;
I considered removing this but it really needs to be replaced with the correct approach. I suspect that there are other aspects of AI that need to be dealt with too. [[User:Stuntpope|Stuntpope]] 13:13, 7 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I went ahead and deleted it, as those should really be part of an advanced tutorial, rather than a basic one; I also went ahead and added some new data that I've been testing that eliminates the need to provide files in packages\core\override. [[User:Ladydesire|Ladydesire]] 21:48, 29 January 2010 (UTC)&lt;br /&gt;
===&amp;quot;Cleaning up&amp;quot; errors?===&lt;br /&gt;
I'm not sure but there seems to be an error in the section about cleaning up. If you delete all files you also delete your edited core files (2ds_constants_h and chargen_h). Without those files the new class wouldn't work. It should be mentioned after the export section that those files are needed and that they should be moved to module/core/override.[[User:Apolyon6k|Apolyon6k]] 03:46, 11 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== String IDs above 8.3 million don't work? ==&lt;br /&gt;
&lt;br /&gt;
There is a discrepancy between the current tutorial and the actual functionality of the toolset with regards to the string table entries; it is no longer necessary to manually set a range for the string tables, as ExcelProcessor now handles up to at least 650,000,000. [[User:Ladydesire|Ladydesire]] 20:18, 16 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Heh. I just spent a bit of time asking around the office about this bug too, the line's been in the tutorial since November. And then I posted here on the talk page without reading it completely first, is my face red. I'm going to provisionally remove the line from the &amp;quot;creating a module&amp;quot; section and store it here:&lt;br /&gt;
&lt;br /&gt;
::Make sure your string sets go from in between 8,000,000 - 8,300,000, if it goes above that range the strings will not work. BioWare has already posted about this SQL problem.&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure this has been fixed now, unless this is a separate bug that we weren't aware of. [[User:BryanDerksen|BryanDerksen]] 23:28, 2 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I've been using a class built with string tables as I indicated in my comment, so I'd say it's safe to remove it. [[User:Ladydesire|Ladydesire]] 22:22, 3 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Will there be an advanced class tutorial? ==&lt;br /&gt;
&lt;br /&gt;
This is a basic tutorial for quickly creating new classes, but those classes are rather basic themselves. They use standard spells, talents and abilities but those are not really the right ones for costum classes. In the forum there were questions about custom spells and such, wouldn't it be nice to have a page here that combined or even linked to all the tutorials required to create a full customized class? [[User:Apolyon6k|Apolyon6k]] 03:59, 11 December 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15200</id>
		<title>Talk:Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15200"/>
				<updated>2010-12-11T03:59:07Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Will there be an advanced class tutorial? */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial edit ==&lt;br /&gt;
I have started to edit this page at the author's request to try and fix up some of the formatting. It was prety much a cut and paste from the forum. I think it has a way to go yet. I would recommend replacing all the capitalised text with appropriate markup such as '''bold'''. Also the structure could perhaps be improved and some of the content organised better in sentences rather than point form. Please help out if you have the time and incliniation. [[User:Stuntpope|Stuntpope]]&lt;br /&gt;
&lt;br /&gt;
=== edit ===&lt;br /&gt;
Embedded all images and added dascript tages&lt;br /&gt;
&lt;br /&gt;
--[[User:Rigortauri|Rigortauri]] 13:12, 2 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
did some table formating&lt;br /&gt;
&lt;br /&gt;
--[[User:Apolyon6k|Apolyon6k]] 09:14, 2 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
&lt;br /&gt;
The following section is incorrect:&lt;br /&gt;
&lt;br /&gt;
Next goto  &amp;quot;// Undo Class and Race selection&amp;quot; and add the 4th CharGen_ClearAbilityList&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            // Note: This wipes the ability list clear&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,1);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,2);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,3);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,4);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto &amp;quot;// enabling proper tactics presets&amp;quot; and add the ValidForClass4 parts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            nForClass1 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass1&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass2 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass2&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass3 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass3&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass4 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass4&amp;quot;, nCurrentRow);&lt;br /&gt;
            if(nCoreClass == nForClass1 || nCoreClass == nForClass2 || nCoreClass == nForClass3 || nCoreClass == nForClass4)&lt;br /&gt;
                AddTacticPresetID(oCreature, nCurrentRow);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The author has misunderstood the purpose of these methods. There is no need to modify the first of these. The int parameter in CharGen_ClearAbilityList is actually the ability type - not a class id. In the second part there is no point modifying this unless you also modify user tactics 2da table. The three columns allow up to three classes to be listed and since the third column is not used already there is really no need to add a fourth column anyway.&lt;br /&gt;
&lt;br /&gt;
I considered removing this but it really needs to be replaced with the correct approach. I suspect that there are other aspects of AI that need to be dealt with too. [[User:Stuntpope|Stuntpope]] 13:13, 7 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I went ahead and deleted it, as those should really be part of an advanced tutorial, rather than a basic one; I also went ahead and added some new data that I've been testing that eliminates the need to provide files in packages\core\override. [[User:Ladydesire|Ladydesire]] 21:48, 29 January 2010 (UTC)&lt;br /&gt;
===Cleaning up errors?===&lt;br /&gt;
I'm not sure but there seems to be an error in the section about cleaning up. If you delete all files you also delete your edited core files (2ds_constants_h and chargen_h). Without those files the new class wouldn't work. It should be mentioned after the export section that those files are needed and that they should be moved to module/core/override.[[User:Apolyon6k|Apolyon6k]] 03:46, 11 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== String IDs above 8.3 million don't work? ==&lt;br /&gt;
&lt;br /&gt;
There is a discrepancy between the current tutorial and the actual functionality of the toolset with regards to the string table entries; it is no longer necessary to manually set a range for the string tables, as ExcelProcessor now handles up to at least 650,000,000. [[User:Ladydesire|Ladydesire]] 20:18, 16 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Heh. I just spent a bit of time asking around the office about this bug too, the line's been in the tutorial since November. And then I posted here on the talk page without reading it completely first, is my face red. I'm going to provisionally remove the line from the &amp;quot;creating a module&amp;quot; section and store it here:&lt;br /&gt;
&lt;br /&gt;
::Make sure your string sets go from in between 8,000,000 - 8,300,000, if it goes above that range the strings will not work. BioWare has already posted about this SQL problem.&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure this has been fixed now, unless this is a separate bug that we weren't aware of. [[User:BryanDerksen|BryanDerksen]] 23:28, 2 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I've been using a class built with string tables as I indicated in my comment, so I'd say it's safe to remove it. [[User:Ladydesire|Ladydesire]] 22:22, 3 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Will there be an advanced class tutorial? ==&lt;br /&gt;
&lt;br /&gt;
This is a basic tutorial for quickly creating new classes, but those classes are rather basic themselves. They use standard spells, talents and abilities but those are not really the right ones for costum classes. In the forum there were questions about custom spells and such, wouldn't it be nice to have a page here that combined or even linked to all the tutorials required to create a full customized class? [[User:Apolyon6k|Apolyon6k]] 03:59, 11 December 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15199</id>
		<title>Talk:Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15199"/>
				<updated>2010-12-11T03:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Cleaning up errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial edit ==&lt;br /&gt;
I have started to edit this page at the author's request to try and fix up some of the formatting. It was prety much a cut and paste from the forum. I think it has a way to go yet. I would recommend replacing all the capitalised text with appropriate markup such as '''bold'''. Also the structure could perhaps be improved and some of the content organised better in sentences rather than point form. Please help out if you have the time and incliniation. [[User:Stuntpope|Stuntpope]]&lt;br /&gt;
&lt;br /&gt;
=== edit ===&lt;br /&gt;
Embedded all images and added dascript tages&lt;br /&gt;
&lt;br /&gt;
--[[User:Rigortauri|Rigortauri]] 13:12, 2 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
did some table formating&lt;br /&gt;
&lt;br /&gt;
--[[User:Apolyon6k|Apolyon6k]] 09:14, 2 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
&lt;br /&gt;
The following section is incorrect:&lt;br /&gt;
&lt;br /&gt;
Next goto  &amp;quot;// Undo Class and Race selection&amp;quot; and add the 4th CharGen_ClearAbilityList&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            // Note: This wipes the ability list clear&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,1);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,2);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,3);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,4);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto &amp;quot;// enabling proper tactics presets&amp;quot; and add the ValidForClass4 parts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            nForClass1 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass1&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass2 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass2&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass3 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass3&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass4 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass4&amp;quot;, nCurrentRow);&lt;br /&gt;
            if(nCoreClass == nForClass1 || nCoreClass == nForClass2 || nCoreClass == nForClass3 || nCoreClass == nForClass4)&lt;br /&gt;
                AddTacticPresetID(oCreature, nCurrentRow);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The author has misunderstood the purpose of these methods. There is no need to modify the first of these. The int parameter in CharGen_ClearAbilityList is actually the ability type - not a class id. In the second part there is no point modifying this unless you also modify user tactics 2da table. The three columns allow up to three classes to be listed and since the third column is not used already there is really no need to add a fourth column anyway.&lt;br /&gt;
&lt;br /&gt;
I considered removing this but it really needs to be replaced with the correct approach. I suspect that there are other aspects of AI that need to be dealt with too. [[User:Stuntpope|Stuntpope]] 13:13, 7 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I went ahead and deleted it, as those should really be part of an advanced tutorial, rather than a basic one; I also went ahead and added some new data that I've been testing that eliminates the need to provide files in packages\core\override. [[User:Ladydesire|Ladydesire]] 21:48, 29 January 2010 (UTC)&lt;br /&gt;
===Cleaning up errors?===&lt;br /&gt;
I'm not sure but there seems to be an error in the section about cleaning up. If you delete all files you also delete your edited core files (2ds_constants_h and chargen_h). Without those files the new class wouldn't work. It should be mentioned after the export section that those files are needed and that they should be moved to module/core/override.[[User:Apolyon6k|Apolyon6k]] 03:46, 11 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== String IDs above 8.3 million don't work? ==&lt;br /&gt;
&lt;br /&gt;
There is a discrepancy between the current tutorial and the actual functionality of the toolset with regards to the string table entries; it is no longer necessary to manually set a range for the string tables, as ExcelProcessor now handles up to at least 650,000,000. [[User:Ladydesire|Ladydesire]] 20:18, 16 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Heh. I just spent a bit of time asking around the office about this bug too, the line's been in the tutorial since November. And then I posted here on the talk page without reading it completely first, is my face red. I'm going to provisionally remove the line from the &amp;quot;creating a module&amp;quot; section and store it here:&lt;br /&gt;
&lt;br /&gt;
::Make sure your string sets go from in between 8,000,000 - 8,300,000, if it goes above that range the strings will not work. BioWare has already posted about this SQL problem.&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure this has been fixed now, unless this is a separate bug that we weren't aware of. [[User:BryanDerksen|BryanDerksen]] 23:28, 2 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I've been using a class built with string tables as I indicated in my comment, so I'd say it's safe to remove it. [[User:Ladydesire|Ladydesire]] 22:22, 3 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15198</id>
		<title>Talk:Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Talk:Add_A_New_Class_Tutorial&amp;diff=15198"/>
				<updated>2010-12-11T03:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial edit ==&lt;br /&gt;
I have started to edit this page at the author's request to try and fix up some of the formatting. It was prety much a cut and paste from the forum. I think it has a way to go yet. I would recommend replacing all the capitalised text with appropriate markup such as '''bold'''. Also the structure could perhaps be improved and some of the content organised better in sentences rather than point form. Please help out if you have the time and incliniation. [[User:Stuntpope|Stuntpope]]&lt;br /&gt;
&lt;br /&gt;
=== edit ===&lt;br /&gt;
Embedded all images and added dascript tages&lt;br /&gt;
&lt;br /&gt;
--[[User:Rigortauri|Rigortauri]] 13:12, 2 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
did some table formating&lt;br /&gt;
&lt;br /&gt;
--[[User:Apolyon6k|Apolyon6k]] 09:14, 2 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
&lt;br /&gt;
The following section is incorrect:&lt;br /&gt;
&lt;br /&gt;
Next goto  &amp;quot;// Undo Class and Race selection&amp;quot; and add the 4th CharGen_ClearAbilityList&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            // Note: This wipes the ability list clear&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,1);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,2);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,3);&lt;br /&gt;
            CharGen_ClearAbilityList(oChar,4);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto &amp;quot;// enabling proper tactics presets&amp;quot; and add the ValidForClass4 parts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
            nForClass1 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass1&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass2 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass2&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass3 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass3&amp;quot;, nCurrentRow);&lt;br /&gt;
            nForClass4 = GetM2DAInt(TABLE_TACTICS_USER_PRESETS, &amp;quot;ValidForClass4&amp;quot;, nCurrentRow);&lt;br /&gt;
            if(nCoreClass == nForClass1 || nCoreClass == nForClass2 || nCoreClass == nForClass3 || nCoreClass == nForClass4)&lt;br /&gt;
                AddTacticPresetID(oCreature, nCurrentRow);&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The author has misunderstood the purpose of these methods. There is no need to modify the first of these. The int parameter in CharGen_ClearAbilityList is actually the ability type - not a class id. In the second part there is no point modifying this unless you also modify user tactics 2da table. The three columns allow up to three classes to be listed and since the third column is not used already there is really no need to add a fourth column anyway.&lt;br /&gt;
&lt;br /&gt;
I considered removing this but it really needs to be replaced with the correct approach. I suspect that there are other aspects of AI that need to be dealt with too. [[User:Stuntpope|Stuntpope]] 13:13, 7 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I went ahead and deleted it, as those should really be part of an advanced tutorial, rather than a basic one; I also went ahead and added some new data that I've been testing that eliminates the need to provide files in packages\core\override. [[User:Ladydesire|Ladydesire]] 21:48, 29 January 2010 (UTC)&lt;br /&gt;
===Cleaning up errors?===&lt;br /&gt;
I'm not sure but there seems to be an error in the section about cleaning up. If you delete all files you also delete your edited core files (2ds_constants_h and chargen_h). Without those files the new class wouldn't work. It should be mentioned after the export section that those files are needed and that they should be moved to module/core/override.&lt;br /&gt;
&lt;br /&gt;
== String IDs above 8.3 million don't work? ==&lt;br /&gt;
&lt;br /&gt;
There is a discrepancy between the current tutorial and the actual functionality of the toolset with regards to the string table entries; it is no longer necessary to manually set a range for the string tables, as ExcelProcessor now handles up to at least 650,000,000. [[User:Ladydesire|Ladydesire]] 20:18, 16 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Heh. I just spent a bit of time asking around the office about this bug too, the line's been in the tutorial since November. And then I posted here on the talk page without reading it completely first, is my face red. I'm going to provisionally remove the line from the &amp;quot;creating a module&amp;quot; section and store it here:&lt;br /&gt;
&lt;br /&gt;
::Make sure your string sets go from in between 8,000,000 - 8,300,000, if it goes above that range the strings will not work. BioWare has already posted about this SQL problem.&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure this has been fixed now, unless this is a separate bug that we weren't aware of. [[User:BryanDerksen|BryanDerksen]] 23:28, 2 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I've been using a class built with string tables as I indicated in my comment, so I'd say it's safe to remove it. [[User:Ladydesire|Ladydesire]] 22:22, 3 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10776</id>
		<title>Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10776"/>
				<updated>2010-02-01T22:30:39Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Open up background.xls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editing the 2das ==&lt;br /&gt;
You will need to edit the following 2DA's.&lt;br /&gt;
*[[2da_base.xls]]&lt;br /&gt;
*[[abi_base.xls]]&lt;br /&gt;
*[[ALclassname_default.xls]]  (ex  ALshaman_default.xls) Copy from ALWizard_default.xls&lt;br /&gt;
*[[background.xls]]&lt;br /&gt;
*[[cla_base.xls]]&lt;br /&gt;
*[[guitypes.xls]]&lt;br /&gt;
=== Open up 2da_base.xls ===&lt;br /&gt;
Add the following to the end of M2DA_base TAB&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ID above 100000  ||ALShaman_default  ||ALShaman_default &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
=== Open up guitypes.xls ===&lt;br /&gt;
At bottom of list paste this:&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!ID||	Label||		StringId||	Ability||	ProgressBar||	CombatTraining||	SpecialGraphic||	TintColor||	Orphanage||	Flags||	BlendTree&lt;br /&gt;
|-&lt;br /&gt;
|500||	Class: Shaman||	8000000||		5000||	0||		0||		1||		0x9B0F00||	0||		0||	****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
=== Open up CLA_base.xls ===&lt;br /&gt;
Paste this AFTER line 3: (Move all down 1)&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|4	||Shaman	||8000000	||8000001	||****	||8000002	||8000003	||classico_spirithealer	||CLASS_Shaman	||2	||95	||1	||100	||5	||2	||2	||2	||2	||2	||0	||0	||0	||55	||50	||1	||5	||1	||3	||0.3	||4035	||****	||1	||Shaman	||****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
{{TutorialRef|2DA|2DA base.xls|Guitypes.xls|CLA base.xls}}&lt;br /&gt;
=== Open up background.xls ===&lt;br /&gt;
On backgrounds tab:  You need to insert a section between mage and skill 1, see screenshot&lt;br /&gt;
&lt;br /&gt;
[[Image:Background.jpg]]&lt;br /&gt;
&lt;br /&gt;
On background_defaults there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut bgdef.jpg]]&lt;br /&gt;
&lt;br /&gt;
How the ID's work, 1 = dwarf, 4 = shaman, 5 = noble, the rest of the pattern is easy.&lt;br /&gt;
&lt;br /&gt;
On lines 12,15,17,19 you need to add these in.  What I recommend is just copying these lines&lt;br /&gt;
&lt;br /&gt;
:10 ==&amp;gt; 12&lt;br /&gt;
:13 ==&amp;gt; 15&lt;br /&gt;
:16 ==&amp;gt; 17&lt;br /&gt;
:18 ==&amp;gt; 19&lt;br /&gt;
&lt;br /&gt;
The template string is the default_shaman.utc you will need to create in the toolset later on for these to have a base model&lt;br /&gt;
The Ability is the starting ability tied to this class, in my case it just references a different one then what you will have&lt;br /&gt;
&lt;br /&gt;
On chargen_preload there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut chardef.jpg]]&lt;br /&gt;
&lt;br /&gt;
These ID's must match what is on the background_defaults otherwise the game WILL crash.&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
{{TutorialRef|2DA|Background.xls}}&lt;br /&gt;
&lt;br /&gt;
=== Open up abi_base.xls ===&lt;br /&gt;
in the ABI_Base tab add the following to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
There are several columns that very are important&lt;br /&gt;
&lt;br /&gt;
abilitytype - define what type of ability. melee, spell, skill etc..---&amp;gt; links with abilitytype.xls&lt;br /&gt;
&lt;br /&gt;
prereqability - defines what is needed to have this ability.  To add a new class these need to be changed on existing classes.&lt;br /&gt;
&lt;br /&gt;
guitypes - referenced what class this links too ---&amp;gt; links with guitypes.xls&lt;br /&gt;
&lt;br /&gt;
AFTER LINE 119 ==&amp;gt; 4034 HIDDEN_DOG insert a new row and put in the following&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|5000||HIDDEN_SHAMAN||0||0||380405||330716||hidden||2||0||0||0||0||0||0||0||1||0||0||12||0||0||0||0||3||1.5||0||0||0||0||0||0||0||0||0||0||0||0||0||0||1||7||0||2||33||0||0||0||0&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add the bottom paste these&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|300000||HEROIC_OFFENSE2||380003	||379523	||367458	||379231	||spl_ico_heroic_offense	||2	||1	||0	||0	||0	||20	||0	||5000	||0	||0	||0	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90215		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90109	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300001	||HEROIC_AURA2	||380000	||379520	||367458	||379214	||spl_ico_heroic_aura	||2	||1	||0	||0	||0	||30	||0	||300000	||0	||4	||15	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90213		||244	||247	||0	||0	||0	||0	||0	||0	||0	||0		||0	||90110	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300002	||HEROIC_DEFENSE2	||380001	||379521	||367458	||379256	||spl_ico_heroic_defense	||2	||1	||0	||0	||0	||40	||0	||300001	||0	||4	||20	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||10	||90214		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90111	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300003	||HASTE2		||380005	||379525	||398957	||379229	||spl_ico_agility		||2	||0	||0	||0	||0	||0	||60	||300002	||0	||4	||30	||500	||1	||1	||18	||1	||2	||spell_modal.ncs	||30		||90216		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90112	||192	||1	||7	||0	||2	||33	||0	||0	||0	||10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOW HERE IS THE TRICKY PART, MAKE SURE YOU DO THIS RIGHT OR KISS YOUR MODULE GOODBYE&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN S (guitypes)  Now they should all be sorted by guitype&lt;br /&gt;
&lt;br /&gt;
Now we need to seperate the mage spells from our new shaman spells.&lt;br /&gt;
&lt;br /&gt;
For guitype spells 1-4, you need to look at the prereqability section for these spells, for those that have 0, replace with 4023&lt;br /&gt;
This will make these appear only on the mage from now on. (Which means we need to make seperate skills for our new class)&lt;br /&gt;
Ok this will now prevent duplicate of skills&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN A (ID)  Now we are back to normal&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Now goto passive_abilities&lt;br /&gt;
&lt;br /&gt;
Paste the following at the bottom of the list&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|9000||HIDDEN_SHAMAN||1||2||4||2||6||1||str +2,mag +2,con +1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file :)&lt;br /&gt;
{{TutorialRef|2DA|ABI base.xls}}&lt;br /&gt;
=== Open up ALShaman_default.xls ===&lt;br /&gt;
Should look like this&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut alshaman.jpg]]&lt;br /&gt;
{{TutorialRef|2DA|ALWizard_Default.xls}}&lt;br /&gt;
== Converting the files from 2DA to GDA ==&lt;br /&gt;
Create a directory called '''2DA''' on C:, inside that dir create one called override.&lt;br /&gt;
&lt;br /&gt;
In your C:\2da put the following files:&lt;br /&gt;
&lt;br /&gt;
* [[2da_base.xls]]&lt;br /&gt;
* [[abi_base.xls]]&lt;br /&gt;
* [[background.xls]]&lt;br /&gt;
* [[cla_base.xls]]&lt;br /&gt;
* [[guitypes.xls]]&lt;br /&gt;
* [[ALShaman_default.xls]]&lt;br /&gt;
&lt;br /&gt;
Also: ExcelProcessor.exe from the tool converter in your toolset section.&lt;br /&gt;
&lt;br /&gt;
Next you need to make a batch file to run to convert these.&lt;br /&gt;
Simply open notepad, copy and paste below and save as convert.bat&lt;br /&gt;
&lt;br /&gt;
:C:\2DA\ExcelProcessor.exe 2DA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe background.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe CLA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ALShaman_Default.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe guitypes.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ABI_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
&lt;br /&gt;
NOTE: YOU MAY NEED TO &amp;quot;RUN AS ADMINISTRATOR&amp;quot; CONVERT.BAT IN VISTA / W7&lt;br /&gt;
&lt;br /&gt;
VOILA YOU NOW HAVE YOUR GDA FILES FOR THE MODULE&lt;br /&gt;
{{TutorialRef|Compiling 2DAs}}&lt;br /&gt;
== Creating a module ==&lt;br /&gt;
Now we begin editing inside the toolset&lt;br /&gt;
&lt;br /&gt;
Create a new module, similiar to the picture below&lt;br /&gt;
&lt;br /&gt;
'''MAKE SURE YOUR STRING SETS GO FROM IN BETWEEN 8,000,000 - 8,300,000 IF IT GOES ABOVE THAT RANGE THE STRINGS WILL NOT WORK.BIOWARE HAS ALREADY POSTED ABOUT THIS SQL PROBLEM'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut module1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After making it go back to the module screen and select heirarchy and make sure single player is checked&lt;br /&gt;
&lt;br /&gt;
[[Image:Class_tut_hier.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now that your module is created we need to add the appropriate GDA to the override section.&lt;br /&gt;
&lt;br /&gt;
look in name/mydocuments/bioware/dragonage/addins/modulename&lt;br /&gt;
&lt;br /&gt;
Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory&lt;br /&gt;
{{TutorialRef|Module|Creating a module}}&lt;br /&gt;
== Editing the scripts== &lt;br /&gt;
You now need to edit some scripts.&lt;br /&gt;
=== Edit the 2da_constants_h file ===&lt;br /&gt;
find the 2da_constants_h file under Core scripts&lt;br /&gt;
&lt;br /&gt;
right click on 2DA_CONSTANTS_H, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the following sections and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_DUELIST = 4030;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_RANGER = 4029;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_REAVER = 4019;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_ROGUE = 4020;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHALE = 4033;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_TEMPLAR = 4021;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_WARRIOR = 4022;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHAMAN = 5000;&lt;br /&gt;
const int ABILITY_TALENT_HURLOCK_PROPERTIES = 90080;&lt;br /&gt;
const int ABILITY_TALENT_INDOMITABLE = 28;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//Class Constants&lt;br /&gt;
const int CLASS_WARRIOR = 1;&lt;br /&gt;
const int CLASS_WIZARD = 2;&lt;br /&gt;
const int CLASS_ROGUE = 3;&lt;br /&gt;
const int CLASS_SHAMAN = 4;&lt;br /&gt;
const int CLASS_SHAPESHIFTER = 5;&lt;br /&gt;
const int CLASS_SPIRITHEALER = 6;&lt;br /&gt;
const int CLASS_CHAMPION = 7;&lt;br /&gt;
const int CLASS_TEMPLAR = 8;&lt;br /&gt;
const int CLASS_BERSERKER = 9;&lt;br /&gt;
const int CLASS_REAVER = 10;&lt;br /&gt;
const int CLASS_ARCANE_WARRIOR = 11;&lt;br /&gt;
const int CLASS_ASSASSIN = 12;&lt;br /&gt;
const int CLASS_BLOOD_MAGE = 13;&lt;br /&gt;
const int CLASS_BARD = 14;&lt;br /&gt;
const int CLASS_RANGER = 15;&lt;br /&gt;
const int CLASS_DUELIST = 16;&lt;br /&gt;
const int CLASS_SHALE = 17;&lt;br /&gt;
const int CLASS_DOG = 18;&lt;br /&gt;
const int CLASS_MONSTER_ANIMAL = 19;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Edit the sys_chargen_h file ===&lt;br /&gt;
Find the sys_chargen_h file under _Systems ==&amp;gt; _Includes&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen_h, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the starting skills section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    // Starting Skills&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    if (nClass == CLASS_WARRIOR)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, 100100);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_ROGUE)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_POISON_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_WIZARD)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_SHAMAN)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto starting ability&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        // Load the starting ability for the background&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        int nAbility = GetM2DAInt(TABLE_STARTING_EQUIPMENT,&amp;quot;Ability&amp;quot;, nIdx);&lt;br /&gt;
        _AddAbility(oCreature, nAbility);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        string sTemplate = &amp;quot;default_player.utc&amp;quot;;&lt;br /&gt;
        switch (nClass)&lt;br /&gt;
        {&lt;br /&gt;
            case CLASS_WARRIOR: sTemplate = &amp;quot;default_warrior.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_ROGUE:   sTemplate = &amp;quot;default_rogue.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_WIZARD:  sTemplate = &amp;quot;default_wizard.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_SHAMAN:  sTemplate = &amp;quot;default_shaman.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
        LoadItemsFromTemplate(oCreature, sTemplate, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Edit the sys_chargen file ===&lt;br /&gt;
Find the sys_chargen ==&amp;gt; under _Systems&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen, select Duplicate; name the file something like wd_sys_chargen.&lt;br /&gt;
&lt;br /&gt;
Change this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int MAX_CLASS_INDEX = 4; // Last index of available base classes in cla_base.&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
This value does not have to be limited to the minimum number of base classes in the file; it simply has to be higher than the default value.&lt;br /&gt;
&lt;br /&gt;
Go down to the special handling section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// special handling for aluvian&lt;br /&gt;
                if (nQuickStart == 0 )&lt;br /&gt;
                {&lt;br /&gt;
                    Log_Trace(LOG_CHANNEL_CHARACTER,&amp;quot;sys_chargen&amp;quot;,&amp;quot;Setting default values for player character&amp;quot;);&lt;br /&gt;
                    int nRandClass = abs((GetLowResTimer()%3)+1);&lt;br /&gt;
                    if(nRandClass == CLASS_ROGUE || nRandClass == CLASS_WARRIOR || nRandClass == CLASS_SHAMAN)&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_NOBLE );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_HUMAN_NOBLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    else // mage&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_MAGI );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_CIRCLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    Chargen_SetNumTactics(oChar);&lt;br /&gt;
                    SetCanLevelUp(oChar,Chargen_HasPointsToSpend(oChar));&lt;br /&gt;
&lt;br /&gt;
                    SendEventModuleChargenDone(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
next go down to the tactics sections and add the following:&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                // associate some tactics preset table&lt;br /&gt;
                int nPresetTable;&lt;br /&gt;
                if(GetCreatureCoreClass(oChar) == CLASS_WARRIOR)&lt;br /&gt;
                    nPresetTable = 1; // tank&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_ROGUE)&lt;br /&gt;
                    nPresetTable = 2; // damage dealer&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_SHAMAN)&lt;br /&gt;
                    nPresetTable = 1; // damage dealer&lt;br /&gt;
                else // mage&lt;br /&gt;
                    nPresetTable = 5; // nuker&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Create the module script ===&lt;br /&gt;
Create a new script and give it a descriptive name like &amp;quot;loadscript&amp;quot;. This script will intercept the Chargen events and redirect them to the custom version of the sys_chargen script you just created. It can also be used to intercept other events if you want to alter other things or add items to a newly created character's inventory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev   = GetCurrentEvent();&lt;br /&gt;
    int nEvent = GetEventType(ev);&lt;br /&gt;
    Log_Events(&amp;quot;&amp;quot;, ev);&lt;br /&gt;
    switch (nEvent)&lt;br /&gt;
    {&lt;br /&gt;
        default:&lt;br /&gt;
        {&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            // Handle character generation events sent by the engine.&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            if ((nEvent &amp;gt;= EVENT_TYPE_CHARGEN_START &amp;amp;&amp;amp; nEvent &amp;lt;= EVENT_TYPE_CHARGEN_END) || nEvent == EVENT_TYPE_PLAYERLEVELUP )&lt;br /&gt;
            {&lt;br /&gt;
                HandleEvent(ev, R&amp;quot;ld_sys_chargen.ncs&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                Log_Trace(LOG_CHANNEL_EVENTS, GetCurrentScriptName(), Log_GetEventNameById(nEvent) + &amp;quot; (&amp;quot; + ToString(nEvent) + &amp;quot;) *** Unhandled event ***&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
{{TutorialRef|Script}}&lt;br /&gt;
== Creating the UTC template file==&lt;br /&gt;
Back in the toolset we need to do the following:&lt;br /&gt;
&lt;br /&gt;
Click on the &amp;quot;creature tab&amp;quot; (red head icon)&lt;br /&gt;
&lt;br /&gt;
Right click on default_mage ==&amp;gt; duplicate&lt;br /&gt;
Do like the following:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now we need to edit the values and give them some armor and weapons, like so:&lt;br /&gt;
&lt;br /&gt;
Class: Shaman (from dropdown)&lt;br /&gt;
Name: Default Male Shaman&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now at the top and click SAVE ==&amp;gt; CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
{{TutorialRef|Designer Resources#Creating new resources|Creature|Exporting a module}}&lt;br /&gt;
== Creating some strings ==&lt;br /&gt;
Start the String editor and right click and insert.&lt;br /&gt;
&lt;br /&gt;
You will be setting up like this &lt;br /&gt;
&lt;br /&gt;
:Table = module talk base&lt;br /&gt;
:Owner = module name&lt;br /&gt;
:TYPE = GUI&lt;br /&gt;
&lt;br /&gt;
:8000000 - Shaman&lt;br /&gt;
:8000001 - Shamans&lt;br /&gt;
:8000002 - Shamans commune with spirits to get thier other worldly powers.&lt;br /&gt;
:8000004 - Shaman&lt;br /&gt;
:8000005 - Shaman Male Name&lt;br /&gt;
:8000006 - Shaman Female Name&lt;br /&gt;
&lt;br /&gt;
When all is said close string editor&lt;br /&gt;
{{TutorialRef|String editor}}&lt;br /&gt;
== Putting it all together ==&lt;br /&gt;
Up on top ON THE EXPORT TAB &lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MODULE XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MANIFEST XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT TALK TABLE&amp;quot;&lt;br /&gt;
{{TutorialRef|Exporting a module}}&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
DON'T SKIP THIS PART&lt;br /&gt;
&lt;br /&gt;
Delete all files in the name/mydocuments/bioware/dragonage/packages/core/override/toolset; these are not needed.&lt;br /&gt;
== Trying it out ==&lt;br /&gt;
Start up your game (It may take a min) and start a new game.&lt;br /&gt;
&lt;br /&gt;
*WARNING* IF ANYTHING HAS GONE WRONG HERE YOUR GAME WILL BE SEVERELY DAMAGED&lt;br /&gt;
&lt;br /&gt;
Select MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
YOU SHOULD SEE YOUR NEW CHARACTER&lt;br /&gt;
&lt;br /&gt;
IF SOMETHING HAPPENED QUIT AND DOUBLE CHECK YOUR STEPS&lt;br /&gt;
&lt;br /&gt;
Make sure you did not miss ANY &amp;quot;;&amp;quot; or &amp;quot;{ }&amp;quot; as a single one of these missed can destroy the game.&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
MY SPELLS ARE NOT SHOWING UP IN THE CREATION SCREEN, HELP!!&lt;br /&gt;
&lt;br /&gt;
* You may not have sort your ability file back to ID.  It has to be sorted by ID in order to show up.&lt;br /&gt;
* You may not have assigned the new abilities to your new class &amp;quot;5000&amp;quot; in the prereqability column&lt;br /&gt;
&lt;br /&gt;
MY MODEL IS NOT SHOWING UP WHEN I GOTO MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
* It is very likely you did not EXPORT your default_shaman.utc model&lt;br /&gt;
* Double check the background file to make sure you are using default_shaman.utc for the template&lt;br /&gt;
* Try rebooting your computer.&lt;br /&gt;
[[Category:Character generation]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10775</id>
		<title>Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10775"/>
				<updated>2010-02-01T22:29:33Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editing the 2das ==&lt;br /&gt;
You will need to edit the following 2DA's.&lt;br /&gt;
*[[2da_base.xls]]&lt;br /&gt;
*[[abi_base.xls]]&lt;br /&gt;
*[[ALclassname_default.xls]]  (ex  ALshaman_default.xls) Copy from ALWizard_default.xls&lt;br /&gt;
*[[background.xls]]&lt;br /&gt;
*[[cla_base.xls]]&lt;br /&gt;
*[[guitypes.xls]]&lt;br /&gt;
=== Open up 2da_base.xls ===&lt;br /&gt;
Add the following to the end of M2DA_base TAB&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ID above 100000  ||ALShaman_default  ||ALShaman_default &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
=== Open up guitypes.xls ===&lt;br /&gt;
At bottom of list paste this:&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!ID||	Label||		StringId||	Ability||	ProgressBar||	CombatTraining||	SpecialGraphic||	TintColor||	Orphanage||	Flags||	BlendTree&lt;br /&gt;
|-&lt;br /&gt;
|500||	Class: Shaman||	8000000||		5000||	0||		0||		1||		0x9B0F00||	0||		0||	****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
=== Open up CLA_base.xls ===&lt;br /&gt;
Paste this AFTER line 3: (Move all down 1)&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|4	||Shaman	||8000000	||8000001	||****	||8000002	||8000003	||classico_spirithealer	||CLASS_Shaman	||2	||95	||1	||100	||5	||2	||2	||2	||2	||2	||0	||0	||0	||55	||50	||1	||5	||1	||3	||0.3	||4035	||****	||1	||Shaman	||****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
{{TutorialRef|2DA|2DA base.xls|Guitypes.xls|CLA base.xls}}&lt;br /&gt;
=== Open up background.xls ===&lt;br /&gt;
On backgrounds tab:  You need to insert a section between mage and skill 1, see screenshot&lt;br /&gt;
[[Image:Background.jpg]]&lt;br /&gt;
On background_defaults there are several section you need to note here regarding the screenshot:&lt;br /&gt;
[[Image:Class tut bgdef.jpg]]&lt;br /&gt;
How the ID's work, 1 = dwarf, 4 = shaman, 5 = noble, the rest of the pattern is easy.&lt;br /&gt;
&lt;br /&gt;
On lines 12,15,17,19 you need to add these in.  What I recommend is just copying these lines&lt;br /&gt;
&lt;br /&gt;
:10 ==&amp;gt; 12&lt;br /&gt;
:13 ==&amp;gt; 15&lt;br /&gt;
:16 ==&amp;gt; 17&lt;br /&gt;
:18 ==&amp;gt; 19&lt;br /&gt;
&lt;br /&gt;
The template string is the default_shaman.utc you will need to create in the toolset later on for these to have a base model&lt;br /&gt;
The Ability is the starting ability tied to this class, in my case it just references a different one then what you will have&lt;br /&gt;
&lt;br /&gt;
On chargen_preload there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut chardef.jpg]]&lt;br /&gt;
&lt;br /&gt;
These ID's must match what is on the background_defaults otherwise the game WILL crash.&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
{{TutorialRef|2DA|Background.xls}}&lt;br /&gt;
=== Open up abi_base.xls ===&lt;br /&gt;
in the ABI_Base tab add the following to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
There are several columns that very are important&lt;br /&gt;
&lt;br /&gt;
abilitytype - define what type of ability. melee, spell, skill etc..---&amp;gt; links with abilitytype.xls&lt;br /&gt;
&lt;br /&gt;
prereqability - defines what is needed to have this ability.  To add a new class these need to be changed on existing classes.&lt;br /&gt;
&lt;br /&gt;
guitypes - referenced what class this links too ---&amp;gt; links with guitypes.xls&lt;br /&gt;
&lt;br /&gt;
AFTER LINE 119 ==&amp;gt; 4034 HIDDEN_DOG insert a new row and put in the following&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|5000||HIDDEN_SHAMAN||0||0||380405||330716||hidden||2||0||0||0||0||0||0||0||1||0||0||12||0||0||0||0||3||1.5||0||0||0||0||0||0||0||0||0||0||0||0||0||0||1||7||0||2||33||0||0||0||0&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add the bottom paste these&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|300000||HEROIC_OFFENSE2||380003	||379523	||367458	||379231	||spl_ico_heroic_offense	||2	||1	||0	||0	||0	||20	||0	||5000	||0	||0	||0	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90215		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90109	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300001	||HEROIC_AURA2	||380000	||379520	||367458	||379214	||spl_ico_heroic_aura	||2	||1	||0	||0	||0	||30	||0	||300000	||0	||4	||15	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90213		||244	||247	||0	||0	||0	||0	||0	||0	||0	||0		||0	||90110	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300002	||HEROIC_DEFENSE2	||380001	||379521	||367458	||379256	||spl_ico_heroic_defense	||2	||1	||0	||0	||0	||40	||0	||300001	||0	||4	||20	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||10	||90214		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90111	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300003	||HASTE2		||380005	||379525	||398957	||379229	||spl_ico_agility		||2	||0	||0	||0	||0	||0	||60	||300002	||0	||4	||30	||500	||1	||1	||18	||1	||2	||spell_modal.ncs	||30		||90216		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90112	||192	||1	||7	||0	||2	||33	||0	||0	||0	||10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOW HERE IS THE TRICKY PART, MAKE SURE YOU DO THIS RIGHT OR KISS YOUR MODULE GOODBYE&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN S (guitypes)  Now they should all be sorted by guitype&lt;br /&gt;
&lt;br /&gt;
Now we need to seperate the mage spells from our new shaman spells.&lt;br /&gt;
&lt;br /&gt;
For guitype spells 1-4, you need to look at the prereqability section for these spells, for those that have 0, replace with 4023&lt;br /&gt;
This will make these appear only on the mage from now on. (Which means we need to make seperate skills for our new class)&lt;br /&gt;
Ok this will now prevent duplicate of skills&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN A (ID)  Now we are back to normal&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Now goto passive_abilities&lt;br /&gt;
&lt;br /&gt;
Paste the following at the bottom of the list&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|9000||HIDDEN_SHAMAN||1||2||4||2||6||1||str +2,mag +2,con +1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file :)&lt;br /&gt;
{{TutorialRef|2DA|ABI base.xls}}&lt;br /&gt;
=== Open up ALShaman_default.xls ===&lt;br /&gt;
Should look like this&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut alshaman.jpg]]&lt;br /&gt;
{{TutorialRef|2DA|ALWizard_Default.xls}}&lt;br /&gt;
== Converting the files from 2DA to GDA ==&lt;br /&gt;
Create a directory called '''2DA''' on C:, inside that dir create one called override.&lt;br /&gt;
&lt;br /&gt;
In your C:\2da put the following files:&lt;br /&gt;
&lt;br /&gt;
* [[2da_base.xls]]&lt;br /&gt;
* [[abi_base.xls]]&lt;br /&gt;
* [[background.xls]]&lt;br /&gt;
* [[cla_base.xls]]&lt;br /&gt;
* [[guitypes.xls]]&lt;br /&gt;
* [[ALShaman_default.xls]]&lt;br /&gt;
&lt;br /&gt;
Also: ExcelProcessor.exe from the tool converter in your toolset section.&lt;br /&gt;
&lt;br /&gt;
Next you need to make a batch file to run to convert these.&lt;br /&gt;
Simply open notepad, copy and paste below and save as convert.bat&lt;br /&gt;
&lt;br /&gt;
:C:\2DA\ExcelProcessor.exe 2DA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe background.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe CLA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ALShaman_Default.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe guitypes.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ABI_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
&lt;br /&gt;
NOTE: YOU MAY NEED TO &amp;quot;RUN AS ADMINISTRATOR&amp;quot; CONVERT.BAT IN VISTA / W7&lt;br /&gt;
&lt;br /&gt;
VOILA YOU NOW HAVE YOUR GDA FILES FOR THE MODULE&lt;br /&gt;
{{TutorialRef|Compiling 2DAs}}&lt;br /&gt;
== Creating a module ==&lt;br /&gt;
Now we begin editing inside the toolset&lt;br /&gt;
&lt;br /&gt;
Create a new module, similiar to the picture below&lt;br /&gt;
&lt;br /&gt;
'''MAKE SURE YOUR STRING SETS GO FROM IN BETWEEN 8,000,000 - 8,300,000 IF IT GOES ABOVE THAT RANGE THE STRINGS WILL NOT WORK.BIOWARE HAS ALREADY POSTED ABOUT THIS SQL PROBLEM'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut module1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After making it go back to the module screen and select heirarchy and make sure single player is checked&lt;br /&gt;
&lt;br /&gt;
[[Image:Class_tut_hier.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now that your module is created we need to add the appropriate GDA to the override section.&lt;br /&gt;
&lt;br /&gt;
look in name/mydocuments/bioware/dragonage/addins/modulename&lt;br /&gt;
&lt;br /&gt;
Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory&lt;br /&gt;
{{TutorialRef|Module|Creating a module}}&lt;br /&gt;
== Editing the scripts== &lt;br /&gt;
You now need to edit some scripts.&lt;br /&gt;
=== Edit the 2da_constants_h file ===&lt;br /&gt;
find the 2da_constants_h file under Core scripts&lt;br /&gt;
&lt;br /&gt;
right click on 2DA_CONSTANTS_H, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the following sections and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_DUELIST = 4030;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_RANGER = 4029;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_REAVER = 4019;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_ROGUE = 4020;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHALE = 4033;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_TEMPLAR = 4021;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_WARRIOR = 4022;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHAMAN = 5000;&lt;br /&gt;
const int ABILITY_TALENT_HURLOCK_PROPERTIES = 90080;&lt;br /&gt;
const int ABILITY_TALENT_INDOMITABLE = 28;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//Class Constants&lt;br /&gt;
const int CLASS_WARRIOR = 1;&lt;br /&gt;
const int CLASS_WIZARD = 2;&lt;br /&gt;
const int CLASS_ROGUE = 3;&lt;br /&gt;
const int CLASS_SHAMAN = 4;&lt;br /&gt;
const int CLASS_SHAPESHIFTER = 5;&lt;br /&gt;
const int CLASS_SPIRITHEALER = 6;&lt;br /&gt;
const int CLASS_CHAMPION = 7;&lt;br /&gt;
const int CLASS_TEMPLAR = 8;&lt;br /&gt;
const int CLASS_BERSERKER = 9;&lt;br /&gt;
const int CLASS_REAVER = 10;&lt;br /&gt;
const int CLASS_ARCANE_WARRIOR = 11;&lt;br /&gt;
const int CLASS_ASSASSIN = 12;&lt;br /&gt;
const int CLASS_BLOOD_MAGE = 13;&lt;br /&gt;
const int CLASS_BARD = 14;&lt;br /&gt;
const int CLASS_RANGER = 15;&lt;br /&gt;
const int CLASS_DUELIST = 16;&lt;br /&gt;
const int CLASS_SHALE = 17;&lt;br /&gt;
const int CLASS_DOG = 18;&lt;br /&gt;
const int CLASS_MONSTER_ANIMAL = 19;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Edit the sys_chargen_h file ===&lt;br /&gt;
Find the sys_chargen_h file under _Systems ==&amp;gt; _Includes&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen_h, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the starting skills section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    // Starting Skills&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    if (nClass == CLASS_WARRIOR)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, 100100);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_ROGUE)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_POISON_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_WIZARD)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_SHAMAN)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto starting ability&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        // Load the starting ability for the background&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        int nAbility = GetM2DAInt(TABLE_STARTING_EQUIPMENT,&amp;quot;Ability&amp;quot;, nIdx);&lt;br /&gt;
        _AddAbility(oCreature, nAbility);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        string sTemplate = &amp;quot;default_player.utc&amp;quot;;&lt;br /&gt;
        switch (nClass)&lt;br /&gt;
        {&lt;br /&gt;
            case CLASS_WARRIOR: sTemplate = &amp;quot;default_warrior.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_ROGUE:   sTemplate = &amp;quot;default_rogue.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_WIZARD:  sTemplate = &amp;quot;default_wizard.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_SHAMAN:  sTemplate = &amp;quot;default_shaman.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
        LoadItemsFromTemplate(oCreature, sTemplate, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Edit the sys_chargen file ===&lt;br /&gt;
Find the sys_chargen ==&amp;gt; under _Systems&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen, select Duplicate; name the file something like wd_sys_chargen.&lt;br /&gt;
&lt;br /&gt;
Change this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int MAX_CLASS_INDEX = 4; // Last index of available base classes in cla_base.&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
This value does not have to be limited to the minimum number of base classes in the file; it simply has to be higher than the default value.&lt;br /&gt;
&lt;br /&gt;
Go down to the special handling section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// special handling for aluvian&lt;br /&gt;
                if (nQuickStart == 0 )&lt;br /&gt;
                {&lt;br /&gt;
                    Log_Trace(LOG_CHANNEL_CHARACTER,&amp;quot;sys_chargen&amp;quot;,&amp;quot;Setting default values for player character&amp;quot;);&lt;br /&gt;
                    int nRandClass = abs((GetLowResTimer()%3)+1);&lt;br /&gt;
                    if(nRandClass == CLASS_ROGUE || nRandClass == CLASS_WARRIOR || nRandClass == CLASS_SHAMAN)&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_NOBLE );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_HUMAN_NOBLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    else // mage&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_MAGI );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_CIRCLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    Chargen_SetNumTactics(oChar);&lt;br /&gt;
                    SetCanLevelUp(oChar,Chargen_HasPointsToSpend(oChar));&lt;br /&gt;
&lt;br /&gt;
                    SendEventModuleChargenDone(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
next go down to the tactics sections and add the following:&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                // associate some tactics preset table&lt;br /&gt;
                int nPresetTable;&lt;br /&gt;
                if(GetCreatureCoreClass(oChar) == CLASS_WARRIOR)&lt;br /&gt;
                    nPresetTable = 1; // tank&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_ROGUE)&lt;br /&gt;
                    nPresetTable = 2; // damage dealer&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_SHAMAN)&lt;br /&gt;
                    nPresetTable = 1; // damage dealer&lt;br /&gt;
                else // mage&lt;br /&gt;
                    nPresetTable = 5; // nuker&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
=== Create the module script ===&lt;br /&gt;
Create a new script and give it a descriptive name like &amp;quot;loadscript&amp;quot;. This script will intercept the Chargen events and redirect them to the custom version of the sys_chargen script you just created. It can also be used to intercept other events if you want to alter other things or add items to a newly created character's inventory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev   = GetCurrentEvent();&lt;br /&gt;
    int nEvent = GetEventType(ev);&lt;br /&gt;
    Log_Events(&amp;quot;&amp;quot;, ev);&lt;br /&gt;
    switch (nEvent)&lt;br /&gt;
    {&lt;br /&gt;
        default:&lt;br /&gt;
        {&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            // Handle character generation events sent by the engine.&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            if ((nEvent &amp;gt;= EVENT_TYPE_CHARGEN_START &amp;amp;&amp;amp; nEvent &amp;lt;= EVENT_TYPE_CHARGEN_END) || nEvent == EVENT_TYPE_PLAYERLEVELUP )&lt;br /&gt;
            {&lt;br /&gt;
                HandleEvent(ev, R&amp;quot;ld_sys_chargen.ncs&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                Log_Trace(LOG_CHANNEL_EVENTS, GetCurrentScriptName(), Log_GetEventNameById(nEvent) + &amp;quot; (&amp;quot; + ToString(nEvent) + &amp;quot;) *** Unhandled event ***&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
{{TutorialRef|Script}}&lt;br /&gt;
== Creating the UTC template file==&lt;br /&gt;
Back in the toolset we need to do the following:&lt;br /&gt;
&lt;br /&gt;
Click on the &amp;quot;creature tab&amp;quot; (red head icon)&lt;br /&gt;
&lt;br /&gt;
Right click on default_mage ==&amp;gt; duplicate&lt;br /&gt;
Do like the following:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now we need to edit the values and give them some armor and weapons, like so:&lt;br /&gt;
&lt;br /&gt;
Class: Shaman (from dropdown)&lt;br /&gt;
Name: Default Male Shaman&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now at the top and click SAVE ==&amp;gt; CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
{{TutorialRef|Designer Resources#Creating new resources|Creature|Exporting a module}}&lt;br /&gt;
== Creating some strings ==&lt;br /&gt;
Start the String editor and right click and insert.&lt;br /&gt;
&lt;br /&gt;
You will be setting up like this &lt;br /&gt;
&lt;br /&gt;
:Table = module talk base&lt;br /&gt;
:Owner = module name&lt;br /&gt;
:TYPE = GUI&lt;br /&gt;
&lt;br /&gt;
:8000000 - Shaman&lt;br /&gt;
:8000001 - Shamans&lt;br /&gt;
:8000002 - Shamans commune with spirits to get thier other worldly powers.&lt;br /&gt;
:8000004 - Shaman&lt;br /&gt;
:8000005 - Shaman Male Name&lt;br /&gt;
:8000006 - Shaman Female Name&lt;br /&gt;
&lt;br /&gt;
When all is said close string editor&lt;br /&gt;
{{TutorialRef|String editor}}&lt;br /&gt;
== Putting it all together ==&lt;br /&gt;
Up on top ON THE EXPORT TAB &lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MODULE XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MANIFEST XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT TALK TABLE&amp;quot;&lt;br /&gt;
{{TutorialRef|Exporting a module}}&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
DON'T SKIP THIS PART&lt;br /&gt;
&lt;br /&gt;
Delete all files in the name/mydocuments/bioware/dragonage/packages/core/override/toolset; these are not needed.&lt;br /&gt;
== Trying it out ==&lt;br /&gt;
Start up your game (It may take a min) and start a new game.&lt;br /&gt;
&lt;br /&gt;
*WARNING* IF ANYTHING HAS GONE WRONG HERE YOUR GAME WILL BE SEVERELY DAMAGED&lt;br /&gt;
&lt;br /&gt;
Select MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
YOU SHOULD SEE YOUR NEW CHARACTER&lt;br /&gt;
&lt;br /&gt;
IF SOMETHING HAPPENED QUIT AND DOUBLE CHECK YOUR STEPS&lt;br /&gt;
&lt;br /&gt;
Make sure you did not miss ANY &amp;quot;;&amp;quot; or &amp;quot;{ }&amp;quot; as a single one of these missed can destroy the game.&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
MY SPELLS ARE NOT SHOWING UP IN THE CREATION SCREEN, HELP!!&lt;br /&gt;
&lt;br /&gt;
* You may not have sort your ability file back to ID.  It has to be sorted by ID in order to show up.&lt;br /&gt;
* You may not have assigned the new abilities to your new class &amp;quot;5000&amp;quot; in the prereqability column&lt;br /&gt;
&lt;br /&gt;
MY MODEL IS NOT SHOWING UP WHEN I GOTO MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
* It is very likely you did not EXPORT your default_shaman.utc model&lt;br /&gt;
* Double check the background file to make sure you are using default_shaman.utc for the template&lt;br /&gt;
* Try rebooting your computer.&lt;br /&gt;
[[Category:Character generation]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Classes&amp;diff=10774</id>
		<title>Classes</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Classes&amp;diff=10774"/>
				<updated>2010-02-01T22:23:45Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Work in progress''&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Dragon Age: Origins is a strongly class based RPG featuring 3 distinct character classes with exclusive abilities and progressions.&lt;br /&gt;
=== Description ===&lt;br /&gt;
This page explains the technical implementation and role of character classes in Dragon Age: Origins and is aimed at people wishing to create new content, modifications or adventures using the Dragon Age ruleset.&lt;br /&gt;
&lt;br /&gt;
The classes of the game are defined in '''[[CLA_base.xls]]'''.  &lt;br /&gt;
The following is an excerpt of the game rules and systems relevant columns in the file and illustrates how data relating to character class is stored.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size:xx-small&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''ID'''||'''Label'''||'''BaseHealth'''||'''BaseManaStamina'''||'''DepletableProgression'''||'''StrAdjust'''||'''ConAdjust'''||'''WillAdjust'''||'''MagAdjust'''||'''CunAdjust'''||'''DexAdjust'''||'''BaseAttack'''||'''BaseDefense'''||'''DefensePerLevel'''||'''HealthPerLevel'''||'''LevelsPerAbility'''||'''LevelsPerSkill'''||'''DamagePerLevel'''&lt;br /&gt;
|-&lt;br /&gt;
|0||INVALID||****||****||****||****||****||****||****||****||****||****||****||****||****||****||****||****|&lt;br /&gt;
|-&lt;br /&gt;
|1||Warrior||100||100||5||4||3||0||0||0||3||60||45||1||6||1||3||0.4&lt;br /&gt;
|-&lt;br /&gt;
|2||Wizard||85||115||6||0||0||4||5||1||0||50||40||1||4||1||3||0.1&lt;br /&gt;
|-&lt;br /&gt;
|3||Rogue||90||90||4||0||0||2||0||4||4||55||50||1||5||1||2||0.2&lt;br /&gt;
|-|&lt;br /&gt;
|}&lt;br /&gt;
For details on the meaning of each column, please refer to '''[[CLA_base.xls]]'''.&lt;br /&gt;
=== Character Creation Scripting === &lt;br /&gt;
Dragon Age characters are 'blank' when the game starts, with all their [[Creature Properties]] initialized to default values. &lt;br /&gt;
&lt;br /&gt;
The character generation scripts, through interaction with the Character Creation UIs, use the data in [[CLA_base.xls]] to construct the character based on the player's choices. They are also responsible for any modification to the character's base stats during the Levelup process.&lt;br /&gt;
&lt;br /&gt;
Note that major party members will use the character creation scripts, hostile enemies use a speed optimized and abreviated algorithm to determine their attributes based on rank, AI package and level. &lt;br /&gt;
==== Scripts ====&lt;br /&gt;
The scripts that handle most of character creation and levelup are:&lt;br /&gt;
&lt;br /&gt;
* sys_chargen - Entry point for all character creation based [[Event]]s that get routed into this file from module_core.nss. &lt;br /&gt;
* sys_chargen_h - Library containing most of the underlying logic for modifying [[Creature Properties]] based on the game rules.&lt;br /&gt;
* sys_chargen_engine - Include defining a few constants and containing some snippets of relevant engine code for reference.&lt;br /&gt;
* sys_autolevelup_h - File defining the logic used by Party Member NPCs to level up when they are hired. After that, they use normal levelup.&lt;br /&gt;
* sys_autoscale_h - Contains shared logic used for determining levelup condition and code for creature autoscaling.&lt;br /&gt;
* sys_rewards_h - File containing XP reward entry point and levelup checks.&lt;br /&gt;
&lt;br /&gt;
[[Category: Scripts]]&lt;br /&gt;
[[Category: Character_generation]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10772</id>
		<title>Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10772"/>
				<updated>2010-02-01T22:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Creating a module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editing the 2das ==&lt;br /&gt;
You will need to edit the following 2DA's.&lt;br /&gt;
*[[2da_base.xls]]&lt;br /&gt;
*[[abi_base.xls]]&lt;br /&gt;
*[[ALclassname_default.xls]]  (ex  ALshaman_default.xls) Copy from ALWizard_default.xls&lt;br /&gt;
*[[background.xls]]&lt;br /&gt;
*[[cla_base.xls]]&lt;br /&gt;
*[[guitypes.xls]]&lt;br /&gt;
&lt;br /&gt;
=== Open up 2da_base.xls ===&lt;br /&gt;
&lt;br /&gt;
Add the following to the end of M2DA_base TAB&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ID above 100000  ||ALShaman_default  ||ALShaman_default &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up guitypes.xls ===&lt;br /&gt;
At bottom of list paste this:&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!ID||	Label||		StringId||	Ability||	ProgressBar||	CombatTraining||	SpecialGraphic||	TintColor||	Orphanage||	Flags||	BlendTree&lt;br /&gt;
|-&lt;br /&gt;
|500||	Class: Shaman||	8000000||		5000||	0||		0||		1||		0x9B0F00||	0||		0||	****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up CLA_base.xls ===&lt;br /&gt;
Paste this AFTER line 3: (Move all down 1)&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|4	||Shaman	||8000000	||8000001	||****	||8000002	||8000003	||classico_spirithealer	||CLASS_Shaman	||2	||95	||1	||100	||5	||2	||2	||2	||2	||2	||0	||0	||0	||55	||50	||1	||5	||1	||3	||0.3	||4035	||****	||1	||Shaman	||****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|2DA|2DA base.xls|Guitypes.xls|CLA base.xls}}&lt;br /&gt;
&lt;br /&gt;
=== Open up background.xls ===&lt;br /&gt;
On backgrounds tab:  You need to insert a section between mage and skill 1, see screenshot&lt;br /&gt;
&lt;br /&gt;
[[Image:Background.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On background_defaults there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut bgdef.jpg]]&lt;br /&gt;
&lt;br /&gt;
How the ID's work, 1 = dwarf, 4 = shaman, 5 = noble, the rest of the pattern is easy.&lt;br /&gt;
&lt;br /&gt;
On lines 12,15,17,19 you need to add these in.  What I recommend is just copying these lines&lt;br /&gt;
&lt;br /&gt;
:10 ==&amp;gt; 12&lt;br /&gt;
:13 ==&amp;gt; 15&lt;br /&gt;
:16 ==&amp;gt; 17&lt;br /&gt;
:18 ==&amp;gt; 19&lt;br /&gt;
&lt;br /&gt;
The template string is the default_shaman.utc you will need to create in the toolset later on for these to have a base model&lt;br /&gt;
The Ability is the starting ability tied to this class, in my case it just references a different one then what you will have&lt;br /&gt;
&lt;br /&gt;
On chargen_preload there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut chardef.jpg]]&lt;br /&gt;
&lt;br /&gt;
These ID's must match what is on the background_defaults otherwise the game WILL crash.&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|2DA|Background.xls}}&lt;br /&gt;
&lt;br /&gt;
=== Open up abi_base.xls ===&lt;br /&gt;
&lt;br /&gt;
in the ABI_Base tab add the following to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
There are several columns that very are important&lt;br /&gt;
&lt;br /&gt;
abilitytype - define what type of ability. melee, spell, skill etc..---&amp;gt; links with abilitytype.xls&lt;br /&gt;
&lt;br /&gt;
prereqability - defines what is needed to have this ability.  To add a new class these need to be changed on existing classes.&lt;br /&gt;
&lt;br /&gt;
guitypes - referenced what class this links too ---&amp;gt; links with guitypes.xls&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AFTER LINE 119 ==&amp;gt; 4034 HIDDEN_DOG insert a new row and put in the following&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|5000||HIDDEN_SHAMAN||0||0||380405||330716||hidden||2||0||0||0||0||0||0||0||1||0||0||12||0||0||0||0||3||1.5||0||0||0||0||0||0||0||0||0||0||0||0||0||0||1||7||0||2||33||0||0||0||0&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add the bottom paste these&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|300000||HEROIC_OFFENSE2||380003	||379523	||367458	||379231	||spl_ico_heroic_offense	||2	||1	||0	||0	||0	||20	||0	||5000	||0	||0	||0	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90215		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90109	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300001	||HEROIC_AURA2	||380000	||379520	||367458	||379214	||spl_ico_heroic_aura	||2	||1	||0	||0	||0	||30	||0	||300000	||0	||4	||15	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90213		||244	||247	||0	||0	||0	||0	||0	||0	||0	||0		||0	||90110	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300002	||HEROIC_DEFENSE2	||380001	||379521	||367458	||379256	||spl_ico_heroic_defense	||2	||1	||0	||0	||0	||40	||0	||300001	||0	||4	||20	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||10	||90214		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90111	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300003	||HASTE2		||380005	||379525	||398957	||379229	||spl_ico_agility		||2	||0	||0	||0	||0	||0	||60	||300002	||0	||4	||30	||500	||1	||1	||18	||1	||2	||spell_modal.ncs	||30		||90216		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90112	||192	||1	||7	||0	||2	||33	||0	||0	||0	||10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOW HERE IS THE TRICKY PART, MAKE SURE YOU DO THIS RIGHT OR KISS YOUR MODULE GOODBYE&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN S (guitypes)  Now they should all be sorted by guitype&lt;br /&gt;
&lt;br /&gt;
Now we need to seperate the mage spells from our new shaman spells.&lt;br /&gt;
&lt;br /&gt;
For guitype spells 1-4, you need to look at the prereqability section for these spells, for those that have 0, replace with 4023&lt;br /&gt;
This will make these appear only on the mage from now on. (Which means we need to make seperate skills for our new class)&lt;br /&gt;
Ok this will now prevent duplicate of skills&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN A (ID)  Now we are back to normal&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Now goto passive_abilities&lt;br /&gt;
&lt;br /&gt;
Paste the following at the bottom of the list&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|9000||HIDDEN_SHAMAN||1||2||4||2||6||1||str +2,mag +2,con +1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file :)&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|2DA|ABI base.xls}}&lt;br /&gt;
&lt;br /&gt;
=== Open up ALShaman_default.xls ===&lt;br /&gt;
&lt;br /&gt;
Should look like this&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut alshaman.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|2DA|ALWizard_Default.xls}}&lt;br /&gt;
&lt;br /&gt;
== Converting the files from 2DA to GDA ==&lt;br /&gt;
&lt;br /&gt;
Create a directory called '''2DA''' on C:, inside that dir create one called override.&lt;br /&gt;
&lt;br /&gt;
In your C:\2da put the following files:&lt;br /&gt;
&lt;br /&gt;
* [[2da_base.xls]]&lt;br /&gt;
* [[abi_base.xls]]&lt;br /&gt;
* [[background.xls]]&lt;br /&gt;
* [[cla_base.xls]]&lt;br /&gt;
* [[guitypes.xls]]&lt;br /&gt;
* [[ALShaman_default.xls]]&lt;br /&gt;
&lt;br /&gt;
Also: ExcelProcessor.exe from the tool converter in your toolset section.&lt;br /&gt;
&lt;br /&gt;
Next you need to make a batch file to run to convert these.&lt;br /&gt;
Simply open notepad, copy and paste below and save as convert.bat&lt;br /&gt;
&lt;br /&gt;
:C:\2DA\ExcelProcessor.exe 2DA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe background.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe CLA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ALShaman_Default.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe guitypes.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ABI_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
&lt;br /&gt;
NOTE: YOU MAY NEED TO &amp;quot;RUN AS ADMINISTRATOR&amp;quot; CONVERT.BAT IN VISTA / W7&lt;br /&gt;
&lt;br /&gt;
VOILA YOU NOW HAVE YOUR GDA FILES FOR THE MODULE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|Compiling 2DAs}}&lt;br /&gt;
&lt;br /&gt;
== Creating a module ==&lt;br /&gt;
Now we begin editing inside the toolset&lt;br /&gt;
&lt;br /&gt;
Create a new module, similiar to the picture below&lt;br /&gt;
&lt;br /&gt;
'''MAKE SURE YOUR STRING SETS GO FROM IN BETWEEN 8,000,000 - 8,300,000 IF IT GOES ABOVE THAT RANGE THE STRINGS WILL NOT WORK.BIOWARE HAS ALREADY POSTED ABOUT THIS SQL PROBLEM'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut module1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After making it go back to the module screen and select heirarchy and make sure single player is checked&lt;br /&gt;
&lt;br /&gt;
[[Image:Class_tut_hier.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now that your module is created we need to add the appropriate GDA to the override section.&lt;br /&gt;
&lt;br /&gt;
look in name/mydocuments/bioware/dragonage/addins/modulename&lt;br /&gt;
&lt;br /&gt;
Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|Module|Creating a module}}&lt;br /&gt;
&lt;br /&gt;
== Editing the scripts== &lt;br /&gt;
You now need to edit some scripts.&lt;br /&gt;
&lt;br /&gt;
=== Edit the 2da_constants_h file ===&lt;br /&gt;
&lt;br /&gt;
find the 2da_constants_h file under Core scripts&lt;br /&gt;
&lt;br /&gt;
right click on 2DA_CONSTANTS_H, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the following sections and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_DUELIST = 4030;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_RANGER = 4029;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_REAVER = 4019;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_ROGUE = 4020;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHALE = 4033;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_TEMPLAR = 4021;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_WARRIOR = 4022;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHAMAN = 5000;&lt;br /&gt;
const int ABILITY_TALENT_HURLOCK_PROPERTIES = 90080;&lt;br /&gt;
const int ABILITY_TALENT_INDOMITABLE = 28;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//Class Constants&lt;br /&gt;
const int CLASS_WARRIOR = 1;&lt;br /&gt;
const int CLASS_WIZARD = 2;&lt;br /&gt;
const int CLASS_ROGUE = 3;&lt;br /&gt;
const int CLASS_SHAMAN = 4;&lt;br /&gt;
const int CLASS_SHAPESHIFTER = 5;&lt;br /&gt;
const int CLASS_SPIRITHEALER = 6;&lt;br /&gt;
const int CLASS_CHAMPION = 7;&lt;br /&gt;
const int CLASS_TEMPLAR = 8;&lt;br /&gt;
const int CLASS_BERSERKER = 9;&lt;br /&gt;
const int CLASS_REAVER = 10;&lt;br /&gt;
const int CLASS_ARCANE_WARRIOR = 11;&lt;br /&gt;
const int CLASS_ASSASSIN = 12;&lt;br /&gt;
const int CLASS_BLOOD_MAGE = 13;&lt;br /&gt;
const int CLASS_BARD = 14;&lt;br /&gt;
const int CLASS_RANGER = 15;&lt;br /&gt;
const int CLASS_DUELIST = 16;&lt;br /&gt;
const int CLASS_SHALE = 17;&lt;br /&gt;
const int CLASS_DOG = 18;&lt;br /&gt;
const int CLASS_MONSTER_ANIMAL = 19;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edit the sys_chargen_h file ===&lt;br /&gt;
Find the sys_chargen_h file under _Systems ==&amp;gt; _Includes&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen_h, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the starting skills section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    // Starting Skills&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    if (nClass == CLASS_WARRIOR)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, 100100);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_ROGUE)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_POISON_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_WIZARD)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_SHAMAN)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto starting ability&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        // Load the starting ability for the background&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        int nAbility = GetM2DAInt(TABLE_STARTING_EQUIPMENT,&amp;quot;Ability&amp;quot;, nIdx);&lt;br /&gt;
        _AddAbility(oCreature, nAbility);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        string sTemplate = &amp;quot;default_player.utc&amp;quot;;&lt;br /&gt;
        switch (nClass)&lt;br /&gt;
        {&lt;br /&gt;
            case CLASS_WARRIOR: sTemplate = &amp;quot;default_warrior.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_ROGUE:   sTemplate = &amp;quot;default_rogue.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_WIZARD:  sTemplate = &amp;quot;default_wizard.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_SHAMAN:  sTemplate = &amp;quot;default_shaman.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        LoadItemsFromTemplate(oCreature, sTemplate, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Edit the sys_chargen file ===&lt;br /&gt;
Find the sys_chargen ==&amp;gt; under _Systems&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen, select Duplicate; name the file something like wd_sys_chargen.&lt;br /&gt;
&lt;br /&gt;
Change this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int MAX_CLASS_INDEX = 4; // Last index of available base classes in cla_base.&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
This value does not have to be limited to the minimum number of base classes in the file; it simply has to be higher than the default value.&lt;br /&gt;
&lt;br /&gt;
Go down to the special handling section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// special handling for aluvian&lt;br /&gt;
                if (nQuickStart == 0 )&lt;br /&gt;
                {&lt;br /&gt;
                    Log_Trace(LOG_CHANNEL_CHARACTER,&amp;quot;sys_chargen&amp;quot;,&amp;quot;Setting default values for player character&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                    int nRandClass = abs((GetLowResTimer()%3)+1);&lt;br /&gt;
&lt;br /&gt;
                    if(nRandClass == CLASS_ROGUE || nRandClass == CLASS_WARRIOR || nRandClass == CLASS_SHAMAN)&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_NOBLE );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_HUMAN_NOBLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    else // mage&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_MAGI );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_CIRCLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                    Chargen_SetNumTactics(oChar);&lt;br /&gt;
                    SetCanLevelUp(oChar,Chargen_HasPointsToSpend(oChar));&lt;br /&gt;
&lt;br /&gt;
                    SendEventModuleChargenDone(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
next go down to the tactics sections and add the following:&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                // associate some tactics preset table&lt;br /&gt;
                int nPresetTable;&lt;br /&gt;
                if(GetCreatureCoreClass(oChar) == CLASS_WARRIOR)&lt;br /&gt;
                    nPresetTable = 1; // tank&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_ROGUE)&lt;br /&gt;
                    nPresetTable = 2; // damage dealer&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_SHAMAN)&lt;br /&gt;
                    nPresetTable = 1; // damage dealer&lt;br /&gt;
                else // mage&lt;br /&gt;
                    nPresetTable = 5; // nuker&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create the module script ===&lt;br /&gt;
&lt;br /&gt;
Create a new script and give it a descriptive name like &amp;quot;loadscript&amp;quot;. This script will intercept the Chargen events and redirect them to the custom version of the sys_chargen script you just created. It can also be used to intercept other events if you want to alter other things or add items to a newly created character's inventory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev   = GetCurrentEvent();&lt;br /&gt;
    int nEvent = GetEventType(ev);&lt;br /&gt;
    Log_Events(&amp;quot;&amp;quot;, ev);&lt;br /&gt;
    switch (nEvent)&lt;br /&gt;
    {&lt;br /&gt;
        &lt;br /&gt;
        default:&lt;br /&gt;
        {&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            // Handle character generation events sent by the engine.&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            if ((nEvent &amp;gt;= EVENT_TYPE_CHARGEN_START &amp;amp;&amp;amp; nEvent &amp;lt;= EVENT_TYPE_CHARGEN_END) || nEvent == EVENT_TYPE_PLAYERLEVELUP )&lt;br /&gt;
            {&lt;br /&gt;
                HandleEvent(ev, R&amp;quot;ld_sys_chargen.ncs&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                Log_Trace(LOG_CHANNEL_EVENTS, GetCurrentScriptName(), Log_GetEventNameById(nEvent) + &amp;quot; (&amp;quot; + ToString(nEvent) + &amp;quot;) *** Unhandled event ***&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|Script}}&lt;br /&gt;
&lt;br /&gt;
== Creating the UTC template file==&lt;br /&gt;
Back in the toolset we need to do the following:&lt;br /&gt;
&lt;br /&gt;
Click on the &amp;quot;creature tab&amp;quot; (red head icon)&lt;br /&gt;
&lt;br /&gt;
Right click on default_mage ==&amp;gt; duplicate&lt;br /&gt;
Do like the following:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now we need to edit the values and give them some armor and weapons, like so:&lt;br /&gt;
&lt;br /&gt;
Class: Shaman (from dropdown)&lt;br /&gt;
Name: Default Male Shaman&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now at the top and click SAVE ==&amp;gt; CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|Designer Resources#Creating new resources|Creature|Exporting a module}}&lt;br /&gt;
&lt;br /&gt;
== Creating some strings ==&lt;br /&gt;
&lt;br /&gt;
Start the String editor and right click and insert.&lt;br /&gt;
&lt;br /&gt;
You will be setting up like this &lt;br /&gt;
&lt;br /&gt;
:Table = module talk base&lt;br /&gt;
:Owner = module name&lt;br /&gt;
:TYPE = GUI&lt;br /&gt;
&lt;br /&gt;
:8000000 - Shaman&lt;br /&gt;
:8000001 - Shamans&lt;br /&gt;
:8000002 - Shamans commune with spirits to get thier other worldly powers.&lt;br /&gt;
:8000004 - Shaman&lt;br /&gt;
:8000005 - Shaman Male Name&lt;br /&gt;
:8000006 - Shaman Female Name&lt;br /&gt;
&lt;br /&gt;
When all is said close string editor&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|String editor}}&lt;br /&gt;
&lt;br /&gt;
== Putting it all together ==&lt;br /&gt;
&lt;br /&gt;
Up on top ON THE EXPORT TAB &lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MODULE XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MANIFEST XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT TALK TABLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{TutorialRef|Exporting a module}}&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
DON'T SKIP THIS PART&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Delete all files in the name/mydocuments/bioware/dragonage/packages/core/override/toolset; these are not needed.&lt;br /&gt;
&lt;br /&gt;
== Trying it out ==&lt;br /&gt;
&lt;br /&gt;
Start up your game (It may take a min) and start a new game.&lt;br /&gt;
&lt;br /&gt;
*WARNING* IF ANYTHING HAS GONE WRONG HERE YOUR GAME WILL BE SEVERELY DAMAGED&lt;br /&gt;
&lt;br /&gt;
Select MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
YOU SHOULD SEE YOUR NEW CHARACTER&lt;br /&gt;
&lt;br /&gt;
IF SOMETHING HAPPENED QUIT AND DOUBLE CHECK YOUR STEPS&lt;br /&gt;
&lt;br /&gt;
Make sure you did not miss ANY &amp;quot;;&amp;quot; or &amp;quot;{ }&amp;quot; as a single one of these missed can destroy the game.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
MY SPELLS ARE NOT SHOWING UP IN THE CREATION SCREEN, HELP!!&lt;br /&gt;
&lt;br /&gt;
* You may not have sort your ability file back to ID.  It has to be sorted by ID in order to show up.&lt;br /&gt;
* You may not have assigned the new abilities to your new class &amp;quot;5000&amp;quot; in the prereqability column&lt;br /&gt;
&lt;br /&gt;
MY MODEL IS NOT SHOWING UP WHEN I GOTO MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
* It is very likely you did not EXPORT your default_shaman.utc model&lt;br /&gt;
* Double check the background file to make sure you are using default_shaman.utc for the template&lt;br /&gt;
* Try rebooting your computer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Character generation]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10652</id>
		<title>Add A New Class Tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Add_A_New_Class_Tutorial&amp;diff=10652"/>
				<updated>2010-01-31T19:33:24Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Open up abi_base.xls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editing the 2das ==&lt;br /&gt;
You will need to edit the following 2DA's.&lt;br /&gt;
*[[2da_base.xls]]&lt;br /&gt;
*[[abi_base.xls]]&lt;br /&gt;
*[[ALclassname_default.xls]]  (ex  ALshaman_default.xls) Copy from ALWizard_default.xls&lt;br /&gt;
*[[background.xls]]&lt;br /&gt;
*[[cla_base.xls]]&lt;br /&gt;
*[[guitypes.xls]]&lt;br /&gt;
&lt;br /&gt;
=== Open up 2da_base.xls ===&lt;br /&gt;
&lt;br /&gt;
Add the following to the end of M2DA_base TAB&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ID above 100000  ||ALShaman_default  ||ALShaman_default &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up guitypes.xls ===&lt;br /&gt;
At bottom of list paste this:&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!ID||	Label||		StringId||	Ability||	ProgressBar||	CombatTraining||	SpecialGraphic||	TintColor||	Orphanage||	Flags||	BlendTree&lt;br /&gt;
|-&lt;br /&gt;
|500||	Class: Shaman||	8000000||		5000||	0||		0||		1||		0x9B0F00||	0||		0||	****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up CLA_base.xls ===&lt;br /&gt;
Paste this AFTER line 3: (Move all down 1)&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|4	||Shaman	||8000000	||8000001	||****	||8000002	||8000003	||classico_spirithealer	||CLASS_Shaman	||2	||95	||1	||100	||5	||2	||2	||2	||2	||2	||0	||0	||0	||55	||50	||1	||5	||1	||3	||0.3	||4035	||****	||1	||Shaman	||****&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up background.xls ===&lt;br /&gt;
On backgrounds tab:  You need to insert a section between mage and skill 1, see screenshot&lt;br /&gt;
&lt;br /&gt;
[[Image:Background.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On background_defaults there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut bgdef.jpg]]&lt;br /&gt;
&lt;br /&gt;
How the ID's work, 1 = dwarf, 4 = shaman, 5 = noble, the rest of the pattern is easy.&lt;br /&gt;
&lt;br /&gt;
On lines 12,15,17,19 you need to add these in.  What I recommend is just copying these lines&lt;br /&gt;
&lt;br /&gt;
:10 ==&amp;gt; 12&lt;br /&gt;
:13 ==&amp;gt; 15&lt;br /&gt;
:16 ==&amp;gt; 17&lt;br /&gt;
:18 ==&amp;gt; 19&lt;br /&gt;
&lt;br /&gt;
The template string is the default_shaman.utc you will need to create in the toolset later on for these to have a base model&lt;br /&gt;
The Ability is the starting ability tied to this class, in my case it just references a different one then what you will have&lt;br /&gt;
&lt;br /&gt;
On chargen_preload there are several section you need to note here regarding the screenshot:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut chardef.jpg]]&lt;br /&gt;
&lt;br /&gt;
These ID's must match what is on the background_defaults otherwise the game WILL crash.&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file&lt;br /&gt;
&lt;br /&gt;
=== Open up abi_base.xls ===&lt;br /&gt;
&lt;br /&gt;
in the ABI_Base tab add the following to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
There are several columns that very are important&lt;br /&gt;
&lt;br /&gt;
abilitytype - define what type of ability. melee, spell, skill etc..---&amp;gt; links with abilitytype.xls&lt;br /&gt;
&lt;br /&gt;
prereqability - defines what is needed to have this ability.  To add a new class these need to be changed on existing classes.&lt;br /&gt;
&lt;br /&gt;
guitypes - referenced what class this links too ---&amp;gt; links with guitypes.xls&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AFTER LINE 119 ==&amp;gt; 4034 HIDDEN_DOG insert a new row and put in the following&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|5000||HIDDEN_SHAMAN||0||0||380405||330716||hidden||2||0||0||0||0||0||0||0||1||0||0||12||0||0||0||0||3||1.5||0||0||0||0||0||0||0||0||0||0||0||0||0||0||1||7||0||2||33||0||0||0||0&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Add the bottom paste these&lt;br /&gt;
&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black; width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|300000||HEROIC_OFFENSE2||380003	||379523	||367458	||379231	||spl_ico_heroic_offense	||2	||1	||0	||0	||0	||20	||0	||5000	||0	||0	||0	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90215		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90109	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300001	||HEROIC_AURA2	||380000	||379520	||367458	||379214	||spl_ico_heroic_aura	||2	||1	||0	||0	||0	||30	||0	||300000	||0	||4	||15	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||5	||90213		||244	||247	||0	||0	||0	||0	||0	||0	||0	||0		||0	||90110	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300002	||HEROIC_DEFENSE2	||380001	||379521	||367458	||379256	||spl_ico_heroic_defense	||2	||1	||0	||0	||0	||40	||0	||300001	||0	||4	||20	||500	||3	||0	||3	||1	||4	||spell_singletarget.ncs	||10	||90214		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90111	||128	||1	||7	||0	||2	||33	||0	||0	||0	||0&lt;br /&gt;
|-&lt;br /&gt;
| 300003	||HASTE2		||380005	||379525	||398957	||379229	||spl_ico_agility		||2	||0	||0	||0	||0	||0	||60	||300002	||0	||4	||30	||500	||1	||1	||18	||1	||2	||spell_modal.ncs	||30		||90216		||244	||247	||0	||0	||2	||0	||0	||0	||0	||0		||0	||90112	||192	||1	||7	||0	||2	||33	||0	||0	||0	||10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
NOW HERE IS THE TRICKY PART, MAKE SURE YOU DO THIS RIGHT OR KISS YOUR MODULE GOODBYE&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN S (guitypes)  Now they should all be sorted by guitype&lt;br /&gt;
&lt;br /&gt;
Now we need to seperate the mage spells from our new shaman spells.&lt;br /&gt;
&lt;br /&gt;
For guitype spells 1-4, you need to look at the prereqability section for these spells, for those that have 0, replace with 4023&lt;br /&gt;
This will make these appear only on the mage from now on. (Which means we need to make seperate skills for our new class)&lt;br /&gt;
Ok this will now prevent duplicate of skills&lt;br /&gt;
&lt;br /&gt;
HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)&lt;br /&gt;
&lt;br /&gt;
NOW GOTO DATA --&amp;gt; SORT BY COLUMN A (ID)  Now we are back to normal&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Now goto passive_abilities&lt;br /&gt;
&lt;br /&gt;
Paste the following at the bottom of the list&lt;br /&gt;
{| rules=&amp;quot;all&amp;quot; cellpadding=&amp;quot;2&amp;quot;  style=&amp;quot;border: 2pt solid black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|9000||HIDDEN_SHAMAN||1||2||4||2||6||1||str +2,mag +2,con +1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now SAVE your file :)&lt;br /&gt;
&lt;br /&gt;
=== Open up ALShaman_default.xls ===&lt;br /&gt;
&lt;br /&gt;
Should look like this&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut alshaman.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Converting the files from 2DA to GDA ==&lt;br /&gt;
&lt;br /&gt;
Create a directory called '''2DA''' on C:, inside that dir create one called override.&lt;br /&gt;
&lt;br /&gt;
In your C:\2da put the following files:&lt;br /&gt;
&lt;br /&gt;
* [[2da_base.xls]]&lt;br /&gt;
* [[abi_base.xls]]&lt;br /&gt;
* [[background.xls]]&lt;br /&gt;
* [[cla_base.xls]]&lt;br /&gt;
* [[guitypes.xls]]&lt;br /&gt;
* [[ALShaman_default.xls]]&lt;br /&gt;
&lt;br /&gt;
Also: ExcelProcessor.exe from the tool converter in your toolset section.&lt;br /&gt;
&lt;br /&gt;
Next you need to make a batch file to run to convert these.&lt;br /&gt;
Simply open notepad, copy and paste below and save as convert.bat&lt;br /&gt;
&lt;br /&gt;
:C:\2DA\ExcelProcessor.exe 2DA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe background.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe CLA_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ALShaman_Default.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe guitypes.xls -outdir=C:\2DA\override\ &lt;br /&gt;
:C:\2DA\ExcelProcessor.exe ABI_base.xls -outdir=C:\2DA\override\ &lt;br /&gt;
&lt;br /&gt;
NOTE: YOU MAY NEED TO &amp;quot;RUN AS ADMINISTRATOR&amp;quot; CONVERT.BAT IN VISTA / W7&lt;br /&gt;
&lt;br /&gt;
VOILA YOU NOW HAVE YOUR GDA FILES FOR THE MODULE&lt;br /&gt;
&lt;br /&gt;
== Creating a module ==&lt;br /&gt;
Now we begin editing inside the toolset&lt;br /&gt;
&lt;br /&gt;
Create a new module, similiar to the picture below&lt;br /&gt;
&lt;br /&gt;
'''MAKE SURE YOUR STRING SETS GO FROM IN BETWEEN 8,000,000 - 8,300,000 IF IT GOES ABOVE THAT RANGE THE STRINGS WILL NOT WORK.BIOWARE HAS ALREADY POSTED ABOUT THIS SQL PROBLEM'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut module1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After making it go back to the module screen and select heirarchy and make sure single player is checked&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut hier.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now that your module is created we need to add the appropriate GDA to the override section.&lt;br /&gt;
&lt;br /&gt;
look in name/mydocuments/bioware/dragonage/addins/modulename&lt;br /&gt;
&lt;br /&gt;
Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory&lt;br /&gt;
&lt;br /&gt;
== Editing the scripts== &lt;br /&gt;
You now need to edit some scripts.&lt;br /&gt;
&lt;br /&gt;
=== Edit the 2da_constants_h file ===&lt;br /&gt;
&lt;br /&gt;
find the 2da_constants_h file under Core scripts&lt;br /&gt;
&lt;br /&gt;
right click on 2DA_CONSTANTS_H, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the following sections and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_DUELIST = 4030;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_RANGER = 4029;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_REAVER = 4019;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_ROGUE = 4020;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHALE = 4033;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_TEMPLAR = 4021;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_WARRIOR = 4022;&lt;br /&gt;
const int ABILITY_TALENT_HIDDEN_SHAMAN = 5000;&lt;br /&gt;
const int ABILITY_TALENT_HURLOCK_PROPERTIES = 90080;&lt;br /&gt;
const int ABILITY_TALENT_INDOMITABLE = 28;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//Class Constants&lt;br /&gt;
const int CLASS_WARRIOR = 1;&lt;br /&gt;
const int CLASS_WIZARD = 2;&lt;br /&gt;
const int CLASS_ROGUE = 3;&lt;br /&gt;
const int CLASS_SHAMAN = 4;&lt;br /&gt;
const int CLASS_SHAPESHIFTER = 5;&lt;br /&gt;
const int CLASS_SPIRITHEALER = 6;&lt;br /&gt;
const int CLASS_CHAMPION = 7;&lt;br /&gt;
const int CLASS_TEMPLAR = 8;&lt;br /&gt;
const int CLASS_BERSERKER = 9;&lt;br /&gt;
const int CLASS_REAVER = 10;&lt;br /&gt;
const int CLASS_ARCANE_WARRIOR = 11;&lt;br /&gt;
const int CLASS_ASSASSIN = 12;&lt;br /&gt;
const int CLASS_BLOOD_MAGE = 13;&lt;br /&gt;
const int CLASS_BARD = 14;&lt;br /&gt;
const int CLASS_RANGER = 15;&lt;br /&gt;
const int CLASS_DUELIST = 16;&lt;br /&gt;
const int CLASS_SHALE = 17;&lt;br /&gt;
const int CLASS_DOG = 18;&lt;br /&gt;
const int CLASS_MONSTER_ANIMAL = 19;&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edit the sys_chargen_h file ===&lt;br /&gt;
Find the sys_chargen_h file under _Systems ==&amp;gt; _Includes&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen_h, select CHECK OUT&lt;br /&gt;
&lt;br /&gt;
Go down to the starting skills section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    // Starting Skills&lt;br /&gt;
    // -------------------------------------------------------------------------&lt;br /&gt;
    if (nClass == CLASS_WARRIOR)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, 100100);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_ROGUE)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_POISON_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_WIZARD)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
    else if (nClass == CLASS_SHAMAN)&lt;br /&gt;
    {&lt;br /&gt;
        _AddAbility(oChar, ABILITY_SKILL_HERBALISM_1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next goto starting ability&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        // Load the starting ability for the background&lt;br /&gt;
        // ---------------------------------------------------------------------&lt;br /&gt;
        int nAbility = GetM2DAInt(TABLE_STARTING_EQUIPMENT,&amp;quot;Ability&amp;quot;, nIdx);&lt;br /&gt;
        _AddAbility(oCreature, nAbility);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        string sTemplate = &amp;quot;default_player.utc&amp;quot;;&lt;br /&gt;
        switch (nClass)&lt;br /&gt;
        {&lt;br /&gt;
            case CLASS_WARRIOR: sTemplate = &amp;quot;default_warrior.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_ROGUE:   sTemplate = &amp;quot;default_rogue.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_WIZARD:  sTemplate = &amp;quot;default_wizard.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case CLASS_SHAMAN:  sTemplate = &amp;quot;default_shaman.utc&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        LoadItemsFromTemplate(oCreature, sTemplate, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Edit the sys_chargen file ===&lt;br /&gt;
Find the sys_chargen ==&amp;gt; under _Systems&lt;br /&gt;
&lt;br /&gt;
right click on sys_chargen, select Duplicate; name the file something like wd_sys_chargen.&lt;br /&gt;
&lt;br /&gt;
Change this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
const int MAX_CLASS_INDEX = 4; // Last index of available base classes in cla_base.&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
This value does not have to be limited to the minimum number of base classes in the file; it simply has to be higher than the default value.&lt;br /&gt;
&lt;br /&gt;
Go down to the special handling section and edit it like below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// special handling for aluvian&lt;br /&gt;
                if (nQuickStart == 0 )&lt;br /&gt;
                {&lt;br /&gt;
                    Log_Trace(LOG_CHANNEL_CHARACTER,&amp;quot;sys_chargen&amp;quot;,&amp;quot;Setting default values for player character&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                    int nRandClass = abs((GetLowResTimer()%3)+1);&lt;br /&gt;
&lt;br /&gt;
                    if(nRandClass == CLASS_ROGUE || nRandClass == CLASS_WARRIOR || nRandClass == CLASS_SHAMAN)&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_NOBLE );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_HUMAN_NOBLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
                    else // mage&lt;br /&gt;
                    {&lt;br /&gt;
                        _RunChargen(RACE_HUMAN, nRandClass, oChar, BACKGROUND_MAGI );&lt;br /&gt;
                        WR_SetPlotFlag(PLT_GEN00PT_BACKGROUNDS, GEN_BACK_CIRCLE, TRUE);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                    Chargen_SetNumTactics(oChar);&lt;br /&gt;
                    SetCanLevelUp(oChar,Chargen_HasPointsToSpend(oChar));&lt;br /&gt;
&lt;br /&gt;
                    SendEventModuleChargenDone(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
next go down to the tactics sections and add the following:&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                // associate some tactics preset table&lt;br /&gt;
                int nPresetTable;&lt;br /&gt;
                if(GetCreatureCoreClass(oChar) == CLASS_WARRIOR)&lt;br /&gt;
                    nPresetTable = 1; // tank&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_ROGUE)&lt;br /&gt;
                    nPresetTable = 2; // damage dealer&lt;br /&gt;
                else if(GetCreatureCoreClass(oChar) == CLASS_SHAMAN)&lt;br /&gt;
                    nPresetTable = 1; // damage dealer&lt;br /&gt;
                else // mage&lt;br /&gt;
                    nPresetTable = 5; // nuker&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create the module script ===&lt;br /&gt;
&lt;br /&gt;
Create a new script and give it a descriptive name like &amp;quot;loadscript&amp;quot;. This script will intercept the Chargen events and redirect them to the custom version of the sys_chargen script you just created. It can also be used to intercept other events if you want to alter other things or add items to a newly created character's inventory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev   = GetCurrentEvent();&lt;br /&gt;
    int nEvent = GetEventType(ev);&lt;br /&gt;
    Log_Events(&amp;quot;&amp;quot;, ev);&lt;br /&gt;
    switch (nEvent)&lt;br /&gt;
    {&lt;br /&gt;
        &lt;br /&gt;
        default:&lt;br /&gt;
        {&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            // Handle character generation events sent by the engine.&lt;br /&gt;
            // -----------------------------------------------------------------&lt;br /&gt;
            if ((nEvent &amp;gt;= EVENT_TYPE_CHARGEN_START &amp;amp;&amp;amp; nEvent &amp;lt;= EVENT_TYPE_CHARGEN_END) || nEvent == EVENT_TYPE_PLAYERLEVELUP )&lt;br /&gt;
            {&lt;br /&gt;
                HandleEvent(ev, R&amp;quot;ld_sys_chargen.ncs&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                Log_Trace(LOG_CHANNEL_EVENTS, GetCurrentScriptName(), Log_GetEventNameById(nEvent) + &amp;quot; (&amp;quot; + ToString(nEvent) + &amp;quot;) *** Unhandled event ***&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Afterwards on top select SAVE then CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Creating the UTC template file==&lt;br /&gt;
Back in the toolset we need to do the following:&lt;br /&gt;
&lt;br /&gt;
Click on the &amp;quot;creature tab&amp;quot; (red head icon)&lt;br /&gt;
&lt;br /&gt;
Right click on default_mage ==&amp;gt; duplicate&lt;br /&gt;
Do like the following:&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now we need to edit the values and give them some armor and weapons, like so:&lt;br /&gt;
&lt;br /&gt;
Class: Shaman (from dropdown)&lt;br /&gt;
Name: Default Male Shaman&lt;br /&gt;
&lt;br /&gt;
[[Image:Class tut dfs2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now at the top and click SAVE ==&amp;gt; CHECK IN&lt;br /&gt;
&lt;br /&gt;
Now at the top and click &amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Creating some strings ==&lt;br /&gt;
&lt;br /&gt;
Start the String editor and right click and insert.&lt;br /&gt;
&lt;br /&gt;
You will be setting up like this &lt;br /&gt;
&lt;br /&gt;
:Table = module talk base&lt;br /&gt;
:Owner = module name&lt;br /&gt;
:TYPE = GUI&lt;br /&gt;
&lt;br /&gt;
:8000000 - Shaman&lt;br /&gt;
:8000001 - Shamans&lt;br /&gt;
:8000002 - Shamans commune with spirits to get thier other worldly powers.&lt;br /&gt;
:8000004 - Shaman&lt;br /&gt;
:8000005 - Shaman Male Name&lt;br /&gt;
:8000006 - Shaman Female Name&lt;br /&gt;
&lt;br /&gt;
When all is said close string editor&lt;br /&gt;
&lt;br /&gt;
== Putting it all together ==&lt;br /&gt;
&lt;br /&gt;
Up on top ON THE EXPORT TAB &lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT WITHOUT DEPENDENT RESOURCES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MODULE XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GENERATE MANIFEST XML&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;EXPORT TALK TABLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
DON'T SKIP THIS PART&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Delete all files in the name/mydocuments/bioware/dragonage/packages/core/override/toolset; these are not needed.&lt;br /&gt;
&lt;br /&gt;
== Trying it out ==&lt;br /&gt;
&lt;br /&gt;
Start up your game (It may take a min) and start a new game.&lt;br /&gt;
&lt;br /&gt;
*WARNING* IF ANYTHING HAS GONE WRONG HERE YOUR GAME WILL BE SEVERELY DAMAGED&lt;br /&gt;
&lt;br /&gt;
Select MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
YOU SHOULD SEE YOUR NEW CHARACTER&lt;br /&gt;
&lt;br /&gt;
IF SOMETHING HAPPENED QUIT AND DOUBLE CHECK YOUR STEPS&lt;br /&gt;
&lt;br /&gt;
Make sure you did not miss ANY &amp;quot;;&amp;quot; or &amp;quot;{ }&amp;quot; as a single one of these missed can destroy the game.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
MY SPELLS ARE NOT SHOWING UP IN THE CREATION SCREEN, HELP!!&lt;br /&gt;
&lt;br /&gt;
* You may not have sort your ability file back to ID.  It has to be sorted by ID in order to show up.&lt;br /&gt;
* You may not have assigned the new abilities to your new class &amp;quot;5000&amp;quot; in the prereqability column&lt;br /&gt;
&lt;br /&gt;
MY MODEL IS NOT SHOWING UP WHEN I GOTO MALE ==&amp;gt; HUMAN ==&amp;gt; SHAMAN ==&amp;gt; MAGI&lt;br /&gt;
&lt;br /&gt;
* It is very likely you did not EXPORT your default_shaman.utc model&lt;br /&gt;
* Double check the background file to make sure you are using default_shaman.utc for the template&lt;br /&gt;
* Try rebooting your computer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Character generation]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Head_morph_tutorial&amp;diff=10645</id>
		<title>Head morph tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Head_morph_tutorial&amp;diff=10645"/>
				<updated>2010-01-31T17:29:44Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After browsing through about 20 some pages of the forums, I have noticed that, due to the fact that the search is down, people have been posting a lot of the same questions. I do not have the answer to all of these questions, but I will share what I have done so far. Mind you, it's not alot, but hopefully it will help some other people with their questions. Mind you, this is how I do it. My girlfriend and I will add to this as we figure things out/have the time.&lt;br /&gt;
&lt;br /&gt;
Alright, first thing is first. Most people are saying they think their character's faces are hideous and wants to change them, but aren't sure how. Here's how my girlfriend found our how to do it.&lt;br /&gt;
== EDITING YOUR CHARACTER'S HEAD/FACE IN THE TOOLSET ==&lt;br /&gt;
You Need to make sure that you have played long enough to save your game and that you have picked everything you want the character to have/be (class, race, gender, voice, etc.).&lt;br /&gt;
&lt;br /&gt;
1. Open your toolset&lt;br /&gt;
&lt;br /&gt;
2. Go to File -&amp;gt;New-&amp;gt;Morph&lt;br /&gt;
&lt;br /&gt;
[[File:Step_2.jpg|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Choose a base to work with (It must be that of the Gender and Race you picked, althought this is not for certain as I have not messed around with putting a female dwarfs head on a human male or whatever. feel free to try at your own risk) Hm = Human Male, HF = Human Female etc etc&lt;br /&gt;
&lt;br /&gt;
[[File:Step_3.jpg|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
4. At this point, messing with the head is up to how you want it to look. You can add facial hair to females and makeup to males.&lt;br /&gt;
Something that took use forever to figure out is how to change the angle of the head. &lt;br /&gt;
&lt;br /&gt;
[[File:Step_4.jpg|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As marked in red on the image above, you will see that the Object Orientation is set to 0,0,0&lt;br /&gt;
&lt;br /&gt;
So this is how it works:&lt;br /&gt;
:Front View of face (default) = 0,0,0&lt;br /&gt;
:Right Side view of face = 75,0,0&lt;br /&gt;
:Back of Head view = 180,0,0&lt;br /&gt;
:Left Side view of Face = 280,0,0&lt;br /&gt;
&lt;br /&gt;
Also, if you don't feel like typing in numbers, holding down CTRL + the right click button (on your mouse) and moving forward/backwards will zoom in and out. Moving it left to right will turn the camera around the head. CTRL + the left click button seems to give your free movement around the entire plane.&lt;br /&gt;
&lt;br /&gt;
5. Once you're finished Save it. However, try not to name it something generic. Once it has been saved, right click on the face and select &amp;quot;Post To Local&amp;quot;.&lt;br /&gt;
== changing a savegame file in the toolset ==&lt;br /&gt;
6. Remember how I told you to play through the game first to save it when you first got the chance to? Well, now we're going into the save information of that file and putting your face you made in the toolset on the character. Close the face you had been working on. I AM DOING THIS FOR MY CHARACTER FLAEMARU SO ANYWHERE YOU SEE HER NAME, JUST SUBTITUTE IT WITH THE NAME OF THE CHARACTER WHOSE FACE YOU'RE CHANGING. Then, go to File-&amp;gt;Open File-&amp;gt;owner-&amp;gt;documents-&amp;gt;bioware-&amp;gt;dragonage-&amp;gt;characters-&amp;gt;Flaemaru-&amp;gt;Saves(Since I know how to do this I only has one save for her, but pick the save you want to change)-&amp;gt;Slot_1-&amp;gt;Flaemaru.das&lt;br /&gt;
&lt;br /&gt;
7. Now this part can be a bit confusing or overwhelming if you're not sure what you're doing. But don't fret, I'll walk you though it.&lt;br /&gt;
&lt;br /&gt;
At this point your screen should look like this: &lt;br /&gt;
[[File:Step_7a.jpg|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
Now, go to SAVEGAME_PLAYERCHAR-&amp;gt;SAVEGAME_PLAYERCHAR_CHAR-&amp;gt;SAVEGAME_APPEARANCE-&amp;gt;SAVEGAME_APPEARANCE_MORPH_NAME&lt;br /&gt;
&lt;br /&gt;
Confused? That's okay.&lt;br /&gt;
Maybe this will help: WARNING LARGE IMAGE&lt;br /&gt;
[[File:Step7b.jpg|thumb|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is circled in red is what you need to click on to Navigate to where you need to go. The thing circled in light blue is area you need to type in to change the face. IT MUST HAVE THE PROPER PREFIX OF RACE/GENDER AND MUST CONTAIN THE UNDERSCORE&lt;br /&gt;
:hm_ = human male&lt;br /&gt;
:hf_ = human female&lt;br /&gt;
:em_ = elf male&lt;br /&gt;
:ef_ = elf female&lt;br /&gt;
:dm_ = dwarf male&lt;br /&gt;
:df_= dwarf female&lt;br /&gt;
&lt;br /&gt;
Flaemaru is an elf female thus in the blue circled area I type ef_Flaemaru        &lt;br /&gt;
So if your character's name is Joe and Joe is a Human male and you saved his face that you morphed as 'Joe' then you would type hm_Joe instead.&lt;br /&gt;
&lt;br /&gt;
8. Now before you get all excited, at this point and after, people start to have problems and errors. Like, starting a New Game. When I had first done this I could not start a new game. It kept giving me the &amp;quot;Unable to Load Module&amp;quot; error whenever I tried. When I loaded a saved game, I could not level up, the AI was messed up as none (even&lt;br /&gt;
the main character) would not fight enemies. Fear not if this happens however. After 4 hours of serching through the forums here, I found an topic with multiple solutions which can be found here: [http://social.bioware.com/forum/1/topic/8/index/134178]. &lt;br /&gt;
&lt;br /&gt;
However, I have found that just going into owner-&amp;gt;documents-&amp;gt;Bioware-&amp;gt;Dragonage-&amp;gt;modules and&lt;br /&gt;
completely deleting the &amp;quot;Single Player&amp;quot; Folder always fixes my problem.&lt;br /&gt;
&lt;br /&gt;
9. Go load your game of the character whose face you changed. It should be changed to whatever you made in the morph (Althought I'm told some of the 'debug' features don't work sometimes; I have not encountered this problem). Save your game again, and enjoy! If some of the images are too small or you have any questions, feel free to ask my girlfriend and I would be happy to try and help.&lt;br /&gt;
&lt;br /&gt;
How Flaemaru looked before Head Morph (generic female Dalish and generic female Dalish name is she had already saved over it):&lt;br /&gt;
[[File:StupidFlaemaru.png|thumb|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How Flaemaru looked after head morph:&lt;br /&gt;
[[File:Flaemaru.png|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
== '''SPOILER WARNING''' ==&lt;br /&gt;
Just so everyone knows who uses this tutorial, there is a part in the game where you (the Main Character) enters 'The Fade'. During this part you receive various (four) transformations to help your friends and defeat the demons within. Changing the head morph of your character will cause these transformations to be deformed/glitched to varying degrees. These transformations still function however (atleast they should), so most do not consider it a big deal. I haven't tried this, but I'm told that during this part (if it bothers you that much), you can just go in and delete the head morph from the character and the Transformations will be fine afterwards. As I've said, I've not tried it since the deformation didn't bother me, but it makes sense.&lt;br /&gt;
&lt;br /&gt;
--[[User:RavenNightsight|RavenNightsight]] 04:23, 26 November 2009 (UTC)This was written by my girlfriend Flaemaru Moonwhisper&lt;br /&gt;
This tutorial, among others that will also eventually be posted here by me, can be found here: http://social.bioware.com/forum/1/topic/8/index/176308/&lt;br /&gt;
[[category:tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Character_generation&amp;diff=10303</id>
		<title>Character generation</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Character_generation&amp;diff=10303"/>
				<updated>2010-01-26T02:26:54Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Skipping Character Generation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[module]] with no event script will start the player without going through character generation, which will leave the player with an almost unusable character to play with. To send the player through a basic character generation UI use the below script as the module event script. This is done by first creating the below script, and saving it, then opening your module properties (file &amp;gt; manage modules &amp;gt; properties), and changing the &amp;quot;script&amp;quot; field to be whatever you named your script (hit the ellipsis and browse for it).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;global_objects_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            // preloads resources needed for character generation&lt;br /&gt;
            PreloadCharGen(); &lt;br /&gt;
&lt;br /&gt;
            // initiates character generation&lt;br /&gt;
            StartCharGen(GetHero(),0); &lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
==Skipping Character Generation==&lt;br /&gt;
A basic script that skips the character generation interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot; &lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_MALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero, CLASS_WARRIOR);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            // give the player some equipment&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_bot_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_glv_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_shd_sml_wdn.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_wep_mel_lsw_lsw.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another alternative is to create a template creature with the appropriate starting equipment and then call [[LoadItemsFromTemplate]] to copy it to the player:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero, CLASS_WARRIOR);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            // give the player some equipment&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;gcd_hero.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that, by skipping the internal character generation process that way, the character will have the correct stats but will be featureless and bald. To change that Bioware is working on an additional function to change the head morph via script.&lt;br /&gt;
&lt;br /&gt;
==Initial levelup or other modifications==&lt;br /&gt;
If you want to increase the starting level a basic script can be created by merging one of the above with the following template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// [additional includes goes here]&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 2;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // [chargen code goes here]&lt;br /&gt;
&lt;br /&gt;
            // auto-level the player to level 10&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more sophisticated script could include other set-up code, for example triggering an introductory cinematic to inform the player of the game's plot.&lt;br /&gt;
&lt;br /&gt;
[[Category:Character generation]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Character_generation&amp;diff=10298</id>
		<title>Character generation</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Character_generation&amp;diff=10298"/>
				<updated>2010-01-26T02:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[module]] with no event script will start the player without going through character generation, which will leave the player with an almost unusable character to play with. To send the player through a basic character generation UI use the below script as the module event script. This is done by first creating the below script, and saving it, then opening your module properties (file &amp;gt; manage modules &amp;gt; properties), and changing the &amp;quot;script&amp;quot; field to be whatever you named your script (hit the ellipsis and browse for it).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;global_objects_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            // preloads resources needed for character generation&lt;br /&gt;
            PreloadCharGen(); &lt;br /&gt;
&lt;br /&gt;
            // initiates character generation&lt;br /&gt;
            StartCharGen(GetHero(),0); &lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
==Skipping Character Generation==&lt;br /&gt;
A basic script that skips the character generation interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot; &lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_MALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero, CLASS_WARRIOR);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            // give the player some equipment&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_bot_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_glv_lgt_rlr.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_shd_sml_wdn.uti&amp;quot;));&lt;br /&gt;
            EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_wep_mel_lsw_lsw.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another alternative is to create a template creature with the appropriate starting equipment and then call [[LoadItemsFromTemplate]] to copy it to the player:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero, CLASS_WARRIOR);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            // give the player some equipment&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;gcd_hero.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
==Initial levelup or other modifications==&lt;br /&gt;
If you want to increase the starting level a basic script can be created by merging one of the above with the following template:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
// [additional includes goes here]&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 2;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    // keep track of whether the event has been handled&lt;br /&gt;
    int nEventHandled = FALSE; &lt;br /&gt;
&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    switch(GetEventType(ev))&lt;br /&gt;
    {&lt;br /&gt;
         case EVENT_TYPE_MODULE_START:&lt;br /&gt;
         {&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // [chargen code goes here]&lt;br /&gt;
&lt;br /&gt;
            // auto-level the player to level 10&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if this event wasn't handled by this script fall through to the core script&lt;br /&gt;
    if(!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more sophisticated script could include other set-up code, for example triggering an introductory cinematic to inform the player of the game's plot.&lt;br /&gt;
&lt;br /&gt;
[[Category:Character generation]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Social_site_suggestions&amp;diff=10295</id>
		<title>Social site suggestions</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Social_site_suggestions&amp;diff=10295"/>
				<updated>2010-01-26T02:08:22Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Duplicate forum navigation tree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a collaborative repository for suggestions on how to improve the social site. Create a new section for each specific suggestion or related group of suggestions. Feel free to discuss them to some extent on this page, but bear in mind that discussions should be refactored every once in a while into a summary of the idea - the purpose of this page is to consolidate discussion into a more easily-referenced form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Project &amp;quot;progress&amp;quot; status ===&lt;br /&gt;
&lt;br /&gt;
* Too hard to tell if a project is done or in progress or abandoned.&lt;br /&gt;
* There is no filter option or way to mark your project as completed and ready for use. Would be nice if projects could be given a completion attribute (i.e. planning, building, alpha testing, beta testing, released, etc).&lt;br /&gt;
* Abandoned projects clutter up the list enormously. Projects should be automatically disabled or flagged if there is no activity in them for some threshold criteria length of time and they remain incomplete/never started.&lt;br /&gt;
&lt;br /&gt;
=== Other project filter options ===&lt;br /&gt;
&lt;br /&gt;
* Advanced Filter Options button. Currently the drop-down boxes for filtering are all independent of one another. If you want to browse in the groups there are 4 lists. Would be nice to have an advanced filtering options button that will pop up a little dialog box where you can make all your selections at once and then say GO!&lt;br /&gt;
** Would be nice to be able to filter out completely all those projects with fewer than X members.&lt;br /&gt;
** Would be nice to be able to filter out completely all those projects that haven't had any activity at all for X days.&lt;br /&gt;
** I would also like to see the author of the project without opening it up.&lt;br /&gt;
&lt;br /&gt;
* When you click on projects the list can only be viewed 10 items at a time, which is way to few.&lt;br /&gt;
&lt;br /&gt;
* Redundant filters: Some of the drop down options are not something anybody would be interested in listing them by or are duplicated by others (e.g. popularity? most views? what is the difference between those two?). Ordering by most views is unlikely to generate a significantly different ordering than sorting by last updated or popularity. All the older projects are likely to have more views than the any of the newer ones, so ordering by create date isn't going to be significantly different than ordering by most views. This isn't a major problem, frankly more options are better than fewer, but the ones you really need (which projects are &amp;quot;the best&amp;quot; and which are &amp;quot;not worth the effort&amp;quot;, which are done which are still in progress) aren't there.&lt;br /&gt;
&lt;br /&gt;
=== Rating projects ===&lt;br /&gt;
&lt;br /&gt;
==== Problems with the current rating system ====&lt;br /&gt;
&lt;br /&gt;
* The modules that have been around the longest will have the most &amp;quot;+&amp;quot; while a brand new awesome module may never get noticed. This encourages builders to do a rush job just so they can be one of the first ones out there. Perhaps a weighted rating system, so that a very large/old mod can sit up their with a brand new smaller mod of equal caliber that just hasn't garnered the high amount of ratings yet.&lt;br /&gt;
&lt;br /&gt;
* Provide a checkbox on a project that a host can check when he/she considers the content &amp;quot;done&amp;quot; and ready to be ranked with the others. This would allow you to post work-in-progress downloads to gather feedback, without the concern of getting low ranks because it is not done yet.&lt;br /&gt;
&lt;br /&gt;
* Once you have given a project a &amp;quot;+&amp;quot;, there is no way to remove that again, even if you discover later that the project didn't deserve it at all.&lt;br /&gt;
&lt;br /&gt;
==== Variation and changes to the current rating system ====&lt;br /&gt;
&lt;br /&gt;
* Have two ways to rate projects -- one similar to the NWVault's rating system (is it a good idea, do people like it, etc), and another where people could rate the &amp;quot;buggyness&amp;quot; or &amp;quot;stability&amp;quot; or &amp;quot;ease of setup&amp;quot; type things about the project.?&lt;br /&gt;
&lt;br /&gt;
* Or perhaps just a screen with two or three categories to rate that get computed into some overall rating (e.g. Design/Idea 1-10, Stability/Ease of Use 1-10, Something Else 1-10). For me it would be far more useful to be able to filter and sort on these kinds of peer judged criteria than by &amp;quot;most views&amp;quot; or a generic &amp;quot;popularity&amp;quot; with unclear basis.&lt;br /&gt;
&lt;br /&gt;
* Maybe projects need a sex rating system similar to what hollywood does (e.g. G, PG, PG13...XXX).&lt;br /&gt;
&lt;br /&gt;
* NWVault has a rating system where you give a 0-10 score, but the rating is hidden until a specific minimum number of people have rated the project.  The average number may be meaningless - in NWNvault, an absurdly high percentage of modules have a rating above 9.0, but still the relative ranking is pretty good - a module with a high score and a high download count is probably worth looking at..&lt;br /&gt;
&lt;br /&gt;
==== Download counting ====&lt;br /&gt;
&lt;br /&gt;
You cannot update a file without losing the download count - it gets reset back to zero.  This would need to be fixed - the ideal solution would be to count the number of people downloading files from the project, but at the very least allow people to update files without losing the download count.  As it is, the download count is pointless and actually discourages builders from updating their files.&lt;br /&gt;
&lt;br /&gt;
=== Project classification ===&lt;br /&gt;
&lt;br /&gt;
* If a project got incorrectly classified originally, or if a more appropriate category is added later, there is no way to re-classify the project. Allow module owners to change the category of their projects.&lt;br /&gt;
&lt;br /&gt;
* The list of classifications is a mess, with builder-to-builder and builder-to-player categories mixed up.   Also, the categories are not well chosen -  the NWN modules category is just a pointless waste of space and several categories seem to be missing.&lt;br /&gt;
** Add more project categories (areas, scripts, machinima, tutorials, music, and so on)&lt;br /&gt;
** Separate builder-to-player content from builder-to-builder content. The biggest hurdle to mod creation is creating levels, so a level category would be particularly useful.&lt;br /&gt;
&lt;br /&gt;
Categories to potentially remove or change:&lt;br /&gt;
* NWN module&lt;br /&gt;
* It is a bit confusing to have &amp;quot;Dragon Age Addons&amp;quot; as well as &amp;quot;DA Gameplay mods&amp;quot;, as to most people those categories overlap.&lt;br /&gt;
&lt;br /&gt;
* Replace the one-big-list project page with a splash page with links to separate categories. Include an &amp;quot;all mods&amp;quot; button so we can still get to the huge list if we want to. And allow mods to be in more than one category.&lt;br /&gt;
&lt;br /&gt;
The list of project categories, in order, at the time of writing is&lt;br /&gt;
&lt;br /&gt;
* Dragon Age addons&lt;br /&gt;
* NWN Modules&lt;br /&gt;
* Builder - DA Mods&lt;br /&gt;
* Builder - DA Textures&lt;br /&gt;
* DA Playable Modules&lt;br /&gt;
* Builder - DA Utilities&lt;br /&gt;
* Builder - DA VO files&lt;br /&gt;
* DA Gameplay Mods&lt;br /&gt;
* DA Item/Armor/Weapon Mods&lt;br /&gt;
* DA Character Mods&lt;br /&gt;
&lt;br /&gt;
Whether or not these names are final, and even though it may not be all that relevant at the moment, I think the list should be sorted either by category or game, in alphabetical order, and that games only be represented in their short form. E.g.&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* Modules - DA(:O)&lt;br /&gt;
* Modules - NWN&lt;br /&gt;
* ...&lt;br /&gt;
* Textures - DA(:O)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* DA(:O) - Modules&lt;br /&gt;
* DA(:O) - Textures&lt;br /&gt;
* DA(:O) - Utilities (what are those anyway?)&lt;br /&gt;
* DA(:O) - VO Files&lt;br /&gt;
* ...&lt;br /&gt;
* NWN - Modules&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Alternative approach to classification: tags instead of categories ====&lt;br /&gt;
&lt;br /&gt;
Too many/too unspecific categories can cause similar projects are categorized differently because they fit under too many categories. I would suggest only a very general level of categorization and leave the specifics to tags. For instance, allow only a single category for game modules but let the author assign Gameplay, Item, and Character (and any other) tags as applicable.&lt;br /&gt;
&lt;br /&gt;
Two things that would definitely have to be considered for such a solution are:&lt;br /&gt;
&lt;br /&gt;
* if the tags are gathered in one global list, some tags will not make any sense whatsoever for certain projects. On the other hand, category exclusive lists seems like a lot of database bloat, and what do you do when the tag(s) you're looking for are not (yet) in the category your project is in?&lt;br /&gt;
&lt;br /&gt;
* if only the author can assign tags, risk of vandalism is greatly reduced, not to say eliminated. Meanwhile, allowing all users to add/remove tags to/from projects greatly increases the likelihood of the average project being more appropriately categorized (tagged).&lt;br /&gt;
&lt;br /&gt;
=== Subscribed projects view ===&lt;br /&gt;
&lt;br /&gt;
Under ''View'', add &amp;quot;Subscribed projects&amp;quot; - once I have found projects that are sufficiently interesting to want to follow them, I want to be able to find them again easily.  Not everyone knows of http://social.bioware.com/user_bw_projects_subscriptions.php&lt;br /&gt;
&lt;br /&gt;
=== Comments on projects ===&lt;br /&gt;
&lt;br /&gt;
The comments on Projects is horrible. If they can be made so you can have more than 10 per page and be able to jump to any page in the comments they'd be much better.&lt;br /&gt;
&lt;br /&gt;
=== Captchas in project forums ===&lt;br /&gt;
&lt;br /&gt;
Could we drop having to solve a captcha to post in a project forum? It ties into the problem above about the comment system, which is all the captcha system probably reinforces, and seems kind of pointless given how somebody could just spam up the comments anyway.&lt;br /&gt;
&lt;br /&gt;
=== Project comments -- show newest comments first ===&lt;br /&gt;
&lt;br /&gt;
Please show the latest comments FIRST!!&lt;br /&gt;
&lt;br /&gt;
Currently when you go to view comments under a project, it shows the very first comments.  It is supposed to show the newest comments first.  I have a project that has roughly 190 comments.  That means I have to click Next Page 19 times!!!&lt;br /&gt;
&lt;br /&gt;
=== Extend valid file types for projects ===&lt;br /&gt;
&lt;br /&gt;
I created (what is now) a DA Playable Modules project.  In addition to uploading the module (DAZIP) file I want to upload the builder-to-builder (DADBDATA) file and the art resources (in this case just LVL files) so that the community could see how we made the module. However the valid types for a DA Playable Modules project do not allow these file types.  I am loathe to made another project simply to accommodate these additional file types so I am requesting the project's file types be extended to allow all extensions associated with Dragon Age and ZIP/RAR in addition to the ones already allowed.&lt;br /&gt;
&lt;br /&gt;
See: [http://social.bioware.com/project/334/discussion/586/|Little Red Riding Hood Redux] for the example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Forums ==&lt;br /&gt;
&lt;br /&gt;
=== Jumping to specific posts off the Feed Page ===&lt;br /&gt;
&lt;br /&gt;
It would be nice to be able to jump directly to the post that was made by the person in my Network (friends, etc.) off the Feed Page.  Currently, you can jump to the thread, but when threads are lots of pages long, you often have to go hunting to see what your buddy wrote in that topic.  Having a way to jump directly to their specific post in the Topic would be very helpful.&lt;br /&gt;
&lt;br /&gt;
=== Contract/expand social site forums ===&lt;br /&gt;
&lt;br /&gt;
Can you guys add the contract/expand forum section like old BioBoard has? (with the keep settings for next time I open the browser too)  I don't want ME forum taking over the whole top of my monitor when I click ''Forums.'' Thank you! (not for now, at least... after I get it, perhaps!  =)&lt;br /&gt;
&lt;br /&gt;
=== Forum filtering ===&lt;br /&gt;
&lt;br /&gt;
Please can we have a way of filtering the ''Recent Forum Posts'' section on the home page. People still insist on putting spoilers in titles and being the &amp;quot;most recent&amp;quot; means they appear before a moderator has had chance to edit them.&lt;br /&gt;
&lt;br /&gt;
Related: can we have the ability to filter our recent activity by forum so that we can hide spoiler forums for the same reason (and to hide forums we aren't interested in).&lt;br /&gt;
&lt;br /&gt;
=== Jump directly to ''Your Post'' from the ''Your Posts'' list ===&lt;br /&gt;
&lt;br /&gt;
Heya, I love the ''Your posts'' thing, but is there a way to directly jump to my particular post in the listed topics? Instead of picking a page or going to last post, that is.&lt;br /&gt;
&lt;br /&gt;
=== Edit post =&amp;gt; redirect ===&lt;br /&gt;
&lt;br /&gt;
Editing a post takes you to the start of the thread. It should take you to the page in the thread your post is on, ideally the post itself.&lt;br /&gt;
&lt;br /&gt;
=== Recent post entry should go to first unread ===&lt;br /&gt;
&lt;br /&gt;
When there is support for it, assuming there will be, clicking an entry in the ''Recent Forum Posts'' list should take you to the first unread post in the thread. Without proper context the last post is useless anyway.&lt;br /&gt;
&lt;br /&gt;
=== Duplicate forum navigation tree ===&lt;br /&gt;
&lt;br /&gt;
Display the forum navigation tree (e.g. ''Forum Home » BioWare General » Social.bioware.com Site Help'') at the bottom of the forum as well. Currently it exists only at the top, and having to scroll all the way up after reaching the end of a page gets annoying.&lt;br /&gt;
===Better search function===&lt;br /&gt;
When search for a specific topic the search function only displays posts with the topic in the title but unfortunately most users use &amp;quot;have a problem&amp;quot;, &amp;quot;toolset issue&amp;quot; or &amp;quot;need help&amp;quot; as title for their post. The search function should look for the specified word inside the posts to give more results to have a look at.&lt;br /&gt;
Because of that limitation there are about 10 or even more topics about changing a head morph which essentially have the same questions with the same answers in them...&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Make use of ''title'' attributes ===&lt;br /&gt;
&lt;br /&gt;
For anchor and image tags especially, using the ''title'' tags would greatly increase the site's usability. Icons should have their meaning added, entries in the ''Recent Forum Posts'' list should have the full topic.&lt;br /&gt;
&lt;br /&gt;
=== Remove HTML support ===&lt;br /&gt;
&lt;br /&gt;
Comment boxes make mention of very limited HTML tag support. It should be removed in favour of BBCode. There's no point in having both and 1) BBCode is safer/smoother, and 2) likely much better known.&lt;br /&gt;
&lt;br /&gt;
=== Quote box layout ===&lt;br /&gt;
&lt;br /&gt;
The source doesn't stand apart from the quote and a timestamp would be greatly appreciated. Dotted and dashed borders also cause some wonkiness, as illustrated by [http://i36.tinypic.com/jgh2s9.jpg the picture].&lt;br /&gt;
&lt;br /&gt;
=== Navigating group discussion threads ===&lt;br /&gt;
&lt;br /&gt;
Clicking ''Quote'' currently jumps you directly to the reply form at the bottom of the page. This is extremely annoying if you haven't already read the entire page (in which case you would be at the reply form anyway) or need to quote multiple people. Although it serves as feedback to inform the user that the action was registered, and removing it could imply that it's broken, the break in flow there exists now is undesirable.&lt;br /&gt;
&lt;br /&gt;
Additionally, when going back and forth (previous/next page), contents of the reply form should be retained. This will make it easier to reply to multiple posts across several pages.&lt;br /&gt;
&lt;br /&gt;
=== Report XX to moderators ===&lt;br /&gt;
&lt;br /&gt;
Due primarily to timezone obstacles, reporting posts, users, etc. straight to moderators can be very inefficient, which in turn means it is not done as often as it perhaps should be. The ability to make a single report accessible by all moderators, such that it can be dealt with by anyone present, would be a huge boon.&lt;br /&gt;
&lt;br /&gt;
= Social Site Bug Reporting Area =&lt;br /&gt;
&lt;br /&gt;
Initially, let's use this little area on the suggestions page for bug reporting.  Ultimately, it would be good to have a separate page like the one that exists for the Toolset.&lt;br /&gt;
&lt;br /&gt;
== Project Discussions, Next Page &amp;gt;&amp;gt; Button leads to 404 Error ==&lt;br /&gt;
&lt;br /&gt;
There are two places to click &amp;quot;Next Page&amp;quot; in the project discussions area.  One at the top, and one at the bottom.  The one at the top works fine, but the one at the bottom leads to a 404 error page&lt;br /&gt;
&lt;br /&gt;
{{EV|214171|[[User:BryanDerksen|BryanDerksen]]}}&lt;br /&gt;
&lt;br /&gt;
== Private Group Posts showing to non-Group members in Personal Feed ==&lt;br /&gt;
&lt;br /&gt;
OK. Here is a summary of the BUG, in case it hasn't been reported (but I think it has). To reproduce the BUG, do the following:&lt;br /&gt;
&lt;br /&gt;
* In Profile, Privacy Options, enable (check on) &amp;quot;Starting a Project Discussion Topic&amp;quot; and &amp;quot;Posting in a Project Discussion Topic&amp;quot;.&lt;br /&gt;
* Go to one of your private projects.&lt;br /&gt;
* Post a New Discussion Topic&lt;br /&gt;
* Ask one of your friends that is not part of the Private Project to review your feed ... they will tell you that they can see both the New Topic and the Reply in your feed.&lt;br /&gt;
&lt;br /&gt;
If you un-flag the two items you had flagged, your friend won't see the topics anymore (new ones)&lt;br /&gt;
&lt;br /&gt;
This tells me that the Privacy Options are working as intended, but they are not being over-ridden by the privacy options on the project profile. In my opinion, you should be able to show project discussions through your feed, however, the privacy of the project should over-ride that setting.&lt;br /&gt;
&lt;br /&gt;
{{EV|214174|[[User:BryanDerksen|BryanDerksen]]}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Feature requests]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=2DA&amp;diff=10199</id>
		<title>2DA</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=2DA&amp;diff=10199"/>
				<updated>2010-01-25T17:17:10Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Users of Open Office */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many of the properties of objects in the toolset make reference to 2DAs (two-dimensional arrays). These are read-only arrays containing various data used by scripting and the game engine. For example, the set of local variables that an object supports is defined in a 2DA.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Simplified the 2DAs can probably be seen as laying the stack of cards which is swords, enemies, and variables to them. In which context the games rules set by the Gameengine and Scripts would tell who can draw which card, and the Gamedesigner distributes these cards to participants.&lt;br /&gt;
&lt;br /&gt;
There is a tight connection between all 3 of those, and linking to and from and inbetween 2DA's is done via ID's. An Designer creating an Item for example links to ID's of [[BITM_base.xls|BITM_base]] and [[ItemVariations.xls|ItemVariations]] giving the Item a Base Type with which the Gameengine can apply rules, and a [[Model]] to display it if Basetype properties allow ,set in a 2DA as well. Also it is the Gameengine who knows what column to look for Values, and it allows setting a Base Type in the first place, so that the link to [[BITM_base.xls|BITM_base]] exists. &lt;br /&gt;
&lt;br /&gt;
Of course it is a bad idea to break any of those links. However, adding anything is possible (preferably via M2DA see below), which requires to stay with the original layout and knowledge about the sources needed. Only a Designer would have to ''&amp;quot;lay the new cards&amp;quot;''. Or creating entirly new 2DA's is also possible, which additionally requires to create Scripts ,so the Gameengine will know the new 2DA exists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The source files for 2DAs are Microsoft Excel worksheets. This allows a wide variety of sophisticated techniques to be used to generate the values of the 2DA fields, such as macros and formulas. It also makes editing much easier since the columns can be annotated and formatted in helpful ways, and multiple related worksheets can be grouped into one file. Before they can be used by the toolset or the game, 2DAs must be converted from Excel files into a more efficient form. Processed 2DAs are stored in files with the .[[GDA]] extension.&lt;br /&gt;
&lt;br /&gt;
== Excel file formatting ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;700pt&amp;quot; align&amp;quot;left&amp;quot;&lt;br /&gt;
|+ '''Example Worksheet &amp;quot;Monsters&amp;quot;'''&lt;br /&gt;
| width=&amp;quot;30pt&amp;quot; style=&amp;quot;background-color:#808080&amp;quot; |'''ID'''&lt;br /&gt;
| width=&amp;quot;30pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Label'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Strenght'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Name'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''ResourceExample'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Scale'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''disabled'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Commentexample'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''int'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''string'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''int'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''string'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''resource'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''float'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''bool'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''comment'''''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |0&lt;br /&gt;
|Evilmonster1&lt;br /&gt;
|23&lt;br /&gt;
|Abomination&lt;br /&gt;
|prp_barrel01&lt;br /&gt;
|1,0&lt;br /&gt;
|0&lt;br /&gt;
|totally evil&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |1&lt;br /&gt;
|Evilmonster2&lt;br /&gt;
|34&lt;br /&gt;
|Shriek&lt;br /&gt;
|prp_bucket_01&lt;br /&gt;
|1,0&lt;br /&gt;
|1&lt;br /&gt;
|very bad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data in a 2DA is identified by a row number, with the first row (row zero) usually being reserved for internal use (undefined value, etc.) by convention. Each row has an arbitrary number of columns identified by strings. The grey fields in this example table are very specific to the 2DA, the white fields are arbitrary data which the Gameengine identifies for that 2DA.&lt;br /&gt;
&lt;br /&gt;
The ID of a Row is the reference for the Game to access and link to them. As such they are unique across the 2DA, and any M2DA that extends it. The contents of each column is specific to the 2DA given, and arbitrary. When extending a 2DA, new ID's have to be given, and Columns have to be exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Guidelines ===&lt;br /&gt;
*Cell A1 will contain &amp;quot;ID&amp;quot;. This is checked by the processor and the worksheet will fail if this is not the case.&lt;br /&gt;
*Column A starting at line 3 will contain an integer row ID number that is unique to that row across all files (unless creating an M2DA override). Row IDs will be listed from smallest to highest within the same file and do not need to be consecutive.&lt;br /&gt;
*A blank row or column will determine the dimension of the spreadsheet in that direction. Everything past that point is ignored by the binarizer.&lt;br /&gt;
*Column names are case sensitive. This is because of the CRC32 algorithm used to generate the hash key. Changing the case of a column name after it is in use will break the game. White space before and after a column name will be removed before hashing.&lt;br /&gt;
*Row 2 will be a &amp;quot;types&amp;quot; row. Each is a single word: [[int]], [[string]] (single chars as well), [[resource]], [[float]] or [[bool]]. A special type &amp;quot;[[comment]]&amp;quot; can be used to exclude a column from export.&lt;br /&gt;
*Any column with string data that refers to files should have a type of &amp;quot;resource&amp;quot; and not &amp;quot;string&amp;quot;. This is because the &amp;quot;resource&amp;quot; type is used to determine dependencies for the 2DA file.&lt;br /&gt;
*'bool' type may be one of: a zero or non-zero number, Yes or No (case insensitive), or words beginning with T or F (such as True! and False!). NOTE: You cannot use TRUE and FALSE because Excel converts those to a special keyword the binarizer can't parse properly at this time. '''Note:''' the scripting language doesn't have a function for retrieving boolean values from a 2DA, and the behavior of Get2DAInt when retrieving a boolean is untested. It is probably safer to just use an integer for scripting purposes.&lt;br /&gt;
*If you wish to leave a cell unfilled, the string &amp;quot;****&amp;quot; (four asterisks) can be inserted instead of a value.&lt;br /&gt;
*Any worksheets that are not exportable 2DA data will have an underscore prepended to their name - the resource builder will subsequently ignore them.&lt;br /&gt;
*Worksheets need to have unique names among all excel files, duplicates will overwrite each other as each worksheet is exported as a file&lt;br /&gt;
*You cannot have the workbook open in Excel at the same time as running the binarizer on it.&lt;br /&gt;
*Strings have a maximum length of 768 characters. Anything longer will be truncated.&lt;br /&gt;
*ExcelProcessor.exe constrains the name length of a worksheet to 27 characters.&lt;br /&gt;
&lt;br /&gt;
== Extending the game via M2DAs ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;700pt&amp;quot; align&amp;quot;left&amp;quot;&lt;br /&gt;
|+ '''Example Worksheet &amp;quot;MonstersCustom&amp;quot;'''&lt;br /&gt;
| width=&amp;quot;30pt&amp;quot; style=&amp;quot;background-color:#808080&amp;quot; |'''ID'''&lt;br /&gt;
| width=&amp;quot;30pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Label'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Strenght'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Name'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''ResourceExample'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Scale'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''disabled'''&lt;br /&gt;
| width=&amp;quot;50pt&amp;quot; style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''Commentexample'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''int'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''string'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''int'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''string'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''resource'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''float'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''bool'''''&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |'''''comment'''''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#AFAFAF&amp;quot; |2300000&lt;br /&gt;
|Evilmonster3&lt;br /&gt;
|32&lt;br /&gt;
|Wolf&lt;br /&gt;
|c_wolfa&lt;br /&gt;
|1,0&lt;br /&gt;
|0&lt;br /&gt;
|New Monster&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An &amp;quot;M2DA&amp;quot; is a &amp;quot;Multiple 2DA&amp;quot; that stacks a number of 2DA files into one larger table. They work much like single 2DA files except they can be patched or expanded later by adding more resources. These are useful for any table that lists other resources, such as appearance tables, so that new resources can be added later without having to modify a monolithic table. 2DAs are merged row by row, keyed on the ID column.&lt;br /&gt;
&lt;br /&gt;
This is especially important for third-party modders, since BioWare might release an update to a core table at a later date that would overwrite any changes third parties had made to it. By using an M2DA with a unique name, and by using a range of ID numbers significantly separated from those already in use, you can ensure that your additions won't conflict with other portions of the M2DA.&lt;br /&gt;
&lt;br /&gt;
A list of all M2DAs used by the game can be found in [[2DA_base.xls]]. Every 2da listed in M2DA_base is treated as a M2DA, except for those with an ID between 10000 and 10999 which are handled as regular 2DAs. Each M2DA has a label that describes the subject covered by the M2DA and a worksheet prefix that all components of that M2DA must use.&lt;br /&gt;
&lt;br /&gt;
Every worksheet listed in the [[2DA_base.xls]] file is actually a prefix. The system reads this prefix and then searches through all the 2DAs for the ones starting with this prefix and merges them together as one 2DA. For example: M2DA ID 0 is &amp;quot;ANIM_&amp;quot;. The system looks through its list of 2das and finds &amp;quot;ANIM_base&amp;quot;, &amp;quot;ANIM_combat&amp;quot; and &amp;quot;ANIM_walk&amp;quot;. It will read and merge all 3 2DAs into an M2DA called &amp;quot;ANIM_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This example 2DA &amp;quot;MonstersCustom&amp;quot; would be merged into the original 2DA &amp;quot;Monsters&amp;quot;, if &amp;quot;Monsters&amp;quot; were one of the worksheets listed in the M2DA_base. &lt;br /&gt;
&lt;br /&gt;
=== Reserved ID Ranges ===&lt;br /&gt;
&lt;br /&gt;
While M2DA files avoid some of the problems associated with ordinary 2DA files, the IDs in each row of the final M2DA must still be unique across all 2DAs associated with it.&lt;br /&gt;
&lt;br /&gt;
To help ensure compatibility between authors' custom content, you should make sure that the ranges you choose don't conflict with ones already in use: [[2DA_ranges_in_use]].&lt;br /&gt;
&lt;br /&gt;
=== Bug with M2DA ===&lt;br /&gt;
&lt;br /&gt;
It should be noted, that currently there is a bug with certain M2DA's, which prevents new ID's above 255 to work in the game. It is unclear which are affected, but most certainly it is [[ItemVariations.xls]] related. See [[Bug: High M2DA ID ranges might work in the toolset, but not in game|Bug report]].&lt;br /&gt;
&lt;br /&gt;
== Converting XLS files into 2DA files ==&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;Dragon Age\tools\ResourceBuild\Processors&amp;quot; folder there is an executable named &amp;quot;ExcelProcessor.exe&amp;quot;. This is the file that handles conversions from XLS to 2DA format. Below are described 3 ways in which this file may be used.&lt;br /&gt;
&lt;br /&gt;
=== Drag &amp;amp; Drop Method ===&lt;br /&gt;
&lt;br /&gt;
# Copy ExcelProcessor.exe and source .XLS files to a new directory (not explicitly neccessary, but advised)&lt;br /&gt;
# Select source .XLS files and drag them onto ExcelProcessor.exe&lt;br /&gt;
# Cut &amp;amp; Paste resulting .2DA files, which will be located in the same directory as the source .XLS files, to your desired location (usually to &amp;quot;My Documents\BioWare\Dragon Age\AddIns\yourmodulename\module\overrides\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Adding 2DA export to the Windows XP file explorer ===&lt;br /&gt;
&lt;br /&gt;
Here's an easy way to add a context (ie, right-click) menu item that quickly converts new or updated Dragon Age Excel files into GDA format: &lt;br /&gt;
&lt;br /&gt;
Setup: &lt;br /&gt;
&lt;br /&gt;
# Open Windows Explorer and click Tools | Folder Options.&lt;br /&gt;
# In the File Types tab, select the XLS extension from the list and click the Advanced button.&lt;br /&gt;
# Click the New button and put 'Binarize 2DA' in the Action field.&lt;br /&gt;
# Paste the following in the Application field and click OK (update the drive and folder names to match your client): &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\Dragon Age\tools\ResourceBuild\Processors\ExcelProcessor.exe&amp;quot;  &amp;quot;%1&amp;quot;  -outdir=&amp;quot;C:\Documents and Settings\YOURNAME\My Documents\BioWare\Dragon Age\packages\core\override&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
## For the Steam version, use the following: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\Steam\steamapps\common\dragon age origins\tools\ResourceBuild\Processors\ExcelProcessor.exe&amp;quot;  &amp;quot;%1&amp;quot; -outdir=&amp;quot;C:\Documents and Settings\YOURNAME\My Documents\BioWare\Dragon Age\packages\core\override&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that paths with spaces in them can cause Windows trouble, if your paths have spaces in them remember to wrap them in quotation marks.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
# Using Windows Explorer, navigate to your 2DA folder (in my case C:\DA\tag\main\data\Source\2DA) and select the Excel file(s) to process. Right click and select 'Binarize 2DA' from the context menu. &lt;br /&gt;
# Confirm a corresponding GDA file is created in your override folder (in my case C:\DA\tag\main\build\packages\core\override) for each Excel file processed.&lt;br /&gt;
&lt;br /&gt;
[[File:Adding binarize 2da to Windows XP explorer.png|center|thumb|300px|An example of how setting this up in Windows XP looks]]&lt;br /&gt;
&lt;br /&gt;
=== Using a .BAT file ===&lt;br /&gt;
&lt;br /&gt;
The following method may work better for you instead:&lt;br /&gt;
&lt;br /&gt;
*Create two folders called C:\2DA\ and C:\2DA\Override\&lt;br /&gt;
*Copy ExcelProcessor.exe to C:\2DA\&lt;br /&gt;
*Copy the Excel spreadsheets containing the 2DA you want to use in the game to C:\2DA\&lt;br /&gt;
*Create a batch file with the following line in it (change &amp;quot;placeables.xls&amp;quot; to whatever Excel file you're working with):&lt;br /&gt;
C:\2DA\ExcelProcessor.exe placeables.xls -outdir=C:\2DA\override\&lt;br /&gt;
*Run your batch file&lt;br /&gt;
*Find the GDA file from the C:\2DA\Override\ directory and copy it to the game's override directory. Remember to take into account the naming conventions of M2DAs; you may need to rename your 2DA files with a new suffix unique to your module to allow it to add to the core 2DAs without conflict.&lt;br /&gt;
*'''If you copied your new 2DA file in your Override directory while Dragon Age Game was running, you will need to exit to windows and re-run the game to let your changes to work.'''&lt;br /&gt;
&lt;br /&gt;
== 2DA XLS files used in Dragon Age ==&lt;br /&gt;
&lt;br /&gt;
''Note: This list is very incomplete right now''&lt;br /&gt;
&lt;br /&gt;
Bear in mind that 2DAs names are actually based on the names of the worksheets inside these Excel files, not the names of the files themselves. Some of these files contain a large number of individual 2DAs within them. They are bundled together into Excel files based on the nature of the 2DAs for convenience. They can be found under the toolsets directory &lt;br /&gt;
&amp;lt;pre&amp;gt;*Installdir*\Dragon Age\tools\Source\2DA\&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creatures ===&lt;br /&gt;
&lt;br /&gt;
*[[APR_base.xls]] - appearance types for creatures&lt;br /&gt;
*[[ABI_base.xls]] - integrates all talents and spells into the game&lt;br /&gt;
*[[ANIM_base.xls]]&lt;br /&gt;
*[[ANIM_combat.xls]]&lt;br /&gt;
*[[ANIM placeables.xls]]&lt;br /&gt;
*[[SyncAnimations.xls]]&lt;br /&gt;
*[[CLA_base.xls]] - Defines the character classes used throughout the game&lt;br /&gt;
*[[background.xls]] - defines the various origin stories available to each race and class.&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
*[[placeables.xls]] - interactive object types&lt;br /&gt;
*[[BITM base.xls]] - item types&lt;br /&gt;
*[[ItemVariations.xls]] - item appearance variations (eg, all the different ways a longsword can look)&lt;br /&gt;
*[[PRJ_base.xls]] - how various projectiles look and behave&lt;br /&gt;
*[[VFX_base.xls]] - Visual effects&lt;br /&gt;
&lt;br /&gt;
=== Areas and plots ===&lt;br /&gt;
&lt;br /&gt;
*[[worldmaps.xls]] - world maps for open-ended travel between areas&lt;br /&gt;
*[[plottypes.xls]] - how plots are grouped at the highest level in the game GUI (codex entry types, story, etc.)&lt;br /&gt;
*[[areadata.xls]] - sets various properties for specific areas&lt;br /&gt;
*[[rewards.xls]] - rewards for plot completion&lt;br /&gt;
&lt;br /&gt;
=== Adding to the official campaign ===&lt;br /&gt;
*[[PRCSCR]] - &amp;quot;Pre Release Content Script&amp;quot; - specifies scripts to run when an area or area list is loaded or entered.&lt;br /&gt;
&lt;br /&gt;
== Adding Strings ==&lt;br /&gt;
&lt;br /&gt;
When adding strings to a 2DA, you have two options.  The simplest is to enter **** for the StringID column.  In that case, the name column will be used in the game.&lt;br /&gt;
&lt;br /&gt;
The other approach is to use the toolset's string editor to create a new string.  When that happens, you'll get a new StringID. Next enter that number into the StringID column in the 2DA.&lt;br /&gt;
&lt;br /&gt;
The second approach works better when translating your module, at the cost of portability.  If someone else wanted to reuse your 2DA, they'd have to generate their own strings, then update the StringID number based on these IDs.&lt;br /&gt;
&lt;br /&gt;
'''Attention:'''&lt;br /&gt;
&lt;br /&gt;
* The current version of the &amp;quot;ExelProcessor&amp;quot;-App is buggy as it can't hanlde INT values above 8388607! Many thanks to elys for figuring that out.&lt;br /&gt;
* Also note that the original toolset (v1.0) core-talktable contains wrong ids as well - don't forget to delete it from the &amp;quot;packages\core\override\toolsetexport&amp;quot; directory if you are still using that version.&lt;br /&gt;
&lt;br /&gt;
'''Workaround:'''&lt;br /&gt;
&lt;br /&gt;
* Create and export your talktable, delete the core-talktable override.&lt;br /&gt;
* Create your M2DA File that you want to refer to your talk-table strings. Never Mind using the real IDs at this stage.&lt;br /&gt;
* Use the &amp;quot;Exelprocessor&amp;quot; to create the GDA file.&lt;br /&gt;
* Open the GDA-File with the toolset or elys's GDA-Editor App (http://social.bioware.com/project/755/)&lt;br /&gt;
[[File:Edit-GDA-Values.jpg]]&lt;br /&gt;
* Change the StringIDs to the StringIDs in your talktable.&lt;br /&gt;
&lt;br /&gt;
'''Remark:''' &lt;br /&gt;
&lt;br /&gt;
The previous Version stated: ''Take that StringID and add 16777216 to the number.'' this appears to be wrong and is likely a holdover from NWN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Users of Open Office ==&lt;br /&gt;
* Users of Open Office may find that no .gda file is created when they use ExcelProcessor.exe - one workaround is to copy a worksheet from an existing .xls file (such as placeable_types from placeables.xls), process the file, then remove the extraneous .gda file (e.g. placeable_types.gda). Alternately, upload your .xls file to Google Docs and then download the file as Excel format, then process the file with ExcelProcessor.exe.&lt;br /&gt;
* When editing existing xls files, it also works to leave the format as standard while saving the file. Open Office asks to change the file to its own spreatsheet format when saving a format other then its own, don't change the format and it should work. &lt;br /&gt;
&lt;br /&gt;
[[Category:2DAs]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Feature_request:_proper_export_directories&amp;diff=10105</id>
		<title>Feature request: proper export directories</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Feature_request:_proper_export_directories&amp;diff=10105"/>
				<updated>2010-01-24T22:58:54Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: Created page with 'Many problems with the toolset come from exported files in the packages\core\override directory.  if the export process would export files to addins\&amp;quot;modulename&amp;quot;\core\override ma...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many problems with the toolset come from exported files in the packages\core\override directory.&lt;br /&gt;
&lt;br /&gt;
if the export process would export files to addins\&amp;quot;modulename&amp;quot;\core\override many issues could be avoided.&lt;br /&gt;
 &lt;br /&gt;
as i understand the hierarchy the addins core directory would be loaded first &lt;br /&gt;
so the exporter should export to that directory first and foremost&lt;br /&gt;
&lt;br /&gt;
the moving of files from addins\&amp;quot;modulename&amp;quot;\core\ to addins\&amp;quot;modulename&amp;quot;\module\override seems to be still important when the files should only be used in that module alone&lt;br /&gt;
&lt;br /&gt;
the problem is also that some dependant resources namely scripts and plots in packages core cause problem ingame sometimes even unrelated problems like wynne not being able to join the party in the circle tower when some generic plot was exported (but not changed) into the packages\core directory.&lt;br /&gt;
after deleting those files everythings works fine again &lt;br /&gt;
fyi: the export was '''without''' dependant resources!&lt;br /&gt;
[[Category:Feature requests]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=10091</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=10091"/>
				<updated>2010-01-24T09:05:06Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* External Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists links to step-by-step tutorials, both on this wiki and on external sites.&lt;br /&gt;
&lt;br /&gt;
See also the [[How-tos]] page, which contains much smaller and more focused guides on how to accomplish various common tasks.&lt;br /&gt;
&lt;br /&gt;
==Introductory tutorials ==&lt;br /&gt;
&lt;br /&gt;
In the course of these tutorials we'll go through all the steps needed to create a basic adventure.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
*Boxes like this contain a checklist of important steps.&lt;br /&gt;
*They're intended as a reminder and as a navigational aid.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*[[Introductory tutorial]] - An overview of the toolset as a whole&lt;br /&gt;
*[[Module tutorial]] - how to create a module to work in.&lt;br /&gt;
&lt;br /&gt;
This set of tutorials forms a series, each building on or filling in omissions by the last:&lt;br /&gt;
*[[Area tutorial]]&lt;br /&gt;
*[[Placeable tutorial]]&lt;br /&gt;
*[[Item tutorial]]&lt;br /&gt;
*[[Creature tutorial]]&lt;br /&gt;
*[[Conversation tutorial]]&lt;br /&gt;
&lt;br /&gt;
Once you've become familiar with the basics introduced on those tutorials you might have a better grounding for:&lt;br /&gt;
*[[Cutscene tutorial]]&lt;br /&gt;
*[[Map tutorial]] (which also introduces you to [[2DA]] editing)&lt;br /&gt;
*[[Level Editor Tutorial]]&lt;br /&gt;
*[[Scripting tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Demo module ==&lt;br /&gt;
&lt;br /&gt;
The toolset currently ships with a simple demo module pre-loaded into its database.&lt;br /&gt;
&lt;br /&gt;
*[[Demo module]] - how to export and run the demo module.&lt;br /&gt;
&lt;br /&gt;
== Custom content tutorials == &lt;br /&gt;
*[[Tutorial: Using DLC areas in your mods]]&lt;br /&gt;
*[[Tutorial: Adding custom items to custom modules]]&lt;br /&gt;
*[[Tutorial: Adding a Custom Model to Toolset]]&lt;br /&gt;
*[[Tutorial: Creating a custom placeable from a model]]&lt;br /&gt;
*[[Tutorial: Reskinning an Item]]&lt;br /&gt;
*[[Tutorial: Creating recolors of existing items]]&lt;br /&gt;
*[[Tutorial: Understanding Tints: Overriding Defaults &amp;amp; Creating New Ones]]&lt;br /&gt;
*[[Adding a New Spell Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Character generation tutorials ==&lt;br /&gt;
*[[Backgrounds tutorial]]&lt;br /&gt;
*[[Add A New Class Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Other Tutorials ==&lt;br /&gt;
*[[ToolSet: Area Layouts]]&lt;br /&gt;
*[[Adding a Location to the Single Player Campaign Tutorial]]&lt;br /&gt;
*[[Follower tutorial]] (Simple and advanced, requires scripting knowledge)&lt;br /&gt;
&lt;br /&gt;
== External Tutorials ==&lt;br /&gt;
*[http://lerlek.se/Video+Tutorials Lerlek Dragon Age Origins Toolset Video Tutorials Collection] has collected many in-depth video tutorials.&lt;br /&gt;
*[http://dragonagemodding.wordpress.com Beyond Ferelden] has many in-depth tutorials by jwvanderbeck.&lt;br /&gt;
*[http://www.youtube.com/watch?v=TwQNRBFLhrE Playable Area and Conversation] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=CaHldJcUTz8 Simple Conversation Cameras] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=QOQJ2heQto4 Cutscene and Trigger] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=szWKgj2ZuXo Custom Level and Room Building] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=DKJ7F14n8o8 Downloading and Installing the Toolset] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=iMPBsulv9xI Creating a Room] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=g3kx2CaarHo How to Make an Interior Level with Lighting] video tutorial by [http://social.bioware.com/group/60/ Darkworld Development Team].&lt;br /&gt;
*[http://www.youtube.com/watch?v=O6TeZeE1Lc8 Making a Room] video tutorial by BigDrip681.&lt;br /&gt;
*[http://social.bioware.com/5339/blog/576/ Custom Player Items In Single Player] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/5339/blog/651/ The Secret Behind Item Statistics] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/project/923/ Guide for installing/uninstalling/updating Mods] Beginner Guide to get started with using Mods by [http://social.bioware.com/237411/ Alexspeed].&lt;br /&gt;
*[http://www.jezelf.co.uk/tutorials.htm Photoshop Map making tutorials] Credits to Jason Elford, brought to DAT wiki by [http://social.bioware.com/48156/ Arixsus]&lt;br /&gt;
*[http://social.bioware.com/project/527/ Video Tutorials by SilentCid] Multiple in-depth video tutorials of the DA Toolset&lt;br /&gt;
*[http://www.youtube.com/view_play_list?p=EF29DD1AACEBA92A Qkrch's Video Tutorials] Toolset tutorial complete series for the experienced builder (Spanish &amp;amp; English)&lt;br /&gt;
*[http://www.theengineeringguild.co.uk/da-new-campaign-location-tutorial World Editing and Area Creation] Tutorial by [http://social.bioware.com/profile/7848 giskard44] where he walks you through a module creation process for an single player addin.&lt;br /&gt;
[[Category:Tutorials| ]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=10090</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=10090"/>
				<updated>2010-01-24T09:04:34Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* External Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists links to step-by-step tutorials, both on this wiki and on external sites.&lt;br /&gt;
&lt;br /&gt;
See also the [[How-tos]] page, which contains much smaller and more focused guides on how to accomplish various common tasks.&lt;br /&gt;
&lt;br /&gt;
==Introductory tutorials ==&lt;br /&gt;
&lt;br /&gt;
In the course of these tutorials we'll go through all the steps needed to create a basic adventure.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
*Boxes like this contain a checklist of important steps.&lt;br /&gt;
*They're intended as a reminder and as a navigational aid.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*[[Introductory tutorial]] - An overview of the toolset as a whole&lt;br /&gt;
*[[Module tutorial]] - how to create a module to work in.&lt;br /&gt;
&lt;br /&gt;
This set of tutorials forms a series, each building on or filling in omissions by the last:&lt;br /&gt;
*[[Area tutorial]]&lt;br /&gt;
*[[Placeable tutorial]]&lt;br /&gt;
*[[Item tutorial]]&lt;br /&gt;
*[[Creature tutorial]]&lt;br /&gt;
*[[Conversation tutorial]]&lt;br /&gt;
&lt;br /&gt;
Once you've become familiar with the basics introduced on those tutorials you might have a better grounding for:&lt;br /&gt;
*[[Cutscene tutorial]]&lt;br /&gt;
*[[Map tutorial]] (which also introduces you to [[2DA]] editing)&lt;br /&gt;
*[[Level Editor Tutorial]]&lt;br /&gt;
*[[Scripting tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Demo module ==&lt;br /&gt;
&lt;br /&gt;
The toolset currently ships with a simple demo module pre-loaded into its database.&lt;br /&gt;
&lt;br /&gt;
*[[Demo module]] - how to export and run the demo module.&lt;br /&gt;
&lt;br /&gt;
== Custom content tutorials == &lt;br /&gt;
*[[Tutorial: Using DLC areas in your mods]]&lt;br /&gt;
*[[Tutorial: Adding custom items to custom modules]]&lt;br /&gt;
*[[Tutorial: Adding a Custom Model to Toolset]]&lt;br /&gt;
*[[Tutorial: Creating a custom placeable from a model]]&lt;br /&gt;
*[[Tutorial: Reskinning an Item]]&lt;br /&gt;
*[[Tutorial: Creating recolors of existing items]]&lt;br /&gt;
*[[Tutorial: Understanding Tints: Overriding Defaults &amp;amp; Creating New Ones]]&lt;br /&gt;
*[[Adding a New Spell Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Character generation tutorials ==&lt;br /&gt;
*[[Backgrounds tutorial]]&lt;br /&gt;
*[[Add A New Class Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Other Tutorials ==&lt;br /&gt;
*[[ToolSet: Area Layouts]]&lt;br /&gt;
*[[Adding a Location to the Single Player Campaign Tutorial]]&lt;br /&gt;
*[[Follower tutorial]] (Simple and advanced, requires scripting knowledge)&lt;br /&gt;
&lt;br /&gt;
== External Tutorials ==&lt;br /&gt;
*[http://lerlek.se/Video+Tutorials Lerlek Dragon Age Origins Toolset Video Tutorials Collection] has collected many in-depth video tutorials.&lt;br /&gt;
*[http://dragonagemodding.wordpress.com Beyond Ferelden] has many in-depth tutorials by jwvanderbeck.&lt;br /&gt;
*[http://www.youtube.com/watch?v=TwQNRBFLhrE Playable Area and Conversation] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=CaHldJcUTz8 Simple Conversation Cameras] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=QOQJ2heQto4 Cutscene and Trigger] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=szWKgj2ZuXo Custom Level and Room Building] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=DKJ7F14n8o8 Downloading and Installing the Toolset] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=iMPBsulv9xI Creating a Room] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=g3kx2CaarHo How to Make an Interior Level with Lighting] video tutorial by [http://social.bioware.com/group/60/ Darkworld Development Team].&lt;br /&gt;
*[http://www.youtube.com/watch?v=O6TeZeE1Lc8 Making a Room] video tutorial by BigDrip681.&lt;br /&gt;
*[http://social.bioware.com/5339/blog/576/ Custom Player Items In Single Player] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/5339/blog/651/ The Secret Behind Item Statistics] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/project/923/ Guide for installing/uninstalling/updating Mods] Beginner Guide to get started with using Mods by [http://social.bioware.com/237411/ Alexspeed].&lt;br /&gt;
*[http://www.jezelf.co.uk/tutorials.htm Photoshop Map making tutorials] Credits to Jason Elford, brought to DAT wiki by [http://social.bioware.com/48156/ Arixsus]&lt;br /&gt;
*[http://social.bioware.com/project/527/ Video Tutorials by SilentCid] Multiple in-depth video tutorials of the DA Toolset&lt;br /&gt;
*[http://www.youtube.com/view_play_list?p=EF29DD1AACEBA92A Qkrch's Video Tutorials] Toolset tutorial complete series for the experienced builder (Spanish &amp;amp; English)&lt;br /&gt;
*[http://www.theengineeringguild.co.uk/da-new-campaign-location-tutorial] Tutorial by [http://social.bioware.com/profile/7848 giskard44] where he walks you through a module creation process for an single player addin.&lt;br /&gt;
[[Category:Tutorials| ]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=10084</id>
		<title>User:Apolyon6k</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=User:Apolyon6k&amp;diff=10084"/>
				<updated>2010-01-24T00:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: Created page with 'simple user with some wiki experience  likes to edit tables and tries to remove horizontal scrolling from webpages...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simple user with some wiki experience&lt;br /&gt;
&lt;br /&gt;
likes to edit tables and tries to remove horizontal scrolling from webpages...&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_items_to_custom_modules_tutorial&amp;diff=9976</id>
		<title>Adding custom items to custom modules tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_items_to_custom_modules_tutorial&amp;diff=9976"/>
				<updated>2010-01-21T19:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Creating a script to summon your item */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you the easiest way to create a custom item and add it to your inventory by using a console command '''runscript aa_give_item'''.&lt;br /&gt;
&lt;br /&gt;
There are people who say that using the default 'singleplayer' module is a source for future problems so we'll be using are own module.&lt;br /&gt;
&lt;br /&gt;
I hope this tutorial helps.&lt;br /&gt;
&lt;br /&gt;
Author: RandyG [mailto:randy@pcwinsupport.com Email Me]&lt;br /&gt;
&lt;br /&gt;
Revised by LazyMonk.&lt;br /&gt;
&lt;br /&gt;
Thanks LazyMonk, I'll probably add pictures later to make it easier&lt;br /&gt;
&lt;br /&gt;
== Things needed ==&lt;br /&gt;
*1. Dragon age origins game.&lt;br /&gt;
*2. Access to the console in-game ([http://dragonage.wikia.com/wiki/Console Instructions on accessing console]).&lt;br /&gt;
*3. Dragon age origins Toolset.&lt;br /&gt;
*4. Ability to follow instructions.&lt;br /&gt;
&lt;br /&gt;
== Creating a new module ==&lt;br /&gt;
*1. Open the toolset and click on '''File -&amp;gt; Manage Modules'''.&lt;br /&gt;
*2. Click '''New'''.&lt;br /&gt;
*3. Enter 'my_module' in ''Name'' and ''UID'' fields, ignore the rest. Click '''OK'''.&lt;br /&gt;
*4. Double-click 'my_module' that was added to the list.&lt;br /&gt;
&lt;br /&gt;
== Creating an item ==&lt;br /&gt;
&lt;br /&gt;
*1. On the palette window select items (the sword icon).&lt;br /&gt;
*2. Choose an item under global.&lt;br /&gt;
*3. Right click on the item and select '''Duplicate'''.&lt;br /&gt;
*4. A window will popup, ignore all fields except resource name.&lt;br /&gt;
*5. Name your item in the resource name field (only letters, numbers and '_').&lt;br /&gt;
*6. In the main tab you will see your item, modify it to your liking. Editing the item's additional effects is in 'Item properties'.&lt;br /&gt;
*7. Once finished: click '''Tools -&amp;gt; save'''.&lt;br /&gt;
*8. look above at the tab's title, it should be '''custom_resource_name.uti''' (with your selected name).&lt;br /&gt;
*9. Right click on it again and select '''Export -&amp;gt; Export without dependent resources'''.&lt;br /&gt;
&lt;br /&gt;
== Creating a script to summon your item ==&lt;br /&gt;
&lt;br /&gt;
*1. Click on '''File -&amp;gt; new -&amp;gt; Script'''.&lt;br /&gt;
*2. A window will popup, ignore all fields except resource name.&lt;br /&gt;
*3. Enter a custom name, '''aa_give_item''' (only letters, numbers and '_'), click Ok.&lt;br /&gt;
*4. Copy the following to the blank script window:&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
void main() {&lt;br /&gt;
  CreateItemOnObject(R&amp;quot;Item file.uti&amp;quot;, OBJECT_SELF, 1, &amp;quot;&amp;quot;, TRUE);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
*5. Replace '''Item file.uti''' with your '''custom_resource_name.uti''' (the title on your item's tab).&lt;br /&gt;
*6. Click '''File -&amp;gt; save''' (saving automatically compiles the script).&lt;br /&gt;
'''Notice:''' If you make more than one item you can duplicate the script line for each item with it's file name. No need for a script for every item.&lt;br /&gt;
&lt;br /&gt;
== Last Steps ==&lt;br /&gt;
*1. Goto folder: My Documents\BioWare\Dragon Age\AddIns\my_module\core\override\toolsetexport.&lt;br /&gt;
*2. look for the '''custom_resource_name.uti''' file.&lt;br /&gt;
*3. Goto folder: My Documents\BioWare\Dragon Age\AddIns\my_module\module\override\toolsetexport.&lt;br /&gt;
*4. look for two files named '''aa_give_item''', of types '''nss''' and '''ncs'''.&lt;br /&gt;
*5. Move the '''uti''' and '''ncs''' to folder: My Documents\BioWare\Dragon Age\packages\core\override.&lt;br /&gt;
*6. Delete the '''nss''' file.&lt;br /&gt;
*7. Load a saved game and enter a console command '''runscript aa_give_item''' ([http://dragonage.wikia.com/wiki/Console Instructions on accessing console]).&lt;br /&gt;
*8. Your custom item should be in your inventory. Enjoy.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Reskinning_an_item_tutorial&amp;diff=9952</id>
		<title>Reskinning an item tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Reskinning_an_item_tutorial&amp;diff=9952"/>
				<updated>2010-01-19T16:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Overriding the Existing Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This tutorial describes how to reskin, or change the default texture, of items that already exist in-game. As an example, the default textures of the human female mage's apprentice robes will be changed.&lt;br /&gt;
&lt;br /&gt;
Tools needed are the Dragon Age Toolset, and a grafic editing Applications capable of Opening, Editing and Saving DDS Texture Files.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The game utilizes Tints, which reuse the same Texture in colorized or tinted versions. Thus the texture in our example doesnt look quiet as it does in game. And vice versa, if you edit the Texture, it wont look quiet like that when back into the game. The difference is merely color differences. So this process is limited. However you can only change Tints, or both. Not explained here.&lt;br /&gt;
&lt;br /&gt;
== Locating the Model Textures the Hard Way==&lt;br /&gt;
&lt;br /&gt;
At the beginning, you only know how the [[Model]] looks and what its called. A somewhat difficult task will be, finding out which files are tied to the model so that you can edit them. &lt;br /&gt;
&lt;br /&gt;
'''Note:''' You may want to read it once, to understand alternative ways.&lt;br /&gt;
&lt;br /&gt;
First and foremost, you are looking for DDS Files. How DDS Files are referenced by an Item you see in Game is a long list of database references.&lt;br /&gt;
&lt;br /&gt;
A quick rundown on references we need to be aware of&lt;br /&gt;
&lt;br /&gt;
#A DDS File is referenced by the Material Properties of a [[Model]]&lt;br /&gt;
#A [[Model]] is then referenced by the &amp;quot;ItemVariation&amp;quot; type of files. In our example, the sub &amp;quot;clothing_variation.gda&amp;quot;&lt;br /&gt;
#The different Clothing Variations are then referenced by the Item Type made via the Toolset&lt;br /&gt;
#The Item Type is lastly referenced by the Game, when choosing which gender and race this item is worn. And then displays the final version in your game.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To track back to the DDS File, you need to run up this list in reverse. Starting up our example, the mages apprentice robe, as it is worn by human females. &lt;br /&gt;
&lt;br /&gt;
#Open up the Toolset and in the Resource Palette on the upperright click on &amp;quot;Items&amp;quot;. Now comes guessing where this piece is to be found there. These Items are pretty well sorted thou, it is to be found under _global / Clothing / Mage Robes / Unique. In the following list you see the ResourceName followed by ItemName &amp;quot;gen_im_cth_mag_app (Apprentice Robes)&amp;quot;. Any Item can be found in the &amp;quot;Item&amp;quot; Category.  Doubleclick that entry to look inside.&lt;br /&gt;
#Base Item Type is Clothing, which is branching off into the Item Variation. The Robe has a Item Variation called &amp;quot;Robe, Apprentice&amp;quot;. Variation in mind, onto the next step.&lt;br /&gt;
#Open up the &amp;quot;ItemVariations.xls&amp;quot; File located under &amp;quot;(dragon age install directory)/tools/Source/2da/rules&amp;quot;. It has many pages, locate Page &amp;quot;clothing variation&amp;quot; since we know our Item is of Clothing Item Type. In there, locate the Row called whatever Item Variation your Item had. &amp;quot;Robe, Apprentice&amp;quot; has Namestrings followed by &amp;quot;rob&amp;quot; &amp;quot;app&amp;quot; &amp;quot;a&amp;quot;.&lt;br /&gt;
#With these 3 Strings, and Dragon Age's [[Naming conventions|Naming Scheme]] you can find the binary [[MMH]] Main Modelfile.&lt;br /&gt;
#'''In this File is a hidden reference to the [[MAO]] Material file.'''&lt;br /&gt;
#And inside the [[MAO]] File is the references to the Textures Filenames.&lt;br /&gt;
&lt;br /&gt;
Step 4 requires some understanding in completing the Filename. Each [[Model]] File (and [[Art Resources|Art Resource]] too) has a prefix and a suffix. The Prefix sorts the Models into whole Categories, the Suffix into small Variations. The Category for Playerworn Armor by Human Females here is &amp;quot;HF&amp;quot;. After the Prefix come the Namestrings noted in Step 3 ,separated by underscores &amp;quot;_&amp;quot; with the exception of the last one. The Suffix here as a variation is the LOD Versions of the same Model, which all have their own LOD texture.&lt;br /&gt;
&lt;br /&gt;
The Models Filename here is then &amp;quot;hf_rob_appa_0.mmh&amp;quot; to &amp;quot;hf_rob_appa_3.mmh&amp;quot;. However unless you can work with the MMH, the hidden reference of Step 6 wont be found. It is there in binary form, and u would need for example &amp;quot;tazpn's commandline tools&amp;quot; to convert them into FBX and then into MMH.XML which is a text format of the [[MMH]]. The reference here is called &amp;quot;pf_rob_appa.mao&amp;quot;, &amp;quot;pf_rob_appa_l2.mao&amp;quot; and &amp;quot;pf_rob_appa_l3.mao&amp;quot; for their respective LOD Version.&lt;br /&gt;
&lt;br /&gt;
See that effectivly hf got replaced by pf, which is simply another Prefix for only Female Gear. &amp;quot;hf&amp;quot; however was Female Human, but since the Textures get applied to all Female's versions, it is separated. This is arbitrary, but since the same applies to other armor ,it is sometimes &amp;quot;guessable&amp;quot; &lt;br /&gt;
&lt;br /&gt;
The MAO Files reference these textures&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pf_rob_appa_0d.dds&lt;br /&gt;
to&lt;br /&gt;
pf_rob_appa_0tl3.dds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
&lt;br /&gt;
However you can take shortcuts, by guessing which ItemVariation it is under which category, and start by opening the &amp;quot;Itemvariations.xls&amp;quot; file directly. Or by browsing texture files with a Picture Viewer. Since pf_rob*** are only Robes, and its not so many.&lt;br /&gt;
&lt;br /&gt;
DATools also provides a quick way of browsing thru Models, and seeing their Texturenames. You may not catch all Models, but its a possibility.&lt;br /&gt;
&lt;br /&gt;
Guessing examples for the Mage Robe:&lt;br /&gt;
*It is female player gear. So prefix for textures is &amp;quot;pf_&amp;quot;&lt;br /&gt;
*It is a Robe, so any Texture File containing &amp;quot;rob&amp;quot; may be our File.&lt;br /&gt;
*Open the ItemVariations.xls, and by Clothing find Robe, Apprentice and its strings &amp;quot;rob&amp;quot; &amp;quot;app&amp;quot; &amp;quot;a&amp;quot; ,and you may find the filename.&lt;br /&gt;
&lt;br /&gt;
== Extracting the Texture from the Package ==&lt;br /&gt;
&lt;br /&gt;
Model textures are located in two &amp;quot;texturepack.erf&amp;quot; [[ERF]] packages, corresponding to high resolution and medium resolution textures. These packages can be found in the (dragon age install directory)\packages\core\textures\ folder. For example, the packages might be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\Program Files\Dragon Age\packages\core\textures\high\texturepack.erf&lt;br /&gt;
C:\Program Files\Dragon Age\packages\core\textures\medium\texturepack.erf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Drag and drop these ERF Files onto the Toolset to browse and extract their content. If you have the Name, finding the Files will be easy. The Files will be in both &amp;quot;high&amp;quot; and &amp;quot;medium&amp;quot; and the quality setting in the game will decide which to choose. To make it compatible enough, taking them all may be neccessary.&lt;br /&gt;
&lt;br /&gt;
To prepare for extracting the textures, we must create a directory mimicking the structure of the Dragon Age packages folder. To do this, create a new folder named &amp;quot;textures&amp;quot; in a convenient location (for example, on your desktop). Inside this folder, create two new folders, named &amp;quot;high&amp;quot; and &amp;quot;medium&amp;quot;. The &amp;quot;high&amp;quot; folder will be where the high-resolution textures are extracted to, and the &amp;quot;medium&amp;quot; folder will be where the medium-resolution textures are extracted to.&lt;br /&gt;
&lt;br /&gt;
For this tutorial, we are interested in the mage's robes. To locate the textures of the mage's robes, scroll down to &amp;quot;pf_rob_appa_0d.dds&amp;quot; in one of the two texturepack ERFs. In each texturepack.erf, select all of the image files prefixed with &amp;quot;pf_rob_appa&amp;quot; (from &amp;quot;pf_rob_appa_0d.dds&amp;quot; to &amp;quot;pf_rob_appa_0tl3.dds&amp;quot;). For the high-resolution texturepack.erf, extract these images to the &amp;quot;textures\high\&amp;quot; folder just created. Extract the medium-resolution textures to the &amp;quot;textures\medium\&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
The Suffixes for Texturefiles are describing their Formats, which is described under [[Textureformats]].&lt;br /&gt;
&lt;br /&gt;
To extract one of the textures, right-click on it and select &amp;quot;Extract Resource.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Editing the Textures ==&lt;br /&gt;
&lt;br /&gt;
At this stage, if we wanted to edit the existing robe textures, we could do so by changing these files. See [[Textureformats]].&lt;br /&gt;
&lt;br /&gt;
Once this has been done for all of the robe textures (in both the &amp;quot;High&amp;quot; and &amp;quot;Medium&amp;quot; folders), we'll be ready to override the default textures in Dragon Age.&lt;br /&gt;
&lt;br /&gt;
== Overriding the Existing Textures ==&lt;br /&gt;
[[Image:Demo-retexture.jpg|thumb|The end result: reskinned default mage robes.]]&lt;br /&gt;
To override the existing textures, copy the &amp;quot;textures&amp;quot; folder containing the modified textures, and paste this folder into the Dragon Age override folder. The override folder is found in:&lt;br /&gt;
*Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
for Windows Vista and 7, and in a similar location on Windows XP.&lt;br /&gt;
&lt;br /&gt;
So, after pasting in the modified textures, the structure of the override folder should look like this:&lt;br /&gt;
&lt;br /&gt;
*Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
**textures&lt;br /&gt;
***high&lt;br /&gt;
****pf_rob_appa_0d.dds&lt;br /&gt;
****(...)&lt;br /&gt;
****pf_rob_appa_0tl3.dds&lt;br /&gt;
***medium&lt;br /&gt;
****pf_rob_appa_0d.dds&lt;br /&gt;
****(...)&lt;br /&gt;
****pf_rob_appa_0tl3.dds&lt;br /&gt;
&lt;br /&gt;
[[category:tutorials]]&lt;br /&gt;
[[Category:Textures]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9951</id>
		<title>Template:Dashedborder</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9951"/>
				<updated>2010-01-19T13:44:21Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;dascript&amp;quot; style=&amp;quot;font-family:monospace; background-color:#F9F9F9; border: 1px dashed #2F6FAB; line-height: 1.1em; padding: 1em; width: 95%;&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&amp;lt;nowiki&amp;gt;{{dashedborder|text to put a border around}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Formatting templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9950</id>
		<title>Template:Dashedborder</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9950"/>
				<updated>2010-01-19T13:43:59Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;dascript&amp;quot; style=&amp;quot;font-family:monospace; background-color:#F9F9F9; border: 1px dashed #2F6FAB; line-height: 1.1em; padding: 1em; width: 90%;&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&amp;lt;nowiki&amp;gt;{{dashedborder|text to put a border around}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Formatting templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9949</id>
		<title>Template:Dashedborder</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Template:Dashedborder&amp;diff=9949"/>
				<updated>2010-01-19T13:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;dascript&amp;quot; style=&amp;quot;font-family:monospace; background-color:#F9F9F9; border: 1px dashed #2F6FAB; line-height: 1.1em; padding: 1em; width: 100%;&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&amp;lt;nowiki&amp;gt;{{dashedborder|text to put a border around}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Formatting templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Follower_tutorial&amp;diff=9948</id>
		<title>Follower tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Follower_tutorial&amp;diff=9948"/>
				<updated>2010-01-19T13:32:17Z</updated>
		
		<summary type="html">&lt;p&gt;Apolyon6k: /* Include Function In Your Hire Script and Call It */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Simple Follower Creation ==&lt;br /&gt;
&lt;br /&gt;
Follow these steps to create a follower that&lt;br /&gt;
&lt;br /&gt;
- Levels up with a default package&lt;br /&gt;
&lt;br /&gt;
- Can be chosen from the party picker&lt;br /&gt;
&lt;br /&gt;
- Can gain XP&lt;br /&gt;
&lt;br /&gt;
This guide assumes you know how to create a creature and are comfortable with basic scripting.&lt;br /&gt;
&lt;br /&gt;
You should only use this simple method if you are sure there will be empty space in the active party when your follower is recruited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create the creature ===&lt;br /&gt;
&lt;br /&gt;
Create a creature to act as your follower.  Set its name, appearance, gender, head morph, conversation, inventory etc as you want them to behave in-game.&lt;br /&gt;
&lt;br /&gt;
Set an appropriate '''Tag''' (you'll be using it a lot).  I suggest &amp;quot;party_charname&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Make sure you choose a '''Class'''.  For most followers this should be Rogue, Warrior or Wizard.&lt;br /&gt;
&lt;br /&gt;
[[File:class.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under Package/Scaling set:&lt;br /&gt;
&lt;br /&gt;
'''General Package Type''' to be '''Party Members'''&lt;br /&gt;
&lt;br /&gt;
'''Package''' to be an appropriate value (probably &amp;quot;Generic - Wizard&amp;quot; or similar)&lt;br /&gt;
&lt;br /&gt;
'''Package AI''' (there should only be one choice)&lt;br /&gt;
&lt;br /&gt;
'''Rank''' to be '''Player'''&lt;br /&gt;
&lt;br /&gt;
[[File:package.jpg]]&lt;br /&gt;
&lt;br /&gt;
Save and export your character as normal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Override char_stage ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In your resource palette, open char_stage under the Global folder (you will probably need to right-click it and select &amp;quot;Check Out&amp;quot; first):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:area_palette.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a new waypoint for your follower to appear on the party picker.  This waypoint '''must''' have a tag in the form of &amp;quot;char_&amp;quot; followed by the exact tag of your follower.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:char_stage.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this example the tag of my follower is '''bc_party_miera''' so her waypoint tag must be '''char_bc_party_miera'''&lt;br /&gt;
&lt;br /&gt;
For a standalone module (such as in this example), put your waypoint wherever you please.  The illustrated one is directly on top of Morrigan's.  For an add-in to the main campaign, you should position your wp appropriately relative to the core party members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save and export the area.&lt;br /&gt;
&lt;br /&gt;
Move the '''char_stage.are''' and '''char_stage.lst''' files from your core export folder to your module's export folder (probably from \Documents\Bioware\Dragon Age\packages\core\override\toolsetexport to \Documents\Bioware\Dragon Age\AddIns\yourModule\module\override\toolsetoverride).  This ensures that the modification to the character stage only takes effect if your module is installed and enabled, which will help manage compatibility problems.  Make sure those files are included when you package your module for distribution.&lt;br /&gt;
&lt;br /&gt;
=== Create m2DAs for the Party Picker ===&lt;br /&gt;
&lt;br /&gt;
You will need to create two Excel spreadsheets.&lt;br /&gt;
&lt;br /&gt;
The first should be named (both worksheet and file) '''partypicker_''' with a unique suffix.  In this example, my first spreadsheet is named partypicker_fofbc.xls with a worksheet name of partypicker_fofbc - the suffix being the acronym of my module.&lt;br /&gt;
&lt;br /&gt;
Set up your columns as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:partypickerm2da.jpg]]&lt;br /&gt;
&lt;br /&gt;
The '''ID''' for your follower must be '''12 or higher'''.  11 is the highest value used in the base 2DA.  12 is fine for standalone modules, add-ins will probably want to use an arbitrarily high number to avoid potential conflicts.&lt;br /&gt;
&lt;br /&gt;
The '''Label''' should be the follower's name as you wish it to appear on the party picker.&lt;br /&gt;
&lt;br /&gt;
The '''Tag''' must be your follower's tag.&lt;br /&gt;
&lt;br /&gt;
All other values are non-functioning defaults and should be specified as in the image above unless you know explicitly what you're doing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE - ON SELECTION ANIMATIONS'''&lt;br /&gt;
 &lt;br /&gt;
Add Animation and Remove Animation are actually Id numbers of different animations, taken from anim_base.gda&lt;br /&gt;
&lt;br /&gt;
Enter and Exit version of animations are generally the best ones to use, altough one can try others. NOT ALL ANIMATIONS WILL WORK, since some require special conditions.&lt;br /&gt;
Here are some examples you can use:&lt;br /&gt;
&lt;br /&gt;
819 - talk cursing&lt;br /&gt;
&lt;br /&gt;
629 - reading a book (doesn't work, since it probably requires a book object)&lt;br /&gt;
&lt;br /&gt;
844 - hands behind back (848 and 849 are Enter and Exit versions respectfully)&lt;br /&gt;
&lt;br /&gt;
850 - chest pounding salute&lt;br /&gt;
&lt;br /&gt;
811 - fist pounding&lt;br /&gt;
&lt;br /&gt;
277 - dance&lt;br /&gt;
&lt;br /&gt;
247 - cast area spell&lt;br /&gt;
&lt;br /&gt;
500 - vfx cast&lt;br /&gt;
&lt;br /&gt;
600 - surprised&lt;br /&gt;
&lt;br /&gt;
603 - praying&lt;br /&gt;
&lt;br /&gt;
607 - head bow&lt;br /&gt;
&lt;br /&gt;
609 - standing at attention&lt;br /&gt;
&lt;br /&gt;
651,652 - crouch pray (Enter and exit)&lt;br /&gt;
&lt;br /&gt;
808 - point forward&lt;br /&gt;
&lt;br /&gt;
825 - nodding&lt;br /&gt;
&lt;br /&gt;
840 - hand chop or frustration&lt;br /&gt;
&lt;br /&gt;
905,906 - crouch (Enter, Exit)&lt;br /&gt;
&lt;br /&gt;
919,920 - sit on ground (enter, exit)&lt;br /&gt;
&lt;br /&gt;
965 - kneel down loop&lt;br /&gt;
&lt;br /&gt;
972 - wipe nose&lt;br /&gt;
&lt;br /&gt;
976,977 - squat (Enter, Exit)&lt;br /&gt;
&lt;br /&gt;
986 - wipe eyes&lt;br /&gt;
&lt;br /&gt;
998,999 - hands clasped (Enter, exit)&lt;br /&gt;
&lt;br /&gt;
3029 - inspect nails&lt;br /&gt;
&lt;br /&gt;
3031,3032 - playful (enter, exit)&lt;br /&gt;
&lt;br /&gt;
3054,3056 - slouch (enter, exit)&lt;br /&gt;
255 - in-place fly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE - ON SELECTION VFX''' &lt;br /&gt;
&lt;br /&gt;
The VFX column is the ID of the vFX effect taken from vFx_base.gda. This one is a bit more tricky, since it also references the BlendTree value from the same file.&lt;br /&gt;
Find the ID of the spell effect and look for the BlendTreeName column (should the the 12th columun) and enter BOTH into the respective columns for your character in the partypicker file.&lt;br /&gt;
&lt;br /&gt;
Some examples:&lt;br /&gt;
&lt;br /&gt;
ID      ---      BLENDTREENAME      ---   EFFECT&lt;br /&gt;
&lt;br /&gt;
6039    ---     fxm_energy_up_p    ---    Lady of the Forest pillar of light&lt;br /&gt;
&lt;br /&gt;
6040    ---     fxm_power_in_p      ---   Branka - power in&lt;br /&gt;
&lt;br /&gt;
3054    ---     fxc_lotf_c          ---   Lady of the Forest - swirling leaves&lt;br /&gt;
&lt;br /&gt;
3009    ---     fxc_succubus_c     ---    Succubus crust&lt;br /&gt;
&lt;br /&gt;
1549    ---     fxa_hly_imp_c       ---   Holy Impact crust&lt;br /&gt;
&lt;br /&gt;
1076    ---     fxa_spi_aur_mht_c   ---   Spirit - Aura Might crust&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second spreadsheet should be named '''party_picker_''' (note middle underscore).  Once again append your unique suffix (in this example party_picker_fofbc.xls with party_picker_fofbc as its worksheet).&lt;br /&gt;
&lt;br /&gt;
Set up your columns and data like so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:party_pickerm2da.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''ID''' and '''Tag''' should match what you did in the first spreadsheet.  Specify INVALID COLUMN for the third column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you're familiar with m2DAs, generate them from these files, copy them to your module's override directory, and skip to the next step.  Otherwise, read on:&lt;br /&gt;
&lt;br /&gt;
- Go to '''\Program Files\Dragon Age\tools\ResourceBuild\Processors''' (or wherever you installed Dragon Age)&lt;br /&gt;
&lt;br /&gt;
- Copy '''ExcelProcessor.exe''' from that folder to whichever folder has the excel sheets you just created.&lt;br /&gt;
&lt;br /&gt;
- Drag and drop your xls files onto ExcelProcessor.  This will create .gda files.&lt;br /&gt;
&lt;br /&gt;
- Copy these .gda files to your module's export directory (probably \Documents\Bioware\Dragon Age\AddIns\yourModule\module\override\toolsetexport).  Make sure they are included in your .dazip when the time comes to build your module.&lt;br /&gt;
&lt;br /&gt;
If you are an OpenOffice user and have trouble with ExcelProcessor, you can use [http://social.bioware.com/project/755/ GDApp] to directly create the 2DAs.  It rocks!&lt;br /&gt;
&lt;br /&gt;
=== Capture the EVENT_TYPE_PARTYMEMBER_ADDED Event ===&lt;br /&gt;
&lt;br /&gt;
Amusingly enough, the Party Picker does not actually add followers to the party.  However it raises an event that allows you to do so.  Your module script needs to capture this event and execute some code.&lt;br /&gt;
&lt;br /&gt;
The following example shows what to do with the event.  The full script would work as a module script for an add-in (assuming it didn't need to do anything else), but otherwise you'll have to incorporate the event into your own module script.  &lt;br /&gt;
&lt;br /&gt;
If you're not sure how to set a module script, go to '''File''' then '''Manage Modules,''' select your module and click '''Properties.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        case EVENT_TYPE_PARTYMEMBER_ADDED:&lt;br /&gt;
        {&lt;br /&gt;
            object oFollower = GetEventObject(ev, 0);&lt;br /&gt;
            SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0);  //Allows the follower to gain XP&lt;br /&gt;
            AddCommand(oFollower, CommandJumpToLocation(GetLocation(GetHero())));   //Ensures follower appears at PC's location.&lt;br /&gt;
            SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE);  //Adds follower to the active party&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE)''' is the key statement to add the follower to the active party.  You must have this.&lt;br /&gt;
&lt;br /&gt;
'''SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0)''' is a bug-fix, as followers hired with UT_HireFollower() do not receive XP by default.  This statement fixes that, and I consider it best practice to keep it in this event to ensure it is always set.  You will not wish to do this if you want a follower that should not gain XP to be on the party picker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that you do not need to intercept the corresponding event for a party member being removed - the party picker handles spawning/despawning, and thus will successfully remove members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember to save and export your module script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you're not sure how to set a module script, go to '''File''' then '''Manage Modules,''' select your module and click '''Properties.'''  The module script is in the General category, as seen below:&lt;br /&gt;
&lt;br /&gt;
[[File:module_script.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can set this to any script you've created.  See [[Scripting tutorial]] and [[Character generation]] for more background and some simple examples of event-handling scripts.  In general, you will want to make sure standalone module scripts pass events through to module_core (as in the [[Character generation]] examples) and add-in scripts do not (as in the example above).&lt;br /&gt;
&lt;br /&gt;
=== Create Your Hiring Script ===&lt;br /&gt;
&lt;br /&gt;
Now all that remains is to actually hire the follower :)&lt;br /&gt;
&lt;br /&gt;
Create a script to handle the hiring (which will most likely be fired from a conversation).  The script is quite simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
&lt;br /&gt;
        object oFollower = GetObjectByTag(&amp;quot;bc_party_miera&amp;quot;); //Use CreateObject() if the creature isn't present in the module yet&lt;br /&gt;
&lt;br /&gt;
        UT_HireFollower(oFollower);   //Hires the follower&lt;br /&gt;
&lt;br /&gt;
        SetPartyPickerGUIStatus(2);&lt;br /&gt;
&lt;br /&gt;
        ShowPartyPickerGUI();  //Shows the Party Picker; necessary for the follower to gain XP&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure you use your own follower's tag and not the example one :)&lt;br /&gt;
&lt;br /&gt;
This script fires the party picker after hiring the follower.  That is absolutely necessary via this method, as we have put the XP fix onto an event fired by the party picker.  You cannot put the XP fix into this script, it must be called from a later one (the bug is caused by an errant call to an event in player_core, which will be executed AFTER this script).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The easiest way to use this script is directly from conversation, putting it as an action on a line of dialogue where the PC invites the follower to join them.  If you're not sure how to associate a script with a dialogue line, see the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:hire_conv.jpg]]&lt;br /&gt;
&lt;br /&gt;
Create your dialogue as normal, select the line you want to fire the script, and click the '''Plots and Scripting''' tab.  Use the '''Script''' file chooser in the Action section to browse to the script you created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything worked, you should see something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:picker_success.jpg|thumb|200px|center]]&lt;br /&gt;
&lt;br /&gt;
== Advanced Follower Creation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Follow these steps to have full control over the creation of your follower, with options such as:&lt;br /&gt;
&lt;br /&gt;
- Unique level-up template&lt;br /&gt;
&lt;br /&gt;
- Class and specialisation chosen via script&lt;br /&gt;
&lt;br /&gt;
- Any starting state&lt;br /&gt;
&lt;br /&gt;
- Level higher than the PC&lt;br /&gt;
&lt;br /&gt;
- Starts with a specialisation point rather than a specific specialisation&lt;br /&gt;
&lt;br /&gt;
- Set plot flags in the call to the hire script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prepare Creature, char_stage and Party Picker m2DAs ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Follow the same steps to create your create your follower creature, override char_stage and create your Party Picker m2DAs as above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Create Party Plot ===&lt;br /&gt;
&lt;br /&gt;
While not necessary, it's very helpful to have plot flags set when a follower is hired or joins/leaves the active party.  This makes conversation interjections and the like very easy.&lt;br /&gt;
&lt;br /&gt;
Create a plot with appropriate flags.  There's no real need to associate journal text with them:&lt;br /&gt;
&lt;br /&gt;
[[File:follower_plot.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add Plot Flags to Party Picker Event Intercept ===&lt;br /&gt;
&lt;br /&gt;
We then update our module script to make use of that plot, like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;plt_bc_create_party&amp;quot;   //make sure you include your own plot, not mine&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        case EVENT_TYPE_PARTYMEMBER_ADDED:&lt;br /&gt;
        {&lt;br /&gt;
            object oFollower = GetEventObject(ev, 0);&lt;br /&gt;
            SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
            SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
&lt;br /&gt;
            AddCommand(oFollower, CommandJumpToLocation(GetLocation(GetHero())));   //Ensures follower appears at PC's location.&lt;br /&gt;
            &lt;br /&gt;
            if (GetTag(oFollower) == &amp;quot;bc_party_miera&amp;quot;) {               //You must explicitly test for your follower's tag.&lt;br /&gt;
                WR_SetPlotFlag(PLT_BC_CREATE_PARTY, PARTY_MIERA_IN_PARTY, TRUE);     //Make sure you use your own flags!&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            break;&lt;br /&gt;
        }  &lt;br /&gt;
        &lt;br /&gt;
        case EVENT_TYPE_PARTYMEMBER_DROPPED:                    &lt;br /&gt;
        {&lt;br /&gt;
              object oFollower = GetEventObject(ev, 0); &lt;br /&gt;
              &lt;br /&gt;
              if (GetTag(oFollower) == &amp;quot;bc_party_miera&amp;quot;) { &lt;br /&gt;
                WR_SetPlotFlag(PLT_BC_CREATE_PARTY, PARTY_MIERA_IN_PARTY, FALSE);     //As above, but set false.&lt;br /&gt;
              }&lt;br /&gt;
            &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a Level Up Template ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can skip this step if you're content to use one of the generic Rogue, Wizard or Warrior templates, but I don't recommend it.  Making a template that suits your character is easy and will almost always be better for the player than a generic one that spends points poorly.&lt;br /&gt;
&lt;br /&gt;
Go to \Program Files\Dragon Age\tools\Source\2DA (or wherever you installed Dragon Age).&lt;br /&gt;
&lt;br /&gt;
You should see a number of excel sheets of the form '''ALCharacter.xls''' (such as ALAlistair.xls, ALLeliana.xls, ALRogue_Default.xls etc).  Open the one closest to your character (ie Morrigan or Wynne for a wizard, Leliana or Zevran for a rogue).  Save a copy as '''ALYourcharacter.xls''' in whatever directory you're using to create your 2DAs, remembering to rename the worksheet '''ALYourcharacter''' (in this example, ALMiera.xls with ALMiera as its worksheet).&lt;br /&gt;
&lt;br /&gt;
It should look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:ALtable.jpg|thumb|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Columns B''' and '''C''' are the talents/spells available to this character.  Do not change them.&lt;br /&gt;
&lt;br /&gt;
'''Columns F''' and '''G''' are the skills available to this character.  Do not change them.&lt;br /&gt;
&lt;br /&gt;
We will edit the remaining columns like so:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Setting Stat Weights ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The stat weights in '''column J''' determine how the follower will spend their attribute points, in a rough ratio.  So if Dexterity is set to 1.5 and Intelligence to 1, you should expect to see 3 points of Dex for every 2 points of Cunning in-game (note Intelligence is the label used in the toolset for Cunning).&lt;br /&gt;
&lt;br /&gt;
Simply change the values in J to reflect how you'd like the character to spend their points.  In this example we're creating a wizard, so we're not going to mess around:&lt;br /&gt;
&lt;br /&gt;
[[File:miera_stat_weights.jpg]]&lt;br /&gt;
&lt;br /&gt;
This character will only raise magic.  I set the value to 5 rather than something like 1 to provide room underneath for the other stats while still overwhelmingly favouring magic, but in practice I only really ever want that one stat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Setting Talent and Skill Priorities ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Columns D''' and '''E''' are the talents/spells that the character will buy, in preference order from top to bottom.&lt;br /&gt;
&lt;br /&gt;
'''Columns H''' and '''I''' are the skills that the character will buy, in preference order from top to bottom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To change these, just copy the appropriate two cells from columns B&amp;amp;C or F&amp;amp;G over the ones you want to replace.&lt;br /&gt;
&lt;br /&gt;
For example, here we're copying Morrigan's template.  Morrigan has Spider Shape high in her preferences, which we do not want.&lt;br /&gt;
&lt;br /&gt;
[[File:AlMori_talent_pref.jpg]]&lt;br /&gt;
&lt;br /&gt;
We decide we'd prefer Flame Blast, so we find it in columns B&amp;amp;C and copy both cells:&lt;br /&gt;
&lt;br /&gt;
[[File:ALMori_copy.jpg]]&lt;br /&gt;
&lt;br /&gt;
Then we select the cells we want to replace in columns D&amp;amp;E and paste over them:&lt;br /&gt;
&lt;br /&gt;
[[File:ALMori_paste.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Continue this process until your priorities list for both skills and talents/spells is exactly as you want it.  Make sure you have at least as many priorities as the core follower you're copying - points that cannot be spent according to these priorities have a habit of vanishing.&lt;br /&gt;
&lt;br /&gt;
If you used any abilities from a specialisation, make sure you remember to set that specialisation with the function we'll introduce later.  The autolevel scripts will add specialisation abilities to a character regardless of whether they have that spec or not.&lt;br /&gt;
&lt;br /&gt;
==== Create a M2DA_base_ m2DA ====&lt;br /&gt;
&lt;br /&gt;
Dragon Age will need to know where to find your autolevel template.  We tell it by extending M2DA_base.gda&lt;br /&gt;
&lt;br /&gt;
Create a spreadsheet with the name and worksheet name in the form '''M2DA_base_''' with your unique suffix (in this example, M2DA_base_fofbc.xls with M2DA_base_fofbc as a worksheet).&lt;br /&gt;
&lt;br /&gt;
Set up its columns and data like so (note I used GDApp because Open Office wasn't cooperating for this one!):&lt;br /&gt;
&lt;br /&gt;
[[File:m2da_base_fofbc.jpg]]&lt;br /&gt;
&lt;br /&gt;
The '''ID''' should be very high to avoid conflicts.  I've arbitrarily chosen 50,000+ here.  Carefully note the ID you've chosen for your character, you will need it later.&lt;br /&gt;
&lt;br /&gt;
Set the '''Label''' and '''Worksheet''' to be the name of your autolevel template worksheet (ALCharactername if you've been following this).&lt;br /&gt;
&lt;br /&gt;
Set the '''PackageIDForAI''' to be 0, it shouldn't be needed for followers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you're done, use ExcelProcessor to make GDAs of both spreadsheets and copy them to your module's export folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FOR AUTOLEVEL TO WORK AFTER RECRUITING:&lt;br /&gt;
&lt;br /&gt;
Look in packages.xls. &lt;br /&gt;
There is a column called LevelupTable. That links to a corresponding AL* table. For instance,  row 81 is for Leliana. Her LevelupTable value is 258. If you look that up in 2DA_base, you'll see it links to ALLeliana.&lt;br /&gt;
(alternatively, you could try packages_base.gda)&lt;br /&gt;
&lt;br /&gt;
=== Create a New Hire Function Include ===&lt;br /&gt;
&lt;br /&gt;
Many vital steps of follower addition happen inside an event in player_core.  Followers tend to be extremely buggy (no skill tree, for example) if this event does not fire.&lt;br /&gt;
&lt;br /&gt;
However, that event is not very flexible.  In order to control it to our requirements, we need to replicate its functionality inside our own script.  This is probably much safer than messing with player_core directly!&lt;br /&gt;
&lt;br /&gt;
Create a new script file, naming it something like '''hireCustomFollower_h'''.  We will be including this wherever we want to hire a follower.&lt;br /&gt;
&lt;br /&gt;
Paste in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
#include &amp;quot;approval_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_autolevelup_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/*  Jye Nicolson 5-Jan-2010&lt;br /&gt;
This function set duplicates the full functionality chain of UT_HireFollower, with the following exceptions:&lt;br /&gt;
&lt;br /&gt;
-  Followers can gain XP&lt;br /&gt;
-  Autolevel status can be set (default off)&lt;br /&gt;
-  Followers can be set to any starting state (default Available) and will still be properly initalised and added to the party pool&lt;br /&gt;
-  Autolevel tables for non-core followers can be explicitly set.&lt;br /&gt;
-  Class and Specialisation can be chosen via script&lt;br /&gt;
-  Followers without specialisations are granted a spec point by default.&lt;br /&gt;
&lt;br /&gt;
It should only ever be called once each for characters you intend to be full followers.&lt;br /&gt;
Much of the protective code handling summoned creatures etc. in player_core is not present here.&lt;br /&gt;
&lt;br /&gt;
Calling the function:&lt;br /&gt;
&lt;br /&gt;
Simple:&lt;br /&gt;
&lt;br /&gt;
hireCustomFollower(oFollower, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
Change the class to CLASS_WIZARD or CLASS_ROGUE as appropriate.  &lt;br /&gt;
This will hire your follower and make them available.  &lt;br /&gt;
They will auto level up with a default package, and receive a free spec point.&lt;br /&gt;
&lt;br /&gt;
Best Practice:&lt;br /&gt;
&lt;br /&gt;
hireCustomFollower(oFollower, CLASS_WARRIOR, PLT_YOUR_PARTY_PLOT, YOUR_FOLLOWER_JOINED_FLAG, ABILITY_TALENT_HIDDEN_CHAMPION);&lt;br /&gt;
&lt;br /&gt;
Where the plot and flag are those for your module (remember to create the plot and include it on the calling script), and ABILITY_TALENT_HIDDEN etc is the desired spec.&lt;br /&gt;
&lt;br /&gt;
You should also have a custom ALTable set up.  &lt;br /&gt;
See wiki for details, and remember to edit it in to GetCustomFollowerALTable below or pass it directly as an argument to hireCustomFollower.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Full argument list:&lt;br /&gt;
&lt;br /&gt;
void hireCustomFollower (&lt;br /&gt;
        object oFollower,   //Pass your follower object, mandatory&lt;br /&gt;
        &lt;br /&gt;
        int nForceClass,    //Pass a Class constant here, usually CLASS_ROGUE, CLASS_WARRIOR, CLASS_WIZARD.  Mandatory due to a bug.&lt;br /&gt;
        &lt;br /&gt;
        string sPlot = &amp;quot;&amp;quot;,   //It's recommended you have a plot flag to be set when the follower joins.  Pass the plot constant here.  Remember to #include in calling script&lt;br /&gt;
        &lt;br /&gt;
        int nPlotFlag = &amp;quot;&amp;quot;,  //And then pass the flag constant.  Will be set to TRUE if available.&lt;br /&gt;
        &lt;br /&gt;
        int nForceSpec = 0,  //This is the ID of the Specialisation you want.  Note they are NOT classes, but abilities.  The full list is:&lt;br /&gt;
                             //ABILITY_SPELL_HIDDEN_ARCANE_WARRIOR, ABILITY_SPELL_HIDDEN_BLOODMAGE, ABILITY_SPELL_HIDDEN_SHAPESHIFTER, ABILITY_SPELL_HIDDEN_SPIRIT_HEALER&lt;br /&gt;
                             //ABILITY_SPELL_HIDDEN_BARD, ABILITY_TALENT_HIDDEN_ASSASSIN, ABILITY_TALENT_HIDDEN_DUELIST, ABILITY_TALENT_HIDDEN_RANGER&lt;br /&gt;
                             //ABILITY_TALENT_HIDDEN_BERSERKER, ABILITY_TALENT_HIDDEN_CHAMPION, ABILITY_TALENT_HIDDEN_REAVER, ABILITY_TALENT_HIDDEN_TEMPLAR&lt;br /&gt;
                             //I recommended forcing a spec, particularly if your ALTable includes abilities from one.&lt;br /&gt;
        &lt;br /&gt;
        int nALTable = 0,    //This is the ID of an ALTable from 2DA_base.GDA or your module's m2DA_base_*.GDA  I recommended the latter, but you can edit that into GetCustomFollowerALTable below rather than passing it.&lt;br /&gt;
        &lt;br /&gt;
        int bInvokePicker = FALSE,  //Sets whether the party picker should be opened on hiring.  I think it's cleaner to call the picker outside this script, particularly if you have multiple hires at once.&lt;br /&gt;
        &lt;br /&gt;
        int nInitialState = FOLLOWER_STATE_AVAILABLE,  //This sets whether the follower joins the active party or not.  Options are:&lt;br /&gt;
                                                       //FOLLOWER_STATE_ACTIVE (put them in the active party)&lt;br /&gt;
                                                       //FOLLOWER_STATE_LOCKEDACTIVE (force them into the active party and keep them there, remember to change this later.&lt;br /&gt;
                                                       //FOLLOWER_STATE_AVAILABLE (make them available on the party picker (if you've set it up for them), but not in the active party)&lt;br /&gt;
                                                       //Plus some others you're unlikely to need at this time.  Defaults to AVAILABLE because having 4+ active followers is screwy.&lt;br /&gt;
                                                       &lt;br /&gt;
        string sCurrPlot = &amp;quot;&amp;quot;,  //If you set FOLLOWER_STATE_ACTIVE or FOLLOWER_STATE_LOCKEDACTIVE, the script will check to see if you passed this.&lt;br /&gt;
                                //It is recommended that you have a plot flag set for a given follower being in the active party, this makes conversation interjection etc. much easier.&lt;br /&gt;
&lt;br /&gt;
        int nCurrPlotFlag = 0,  //This flag will be set if FOLLOWER_STATE_ACTIVE or FOLLOWER_STATE_LOCKEDACTIVE are true&lt;br /&gt;
                                //AND sCurrPlot has a value AND nCurrPlotFlag is &amp;gt; 0.  &lt;br /&gt;
                                //ie if you added someone to the active party and have a plot flag to cope with it.&lt;br /&gt;
&lt;br /&gt;
        int nAutolevel = 0,     //Sets the Autolevel flag on the character sheet.  0 is off, 1 is on, 2 forces it on and removes it so the player can't turn it off.&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        bFreeSpecPoint = TRUE,  //This grants a specialisation point to the follower if they do not have a specialisation.  &lt;br /&gt;
                                //It's important to set this false for classes that do not have specs, such as CLASS_DOG.&lt;br /&gt;
                                &lt;br /&gt;
        int nTargetLevel = 0,   //If you want a specific level, set this.  Generally not worthwhile unless you set it higher than the player, since they'll just get XP from the party picker anyway.&lt;br /&gt;
        &lt;br /&gt;
        int nMinLevel = 0       //Set this if there's a specific level you don't want the follower to go below.  Probably only useful if the PC might be very low level but not necessarily so. &lt;br /&gt;
        &lt;br /&gt;
        )&lt;br /&gt;
*/       &lt;br /&gt;
/* GetCustomFollowerALTable()  &lt;br /&gt;
This function is where you put your custom table assignments.&lt;br /&gt;
&lt;br /&gt;
You should explicitly test for the tag of your follower (not mine!) and assign a value to nTable from your m2DA extension to M2DA_base &lt;br /&gt;
&lt;br /&gt;
See wiki for details on how to do this, or ignore it to get the default Warrior/Rogue/Wizard AL tables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you MUST explicitly set a table for non-Warrior/Rogue/Wizards, eg dogs.  Use TABLE_AL_DOG for a default Mabari.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
int GetCustomFollowerALTable(object oFollower) {&lt;br /&gt;
    int nTable = _GetTableToUseForAL(oFollower);&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_miera&amp;quot;) {               &lt;br /&gt;
        nTable = 50143;   &lt;br /&gt;
    }   &lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_jysavin&amp;quot;) {&lt;br /&gt;
        nTable = 50144;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_geldual&amp;quot;) {&lt;br /&gt;
        nTable = 50145;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_braghon&amp;quot;) {&lt;br /&gt;
        nTable = 50146;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    return nTable;    &lt;br /&gt;
}   &lt;br /&gt;
&lt;br /&gt;
// This just cleans up the main function a little&lt;br /&gt;
&lt;br /&gt;
int GetCustomFollowerTargetLevel(object oFollower, object oHero, int nPackage, int nMinLevel = 0) {&lt;br /&gt;
            int nPlayerLevel = GetLevel(oHero);&lt;br /&gt;
            int nTargetLevel = 0;&lt;br /&gt;
&lt;br /&gt;
            if((nPlayerLevel &amp;gt;= 13) || (nPlayerLevel == 1) || (!_UT_GetIsPlotFollower(oFollower))) {&lt;br /&gt;
               nTargetLevel = nPlayerLevel;&lt;br /&gt;
            } else {&lt;br /&gt;
               nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (nMinLevel == 0) {  //If nMinLevel is not specified, checks package 2DA for a value&lt;br /&gt;
              nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
             }&lt;br /&gt;
            if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel) {&lt;br /&gt;
               nTargetLevel = nMinLevel;&lt;br /&gt;
            }          &lt;br /&gt;
            &lt;br /&gt;
            return nTargetLevel;&lt;br /&gt;
    &lt;br /&gt;
}   &lt;br /&gt;
&lt;br /&gt;
// Moving this black box out :)  I don't really understand it, but it should function if you have tactics set up in a package.&lt;br /&gt;
&lt;br /&gt;
void InitCustomFollowerTactics(object oFollower, int nPackage) {&lt;br /&gt;
         int nTableID = GetM2DAInt(TABLE_PACKAGES, &amp;quot;FollowerTacticsTable&amp;quot;, nPackage);&lt;br /&gt;
         if (nTableID != -1)&lt;br /&gt;
            {&lt;br /&gt;
             int nRows = GetM2DARows(nTableID);&lt;br /&gt;
             int nMaxTactics = GetNumTactics(oFollower);&lt;br /&gt;
&lt;br /&gt;
             int nTacticsEntry = 1;&lt;br /&gt;
             int i;&lt;br /&gt;
             for (i = 1; i &amp;lt;= nRows &amp;amp;&amp;amp; nTacticsEntry &amp;lt;= nMaxTactics; ++i)&lt;br /&gt;
                {&lt;br /&gt;
                        int bAddEntry = FALSE;&lt;br /&gt;
                        int nTargetType = GetM2DAInt(nTableID, &amp;quot;TargetType&amp;quot;, i);&lt;br /&gt;
                        int nCondition = GetM2DAInt(nTableID, &amp;quot;Condition&amp;quot;, i);&lt;br /&gt;
                        int nCommandType = GetM2DAInt(nTableID, &amp;quot;Command&amp;quot;, i);&lt;br /&gt;
                        int nCommandParam = GetM2DAInt(nTableID, &amp;quot;SubCommand&amp;quot;, i);&lt;br /&gt;
&lt;br /&gt;
                        int nUseType = GetM2DAInt(TABLE_COMMAND_TYPES, &amp;quot;UseType&amp;quot;, nCommandType);&lt;br /&gt;
                        if (nUseType == 0)&lt;br /&gt;
                        {&lt;br /&gt;
                            bAddEntry = TRUE;&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            bAddEntry = HasAbility(oFollower, nCommandParam);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        if (bAddEntry)&lt;br /&gt;
                        {&lt;br /&gt;
                            SetTacticEntry(oFollower, nTacticsEntry, TRUE, nTargetType, nCondition, nCommandType, nCommandParam);&lt;br /&gt;
                            ++nTacticsEntry;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
}  &lt;br /&gt;
&lt;br /&gt;
/* InitCustomFollowerSpec:&lt;br /&gt;
&lt;br /&gt;
This function tries to set the forced Specialisation.  If there is none, it checks the package for one.  &lt;br /&gt;
&lt;br /&gt;
If there isn't either of those, it grants a free spec point if bFreeSpecPoint is true.&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void InitCustomFollowerSpec(object oFollower, int nPackage, int nForceSpec, int bFreeSpecPoint) {&lt;br /&gt;
    // Find specialization, and optionally add a spec point if none is found.&lt;br /&gt;
&lt;br /&gt;
        if (nForceSpec == 0) {&lt;br /&gt;
    &lt;br /&gt;
        int nSpecAbility = GetM2DAInt(TABLE_PACKAGES, &amp;quot;switch1_class&amp;quot;, nPackage); // followers can have only 1 advanced class&lt;br /&gt;
         if(nSpecAbility &amp;gt; 0)&lt;br /&gt;
         {&lt;br /&gt;
          AddAbility(oFollower, nSpecAbility);&lt;br /&gt;
         } else {&lt;br /&gt;
             if (bFreeSpecPoint) {&lt;br /&gt;
                 SetCreatureProperty(oFollower, 38, 1.00);&lt;br /&gt;
             }&lt;br /&gt;
         }                    &lt;br /&gt;
        &lt;br /&gt;
        } else {&lt;br /&gt;
         &lt;br /&gt;
             AddAbility(oFollower, nForceSpec);&lt;br /&gt;
            &lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* hireCustomFollower()  (See doco at top of page)&lt;br /&gt;
&lt;br /&gt;
I strongly suggest you reorder the parameters if you're adding many followers with advanced options.&lt;br /&gt;
&lt;br /&gt;
Feel free to leave them alone if you only want to set class, plot, spec or don't mind long declarations.&lt;br /&gt;
&lt;br /&gt;
Note nForceClass is currently compulsory due to flakiness with GetCreatureCoreClass()&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void hireCustomFollower(object oFollower, int nForceClass, string sPlot = &amp;quot;&amp;quot;, int nPlotFlag = 0, int nForceSpec = 0, int nALTable = 0, int bInvokePicker = FALSE, int nInitialState = FOLLOWER_STATE_AVAILABLE, string sCurrPlot = &amp;quot;&amp;quot;, int nCurrPlotFlag = 0, int nAutolevel = 0, int bFreeSpecPoint = TRUE, int nTargetLevel = 0, int nMinLevel = 0) {&lt;br /&gt;
&lt;br /&gt;
        object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
        /* #################  BEGIN BASIC FOLLOWER JOIN BLOCK   ###################&lt;br /&gt;
&lt;br /&gt;
        This loosely replicates WR_SetFollowerState.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        */    &lt;br /&gt;
        &lt;br /&gt;
        if (nForceClass == 0) {&lt;br /&gt;
            nForceClass = GetCreatureCoreClass(oFollower);           //This is not working.  Hence nForceClass mandatory.&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        SetGroupId(oFollower, GetGroupId(oHero));      //Puts the follower in the pc's Group.&lt;br /&gt;
        SetEventScript(oFollower, RESOURCE_SCRIPT_PLAYER_CORE);  //This makes them act like a player.&lt;br /&gt;
        SetFollowerState(oFollower, nInitialState);  //This sets whether they are available, in the active party etc.&lt;br /&gt;
&lt;br /&gt;
        /* #################  END BASIC FOLLOWER JOIN BLOCK ##################### */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        /* #################  BEGIN PLAYER_CORE EVENT_TYPE_PARTY_MEMBER_HIRED EMULATION #################&lt;br /&gt;
         This replicates the EVENT_TYPE_PARTY_MEMBER_HIRED handler from player_core, stripped down for simplicity and allowing our custom options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        */&lt;br /&gt;
&lt;br /&gt;
        Chargen_EnableTacticsPresets(oFollower);    //I assume this is important.&lt;br /&gt;
        &lt;br /&gt;
        SetLocalInt(oFollower, FOLLOWER_SCALED, 1);  //This should prevent the follower being rescaled by player_core or what have you&lt;br /&gt;
        &lt;br /&gt;
        int nPackage = GetPackage(oFollower);  //Gets the package, which will be used to find a number of 2DA IDs.&lt;br /&gt;
        int nPackageClass = GetM2DAInt(TABLE_PACKAGES, &amp;quot;StartingClass&amp;quot;, nPackage);  //I don't think this is used, even by player_core&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        // set behavior according to package&lt;br /&gt;
        int nBehavior = GetM2DAInt(TABLE_PACKAGES, &amp;quot;FollowerBehavior&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
        if(nBehavior &amp;gt;= 0) {&lt;br /&gt;
            SetAIBehavior(oFollower, nBehavior);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        Chargen_InitializeCharacter(oFollower);      //We initialise the follower and choose race/class.&lt;br /&gt;
        &lt;br /&gt;
        Chargen_SelectRace(oFollower,GetCreatureRacialType(oFollower));&lt;br /&gt;
        Chargen_SelectCoreClass(oFollower,nForceClass);        &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         if (nTargetLevel == 0) {   //This block picks a target level if not specified&lt;br /&gt;
            &lt;br /&gt;
              nTargetLevel = GetCustomFollowerTargetLevel(oFollower, oHero, nPackage, nMinLevel);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));      //Here is where the XP is calculated and rewarded&lt;br /&gt;
         RewardXP(oFollower, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
         // -------------------------------------------------------------&lt;br /&gt;
         // add hidden approval talents - (JN: I don't know how to set these yet, but when I figure it out this should make it work)&lt;br /&gt;
         // -------------------------------------------------------------&lt;br /&gt;
         int nIndex = Approval_GetFollowerIndex(oFollower);&lt;br /&gt;
         Approval_AddFollowerBonusAbility(nIndex, 0);&lt;br /&gt;
        &lt;br /&gt;
          //Handle Specialisation&lt;br /&gt;
          InitCustomFollowerSpec(oFollower, nPackage, nForceSpec, bFreeSpecPoint);&lt;br /&gt;
&lt;br /&gt;
         // -------------------------------------------------------------&lt;br /&gt;
         // This spends all available attribute and stat points on the&lt;br /&gt;
         // creature according to the levelup table.  (JN:  this replicates AL_DoAutoLevelUp but with our choice of table)&lt;br /&gt;
         // -------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
         if (nALTable == 0) {&lt;br /&gt;
            nALTable = GetCustomFollowerALTable(oFollower);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         AL_SpendAttributePoints(oFollower, nALTable, FALSE);&lt;br /&gt;
         AL_SpendSkillPoints(oFollower, nALTable, TRUE);&lt;br /&gt;
         AL_SpendSpecializationPoints(oFollower, nALTable);&lt;br /&gt;
         AL_SpendTalentSpellPoints(oFollower, nALTable, TRUE);&lt;br /&gt;
&lt;br /&gt;
        // -------------------------------------------------------------------------&lt;br /&gt;
        // Update various UIs&lt;br /&gt;
        // -------------------------------------------------------------------------&lt;br /&gt;
        Chargen_SetNumTactics(oFollower);&lt;br /&gt;
        SetCanLevelUp(oFollower,Chargen_HasPointsToSpend(oFollower));&lt;br /&gt;
&lt;br /&gt;
        // load tactics&lt;br /&gt;
         InitCustomFollowerTactics(oFollower, nPackage);&lt;br /&gt;
&lt;br /&gt;
         /* #################  END PLAYER_CORE EVENT_TYPE_PARTY_MEMBER_HIRED EMULATION ################# */     &lt;br /&gt;
             &lt;br /&gt;
         &lt;br /&gt;
         SetAutoLevelUp(oFollower, nAutolevel);         //This is the autolevel flag on the character sheet.&lt;br /&gt;
         &lt;br /&gt;
         //Set plot flags&lt;br /&gt;
         &lt;br /&gt;
         if (!((sPlot == &amp;quot;&amp;quot;) || (nPlotFlag == 0))) {           //Joined Party&lt;br /&gt;
            WR_SetPlotFlag(sPlot, nPlotFlag, TRUE);   &lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if ((nInitialState == FOLLOWER_STATE_ACTIVE) || (nInitialState == FOLLOWER_STATE_LOCKEDACTIVE)) {&lt;br /&gt;
            if (!((sCurrPlot == &amp;quot;&amp;quot;) || (nCurrPlotFlag == 0))) {&lt;br /&gt;
                WR_SetPlotFlag(sCurrPlot, nCurrPlotFlag, TRUE);   //Currently in Party&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
                     &lt;br /&gt;
        // Invoke picker if requested.&lt;br /&gt;
&lt;br /&gt;
        if (bInvokePicker) {&lt;br /&gt;
             SetPartyPickerGUIStatus(2);&lt;br /&gt;
             ShowPartyPickerGUI();&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yeah, I know.  It can't really be any smaller.  Feel free to modify it if you're confident with scripting.&lt;br /&gt;
==== Add Your Custom Autolevel Template to GetCustomFollowerALTable() ====&lt;br /&gt;
While you can pass the ID you made for your autolevel template to that monster function as an argument, it's better to have them all in one place if you have multiple followers.&lt;br /&gt;
&lt;br /&gt;
GetCustomFollowerALTable() is the first function in our include, and you can add an explicit if test for your follower there to assign the correct table id (the one from your M2DA_base_ m2DA).  There is a function very much like it in sys_autolevel_h.nss for the core followers, so we'll copy Bioware's practice.&lt;br /&gt;
&lt;br /&gt;
Let's take a look at the function by itself:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
int GetCustomFollowerALTable(object oFollower) {&lt;br /&gt;
    int nTable = _GetTableToUseForAL(oFollower);&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_miera&amp;quot;) {               &lt;br /&gt;
        nTable = 50143;   &lt;br /&gt;
    }   &lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_jysavin&amp;quot;) {&lt;br /&gt;
        nTable = 50144;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_geldual&amp;quot;) {&lt;br /&gt;
        nTable = 50145;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (GetTag(oFollower) == &amp;quot;bc_party_braghon&amp;quot;) {&lt;br /&gt;
        nTable = 50146;   &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    return nTable;    &lt;br /&gt;
    &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have a test for each follower tag from my module, matching up to an ID which is assigned to nTable.  All you need to do is change a tag from my follower to yours, and my ID to the correct one from your M2DA_base_* m2DA.  Then you should delete the rest of the example if statements :)&lt;br /&gt;
&lt;br /&gt;
Save and export the script.  Ignore the compiler error about lack of main();&lt;br /&gt;
&lt;br /&gt;
=== Include Function In Your Hire Script and Call It ===&lt;br /&gt;
&lt;br /&gt;
So instead of a hire script that calls UT_HireFollower(), we want one that includes our shiny new function and calls it.&lt;br /&gt;
&lt;br /&gt;
Take a look at the following example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
#include &amp;quot;plt_bc_create_party&amp;quot;   //Make sure you include your party handling plot&lt;br /&gt;
#include &amp;quot;hireCustomFollower_h&amp;quot;  // And include the function script - which will in turn include a bunch of stuff&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
&lt;br /&gt;
                    //Initialising my objects, not super-relevant to the example &lt;br /&gt;
                     &lt;br /&gt;
                    object oHero = GetHero();&lt;br /&gt;
                    object oMiera = CreateObject(OBJECT_TYPE_CREATURE, R&amp;quot;bc_party_miera.utc&amp;quot;, GetLocation(oHero));&lt;br /&gt;
                    object oJysavin = CreateObject(OBJECT_TYPE_CREATURE, R&amp;quot;bc_party_jysavin.utc&amp;quot;, GetLocation(oHero));&lt;br /&gt;
                    object oBraghon = CreateObject(OBJECT_TYPE_CREATURE, R&amp;quot;bc_party_braghon.utc&amp;quot;, GetLocation(oHero));&lt;br /&gt;
                    object oSpider = CreateObject(OBJECT_TYPE_CREATURE, R&amp;quot;bc_party_geldual.utc&amp;quot;, GetLocation(oHero));&lt;br /&gt;
&lt;br /&gt;
                    //Simplest hire call - adds to the party as a wizard.  Class is currently compulsory due to a bug.&lt;br /&gt;
                    hireCustomFollower(oMiera, CLASS_WIZARD);&lt;br /&gt;
&lt;br /&gt;
                    //Add to the party and set joining plot flags&lt;br /&gt;
                    hireCustomFollower(oJysavin, CLASS_WARRIOR, PLT_BC_CREATE_PARTY, PARTY_JYSAVIN_JOINED);&lt;br /&gt;
&lt;br /&gt;
                    //Add to the party, set plot flags, force a specialisation&lt;br /&gt;
                    hireCustomFollower(oBraghon, CLASS_ROGUE, PLT_BC_CREATE_PARTY, PARTY_BRAGHON_JOINED, ABILITY_TALENT_HIDDEN_ASSASSIN);&lt;br /&gt;
&lt;br /&gt;
                    //More complex example - Follower added as a unique class (Dog), not granted a specialisation or spec point.  &lt;br /&gt;
                    //Note unique classes must have an ALTable passed here or specified in GetCustomFollowerALTable() or they won't work&lt;br /&gt;
                    hireCustomFollower(oSpider, CLASS_DOG, PLT_BC_CREATE_PARTY, PARTY_GELDUAL_JOINED, 0, 0, FALSE, FOLLOWER_STATE_AVAILABLE, &amp;quot;&amp;quot;, 0, 0, FALSE);&lt;br /&gt;
                   &lt;br /&gt;
                    //Show the party picker to let the player choose from their new companions!&lt;br /&gt;
                    SetPartyPickerGUIStatus(2);&lt;br /&gt;
                    ShowPartyPickerGUI();                                                                                                                    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The example shows several of the more simple ways of invoking the function.  Check the comments at the start of the function for a full list of arguments.&lt;br /&gt;
&lt;br /&gt;
I would suggest best practice for most followers would be to call as follows:&lt;br /&gt;
&lt;br /&gt;
'''hireCustomFollower(oFollower, CLASS, PLOT, PLOT_FLAG, SPECIALISATION)'''&lt;br /&gt;
&lt;br /&gt;
This will safely set the follower up as the desired class and specialisation (doubly important if there are spec abilities in their ALTable) while setting your plot flag for them being in the party.  hireCustomFollower(oFollower, CLASS, PLOT, PLOT_FLAG, SPECIALISATION, 0, TRUE) will do the same while invoking the Party Picker automatically.&lt;br /&gt;
&lt;br /&gt;
Note that the specialisations are abilities and not classes - you'll find them as ABILITY_HIDDEN_ constants.&lt;br /&gt;
&lt;br /&gt;
If it's all worked, you should find you can now add followers with a lot more flexibility!&lt;br /&gt;
&lt;br /&gt;
[[File:picker_advanced.jpg|thumb|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Common Follower Problems &amp;amp; FAQ ==&lt;br /&gt;
&lt;br /&gt;
====Why don't my followers gain XP?====&lt;br /&gt;
There is a bug in UT_HireFollower. For now the best/easiest approach to take might be to make a copy of UT_HireFollower in an include file and rename it something like UT_HireFollower_Fixed, then make the following change:&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, TRUE);&lt;br /&gt;
to&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelup);&lt;br /&gt;
(Note: Be aware if you use the name UT_HireFollower_Fixed you may end up finding your include file conflicting with someone else who has named it the same in their include.)&lt;br /&gt;
&lt;br /&gt;
Alternately you need to clear a flag in a separate script to the one in which they're hired.&lt;br /&gt;
&lt;br /&gt;
You must use the '''SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0);''' statement in a script you can be sure will run soon after your hiring script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====When I choose followers from the Party Picker, they spawn into the area but do not join.====&lt;br /&gt;
&lt;br /&gt;
You need to intercept the EVENT_TYPE_PARTYMEMBER_ADDED event and set the follower to FOLLOWER_STATE_ACTIVE.  See Simple Follower Creation earlier in this document.&lt;br /&gt;
&lt;br /&gt;
====My followers don't have skill trees!====&lt;br /&gt;
&lt;br /&gt;
If a follower hasn't been through an initial chargen/autolevel event (via player_core/sys_autolevel_h) then the skill tree doesn't show.  You're probably trying to be clever and get around UT_HireFollower without going all the way (see monster function above ^_^).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====My followers don't have a class====&lt;br /&gt;
&lt;br /&gt;
GetCreatureCoreClass() seems flaky under some conditions.  It's best to explicitly set the class yourself; this is why class is currently a mandatory argument to hireCustomFollower()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Isn't there an easier way to do this?====&lt;br /&gt;
&lt;br /&gt;
Possibly.  There is a way of recruiting a follower by setting a plot flag.  However I don't understand it, and I expect it still doesn't allow custom autolevel templates, full control over specialisations etc.  There's still a fair bit of stuff hardcoded for the core followers, I'm not sure putting a custom follower through the same process as Al, Leli et al will have good results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Apolyon6k</name></author>	</entry>

	</feed>