Modding:Adding Code to the Player: Difference between revisions

From Caves of Qud Wiki
Jump to navigation Jump to search
mNo edit summary
m (categorize under Guides)
Line 23: Line 23:
{{Modding Navbox}}
{{Modding Navbox}}


[[Category:Modding]]
[[Category:Modding]][[Category:Guides]]

Revision as of 13:16, 22 September 2019

This page is about modding. See the modding overview for an abstract on modding.
This page is about modding. See the modding overview for an abstract on modding.

You can use the [PlayerMutator] attribute and IPlayerMutator interface to modify the player object before the game begins, immediately after the player GameObject is first created.

This structure allows you to run custom code on the player object. For example, you might add custom parts to the player from your mod, which is otherwise very difficult to do.

Any class tagged with the PlayerMutator attribute is instantiated after the player object is created and assigned, and the "mutate" method is called with the player as the parameter. For example:

  using XRL;
  using XRL.World;
  
  [PlayerMutator]
  public class MyPlayerMutator : IPlayerMutator
  {
      public void mutate(GameObject player)
      {
          // modify the player object before the game starts
      }
  }