KCD Swift Documentation
Installation and setup
Requires the DB to be properly set up.
Set the correct game root folder (This is used for Quest Smart Object creation function).
Swift connects to the Database and allows you to view and set several settings.
By default Swift connects to the DB scheme “trunk”. To switch to a different DB scheme click on the DB scheme switcher.
If you switch to a different DB scheme you have to restart the tool for it to load relevant data.
All changes you make are local. Press the “Save” button in order to commit the changes to DB. Saves are made per-listed-item. That means, if you edit two different souls or roles you have to save each of them separately. Unsaved data is indicated by the data state indicator.
Use filter to search for specifically named soul.
Click on a soul to see its properties.
On the right you can see its Database ID number.
- You can change the souls Name. This is the most convenient place to do that.
- You can set a faction (mandatory setting)
This affects the soul’s relationship to player and other NCPs according to the faction system settings
- You can set a social class. (mandatory setting)
This affects several aspect of the NPC behavior
- You can set combat level.
This affects what stats and skills and combat perks the NPC will be set to by Storm
- You can set character.
This determines NPC’s voice and the name that shown in game. Characters are created in Skald
(Filter narrows down the listed characters. Note: The filter is not cleared when selecting a different soul!)
- By checking “(Unlock soul deletion)” you will get access to the Delete button. This prevents unintended deletion. Again, this is the most convenient place to do that.
Lists soul’s hobbies and their priorities.
Lists roles assigned to the soul and the role ID.
You cannot change the setting. This data is set by Storm.
Lets you view the core behaviors in the soul’s daycycle schedule.
Lets you view the soul’s stats.
You cannot change this setting.
The values are determined by
- Combat level set in Swift
- Rules in Storm (Storm interprets the combat level, among other things)
- Overrides in the Soul tab in Skald
This tab serves only one purpose. You can assign a role to another metarole (and/or create a new metarole)
By default all newly created roles are assigned to the metarole “NPC”. Unlike other metarole “NPC” is by default always available.
All data is saved in DB.
Allows you to show a singular Dialog sequence if you know its ID. Doesn’t serve any practical purpose anymore as you can get more comprehensive results in Skald.
Create quest SO tab
This tab describes itself well enough.
It requires that you set a proper directory as the root of you game files.
Enter a technical name for the new quest. This name will stick with you forever so choose wisely. The name must be unique, it should be descriptive, and it shouldn’t be too long.
- <prefix> is either “q” for quests, “a” for activities, “even” for events
- Prefix q_ is universal and is also used by non-playable purely technical quests (e.g. q_tutorials). The prefix ensures that some supporting script systems handle these quests as well (e.g. q_master_main).
- <modName> in order to prevent name clashes we strongly advise you differentiate your content by including the name of your modification
- <questName> is short and human-readable. Best in lowerCamelCase. To improve readability or to append additional info you use more underscores (_)
- It would be a good idea to incorporate name of your mod i the quest name. That way you will avoid clashes with other mods
Examples from vanilla:
After clicking the Create button Swift will:
- Write new DB data
- New definition of a brain of the same name and set it up properly according to the Quest SmartObject template. That is default Mailboxes and variables and the definition of OnUpdate tree with link to a new XML file.
- Create a new XML file of the same name under ../Data/Libs/AI/quests and fill it with the basic OnUpdate tree according to the Quest SmartObject template
Allows you move definitions of behavior trees into other tree definition XML files.
Not very useful. You can easily perform similar operations in WH XGEN NPC Editor.
Prune trees tab
Don’t use it.