Torchlight II

Torchlight II

Not enough ratings
Make Your Own Warbound
By doudley
Do you fancy a warbound companion?
Are you interested to know, in how to make one?
Or do you have a custom class that you want it to be a warbound too?


In this guide, I will show you how to make/add your own warbound and be able play it with my mod.

Caution: Could be a long procedure, depending on your modding skills. BiA: Warbounds is needed in playing with your custom warbound
   
Award
Favorite
Favorited
Unfavorite
What type of warbound do you have in mind?
Custom Class mods can vary, some mods have amazing character ideas but based their skills with a combination of what the 4 original classes have. Then there are Custom Class mods that not only they created a new concept class but they also build their own unique skills for them. We also have, what we can call as Mod Class, these mods are a modified version of the original classes but have modified their skills too or are enabled for multiple classes.

All of these Custom Class mods can be integrated with Brother-in-Arms: Warbounds!

To make the procedure a little bit smoother, I separated the courses into two.
Choose below the type of process that you will be working on and download the files needed for it.

Custom Class but no Custom Skills (10~20 minutes to complete)
Skip STEP 3, 4 and 5
Resources: https://drive.google.com/file/d/0B8nZo53ucHqjUzgxMkpnLUs1bW8/view?usp=drivesdk&resourcekey=0-b90mRGAh1LmLX61X8FUL_g

Custom Class with Custom Skills (3~5 hours to complete)
All STEPS must be completed
Resources: https://drive.google.com/file/d/0B8nZo53ucHqjUExHdENjMnhoN3c/view?usp=drivesdk&resourcekey=0-8VjYJqrcQbh2yCKEjSB8mQ

Note: When you read a term like "Duplicate", it means you have to open GUTS and clone the file.
STEP 1: Extracting Files
Open the downloaded file and copy the “MEDIA” folder into your mod folder (make one or merge it to your existing mod)
STEP 2: Affixes
Go to “MEDIA\AFFIXES”.

Open WB_GROWTH_CUSTOMCLASS (you can rename this affix) and apply your desired attribute stats per level gain (Values are in hundreds)

Open WB_EFFECTS_CUSTOMCLASS (you can rename this affix) and apply your desired starting attribute stats (Values are in hundreds)

Note: Your desired attribute stat for level 1 character is the sum of WB_EFFECTS and WB_GROWTH

For Custom Class with Custom Skills only:
Open WBSKILL01 to WBSKILL30 and insert an effect with the name of your skill

About STATMODIFYNAME:
“_SKILLTIER1” is level 1 requirement skills
“_SKILLTIER2” is level 7 requirement skills
“_SKILLTIER3” is level 14 requirement skills
“_SKILLTIER4” is level 21 requirement skills
“_SKILLTIER5” is level 28 requirement skills
“_SKILLTIER6” is level 35 requirement skills
“_SKILLTIER7” is level 42 requirement skills

Note2: Make sure on what _SKILLTIER you assign to each effect and it should reflect to its Skill-Tag’s level requirement
STEP 3: Skill-Tags
Go to “MEDIA\UNIT\ITEMS\SKILLTAGS\CUSTOMCLASS” (you can rename this folder)

Open CUSTOMSKILLTAG01 to CUSTOMSKILLTAG30 and replace their contents with your respective skill’s information. All files must be renamed and identified with their own unique UNIT_GUID. There is a button in GUTS that will assign UNIT_GUID automatically.


Note: Only need to change are the DISPLAYNAME, NAME, DESCRIPTION, ICON, and REQ_CLASS
STEP 4: Warbound Skills
There are 2 ways to make skills for your warbound:

For Way A:
Go to “MEDIA\SKILLS\WARBOUNDS\CUSTOMCLASS” (you can rename this folder), open CUSTOMSKILL01 to CUSTOMSKILL30 and replace their contents with your skill tree skills. Make sure that all active skills have a unit theme requirement named WBSKILL01, WBSKILL02, up to WBSKILL30. All files must be renamed and duplicated to set their own unique UNIT_GUID.

For Way B:
Duplicate all of your existing class skill tree skills into a separate folder. Make sure that all active skills have one unit theme requirement named WBSKILL01, WBSKILL02, up to WBSKILL30.

For both Way A and B:
After you created all 30 of them. Make sure that all warbound skills have 16 ranks.

For active skills, you just have to add an empty Level0 above Level1.

For Passive skills, add Level0 too but with an EVENT_END containing either an EFFECTSREMOVE or an AFFIXESREMOVE to end the EVENT_START of all the other ranks the skill has.

Note: This process is crucial because whenever you remove a passive skill skill-tag, the effects of the skill should end too
STEP 5: Charge Functions
By default, charge functions only applies to the playable character. To make them work for our warbounds, I mirrored the system except I used my own variables, the "WB_CHARGE" stat and "WB_ENGCHARGE" stat (exclusive for engineer class).

Player Charge Percent = WB_CHARGE
Player Charges = WB_ENGCHARGE

So, whenever you find a "Player Charge Percent", "Player Charges", "ADD CHARGE PERCENT", "ADD CHARGES", "CONVERT CHARGE PERCENT TO STAT" or "CONVERT CHARGE TO STAT"?
We will be replacing those function with an ADD STAT effect.

For effect type ADD CHARGE PERCENT:
[EFFECT] <STRING>ACTIVATION:DYNAMIC <STRING>DURATION:INSTANT <STRING>TYPE:ADD CHARGE PERCENT <FLOAT>MIN:1.5 <FLOAT>MAX:1.5 [/effect]
Change the above effect into
[EFFECT] <STRING>NAME:WB_CHARGE <STRING>ACTIVATION:DYNAMIC <STRING>DURATION:INSTANT <STRING>TYPE:ADD STAT <FLOAT>MIN:1.5 <FLOAT>MAX:1.5 <FLOAT>CHANCE:100 [/effect]

For statmodifyname:Player Charge Percent:
[EFFECT] <STRING>NAME:Wanderer_STW_Dodge <STRING>ACTIVATION:PASSIVE <STRING>DURATION:0 <STRING>TYPE:DODGE CHANCE BONUS <STRING>STAT_SOURCE_TYPE:ON CAST CASTER <STRING>STATMODIFYNAME:Player Charge Percent <STRING>STATMODIFYPERCENT:20 <BOOL>SAVE:true <BOOL>EXCLUSIVE:true <FLOAT>MIN:0.1 <FLOAT>MAX:0.1 [/effect]
Change the above effect into
[EFFECT] <STRING>NAME:Wanderer_STW_Dodge <STRING>ACTIVATION:PASSIVE <STRING>DURATION:0 <STRING>TYPE:DODGE CHANCE BONUS <STRING>STAT_SOURCE_TYPE:ON CAST CASTER <STRING>STATMODIFYNAME:WB_CHARGE <STRING>STATMODIFYPERCENT:20 <BOOL>SAVE:true <BOOL>EXCLUSIVE:true <FLOAT>MIN:0.1 <FLOAT>MAX:0.1 [/effect]

Charging Bonuses are more complicated. I had to compute and check some chart at Torchlight II wiki[torchlight.wikia.com] to be sure. It would be easy to just avoid this conversions but I can assure you it is possible to do.

For this, I used the SET STAT effect and added a triggerable action to gain the extra charge.

For effect type PERCENT CHARGING BONUS:
[EFFECT] <STRING>NAME:berserker support charge <STRING>ACTIVATION:DYNAMIC <STRING>DURATION:4 <STRING>TYPE:PERCENT CHARGING BONUS <STRING>STATMODIFYNAME:effect level <STRING>STATMODIFYPERCENT:20 <BOOL>EXCLUSIVE:true <BOOL>MODIFIERISBONUS:true <FLOAT>MIN:10 <FLOAT>MAX:10 [/effect]
Don't change the above effect, add another
So that playable characters could still benefit
[EFFECT] <STRING>NAME:BER_SUPPORT_AURA <STRING>ACTIVATION:DYNAMIC <STRING>DURATION:INSTANT <STRING>TYPE:SET STAT <FLOAT>MIN:12 <FLOAT>MAX:12 <FLOAT>CHANCE:100 [/effect]

Note: BER_SUPPORT_AURA stat has a duration of 4 seconds (see the stat inside the STATS folder and for the triggerable action, see it also in the files)

Note2: Charge decay functions on the other hand, I didn't bother to incorporate. The fact that they were very unlikely to be seen around the vanilla skills

____________________________________________________________________
The bottom section is for Charge Triggered Skills

To execute your full Charge Bar special skills, you have to add STATWATCHERs like so:
[STATWATCHER] <STRING>STAT:WB_CHARGE <STRING>PRIMARY_TARGET_TYPE:SELF <STRING>SECONDARY_TARGET_TYPE:VALUE <STRING>WATCH_TYPE:EQUAL TO <FLOAT>SECONDARY_VALUE:100 [/statwatcher]
and insert an ending event with an affix attached to it like this:
[EVENT_END] [AFFIXES] <STRING>TARGET:SELF <STRING>AFFIX:WB_CHARGE_CLEAR [/affixes] [/event_end]
This affix will set your WB_CHARGE back to zero.
STEP 6: Base Skill
Go to "MEDIA\SKILLS\WARBOUNDS\CUSTOMCLASS".

For Custom Class with Custom Skills:
Open CUSTOMCLASS_BASE.DAT and replace the name of affixes with the ones you modified in STEP 2, here you can also insert your Charge trigger skill function/s.

Create another skill called “BASE” or you can duplicate CUSTOMCLASS_BASE.DAT, so that you will have a proper UNIQUE_GUID.

Note: If everything in CUSTOMCLASS folder you already duplicated into your own folder then you have no need of this folder anymore, you can now delete it

For Custom Class but no Custom Skills:
Choose your desired setup, do you want a class with Avatar State Charge skill like the Embermage or do you want a class with Speed Benefits like the Outlander?

Duplicate the file you need and apply the affixes that you did on STEP 2.

Note: If everything in CUSTOMCLASS folder you already duplicated into your own folder then you have no need of this folder anymore, you can now delete it

Note2: Only an Engineer class can have an Engineer Charge bar
STEP 7: Unit Types
For Custom Class with Custom Skills:
Go to “MEDIA\UNITTYPES”, open WB_CUSTOMCLASS_F and WB_CUSTOMCLASS_M (you can rename these unit types).
Insert your specific class to where the text “CUSTOMCLASS” supposed to be.

For Custom Class but no Custom Skills:
Go to “MEDIA\UNITTYPES”, open WB_CUSTOMCLASS_F and WB_CUSTOMCLASS_M (you can rename these unit types).
Insert your specific class to where the text “CUSTOMCLASS” supposed to be. Aside from inserting you own class type name, you can also add two or more class types. For example:
[WB_CUSTOMCLASS_F] <STRING>NAME:WB_CUSTOMCLASS_F <STRING>child:WB_ALLY <STRING>child1:PET <STRING>child2:MONSTER <STRING>child3:CHARACTER <STRING>child4:ANY <STRING>child2:PLAYERS_AND_PETS <STRING>child1:WARBOUND <STRING>child:FEMALE <STRING>child:EMBERMAGE <STRING>child1:WB_ALLY <STRING>child:OUTLANDER <STRING>child1:WB_ALLY [/wb_customclass_f]

Note: The original class types are: EMBERMAGE, BERSERKER, RAILMAN (this is for engineer), and OUTLANDER

Note2: Only an Engineer class can have an Engineer Charge bar
STEP 8: Knocked Out Animation
Go to your MODEL folder

Choose a DIE animation and duplicate it. Rename it “KNOCKOUT”.

Convert the skeleton file into xml file then open it.

Browse through the file and change the animation name into "Knockout" and its duration into 29.5

Make sure all animation time will end at 29.5. Convert it back to skeleton file when you’re done. Open your model's animation file and insert the new knockout.skeleton like so:
[ANIMATION] <STRING>FILE:knockout.skeleton <STRING>NAME:knockout <FLOAT>DURATION:29.5 [KEY] <STRING>NAME:HIDEWEAPONS <FLOAT>FRAME:24 [/key] [KEY] <STRING>NAME:UNTARGETABLE <FLOAT>FRAME:1 [/key] [KEY] <STRING>NAME:PLAYSOUND <FLOAT>FRAME:2 <STRING>SOUND:BM_DIE [/key] [KEY] <STRING>NAME:SHOWWEAPONS <FLOAT>FRAME:875 [/key] [/animation]
Note: Make sure to add their dying sound. For vanilla classes its: BF_DIE, BM_DIE, EF_DIE, EM_DIE, EMF_DIE, EMM_DIE, WF_DIE, and WM_DIE
STEP 9: Warbound
Create a unit with your custom class UNIT TYPE (The one you made in STEP 7)

Open “MEDIA\UNITS\MONSTERS\WARBOUNDS\WBSAMPLE.DAT” and follow its format to your warbound unit. Make sure to place all your skills in here, especially the “BASE” skill (from STEP 6) and the name of your knockout animation (from STEP 8).

Note: Delete sample file if not needed anymore

For Custom Class but no Custom Skills only:
Open the link below to see the list of skills that you can insert to your unit
https://docs.google.com/spreadsheets/d/18G62q9k-KjNvo63o3lW2Z6dBT7BJ3z1voikg5SH4yq4/edit?usp=sharing

The skill names that you will use are the Code Names and not the Display Names. Also, only use one for each Assigned Skill Number. For example, if you have inserted the Magma Spear skill to your unit, you should not insert the Eviscerate, Flame Hammer, or Rapid Fire skill too.

Hint: Check the column "Assigned Number" before inserting
STEP 10: Warbound Scroll
Duplicate “MEDIA\UNITS\ITEMS\SCROLLS\WB_SCROLL_SAMPLE.DAT” and open it, replace its contents with your custom class warbound’s information.

Note: Only need to change are the DISPLAYNAME, NAME, DESCRIPTION, ICON, and EFFECT NAME

Note2: Delete sample file, if not needed anymore
FINALE: Wrap it Up
If all files have their own UNIQUE_GUID and UNIT_GUID, delete the files that you already have duplicated. Make sure that all names are accounted for.

Last step would be, "How to make your Warbound Scroll and Skill-Tags appear in-game?" In this part, it's really up to you. You can make a merchant that sells them or a chest that spawns in a specific map.

To play with your built/published mod with Brother-in-Arms: Warbounds, see to it that your mod is above mine.
6 Comments
doudley  [author] Jun 9, 2017 @ 5:18am 
Updated the resource files
doudley  [author] Mar 26, 2017 @ 10:05pm 
Please re-download the resource files again. Updates have been implemented.
doudley  [author] Mar 10, 2017 @ 2:45am 
For those who have downloaded the resource files before, please redownload them again. It turns out, its not the helmet's visual that causing the game crash. Its the Affixes that I happened to overlook their effects.
doudley  [author] Feb 27, 2017 @ 9:53am 
For those who have downloaded the resource files before, please redownload them. Changes has happened with BiA: Warbound mod to fixed a troublesome game crash with warbound's equipment. Helmet function is now stats only, no visuals from now on.
doudley  [author] Feb 22, 2017 @ 6:37pm 
I added an approximate time to complete :)
doudley  [author] Feb 22, 2017 @ 12:54am 
Let me know, if screenshots are needed. :)