Hades 2

Details

Last Updated
last week
First Uploaded
last week
Downloads
884
Likes
0
Size
186KB
Dependency string
zannc-GodsAPI-1.0.8
Dependants

GodsAPI, a library to create Gods.

This is a very early library made to make it easy for developers to add new Gods/NPC Gods, Keepsakes & Boons. This library does nothing to the game on its own, without outside function calls. You should only install it if another mod requires it, or if you will be using this library to create Gods/Keepsakes/Boons.

[!IMPORTANT] Currently, this library only supports adding in Olympian Gods eg. Zeus and NPC-type Gods eg. Hermes - as well as custom Keepsakes.
NPC Type means that they will not fill up the MetGods table during a run - meaning you can have Zeus, Aphrodite, Hera, Hestia and meet Hermes and Your God.

  • I would like to add Spells and proper NPC's such as Dionysus/Athena/Arachne during runs, and Hub NPCS such as Hecate/Hypnos.
    However, there are a lot of functions that are hard-coded to SpellDrop, and I am unsure about the state of adding 3D models.

[!NOTE] If there are any requests, anything I missed, or anything working incorrectly, post an issue, or create a help thread in the Hades Modding Discord.

Developer Documentation

  1. Create a dependency in manifest.json (if testing locally) by adding "zannc-GodsAPI-1.0.0" and in thunderstore.toml by adding zannc-GodsAPI = "1.0.0" if publishing the mod by adding to respective files.

  2. In main.lua, add:

    --@module 'zannc-GodsAPI'
    gods = mods['zannc-GodsAPI']
    

    So that it looks like this as an example:

    _PLUGIN = PLUGIN
    game = rom.game
    
    --@module 'SGG_Modding-ModUtil'
    modutil = mods["SGG_Modding-ModUtil"]
    --@module 'SGG_Modding-ReLoad'
    reload = mods["SGG_Modding-ReLoad"]
    --@module 'SGG_Modding-SJSON'
    sjson = mods["SGG_Modding-SJSON"]
    --@module 'zannc-GodsAPI'
    gods = mods["zannc-GodsAPI"]
    

For more in-depth examples of how to use these functions, refer to the DEV.md file and the PARAMS.md file.

  1. To create a god, you must call gods.InitializeGod(params), and optionally followed by gods.CreateOlympianSJSONData(params) and provide the required paramaters / sjson paramaters.

  2. To create a Keepsake, you must call gods.CreateKeepsake(params), and pass in the required fields - as well as any custom functions you need to make the keepsake function.

  3. To create a Boon, you must call gods.CreateBoon(params), and pass in the required fields - as well as any custom functions you need to make the boon function.

Planned Features

I am looking into the possibility of Hex Gods like Selene, as well as physical 3D NPCs if possible - however to my knowledge, 3D models have not been created yet.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.