Difference between revisions of "Modding Tutorials/Plague Gun (1.1)"
Dninemfive (talk | contribs) (Copy stuff in from my sandbox) |
Dninemfive (talk | contribs) (Start adding content from Plague Gun/XML Stage) |
||
Line 31: | Line 31: | ||
For more detailed recommendations, see [[Modding Tutorials/Recommended software|here]]. | For more detailed recommendations, see [[Modding Tutorials/Recommended software|here]]. | ||
+ | |||
+ | == XML Stage == | ||
+ | |||
+ | In this stage we will set up the mod and create XML files which add our things to the database. | ||
+ | |||
+ | # Create a mod folder.{{br}}<small>RimWorld>Mods>PlagueGun</small> | ||
+ | #* Go to your RimWorld's base folder. For myself, that is D<nowiki>:</nowiki>\SteamLibrary\steamapps\common\RimWorld\. Others may find it in C<nowiki>:</nowiki>\Program Files (x86)\Steam\steamapps\common\RimWorld or a custom directory. | ||
+ | #* Go into the Mods folder. | ||
+ | #* Make a new folder with our mod's title: ''PlagueGun'' | ||
+ | |||
+ | # Inside ''PlagueGun'', make an ''About'' folder.{{br}}<small>RimWorld>Mods>PlagueGun>About</small> | ||
+ | |||
+ | # Inside the ''About'' folder, make a new text file and rename it About.xml.{{br}}<small>RimWorld>Mods>PlagueGun>About>About.xml</small> | ||
+ | #* You will need a good text editor to make a proper XML file -- see [[#Required Items|required items]]. I always make a .txt file first and change it to .xml. If you can't rename your file's type, make sure you have filetypes visible in your operating system's file view settings. | ||
+ | #* About.xml is the file that shows your mod in the mod list inside the RimWorld game. It is also used when creating a Workshop upload for Steam. | ||
+ | #* At the top of an XML file, always include this for RimWorld.<source lang = "xml"><?xml version="1.0" encoding="utf-8"?></source> ''Note: the'' version '' tag should always be "1.0". It has no relation with the current RimWorld version.'' | ||
+ | #* Then add the MetaData tags for the Workshop and in-game Mod list.<source lang ="xml"><ModMetaData> | ||
+ | <name>Test Mod - Plague Gun</name> <!-- The name of your mod in the mod list --> | ||
+ | <author>YourNameHere</author> | ||
+ | <packageId>YourNameHere.PlagueGun</packageId> <!-- a unique identifier for your mod. Must contain only a-z and periods, no spaces. --> | ||
+ | <supportedVersions> <!-- the version(s) your mod supports --> | ||
+ | <li>1.1</li> | ||
+ | </supportedVersions> | ||
+ | <description>This mod adds a plague gun, a weapon that has a chance to give your enemies the plague.\n\nFor version 1.1.</description> | ||
+ | </ModMetaData> | ||
+ | </source> | ||
+ | #* Save the file. |
Revision as of 20:04, 20 May 2020
This tutorial is a rewrite of the original by Jecrell (Thread), updated to 1.1 by dninemfive.
Introduction
In this tutorial we will be using most of the tools available to a Rimworld modder to create a custom weapon, known as the Plague Gun.
This weapon will, when its shots hit a living target, have a chance to apply the Plague hediff ("health difference") to that target.
To do this, we will create XML `ThingDefs` for the gun and projectile, create a C# assembly which determines what happens when the projectile hits a target, and link that behavior back to the XML.
This tutorial will assume a basic familiarity with XML and C# syntax. It should be simple enough to follow if you're only a beginner.
If you have no XML or C# experience, there are good tutorials for XML here and C# here.
The Completed Mod
TODO: fork and update the repo, link here.
Required Items
Make sure to have the following installed, at least one per row:
Notepad++ or Atom orTemplate:BrSublimetext or VSCode | Use any text editor that allows you to edit XML files and use "Find in Files" for referencing. |
Visual Studio Community | Use this or any other C# compiler to turn scripts into .dll files that RimWorld can use. |
dnSpy or ILSpy | This is for referencing the game's decompiled C# scripts. |
For more detailed recommendations, see here.
XML Stage
In this stage we will set up the mod and create XML files which add our things to the database.
- Create a mod folder.Template:BrRimWorld>Mods>PlagueGun
- Go to your RimWorld's base folder. For myself, that is D:\SteamLibrary\steamapps\common\RimWorld\. Others may find it in C:\Program Files (x86)\Steam\steamapps\common\RimWorld or a custom directory.
- Go into the Mods folder.
- Make a new folder with our mod's title: PlagueGun
- Inside PlagueGun, make an About folder.Template:BrRimWorld>Mods>PlagueGun>About
- Inside the About folder, make a new text file and rename it About.xml.Template:BrRimWorld>Mods>PlagueGun>About>About.xml
- You will need a good text editor to make a proper XML file -- see required items. I always make a .txt file first and change it to .xml. If you can't rename your file's type, make sure you have filetypes visible in your operating system's file view settings.
- About.xml is the file that shows your mod in the mod list inside the RimWorld game. It is also used when creating a Workshop upload for Steam.
- At the top of an XML file, always include this for RimWorld.
<?xml version="1.0" encoding="utf-8"?>
Note: the version tag should always be "1.0". It has no relation with the current RimWorld version. - Then add the MetaData tags for the Workshop and in-game Mod list.
<ModMetaData> <name>Test Mod - Plague Gun</name> <!-- The name of your mod in the mod list --> <author>YourNameHere</author> <packageId>YourNameHere.PlagueGun</packageId> <!-- a unique identifier for your mod. Must contain only a-z and periods, no spaces. --> <supportedVersions> <!-- the version(s) your mod supports --> <li>1.1</li> </supportedVersions> <description>This mod adds a plague gun, a weapon that has a chance to give your enemies the plague.\n\nFor version 1.1.</description> </ModMetaData>
- Save the file.