<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hammerwatch2.com/index.php?action=history&amp;feed=atom&amp;title=Modding%2FCreating_A_Custom_Class</id>
	<title>Modding/Creating A Custom Class - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hammerwatch2.com/index.php?action=history&amp;feed=atom&amp;title=Modding%2FCreating_A_Custom_Class"/>
	<link rel="alternate" type="text/html" href="https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;action=history"/>
	<updated>2026-04-25T00:09:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=526&amp;oldid=prev</id>
		<title>Lloyd: Reformatted modded_classes.sval section to have multiple lines. Apparently that&#039;s a requirement for the file to work</title>
		<link rel="alternate" type="text/html" href="https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=526&amp;oldid=prev"/>
		<updated>2023-08-29T00:34:16Z</updated>

		<summary type="html">&lt;p&gt;Reformatted modded_classes.sval section to have multiple lines. Apparently that&amp;#039;s a requirement for the file to work&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:34, 29 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create a new file in player named &amp;quot;modded_classes.sval&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create a new file in player named &amp;quot;modded_classes.sval&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Paste the following contents into the file, using yourclass name:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Paste the following contents into the file, using yourclass name:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;###&amp;lt;loader order=&quot;1&quot;&amp;gt;PlayerClass::LoadMultiple&amp;lt;/loader&amp;gt;%include &quot;players/yourclass.inc&amp;lt;array&amp;gt;%block yourclass&amp;lt;/array&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;###&amp;lt;loader order=&quot;1&quot;&amp;gt;PlayerClass::LoadMultiple&amp;lt;/loader&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###&lt;/ins&gt;%include &quot;players/yourclass.inc&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###&lt;/ins&gt;&amp;lt;array&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###&lt;/ins&gt;%block yourclass&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###&lt;/ins&gt;&amp;lt;/array&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create new starting items for your class&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create new starting items for your class&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Create the folder structure tweak/items/equipment in your mod folder&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Create the folder structure tweak/items/equipment in your mod folder&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki_ib5j41t1:diff::1.12:old-474:rev-526 --&gt;
&lt;/table&gt;</summary>
		<author><name>Lloyd</name></author>
	</entry>
	<entry>
		<id>https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=474&amp;oldid=prev</id>
		<title>KellyFromSales at 17:34, 26 August 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=474&amp;oldid=prev"/>
		<updated>2023-08-26T17:34:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:34, 26 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create a new file in player named &amp;quot;modded_classes.sval&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create a new file in player named &amp;quot;modded_classes.sval&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Paste the following contents into the file, using yourclass name:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Paste the following contents into the file, using yourclass name:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;###&amp;lt;loader order=&quot;1&quot;&amp;gt;PlayerClass::LoadMultiple&amp;lt;/loader&amp;gt;%include &quot;players/yourclass.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in&lt;/del&gt;&amp;lt;array&amp;gt;%block yourclass&amp;lt;/array&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;###&amp;lt;loader order=&quot;1&quot;&amp;gt;PlayerClass::LoadMultiple&amp;lt;/loader&amp;gt;%include &quot;players/yourclass.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;inc&lt;/ins&gt;&amp;lt;array&amp;gt;%block yourclass&amp;lt;/array&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create new starting items for your class&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#Create new starting items for your class&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Create the folder structure tweak/items/equipment in your mod folder&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;##Create the folder structure tweak/items/equipment in your mod folder&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki_ib5j41t1:diff::1.12:old-454:rev-474 --&gt;
&lt;/table&gt;</summary>
		<author><name>KellyFromSales</name></author>
	</entry>
	<entry>
		<id>https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=454&amp;oldid=prev</id>
		<title>Lloyd: Added Nav</title>
		<link rel="alternate" type="text/html" href="https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=454&amp;oldid=prev"/>
		<updated>2023-08-24T17:19:54Z</updated>

		<summary type="html">&lt;p&gt;Added Nav&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:19, 24 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot;&gt;Line 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Customizing the skill modifiers===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Customizing the skill modifiers===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;In development&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;In development&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Template:BaseNav}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki_ib5j41t1:diff::1.12:old-452:rev-454 --&gt;
&lt;/table&gt;</summary>
		<author><name>Lloyd</name></author>
	</entry>
	<entry>
		<id>https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=452&amp;oldid=prev</id>
		<title>Lloyd: Created page with &quot;=Creating a new class= #In your mod folder, create a new folder &quot;players&quot; #Copy an existing class from the unpacked players folder into your mod players folder ##Rename the baseclass folder and the baseclass.unit file within to your new class name #Create a new file in players named &lt;yourclass&gt;.inc ##Copy the baseclass section %defblock to %endblock from unpacked/players/classes.inc into &lt;yourclass&gt;.inc ##Replace the baseclass with yourclass on the first line %defblock #...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hammerwatch2.com/index.php?title=Modding/Creating_A_Custom_Class&amp;diff=452&amp;oldid=prev"/>
		<updated>2023-08-24T16:55:26Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Creating a new class= #In your mod folder, create a new folder &amp;quot;players&amp;quot; #Copy an existing class from the unpacked players folder into your mod players folder ##Rename the baseclass folder and the baseclass.unit file within to your new class name #Create a new file in players named &amp;lt;yourclass&amp;gt;.inc ##Copy the baseclass section %defblock to %endblock from unpacked/players/classes.inc into &amp;lt;yourclass&amp;gt;.inc ##Replace the baseclass with yourclass on the first line %defblock #...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Creating a new class=&lt;br /&gt;
#In your mod folder, create a new folder &amp;quot;players&amp;quot;&lt;br /&gt;
#Copy an existing class from the unpacked players folder into your mod players folder&lt;br /&gt;
##Rename the baseclass folder and the baseclass.unit file within to your new class name&lt;br /&gt;
#Create a new file in players named &amp;lt;yourclass&amp;gt;.inc&lt;br /&gt;
##Copy the baseclass section %defblock to %endblock from unpacked/players/classes.inc into &amp;lt;yourclass&amp;gt;.inc&lt;br /&gt;
##Replace the baseclass with yourclass on the first line %defblock&lt;br /&gt;
##Edit the id, name and description at the top of the file to your own text (remove the .item.info.tooltip.class. and .menu.class. text).&lt;br /&gt;
##Edit the unit field to be players/yourclass/yourclass.unit&lt;br /&gt;
##Replace the baseclass with yourclass for every line in the &amp;lt;array name=&amp;quot;skills&amp;quot;&amp;gt; section&lt;br /&gt;
#Create a new file in player named &amp;quot;modded_classes.sval&amp;quot;&lt;br /&gt;
##Paste the following contents into the file, using yourclass name:&lt;br /&gt;
###&amp;lt;loader order=&amp;quot;1&amp;quot;&amp;gt;PlayerClass::LoadMultiple&amp;lt;/loader&amp;gt;%include &amp;quot;players/yourclass.in&amp;lt;array&amp;gt;%block yourclass&amp;lt;/array&amp;gt;&lt;br /&gt;
#Create new starting items for your class&lt;br /&gt;
##Create the folder structure tweak/items/equipment in your mod folder&lt;br /&gt;
##Create a new file equipment_start_yourclass.inc in the equipment folder&lt;br /&gt;
##Copy the starting equipment &amp;lt;dict&amp;gt; blocks from unpacked/tweak/items/equipment_start.inc into equipment_start_yourclass.inc&lt;br /&gt;
##Edit the id and req-class strings to replace baseclass with yourclass for mainhand and offhand weapons. Do not replace baseclass in strings in modifiers&lt;br /&gt;
##Edit the names of the items to a text string (e.g. Dull Sword)&lt;br /&gt;
#Set up a loader for your new items&lt;br /&gt;
##Create a new file equipment_unique_yourclass.sval in the tweak/items/equipment folder&lt;br /&gt;
##Add the following to equipment_unique_yourclass.sval (based on the default equipment_unique.sval file)&lt;br /&gt;
###&amp;lt;loader order=&amp;quot;-1&amp;quot;&amp;gt;Equipment::UniqueEquipment::LoadMultiple&amp;lt;/loader&amp;gt;&lt;br /&gt;
###&amp;lt;array&amp;gt;&lt;br /&gt;
###%include &amp;quot;tweak/items/equipment/equipment_start_yourclass.inc&amp;quot;&lt;br /&gt;
###&amp;lt;/array&amp;gt;&lt;br /&gt;
#Set your class to spawn with their starting items&lt;br /&gt;
##Create a new file &amp;quot;starting_items_yourclass.sval&amp;quot; in the players folder&lt;br /&gt;
##Add the following to the file&lt;br /&gt;
###%include &amp;quot;tweak/loot/defines.inc&amp;quot;&lt;br /&gt;
###&amp;lt;loader&amp;gt;Item::LootTable::LoadMultiple&amp;lt;/loader&amp;gt;&lt;br /&gt;
###&amp;lt;array&amp;gt;&amp;lt;/array&amp;gt;&lt;br /&gt;
##Copy the &amp;lt;dict&amp;gt; block of the class you copied from unpacked/players/starting_items.sval into starting_items_yourclass.sval between the array tags&lt;br /&gt;
##Rename the three instances of baseclass to yourclass within the &amp;lt;dict&amp;gt; block&lt;br /&gt;
##In yourclass.inc, update the &amp;quot;starting-items&amp;quot; string to use the id start_items_yourclass&lt;br /&gt;
#Set the class items for your class (Incomplete Work In Progress)&lt;br /&gt;
##Copy the file tweak/items/equipment/equipment_class_baseclass.sval to your tweak/item/equipment folder and rename baseclass to yourclass&lt;br /&gt;
##In equipment_class_yourclass.sval:&lt;br /&gt;
###Replace all [defaultWeapon]Tags with [yourWeapon]Tags (e.g. DaggerTags becomes ScytheTags) for main and offhand weapons&lt;br /&gt;
###Replace the baseclass with yourclass in the two renamed defblocks for Tags at the top of the file&lt;br /&gt;
###Replace all req-class&amp;quot;&amp;gt;baseclass&amp;lt; with req-class&amp;quot;yourclass&amp;lt;&lt;br /&gt;
###Replace all default &amp;quot;weapon_&amp;quot; with &amp;quot;yourweapon_&amp;quot; (e.g. dagger_ becomes scythe_) for main and off hand weapons.&lt;br /&gt;
###Replace all &amp;quot;.equipment.baseclass.mainhand.&amp;quot; and &amp;quot;.equipment.baseclass.offhand.&amp;quot; with &amp;quot;YourWeapon &amp;quot;&lt;br /&gt;
##To be continued&lt;br /&gt;
#Repair or convert the .tif files [[Modding#Fixing_.tif_files|Instructions]]&lt;br /&gt;
#Test - you should now be able to start a new save with the mod enabled and select your class&lt;br /&gt;
&lt;br /&gt;
=Creating Necromancer Summon Skeleton Skill=&lt;br /&gt;
&amp;#039;&amp;#039;This tutorial assumes you have followed the steps above to copy the warlock class into a new mod named necromancer. Line numbers listed are approximations and may no longer be accurate, but should give a rough idea of where in the file to look.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Copy an existing skill to use as a starting point===&lt;br /&gt;
First, we&amp;#039;ll overwrite an existing skill on our custom class with a skill from a different class to use as a starting point to customize.&lt;br /&gt;
#Copy and rename the follow file from the unpacked ranger folder into the matching folder of your custom class folder:&lt;br /&gt;
##skills/ran_summon_wolf.sval -&amp;gt; skill/nec_summon_skeleton.sval&lt;br /&gt;
#Edit the fourth string of skill to be &amp;quot;nec_summon_skeleton.sval&amp;quot; instead of &amp;quot;war_claws.sval&amp;quot;&lt;br /&gt;
#Modify the necromancer nec_summon_skeleton.sval to be an apprentice skill&lt;br /&gt;
##On line 22, change the tier from adept to apprentice&lt;br /&gt;
##On line 23, change the starting level from 0 to 1&lt;br /&gt;
#Test - You should now be able to create a new game, select your necromancer mod, and spawn with the ability to summon a ranger wolf at level 1&lt;br /&gt;
&lt;br /&gt;
===Set up skeleton files===&lt;br /&gt;
#Copy wolf.unit and wolf.inc from unpacked/players/ranger/units to necromancer/units and rename them to skeleton.unit and skeleton.inc&lt;br /&gt;
#Edit skeleton.unit to change &amp;quot;players/ranger/units/wolf.inc&amp;quot; to &amp;quot;players/necromancer/units/skeleton.inc&amp;quot;&lt;br /&gt;
#Update nec_summon_skeleton.sval&lt;br /&gt;
##Replace 2 instances of &amp;quot;players/ranger/units/wolf.unit&amp;quot; with &amp;quot;players/necromancer/units/skeleton.unit&amp;quot;&lt;br /&gt;
##Replace 5 instances of &amp;quot;wolf-unit&amp;quot; with &amp;quot;skeleton-unit&amp;quot;&lt;br /&gt;
##Replace 5 instances of &amp;quot;wolf-hp&amp;quot; with &amp;quot;skeleton-hp&amp;quot;&lt;br /&gt;
##Replace 5 instances of &amp;quot;wolf-dmg&amp;quot; with &amp;quot;skeleton-dmg&amp;quot;&lt;br /&gt;
#Update skeleton.inc&lt;br /&gt;
##Replace wolf-hp with skeleton-hp and wolf-dmg with skeleton-dmg&lt;br /&gt;
#Test - Everything should still be working to summon a wolf&lt;br /&gt;
&lt;br /&gt;
===Replace the wolf sprite with skeleton sprite===&lt;br /&gt;
&amp;#039;&amp;#039;We&amp;#039;ll be using unpacked/actors/undead/rotten/rotten_footman as our new sprite. Any references to rotten_footman mean this folder.&amp;#039;&amp;#039;&lt;br /&gt;
#Set up your sprite files&lt;br /&gt;
##Create a new folder &amp;quot;skeleton&amp;quot; in your necromancer/units folder&lt;br /&gt;
##Copy the three .png and three .tif files from rotten_footman to the new skeleton folder&lt;br /&gt;
##Rename these files from &amp;quot;rotten_footman&amp;quot; to &amp;quot;skeleton&amp;quot;, leaving the rest after footman in place&lt;br /&gt;
##Repair or convert the .tif files [[Modding#Fixing_.tif_files|Instructions]]&lt;br /&gt;
#Update skeleton.inc Best practice - Create a copy of skeleton.inc and name it skeleton.backup so you can easly revert back if something goes wrong&lt;br /&gt;
##Find &amp;lt;scenes start=&amp;quot;idle-0 idle-1 idle-2 idle-3 idle-4 idle-5 idle-6 idle-7&amp;quot;&amp;gt; (line 227)&lt;br /&gt;
##Right after, replace the values of shadow.unit:18 with that from rotten_footman.inc shadow.unit.:14&lt;br /&gt;
##Replace the two circle tags within &amp;lt;collision static=&amp;quot;false&amp;quot;&amp;gt; &amp;lt;/collision&amp;gt; with those from rotten_footman.inc&lt;br /&gt;
##Replace the 8 &amp;lt;scene name=&amp;quot;idle#&amp;quot;&amp;gt; sections with those from rotten_footman.inc&lt;br /&gt;
##Replace the 8 &amp;lt;scene name=&amp;quot;walk#&amp;quot;&amp;gt; sections with section %defblock AnimWalk XCOORD through the 8 walk scenes from rotten_footman.inc&lt;br /&gt;
##Replace the 8 &amp;lt;scene name=&amp;quot;attack#&amp;quot;&amp;gt; sections with section %defblock AnimMelee XCOORD through the 8 melee scenes from rotten_footman.inc&lt;br /&gt;
##Replace all 8 instances of &amp;quot;melee-&amp;quot; with &amp;quot;attack-&amp;quot; to match the original wolf scene names&lt;br /&gt;
##Replace all 10 instances of &amp;quot;default.mats:enemy&amp;quot; with &amp;quot;default.mats:player&amp;quot; to match the original wolf settings&lt;br /&gt;
##Replace all 10 instances of &amp;quot;rotten_footman/rotten_footman&amp;quot; with &amp;quot;skeleton_skeleton&amp;quot; to point to the tif files in your folder&lt;br /&gt;
##Remove &amp;lt;scene name=&amp;quot;jump-0&amp;quot;&amp;gt; (lines 457) through the final &amp;lt;/scene&amp;gt; (line 625). The jump and howl animations do not exist for the skeleton&lt;br /&gt;
&lt;br /&gt;
===Customizing the base skill===&lt;br /&gt;
&amp;#039;&amp;#039;These changes will all be made in nec_summon_skeleton.sval&amp;#039;&amp;#039;&lt;br /&gt;
#Change the cooldown&lt;br /&gt;
##Cooldown values are shown in milliseconds. Divide by 1000 to get the value in seconds&lt;br /&gt;
##Change the int cooldown value (line 31) from 30000 to 5000 to swap it from 30s to 5s&lt;br /&gt;
#Increase the base maximum summoned and allow it to scale with skill levels&lt;br /&gt;
##On like 52, there&amp;#039;s an array block commented out (shown by the &amp;lt;!-- and --&amp;gt; tags around it) that contains a dict with ModifySummons, the skeleton.unit,  and add-max-num 2&lt;br /&gt;
##Copy this block, including the array and dict tags, into each dict of the &amp;quot;upgrades&amp;quot; array (line 129)&lt;br /&gt;
###Each of these dicts represents an upgrade of the base skill overwriting the default information. The skill has 5 total levels, so there are 4 upgrades dicts.&lt;br /&gt;
###It should go after the &amp;lt;/dict&amp;gt; that closes &amp;lt;dict name=&amp;quot;binds&amp;quot;&amp;gt; but before the &amp;lt;/dict&amp;gt; that closes the overall upgrade&lt;br /&gt;
##Change the first two values of add-max-num from 2 to 1&lt;br /&gt;
#Decrease the health and damage of the skeletons to compensate for it being an apprentice skill and a higher number of minions summoned&lt;br /&gt;
##In the skill dict binds (line 43), change the skeleton-hp and skeleton-dmg values to half their current value&lt;br /&gt;
##In each of the upgrade dics (line 130), change the skeleton-hp and skeleton-dmg values to half their current value&lt;br /&gt;
#Update the skill information page&lt;br /&gt;
##In the name string (line 2), replace &amp;quot;.skills.ranger.adept.spell_2.name&amp;quot; with a new name &amp;quot;Summon Skeletons&amp;quot;&lt;br /&gt;
###&amp;#039;&amp;#039;The existing value here with strings seperated by a . is referencing strings in a language file to allow for translations to other languages. For this tutorial, we assume the new class is only going to support a single langauge and will be writing the strings directly into the files.&amp;#039;&amp;#039;&lt;br /&gt;
##In the description string (line 4), replace &amp;quot;.skills.ranger.adept.spell_2_desc&amp;quot;  with a new description to use. &amp;quot;Summon an army of skeletons to fight for and procect you.&amp;quot;&lt;br /&gt;
##In the description params array:&lt;br /&gt;
###Replace the .skill.desc.params.wolf. strings with new strings &amp;quot;Skeleton Damage&amp;quot; &amp;quot;Skeleton Damage Per Level&amp;quot; and &amp;quot;Skeleton Health&amp;quot;&lt;br /&gt;
###Replace the values of the damage and health with the new values set above&lt;br /&gt;
##In the &amp;quot;description-params&amp;quot; array at the top of the file, add a new line to display the new effect of upgrades on max summons&lt;br /&gt;
###&amp;lt;nowiki&amp;gt;&amp;lt;array&amp;gt;&amp;lt;s&amp;gt;max-skeletons&amp;lt;/s&amp;gt;&amp;lt;b&amp;gt;t&amp;lt;/b&amp;gt;&amp;lt;s&amp;gt;Max Skeletons&amp;lt;/s&amp;gt;&amp;lt;s&amp;gt;1&amp;lt;/s&amp;gt;&amp;lt;s&amp;gt;2&amp;lt;/s&amp;gt;&amp;lt;s&amp;gt;2&amp;lt;/s&amp;gt;&amp;lt;s&amp;gt;3&amp;lt;/s&amp;gt;&amp;lt;s&amp;gt;3&amp;lt;/s&amp;gt;&amp;lt;/array&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customizing the skill modifiers===&lt;br /&gt;
&amp;#039;&amp;#039;In development&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Lloyd</name></author>
	</entry>
</feed>