Login
Modifying the game
Login

Some general information about adding/editing game elements (skills, ships, ships modules, etc.)

1. General information about modifications

To add new things (items, ships, modules, etc) to the game, you have to create a new directory inside the game's mod directory which is data/mods by default.

For example, create the directory mymod as data/mods/mymod and place your work in a file or files with the extension dat patterned similarly to the structure of the shipped files there.

For example, to add a new item to game, create a file which looks like data/items.dat.

Below you will find more detailed information about the XML data structures used by the program.

You can edit the shipped files as well of course, but modification you make there will be overwritten when you update the game.


2. Items types

2.1 General information
2.2 Changing an existing items types
2.3 Adding new items types
2.4 Removing item types

3. Characters attributes

3.1 General information
3.2 Changing an existing attribute
3.3 Adding a new attribute
3.4 Removing an existing attribute

4. Skills

4.1 General information
4.2 Changing an existing skill
4.3 Adding new skills
4.4 Removing an existing skill

All changes below (to Skills) are made in game.dat file or custom file inside modification directory. Custom file must start with data tag. If you want to overwrite default value in own file, just add new line with proper tag and attributes.

5. Repair tools type

To change which item type is used for repair/upgrading tools, edit value attribute of tag repairtools. Value must be an existing item type.

6. Cleaning tools type

To change which item type is used for the cleaning ship, edit value attribute of tag cleaningrools. Value must be an existing item type.

7. Alchemy tools type

To change which item type is used for the deconstructing of items, edit value attribute of tag alchemytools. Value must be an existing item type.

8. Corpse index

To change which item is used as a body for dead, edit value attribute of tag corpseindex. Value must be existing item index from any items file.

8. Mission items type

To change which item type is used for delivery missions, edit value attribute of tag missionitemstype. Value must be an existing item type.

9. Fuel item type

To change which item type is used as a fuel for ship, edit value attribute of tag fueltype. Value must be an existing item type.

10. Money index

To change which item is used as currency in the game, edit value attribute of tag moneyindex. Value must be an existing item index from any items file.

11. Traders ships name

To change which word in ship names is used to determine a trader ship (needed for friendly trader random event), edit value attribute for tag tradersname. Value can be any single word (but this word must be in trader ships names).

12. Condition attribute name

To change which attribute is used to raise a character's condition, edit attribute value of tag conditionname. Value must be an existing attribute name.

13. Strength attribute name

To change which attribute is used to count a character's maximum encumbrance, edit attribute value of tag strenghtname. Value must be an existing attribute name.

14. Piloting skill name

To change which skill is used for the piloting of ships, edit value attribute of tag pilotingskill. Value must be an existing skill name.

15. Engineering skill name

To change which skill is used for engineering duty, edit value attribute of tag engineeringskill. Value must be an existing skill name.

16. Gunnery skill name

To change which skill is used for the operation of guns on ships, edit value attribute of tag gunneryskill. Value must be an existing skill name.

17. Talking skill name

To change which skill is used for talking in bases or with other ships (trades, repairs, recruit, etc), edit value attribute of tag talkingskill. Value must be an existing skill name.

18. Spotting skill name

To change which skill is used for spotting things (other ships, etc), edit value attribute of tag perceptionskill. Value must be an existing skill name.

19. Head armor type

To change which item type is used as a head armor for characters, edit value attribute of tag headarmor. Value must be an existing item type.

20. Torso armor type

To change which item type is used as a torso armor for characters, edit value attribute of tag chestarmor. Value must be an existing item type.

21. Arms armor type

To change which item type is used as arm armor for characters, edit value attribute of tag armsarmor. Value must be an existing item type.

22. Legs armor type

To change which item type is used as leg armor for characters, edit value attribute of tag legsarmor. Value must be an existing item type.

23. Shield type

To change which item type is used as a shield for characters, edit value attribute of tag shieldtype. Value must be an existing item type.

24. Weapon type

To change which item type is used as a weapon by characters, edit value attribute of tag weapontype. Value must be an existing item type.

25. Dodging skill name

To change which skill is used for dodging in combat, edit value attribute of tag dodgeskill. Value must be an existing skill name.

26. Unarmed skill name

To change which skill is used for chance to hit enemy in combat when a character doesn't have a weapon, edit value attribute of tag unarmedskill. Value must be an existing skill name.


27. Items

27.1 General information
27.2 Item data structure

28. Recipes

28.1 General information
28.2 Recipe data structure

29. Ship modules

29.1 General information
29.2 Ship module data structure

30. Ships

30.1 General information
30.2 Ship data structure

31. Help

31.1 General information
31.2 Help data structure

32 Goals

32.1 General information
32.2 Goal data structure

33. Mobiles

33.1 General information
33.2 Mob data structure

34. Factions

34.1 General information
34.2 Faction data structure

35. Stories

35.1 General information
35.2 Story data structure

36. Careers

36.1 General information
36.2 Career data structure

37. Bases Types

37.1 General information
37.2 Bases Types data structure

38. Themes

38.1 General information
38.2 Theme configuration options

39. Debugging

If you want to test your changes, you may run game in debug mode. In this mode game create file debug.log in data directory. To start game in debug mode run it with parameter --debug=[debugtype]. Example:

./steamsky --debug=everything

At this moment available are three types of debug: