Creating a Mod: Difference between revisions

From FetishQuest Wiki
Jump to navigation Jump to search
JasX (talk | contribs)
No edit summary
JasX (talk | contribs)
Line 82: Line 82:
| [[Condition Asset]] || The cornerstone of FQ. Conditions are used EVERYWHERE to decide when something is allowed to happen. There's a ton of conditions readily available.
| [[Condition Asset]] || The cornerstone of FQ. Conditions are used EVERYWHERE to decide when something is allowed to happen. There's a ton of conditions readily available.
|-
|-
| [[GameAction Asset]]] || Similar to Wrapper, but it affects the game directly. Such as toggling combat, starting quests, affecting the timer, or starting a roleplay.
| [[GameAction Asset]] || Similar to Wrapper, but it affects the game directly. Such as toggling combat, starting quests, affecting the timer, or starting a roleplay.
|-
|-
| [[Quest Asset]] || A quest for adventurers to go on!
| [[Quest Asset]] || A quest for adventurers to go on!

Revision as of 16:15, 12 September 2023

To create a mod on the dev branch, use https://dev.fetishquest.com/modtools.html

To create a mod on the live branch, use https://fetishquest.com/modtools.html

Note that these tutorials are designed for the dev branch, and may not reflect the live branch entirely due to new features being tested on dev.

  1. Click File -> New Mod
  2. Give your mod a name and an author, and press create. Note: Your mod is automatically enabled next time you play FQ. However, any changes made to a mod will require a browser refresh in your FQ window.
  3. Click the Cheat Sheet button in the top menu for basic instructions and keybindings.
  4. Click File -> Settings to add more information to your mod. This is only necessary if you plan to distribute your mod.

That's great and all, but I really just wanna fuck around

If you only want to mess around while learning the devtools, go to File -> Load and Clone Main Mod. It will create a clone of the main mod which overrides the official content. This is not recommended for general modding since you'll end up overwriting the official content when distributing it. But it can be used as a learning tool as it allows you to edit any existing aspect of the game and see how it's built.

That said, while learning, you can keep the clone open in one tab and use it to see how something was made while working on your own mod in another tab.

This guide will assume you're making your own mod from scratch.

Warning: Labels

Most assets in FQ are linked together by labels. Whereas an editor allows you to edit a label, it's going to create a lot of broken links as linked assets don't update automatically. As such it's very important that you only change the label upon asset creation, and then don't touch it again.


Tags

Players in FQ have tags. But tags are also given to players from the dungeon, rooms, assets in the room, effects, and clothes. Tags are a great way to write situational texts, but can be used anywhere you can use a condition.

Assets

A mod is made up of multiple assets. These can be created from the menu on the left. Most asset editors have a question mark on the top right. Clicking that will give you information about what the asset does, and what the different fields do.

Here's a list in short of what the different assets are used for:

Caption text
Asset Description
Text Asset Texts are most commonly used to output something in the combat log. Such as when an action hits or misses. It's also used under the hood in Roleplays.
Fetish Asset Controls what fetishes go on the main menu fetish selection screen. You can then bind conditions to these fetishes and use these conditions to limit things like combat texts or RPs based on player selected fetishes.
Story Asset A story is a starting point for the game. You may create stories with preset player characters, or have it user selected like the main Yuug Peninsula story. You also get to pick a starting point and a background image for it.
Dungeon A dungeon is a collection of 3d rooms, which are collections of 3d assets. Basically the world map.
Encounter An encounter is a collection of NPCs that you encounter. It may be friendly or hostile. Encounters are used to tie roleplays and services to NPCs, and can also have passives and wrappers.
Player Asset A player is an NPC or a player template for the new game screen.
Player Template Asset A player template is an NPC template that is used to create a randomly generated NPC. Unlike a Player, a template has a list of min/max stats, viable equipment and classes. It then generates into a player when placed in world. Most non-boss monsters use templates.
Player Class Asset Mainly used for NPCs (especially templates) nowadays. A class can define stats and also be used in conditions to dictate what actions an NPC template may use.
Player Action Asset A linker table that decides where actions can be learned, and which NPCs can learn what actions.
Gallery Asset Adds Player assets to the new game player selector, provided the Story allows gallery characters. Mods that adds additional characters to the new game screen will want to use this.
Audio Trigger Asset Currently not used in the main game, but can be used to create combat grunts.
Procedural Dungeon Asset Creates procedurally generated exploration dungeons by setting up a collection of rooms to pick from.
Room Asset Used to create template rooms that procedural dungeons can use.
Action Asset An action is a spell or ability. Note that to tie an action to a player or trainer, you'll want to add an entry in the Player Action table.
Wrapper Asset A wrapper is a collection of effects. It can be used as a buff or debuff, or as a one off to do instant damage or healing etc. If you're only looking to do damage or healing, you can use existing wrappers such as deal3damage etc. Wrappers are generally used to affect players, unlike a GameAction which is used to affect the game itself. Wrappers are usually tied to items, passives, or actions.
Effect Asset Effects are small packets of data which do something to a player, such as damage. Effects are almost always tied to a wrapper.
Asset Asset An asset is an item, such as gold or equipment. Assets are predetermined unlike Asset Templates which are randomly generated.
Asset Template Asset A template for randomly generated gear (used on Player Templates or in autoloot chests). It describes an item such as a thong, and which materials the thong may have.
Material Template Asset A material, such as Steel or Leather. Can have its own properties. Used in Asset Templates.
Armor Enchant Asset A linker table for asset templates that decides which enchants can be found on generated equipment, and what wrappers make up the enchant. Only needed for Asset Templates. Assets can have the enchant wrapper set directly.
Book Asset Creates books that can be read in world, usually by clicking them on the 3d map or using them from your inventory.
Condition Asset The cornerstone of FQ. Conditions are used EVERYWHERE to decide when something is allowed to happen. There's a ton of conditions readily available.
GameAction Asset Similar to Wrapper, but it affects the game directly. Such as toggling combat, starting quests, affecting the timer, or starting a roleplay.
Quest Asset A quest for adventurers to go on!
Faction Asset Not really used since the momentum update, but can be used with conditions to decide how NPCs should react to you.
Roleplay Asset Another word for an NPC dialogue. The screen that pops up usually with someone talking and with replies are roleplays in FQ. Note that these are started through a GameAction, often in an Encounter.
Shop Asset Create NPC vendors. Note that you have to tie them to NPCs via a GameAction, usually in an encounter.
Shop Token Asset Used in vendors that accept tokens instead of money, such as the cartographs.
Loading Tip Asset Adds tips to the loading screen.
AudioKit Asset A collection of sounds that should play on the UI, what order they should play in, start position, and end position. Often tied to HitFX
HitFX Asset Spell visual effects. A collection of particles and sounds, and how they should behave.