Modding:General Best Practices: Difference between revisions

From Caves of Qud Wiki
Jump to navigation Jump to search
imported>CaptainTechnicality54384
mNo edit summary
imported>CaptainTechnicality54384
No edit summary
Line 3: Line 3:
For instance, alphabeardmods_{id}, this will prevent namespace conflicts with official content and other mods in the future.
For instance, alphabeardmods_{id}, this will prevent namespace conflicts with official content and other mods in the future.


<syntaxhighlight lang="xml">
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <objects>
  <objects>
Line 9: Line 10:
   </object>  
   </object>  
  </objects>
  </objects>
</syntaxhighlight>


= Only include your content and the minimum changeset via Load="Merge" in tables and object definitions =
= Only include your content and the minimum changeset via Load="Merge" in tables and object definitions =
Line 15: Line 17:
For objects and encountertables, if you're editing an existing item you can use Load="Merge" in it's tag and only specify new items. For example, if I wanted my mod to give chain mail a 2DV:
For objects and encountertables, if you're editing an existing item you can use Load="Merge" in it's tag and only specify new items. For example, if I wanted my mod to give chain mail a 2DV:


<syntaxhighlight lang="xml">
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <objects>
  <objects>
Line 21: Line 24:
   </object>  
   </object>  
  </objects>
  </objects>
</syntaxhighlight>

Revision as of 15:48, 23 May 2019

Prefix your object and table names with some unique ID

For instance, alphabeardmods_{id}, this will prevent namespace conflicts with official content and other mods in the future.

 <?xml version="1.0" encoding="utf-8"?>
 <objects>
   <object Name="ALPHABEARDMODS_CoolNewSword" Load="Merge">
 ...
   </object> 
 </objects>

Only include your content and the minimum changeset via Load="Merge" in tables and object definitions

Don't copy the whole contents of the game xml. You only need to include new content.

For objects and encountertables, if you're editing an existing item you can use Load="Merge" in it's tag and only specify new items. For example, if I wanted my mod to give chain mail a 2DV:

 <?xml version="1.0" encoding="utf-8"?>
 <objects>
   <object Name="Chain Mail" Load="Merge">
     <part Name="Armor" DV="2" />
   </object> 
 </objects>