Since I haven't specifically detailed this earlier, and because it'd be good to have this info out there, here is a case study on how I'm creating these summon skills.

First with the Editor I find the RootTemplate of the NPC I want to create a customized version of. Braccus Rex uses the Undead_Braccus RootTemplate for example, while Boreas normally uses something like Trolls_IceKing. I right click the RootTemplate I want to make a copy of (for this example, Elementals_Ice to create a visually looking Elemental), "Create new from Selected", and in the box that pops up I point the file path to my mod's RootTemplate folder. Give it an identifyable name (BossSummon_IceElemental_Boreas for mine), change whatever else you want, and click OK. This new RootTemplate will be important for a few steps.

Outside of the Editor, you can create a SkillData.txt file within your mod's Data/Public/Mod_Name/Stats/Generated/Data/ folder (a Generated/Links and Generated/Structure folder might be necessary as well, even if they're empty). The data in this SkillData.txt should be templated after an existing skill. What I basically did was copy/paste the Ice Elemental summon data from the Unpacked SkillData.txt into my mod's SkillData.txt and modify a few values.

Here is the SkillData.txt for my Ice Elemental Boreas-
Code
new entry "Summon_KingBoreas"
type "SkillData"
data "SkillType" "Summon"
data "Ability" "Summon"
data "Element" "None"
data "ActionPoints" "7"
data "Cooldown" "30"
data "ChargeDuration" "0"
data "Lifetime" "10"
data "SummonLevel" "-1"
data "Magic Cost" "1"
data "Template" "6fab0b81-6f65-4a60-a5fd-4e2be4b49ba5"
data "TargetRadius" "15"
data "Icon" "Skill_Water_SummonIceElemental"
data "DisplayName" "Summon_King_Boreas_DisplayName"
data "DisplayNameRef" "Summon King Boreas"
data "Description" "Summon_King_Boreas_Description"
data "DescriptionRef" "Summon an King Boreas to fight for you."
data "StatsDescription" "Summon_King_Boreas_StatsDescription"
data "StatsDescriptionRef" "Summon a level [1] King Boreas in a [2] radius for [3]<br><br>You can only have one summon at a time."
data "StatsDescriptionParams" "SummonLevel;TargetRadius;Lifetime"
data "FXScale" "100"
data "PrepareAnimationInit" "skill_summon_ice_start"
data "PrepareAnimationLoop" "skill_summon_ice_loop"
data "PrepareEffect" "FX_Skills_Water_Summon_Prepare_A"
data "CastAnimation" "skill_summon_ice_cast"
data "CastTextEvent" "cast"
data "CastEffect" "FX_Skills_Water_Summon_Cast_A"
data "CastEffectTextEvent" "cast"
data "TargetEffect" "FX_GP_Target_Water_A"
data "Skillbook" "SKILLBOOK_Summon_King_Boreas"

new entry "Summon_KingBoreas_8"
type "SkillData"
using "Summon_KingBoreas"
data "Level" "8"


The name of the first new entry doesn't matter, so long as it's unique. The second one (Summon_KingBoreas_8) needs to be based off of the first one, with the number that follows the underscore equal to the skill's "level" (though this has very little impact ingame I think). The level can be anything; I just used 8 since I based it off of the Ice Elemental summon.

The most important point from the main skill entry is the 'Template' for the summon. The value entered here needs to be set to the GUID of the RootTemplate of whichever NPC you're summoning. Since I made a customized Ice Elemental RootTemplate earlier, I set it to that Template's GUID (6fab0b81-6f65-4a60-a5fd-4e2be4b49ba5 in this case).

The other important points are the "DisplayName", "Description", and "StatsDescription". The values these are set to are what allow the game to display information about your skill. The Ref versions of these values don't really matter, since the game seems to completely ignore them.

Instead, the game looks to the Localization folder. In the Editor (with the mod still open), I open the TranslatedStringKey editor at the top and have it save an empty file to Data/Mods/Mod_Name/Localization/ which is where the game looks for the Mod's TranslatedStringKey files. I then go and set the 'Key's to the DisplayName, Description, and StatsDescription values I set earlier in the SkillData.txt, with the Value being whatever I'm wanting it to be.

In my case, it would look something like this:
Code
Key | Value

Summon_King_Boreas_DisplayName | Summon King Boreas
Summon_King_Boreas_Description | Summon King Boreas to fight for you.
Summon_King_Boreas_StatsDescription | King Boreas melts easily, so beware.


(I changed the StatsDescription to show that it doesn't really have any gameplay impact, and this version is the one that is displayed in-game rather than the SkillData.txt version)


At this point, the Skill itself is essentially complete. You just need to be able to add it to a character somehow so that it can be used. What I've been doing is changing the default skills one of the Class presets starts with (Witch) so that it's available at the start for testing purposes. To do so, create a SkillSet.txt in your mod's Data/Public/Mod_name/Stats/Generated/ folder, with the following lines:

Code
new skillset "Class_Witch"
add skill "Target_TargetedDamageBoost"
add skill "Target_Bleed"
add skill "Summon_KingBoreas"
add skill "Projectile_StaffOfMagus"


Do that, start up a game with the mod enabled, create a witch, and watch as you summon an Ice Elemental version of King Boreas.

Except there's one problem, which is that he doesn't have any skills (and his stats don't match up). These are easily fixable; in the SkillSet.txt you can add the following lines so that it looks like this:

Code
new skillset "Class_Witch"
add skill "Target_TargetedDamageBoost"
add skill "Target_Bleed"
add skill "Summon_KingBoreas"
add skill "Projectile_StaffOfMagus"
new skillset "Summoned_Boreas_Skillset"
add skill "Cone_EnemyWinterbreath"
add skill "Projectile_IceShard"
add skill "Target_Slow"
add skill "Summon_EnemyBoreasFire"
add skill "Summon_EnemyBoreasIce"
add skill "Summon_EnemyBoreasAir"
add skill "Summon_EnemyBoreasEarth"


And then in the Editor, with your IceElemental_Boreas RootTemplate open, set his Skillset to "Summoned_Boreas_Skillset". This will allow your summoned creature to use the skills that you just added in Skillset.txt.

Stats and Equipment can be set the same way, using pre-existing values (that King Boreas himself uses). Just look at Boreas' normal Template and copy the Stats and Equipment lines over (I think it was HIB_Boreas for both Stats and Equipment, though I can't recall at the moment).

And with that, your Summoned Ice Elemental is complete, with skills and stats and everything. A similiar process can be used for other custom summons.

Disclaimer: This case study differs a bit from my mod's actual files since I went a step further and created custom summons/skills for my Boreas.

Edit: Well, I stand corrected. The 'Level' does matter for every skill except those of the "None" category (Staff of Magus for example).

Last edited by Rhidian; 19/07/14 07:44 PM.