Difference between revisions of "Effects"

From Wildermyth Wiki
m (Added link to Expressions page)
Line 71: Line 71:


For some less technical descriptions, take a look at the [[Story Inputs and Outputs#Types of Outcomes we support|Types of Outcomes we support]].
For some less technical descriptions, take a look at the [[Story Inputs and Outputs#Types of Outcomes we support|Types of Outcomes we support]].
[[Category:Modding]]
[[Category:Modding Reference]]

Revision as of 22:11, 4 December 2019

Effects.PNG

This page contains some of the more technical aspects of creating Effects. It ties in closely with Comic Editor Reference and Story Inputs and Outputs. In some Effects, you may want to know about certain Expressions for calculating values via functions or information from the game.

Note that the comic editor has buttons that can add some of these things (New Story Role, New Target, New NPC, and New Choice), so if you've used that, you're already familiar with some of this!

Implications

For creating new things. This can include NPCs, Monsters, items, and more!

generatedTargets

  • role: The role to assign the created entity to
  • npcId: This is a global ID that can be used to remember NPCs and find them later. Make it unique!

generatedTargets > createEntity > query

  • type: What is type of thing being created? (Individual, town, item, site, etc.) For NPCs and specific monsters, use INDIVIDUAL.
  • baseTag: Is this a human, a goat, a drauven haunt?
  • inRelationTo: A role that several other fields can be set based on. (see: cloneRelatedEntity, setGender, setAttraction, setClass, setAge)
  • cloneRelatedEntity: If true, this will create a clone of the inRelationTo Role. This can be used to, for example, put a clone of a hero on the enemy side.


  • setGender: INDIVIDUAL: Male or female. Can also be random, or chosen based on the gender or attraction of the inRelationTo role.
  • setAttraction: INDIVIDUAL: Men or Women. Can also be random (normal), or chosen based on the gender of the inRelationTo role.
  • setClass: INDIVIDUAL: Farmer, warrior, hunter, or mystic. Can also be any, any non-farmer, or the same as the inRelationTo role.
  • setAge: INDIVIDUAL: Some general age brackets. Can also be sameAs or closeTo the inRelationTo role.
  • exactAge: INDIVIDUAL: An exact numeric age.
  • setName: A specific name. Overrides default name generation.


  • itemId: ITEM: A specific item to spawn. (Overrides itemCategory and itemTier)
  • itemCategory: ITEM: Picks a random item of the given item category.
  • itemTier: ITEM: Picks a random item of the given tier. (Can be used in conjunction with itemCategory)


  • threatFlavor: THREAT: The type of monster card to spawn.

generatedTargets > createEntity

  • additionalOutcome: An outcome to apply to this entity upon creation. This is useful for doing things like adding gear (AddGear) to an individual or modifying their stats (ModifyStats). (Note that you can use a DoAll Outcome to execute multiple Outcomes here.)

Some Specific Use Cases

Cloning a Role

Useful when you want to put someone from your party on the enemy team during a mission. This way, they won't actually die. The clone will have the same weapons and be (basically) indistinguishable from the original. Set inRelationTo to the role you want to clone (either from a target or a previous implication), and cloneRelatedEntity to true.

You can also make changes to it, like using setAge to make an older/younger version of the person, or using setName to make their name be something different.

Targets

Targets will usually be the bulk of the Roles you use in an event. Many of these are "injected" from wherever the event is happening, like the party, foes, and site being injected from the overland map to a mission. Below are some general explanations, filters, and methods of selection you can use in events, as well as some common specific use cases.

general

  • role: This is the way selected entities are stored and accessed. Each role is just a name assigned to the selected entities, which can be used to access them in comics and Outcomes. Sometimes, you may find that the predefined roles that show up when you create a new event (self, company, overlandTile, site, party, etc.) and the roles that are generated for heroes via the comic editor (bookish, snark, leader, etc.) are enough. However, you can always add targets with other roles if necessary.
  • aspects (Filter > aspects): Used to specify that the target must have a specific aspect(s). This can be used to check foe flavor (drauven, gorgon), hero aspects (humanFemale, mystic), and anything else that's an aspect.
  • aspectValues (Filter > aspectValues): An extended version of aspects. Allows for forbidding aspects, checking aspects relative to a different role, and setting a min and max value the aspect must be within.
  • notAlreadyMatchedAs (Filter > notAlreadyMatchedAs): Forbid matching with entities that have already been matched as the given roles. The common use case is for hero roles, making sure bookish doesn't match the same character as snark and end up with a character talking to themselves.
  • alreadyMatchedAs (Filter > alreadyMatchedAs): Require matched entities to have already been matched as the given roles.

overlandTile

  • Biome (Filter > overlandTileBiomes): If set, the tile must be one of the given biomes to succeed. This includes things like hills, swamp, forestDeciduous, lake, etc.

site

  • Station (Filter > stationAspects): If set, the site must be one of the given stations to succeed. This includes things like earthworks, mine, cave, tower, etc.

party

  • Number of Heroes (How Many > chooseAllMinimum/Maximum): If set, and if choose = ALL, the party must have at least chooseAllMinimum members, and at most chooseAllMaximum members. (Note that this could also be used for other roles, like using with company for an event that requires a certain number of total heroes).

foes

  • Flavor (Filter > aspects): Add the flavor name (drauven, cultist, thrixl, gorgon, morthagi) to specify that the event should only happen for that type of monster. Note that this only checks for that type of monster; if you want to set the type of monster for a mission, take a look at Combatants.


Outcomes

These are things that happen! This can be starting a Mission, adding an aspect to an individual, showing a comic, and tons of other things.

A lot of stuff falls into this category, so it has its own page: Outcomes

For some less technical descriptions, take a look at the Types of Outcomes we support.