Add A New Class Tutorial

From Dragon Age Toolset Wiki
Revision as of 17:59, 26 November 2009 by Reynen Starfyre (Talk | contribs) (Adding a new class in DA)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

[b]================================================================================ WARNING: WARNING: WARNING: WARNING: WARNING: ================================================================================[/b]

THIS CAN BREAK YOUR GAME / TOOLSET IF YOU ARE NOT VERY CAREFUL. YOU ARE GOING TO HAVE TO OVERWRITE SEVERAL CORE GAME FILES. YOU HAVE BEEN WARNED.

(Currently, created separate M2DA's DO NOT WORK, despite the file says to use them) YOU CAN TRY AND USE THEM AND ADD THEM TO THE 2DA_BASE.XLS UNDER THE M2DA

IN THIS EXAMPLE WE WILL ADD A SHAMAN

PLEASE FOLLOW THIS TUTORIAL EXACTLY, NO JUMPING AROUND OR ALTERING

[b]================================================================================ WARNING: WARNING: WARNING: WARNING: WARNING: ================================================================================[/b]

[b]=================== NEW CLASS STARTER KIT ===================[/b]

[b]This kit has all the .xls spreadsheets you need to add a new class.

These have been pre-programmed to follow the tutorial I wrote so you can see how it is done. It also contains the converter and the GDA as well.

You still need to edit the scripts in the toolkit and add the UTC model.[/b]

YOU STILL NEED TO ADD THESE GDA TO YOUR MODULE

look in name/mydocuments/bioware/dragonage/addins/modulename

Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory

[b]http://www.damods.com/forums/index.php?action=downloads;sa=view;down=131[/b]

[b]=================== NEW CLASS STARTER KIT ===================[/b]


Step 1: You will need to edit the following 2DA's.


2da_base.xls abi_base.xls ALclassname_default.xls (ex ALshaman_default.xls) Copy from ALWizard_default.xls background.xls cla_base.xls guitypes.xls


Step 2: Editing the 2das



open up 2da_base.xls


Add the following to the end of M2DA_base TAB

ID above 100000 ALShaman_default ALShaman_default

Now SAVE your file



Open up guitypes.xls


At bottom of list paste this:

ID Label StringId Ability ProgressBar CombatTraining SpecialGraphic TintColor Orphanage Flags BlendTree 500 Class: Shaman 8000000 5000 0 0 1 0x9B0F00 0 0 ****

Now SAVE your file



Open up CLA_base.xls


Paste this AFTER line 3: (Move all down 1)

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 ****

Now SAVE your file



Open up background.xls


On backgrounds tab: You need to insert a section between mage and skill 1, see screenshot

[img width=750 height=135]http://www.damods.com/images/tuts/background.jpg[/img]

On background_defaults there are several section you need to note here regarding the screenshot:

[img width=750 height=274]http://www.damods.com/images/tuts/bgdef.jpg[/img]

How the ID's work, 1 = dwarf, 4 = shaman, 5 = noble, the rest of the pattern is easy.

On lines 12,15,17,19 you need to add these in. What I recommend is just coping these lines

10 ==> 12 13 ==> 15 16 ==> 17 18 ==> 19

The template string is the deault_shaman.utc you will need to create in the toolset later on for these to have a base model The Ability is the starting ability tied to this class, in my case it just references a different one then what you will have

On chargen_preload there are several section you need to note here regarding the screenshot:

[img width=281 height=374]http://www.damods.com/images/tuts/chardef.jpg[/img]

These ID's must match what is on the background_defaults otherwise the game WILL crash.

Now SAVE your file



open up abi_base.xls


in the ABI_Base tab add the following to the bottom of the list

There are several columns that very are important

abilitytype - define what type of ability. melee, spell, skill etc..---> links with abilitytype.xls

prereqability - defines what is needed to have this ability. To add a new class these need to be changed on existing classes.

guitypes - referenced what class this links too ---> links with guitypes.xls


AFTER LINE 119 ==> 4034 HIDDEN_DOG insert a new row and put in the following

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


Add the bottom paste these


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

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

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

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


NOW HERE IS THE TRICKY PART, MAKE SURE YOU DO THIS RIGHT OR KISS YOUR MODULE GOODBYE

HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)

NOW GOTO DATA --> SORT BY COLUMN S (guitypes) Now they should all be sorted by guitype

Now we need to seperate the mage spells from our new shaman spells.

For guitype spells 1-4, you need to look at the prereqability section for these spells, for those that have 0, replace with 4023 This will make these appear only on the mage from now on. (Which means we need to make seperate skills for our new class) Ok this will now prevent duplicate of skills

HIGHLIGHT LINE 3 ALL THE WAY DOWN TO 558 (BOTTOM OF THE WORKSHEET)

NOW GOTO DATA --> SORT BY COLUMN A (ID) Now we are back to normal


Now goto passive_abilities

Paste the following at the bottom of the list

9000 HIDDEN_SHAMAN 1 2 4 2 6 1 str +2,mag +2,con +1

Now SAVE your file :)



open up ALShaman_default.xls


Should look like this

[img width=750 height=394]http://www.damods.com/images/tuts/alshaman.jpg[/img]

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

COVERTING THE FILES FROM 2DA TO GDA

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

Create a directory called 2DA on C:, inside that dir create one called override.

In your C:\2da put the following:

2da_base.xls abi_base.xls background.xls cla_base.xls guitypes.xls ALShaman_default.xls

Also: ExcelProcessor.exe from the tool converter in your toolset section.

Next you need to make a batch file to run to convert these. Simply open notepad, copy and paste below and save as convert.bat

C:\2DA\ExcelProcessor.exe 2DA_base.xls -outdir=C:\2DA\override\ C:\2DA\ExcelProcessor.exe background.xls -outdir=C:\2DA\override\ C:\2DA\ExcelProcessor.exe CLA_base.xls -outdir=C:\2DA\override\ C:\2DA\ExcelProcessor.exe ALShaman_Default.xls -outdir=C:\2DA\override\ C:\2DA\ExcelProcessor.exe guitypes.xls -outdir=C:\2DA\override\ C:\2DA\ExcelProcessor.exe ABI_base.xls -outdir=C:\2DA\override\

NOTE: YOU MAY NEED TO "RUN AS ADMINISTRATOR" CONVERT.BAT IN VISTA / W7

VOILA YOU NOW HAVE YOUR GDA FILES FOR THE MODULE


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

NOW WE BEGIN EDITING INSIDE THE TOOLSET

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

Create a new module, similiar to the picture below

[color=maroon][b]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[/b][/color]

[img width=431 height=812]http://www.damods.com/images/tuts/module1.jpg[/img]

After making it go back to the module screen and select heirarchy and make sure single player is checked

[img width=295 height=365]http://www.damods.com/images/tuts/hier.jpg[/img]

Now that your module is created we need to add the appropriate GDA to the override section.

look in name/mydocuments/bioware/dragonage/addins/modulename

Put these GDA files in: name/mydocuments/bioware/dragonage/addins/modulename/core/override directory


EDITING THE 2DA_CONSTANTS_H FILE ==> under _Core scripts


right click on 2DA_CONSTANTS_H, select CHECK OUT

Go down to the following sections and edit it like below:

[img width=490 height=160]http://www.damods.com/images/tuts/constant.jpg[/img]

[img width=388 height=354]http://www.damods.com/images/tuts/constant2.jpg[/img]

Afterwards on top select SAVE then CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"



EDITING THE gen00pt_class_race_gend FILE ==> under _Global ==> plot scripts


right click on gen00pt_class_race_gend, select CHECK OUT

Go down and you'll see the following and edit it like below:

[img width=618 height=338]http://www.damods.com/images/tuts/plot.jpg[/img]

Afterwards on top select SAVE then CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"



EDITING THE sys_chargen_h ==> under _Systems ==> _Includes


right click on sys_chargen_h, select CHECK OUT

Go down to the starting skills section and edit it like below:

[img width=448 height=329]http://www.damods.com/images/tuts/syschar1.jpg[/img]

Next goto starting ability

[img width=556 height=409]http://www.damods.com/images/tuts/syschar2.jpg[/img]


Next goto "// Undo Class and Race selection"

[img width=750 height=395]http://www.damods.com/images/tuts/syschar5.jpg[/img]


Next goto "// enabling proper tactics presets"

[img width=750 height=314]http://www.damods.com/images/tuts/syschar6.jpg[/img]

Afterwards on top select SAVE then CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"



EDITING THE sys_rewards_h ==> under _Systems ==> _Includes


right click on sys_rewards_h, select CHECK OUT

Go down to the following section and edit it like below:

[img width=416 height=253]http://www.damods.com/images/tuts/rewards.jpg[/img]

Afterwards on top select SAVE then CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"



EDITING THE sys_chargen ==> under _Systems


right click on sys_chargen, select CHECK OUT

Change this line:

const int MAX_CLASS_INDEX = 4; // Last index of available base classes in cla_base.

Go down to the special handling section and edit it like below:

[img width=750 height=288]http://www.damods.com/images/tuts/syschar3.jpg[/img]

next go down to the tactics sections and add the following:

[img width=542 height=247]http://www.damods.com/images/tuts/syschar4.jpg[/img]

Afterwards on top select SAVE then CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"



Creating the UTC TEMPLATE FILE


Back in the toolset we need to do the following:

Click on the "creature tab" (red head icon)

Right click on default_mage ==> duplicate Do like the following:

[img width=377 height=215]http://www.damods.com/images/tuts/dfs1.jpg[/img]

Now we need to edit the values and give them some armor and weapons, like so:

Class: Shaman (from dropdown) Name: Default Male Shaman

[img width=750 height=570]http://www.damods.com/images/tuts/dfs2.jpg[/img]

Now at the top and click SAVE ==> CHECK IN

Now at the top and click "EXPORT WITHOUT DEPENDENT RESOURCES"


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

Using the string editor

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

Start the String editor and right click and insert.

You will be setting up like this

Table = module talk base Owner = module name TYPE = GUI

8000000 - Shaman 8000001 - Shamans 8000002 - Shamans commune with spirits to get thier other worldly powers. 8000004 - Shaman 8000005 - Shaman Male Name 8000006 - Shaman Female Name

When all is said close string editor


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

Putting it all together

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

Up on top ON THE EXPORT TAB

"EXPORT WITHOUT DEPENDENT RESOURCES"

"GENERATE MODULE XML"

"GENERATE MANIFEST XML"

"EXPORT TALK TABLE"


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

CLEANING UP

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

DON'T SKIP THIS PART

goto name/mydocuments/bioware/dragonage/packages/core/override/toolset

COPY THE FOLLOWING FILES OVER TO YOUR

name/mydocuments/bioware/dragonage/addins/modulename/core/override/toolset

2da_constant_h.nss gen00pt_class_race_gend.nss sys_chargen_h.nss sys_rewards_h.nss sys_chargen.nss sys_chargen.ncs

Delete the rest in the name/mydocuments/bioware/dragonage/packages/core/override/toolset


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

Trying it out

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

Start up your game (It may take a min) and start a new game.

  • WARNING* IF ANYTHING HAS GONE WRONG HERE YOUR GAME WILL BE SEVERELY DAMAGED

Select MALE ==> HUMAN ==> SHAMAN ==> MAGI

YOU SHOULD SEE YOUR NEW CHARACTER

IF SOMETHING HAPPENED QUIT AND DOUBLE CHECK YOUR STEPS

Make sure you did not miss ANY ";" or "{ }" as a single one of these missed can destroy the game.

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

TOUBLESHOOTING

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

MY SPELLS ARE NOT SHOWING UP IN THE CREATION SCREEN, HELP!!

======> You may not have sort your ability file back to ID. It has to be sorted by ID in order to show up. ======> You may not have assigned the new abilities to your new class "5000" in the prereqability column


MY MODEL IS NOT SHOWING UP WHEN I GOTO MALE ==> HUMAN ==> SHAMAN ==> MAGI

======> It is very likely you did not EXPORT your default_shaman.utc model ======> Double check the background file to make sure you are using default_shaman.utc for the template ======> Ty rebooting your computer.