Effects
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.
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! For some less technical descriptions, take a look at the Types of Outcomes we support.
Mission
Starts a fight to the death. A fair amount of stuff can be specified here.
- stationOverride: Overrides the station (environment) that the mission takes place in (cave, forest shrine, library, etc.)
- format: Overrides the format of the mission (assault, defense, ambushed, or arena)
Combatants
The people and monsters fighting in this battle.
You can now set the role of a combatant and their side. You don't need to use party or foes, so if you want an event with only one player fighting, go for it. You can also put NPCs on your side, which you'll be able to control. (Even monsters! Though, maybe use with caution? It's not really supported right now?)
You can specify a customThreat, which can include a flavor and strength (if not set, they use the defaults), or you can specify specific monsterTracks.
You can add custom items to humans, either via ID or by Role. By ID is nice and easy, standard items. By Role is probably for when you want an item to have certain aspects, and you create it beforehand in the implications. In both cases, items will be equipped to the combatant for the duration of the mission. If you want a player to keep an item afterward, you can add an AddGear Outcome to manage that.
Some Other Notes on Missions
- If you want to fight someone from your party (as a doppelganger or possessed or whatever), don't just put the actual player on the enemy side, because then they'll actually die. Instead, make a clone of them in Implications!
ChangeControl
Used to assign control of the given target to a given controller.
Using something like becomeAllyOf: party and makeHero: true will recruit the given role to your party!