Creating an Action

From FetishQuest Wiki
Revision as of 17:46, 15 September 2023 by JasX (talk | contribs) (Created page with "== 1. Creating the Action Asset == # Click the Action button on the asset menu (left) and create a new asset. # Set a unique label for it. WARNING: DO NOT CHANGE A LABEL AFTER SETTING IT OR YOU MAY GET BROKEN LINKS. I'll name mine "bot_vibratorArm". # Click the question mark in the corner of the window for help filling out the fields. # For the sake of this example, I'll make an ability called Vibrator Arm: "Deals 3 corruption damage and destroys 1 utility momentum.". #...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

1. Creating the Action Asset

  1. Click the Action button on the asset menu (left) and create a new asset.
  2. Set a unique label for it. WARNING: DO NOT CHANGE A LABEL AFTER SETTING IT OR YOU MAY GET BROKEN LINKS. I'll name mine "bot_vibratorArm".
  3. Click the question mark in the corner of the window for help filling out the fields.
  4. For the sake of this example, I'll make an ability called Vibrator Arm: "Deals 3 corruption damage and destroys 1 utility momentum.".
  5. I'll make it cost 2 offensive momentum and have a 1 turn cooldown. I'll set type to corruption.
  6. I'll hit library on wrappers and click new. Label my new wrapper bot_vibratorArm_momentum and set description to "destroys one utility momentum"
  7. Technically you can click library on effects too, but I'll close my new wrapper and select it in the linker because it's less chaotic with fewer linkers.
  8. Next I'll click the wrapper from the Action's list of wrappers to bring up the wrapper editor.
  9. I'll ctrl+click the default interrupt effect to remove it, and click library. Then new to create a new effect.
  10. I'll label my effect momentum_minus1_utility and set the description to "destroy 1 utility momentum".
  11. Set the type to addMomentum and in the JSON editor I'll change the amount from 1 to -1.
  12. Then close the window and pick it from the list to attach it to the wrapper.
  13. Next go back to the action editor and add another wrapper. In the linker, I'll search for deal3damage, since there's already an existing wrapper that does 3 damage. You don't have to worry about the damage type being corruption, as that's automatically inferred from the action type.
  14. Finally I'll add some tags. This ability is easy enough so I'll just tag it as "ac_damage". You can look through the tags starting with "ac_" to see what might fit your ability.
  15. (Optional) If this is for an NPC (especially boss mechanics) you may want to consider the tags: ac_npc_important (always use this action when available), ac_npc_first (always use this first if possible, tho ac_npc_important will go first unless you pair the two), ac_npc_important_last (makes it important and will only use other actions if they don't prevent the NPC from using this), and ac_npc_ignore_aggro which makes the NPC always use this action on a random target unless taunted or grappled.

2. Creating a condition

  1. For texts to work, you need to create an action condition.
  2. Go to conditions and create new. Label it "action_bot_vibratorArm".
  3. Set type to actionLabel
  4. Select your action from the linker.

3. Creating texts for your action

  1. Go to text and create a new text.
  2. Write the text, use the question mark as usual to see what special vars you can use in the text. In my case I'll go with "%S pushes %Shis vibrator arm up between %T's legs, buzzing %This %groin!".
  3. For conditions I'm gonna click the "Any on Humanoid" button which adds "actionHit" to prevent the text from showing up on a miss, "eventIsActionUsed" to make the text only show up when an action has been used, and "targetNotBeast" to prevent the text from being shown when the action is used on beasts.
  4. I'll also want to click Library and add the "action_bot_vibratorArm" to prevent the text from showing up when a different action is used.
  5. You can add some other conditions if you want, such as "targetVaginaExposed" for penetrating texts etc.
  6. The help menu will tell you how to fill out the other fields.
  7. Protip: To speed up creation of multiple texts, go back to the texts database and alt+click your text to make a copy. Then edit the copy. If you regret your copy, you can ctrl+click to delete it.

4. Linking your action

Linking your action to a gym

  1. Open up the Player Action database, this is a database that links actions to characters.
  2. Create a new entry and give it a label such as "warrior_bot_vibratorArm" (this doesn't really make sense as the bot_vibratorArm was created for an NPC, but we'll go along anyway).
  3. Leave auto learn and PLayer templates only unchecked.
  4. Under action, click library and pick bot_vibratorArm.
  5. Under conditions click library and search for gameActionTag_warrior, and select it. This will add it to the warrior trainer. Protip: The trainers are just game actions with tags, you can create whatever tags you want for your trainers, but the base game comes with conditions for the built in "classes".

Linking your action to an NPC template

  1. Open up the Player Action database.
  2. Create a new entry and give it a label such as "sexBot_bot_vibratorArm".
  3. Check Player templates only
  4. Under action, click library and pick bot_vibratorArm.
  5. Under conditions, click library and pick targetClass_sexRobot_vibrator (detailed in Creating_a_Monster). This makes it available to the sex robot we created in said tutorial, whenever the monster is generated and if its class is sexRobot_vibrator.

Connecting your action to a boss or NPC

  1. Go to your player asset, link your action directly via the Actions linker.