Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

FAQ Sticky

A topic by Ada18980 created Jun 25, 2024 Views: 1,025
Viewing posts 1 to 1
(3 edits)

Question: My mods keep registering as a virus on other people’s computers. What do I do?

Answer: You have two options:

  1. Windows sees .js files in a zip as a virus for some reason. You can rename .js files to .ks files to prevent this.
  2. You can use 7zip to make the zip file instead of the native windows compression tool

Question: How can I upload mods so other people can download?

Answer: You can use MEGA or another external file host, or you can create a project in Itch.io and upload it there.

Question: Why can’t I see the mods forum on the discord?

Answer: Check the ⁠rules post

Question: How do I format the files in a mod?

Answer: A mod should be a .zip file, and if autoloading (offline version only) you should place it in the Mods/ folder Make sure that the mod files are in the root of the zip file. For example, if your mod is called MyMod.zip, make sure there is NOT a MyMod folder that contains all the files. If you do this you will not be able to load custom assets.

Question: How do I add a new perk in its own category?

Answer: In a .ks file, your code should look like this:

KDCategoriesStart.push(
    {name: "MyPerks", buffs: [], debuffs: [],}
    );
addTextKey("KDCategoryMyPerks","My Perks");
addTextKey("KinkyDungeonStatMyFirstPerk","My First Perk");
addTextKey("KinkyDungeonStatDescMyFirstPerk","Spend perk points to asset dominance.");
KinkyDungeonStatsPresets.MyFirstPerk= {startPriority: 100, category: "MyFirstPerk", id: "MyFirstPerk", cost: 2, tags: ["start"]};

KDPerkStart.MyFirstPerk= () =>
{
    // Insert code to run at the beginning of the game
};

KDLoadPerks(); // needed to reload the perk list

Question: How do I run code at the start of the game without a perk? Answer: Simplest way is to add an event that occurs during quest handling, checks if a flag is set, and if it isn’t, run your code and set the flag. In earlier versions this is the way to add an event:

// Initialize postQuest if it isn't already present
if (!KDEventMapGeneric.postQuest) KDEventMapGeneric.postQuest = {};
KDEventMapGeneric.postQuest.myEvent = (e, data) => {
  if (!KinkyDungeonFlags.get("myEventFlag")) {
    // Run my code
    KinkyDungeonSetFlag("myEventFlag", -1);
  }
}

in versions 5.3 and after you can use KDAddEvent() instead:

KDAddEvent(KDEventMapGeneric, "postQuest", "myEvent", (e, data) => {
  if (!KinkyDungeonFlags.get("myEventFlag")) {
    // Run my code
    KinkyDungeonSetFlag("myEventFlag", -1);
  }
});

Question: How do I check if the player has a perk?

Answer: You can use KinkyDungeonStatsChoice.get("MyPerk"), or in 5.3 and beyond: HasPerk("MyPerk")