Revision Difference
Structures/GM#552701
<cat>struct</cat>⤶
<structure>
<description>
Information about a gamemode.
While some of the fields may be serverside or clientside only, it is recommended to provide them on both so addons could use their values.
</description>
<realm>Shared</realm>
<fields>
<item name="Name" type="string">The fancy name of your gamemode.</item>
<item name="Author" type="string">The name/contact info of the gamemode author.</item>
<item name="Email" type="string">The contact email associated with the gamemode.</item>
<item name="Website" type="string">The website associated with the gamemode.</item>
<item name="FolderName" type="string">The name of the gamemode folder, automatically set.</item>
<item name="Folder" type="string">The name of the gamemode folder prepended with "gamemodes/" (such as "gamemodes/sandbox"), automatically set.</item>
<item name="TeamBased" type="boolean">Set this to true if your gamemode is team-based. Used to enable/disable the base gamemode team system.</item>
<item name="IsSandboxDerived" type="boolean">True if the gamemode is derived from sandbox.</item>
<item name="ThisClass" type="string">The name of the gamemode folder prepended with "gamemode_" (such as "gamemode_sandbox"), automatically set.</item>
<item name="BaseClass" type="table">The table of the base gamemode to derive from, set automatically by <page>Global.DeriveGamemode</page>.
<note>It is recommended to use <page>Global.DEFINE_BASECLASS</page> when referencing the gamemode's BaseClass to prevent unintended behavior</note>
<note><page>Global.DeriveGamemode</page> modifies the main gamemode's BaseClass, which is shared with parent gamemodes. Because of this, in parent gamemodes the BaseClass can be incorrect, so for instance you need to use `self.BaseClass.BaseClass` in the 1st parent instead</note></item>
</fields>
</structure>