Difference between revisions of "Outcomes"

From Wildermyth Wiki
(Added more in-depth overview and link to Data Format Overview)
(Added headers for all Outcomes, filled out General, Description, RelationshipPoints, GrantXP, and UpgradeGear)
Line 3: Line 3:
''(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 a more general overview of how outcomes relate to other parts of Wildermyth, see the [[Data Format Overview]])''
''(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 a more general overview of how outcomes relate to other parts of Wildermyth, see the [[Data Format Overview]])''


== Mission ==
==General==
All Outcomes have the following fields:
* '''STUB:''' for developer-facing documentation, or to note unimplemented but intended functionality.
* '''choose:''' Sometimes there is more than one target for a given role. If so, does this outcome apply to all targets? or one at random?
* '''target:''' Who (or what) does this outcome affect? All of the individual pieces will target this entity.
 
==Description==
Show a story dialog! This shows a story with no player choices at the end (unlike CHOICE targets, which are used to show stories with choices at the end)
 
* '''lightweight:''' If true and if the context is appropriate, show this content in-world instead of in a full Story Dialog. (i.e. the comic panels will be shown at the bottom of the screen instead of full-screen, like with callDownVolleyOfArrows)
* '''blockOtherChanges:''' If true, the outcomes after this won't occur until after this Description is over. Useful for cases when you want this event to grant an item or add calamities after the comic shows.
* '''finalButtonText:''' Should the final button of this comic have specific text? (By default, the final button will show "Done")
* '''script:''' The actual comic panels to show. (Edit using the comics editor)
 
==RelationshipPoints==
Adds relationship points to the given roles, or changes the relationship between roles.
 
* '''amount:''' The number of relationship points to grant
* '''who:''' Who to grant the relationship points to (RP is distributed evenly between all relationship pairs)
* '''scaling:''' What to multiply the amount by. None: Distribute exactly the amount of RP given. People: Multiply by the number of individuals in the given roles. Ships: multiply by the number of relationship pairs. (i.e. each relationship will get the given amount of RP)
* '''forceChangeRelationshipTo:''' Force the relationship type between individuals (for lover/rival, "who" must contain exactly two individuals)
 
==GrantXP==
Grant XP to the given target
 
* '''grantXP:''' The amount of XP to grant
 
==UpgradeGear==
Shows a Gear Choice popup allowing heroes to replace an existing item.
 
* '''query:''' Run this query on the target (hero) and offer the results to the player
** '''forceItemId:'''
** '''chapterModifier:''' Add this modifier to the chapter we pick gear for (i.e. if chapterModifier=1, the created gear will be better tier, something you would generally expect to see in the next chapter)
** '''allowArmor:''' Can the created item be armor?
** '''allowWeapon:''' Can the created item be a weapon?
** '''allowAugment:''' Can the created item be an augment?
** '''allowOffhand:''' Can the created item be an offhand?
** '''specificAugment:''' Create a specific type of augment
** '''element:''' Create an elemental weapon! This is commonly used with UpgradeGear.upgradeWeapon to turn a weapon into an elemental weapon. Note that granting an elemental weapon will always unlock that weapon group for crafting.
* '''chapterModifier:''' If not null, add this modifier to the chapter we pick gear for (i.e. if chapterModifier=1, the created gear will be better tier, something you would generally expect to see in the next chapter) ''(Overwrites query.chapterModifier, useful if you want to use an Expression)''
* '''restrictTo:''' If not null, this item can only be given to the provided role(s)
* '''upgradeWeapon:''' The specific weapon being upgraded. This is used with upgradeFromSpirit or element to try and create a similar elemental weapon.
* '''upgradeFromSpirit:''' If this is an elemental upgrade from a spirit, this is the Role of the spirit, from which an elemental type is taken.
 
==Mission==
[[File:MissionDefault.png]]
[[File:MissionDefault.png]]


Line 25: Line 69:
[[File:CombatantCustomCard.png]]
[[File:CombatantCustomCard.png]]


=== Combat Modifiers ===
===Combat Modifiers===
Add advantages or disadvantages to the player faction
Add advantages or disadvantages to the player faction
* '''type:''' Should the player have an advantage, or a disadvantage?
* '''type:''' Should the player have an advantage, or a disadvantage?
Line 31: Line 75:
* '''specificModifiers:''' If set, these specific modifiers will override the type and number fields.
* '''specificModifiers:''' If set, these specific modifiers will override the type and number fields.


====Modifiers include the following:====
'''Modifiers include the following:'''
''Advantages:''
''Advantages:''
* '''Fortitude:''' All party members gain 1 temporary hitpoint
* '''Fortitude:''' All party members gain 1 temporary hitpoint
Line 47: Line 91:
* '''Disable:''' One party member gains stun(2) to begin combat
* '''Disable:''' One party member gains stun(2) to begin combat


=== Some Other Notes on Missions ===
===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, [[Effects#Cloning a Role|make a clone of them in Implications]]!
* '''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, [[Effects#Cloning a Role|make a clone of them in Implications]]!


== ChangeControl ==
==MissionExtension==
 
==ModifyStats==
 
==Aspects==
 
==CopyAspects==
 
==AddHistory==
 
==AddResources==
 
==ApplyTheme==
 
==RemoveTheme==
 
==DoAll==
 
==DoFirstValid==
 
==DoOneRandom==
 
==Test==
 
==IfPlayerChose==
 
==IfRolesArePresent==
 
==SetRole==
 
==IfAnyTrigger==
 
==AttackRoll==
 
==Damage==
 
==Animate==
 
==ActionPoints==
 
==GrantActionPoints==
 
==TempHP==
 
==ChangeSceneryState==
 
==ModifyOverlandTile==
 
==Trigger==
 
==Branch==
 
==BranchAbility==
 
==CreateJobAtSite==
 
==SnapshotFollowup==
 
==AllowFollowup==
 
* See [[Tidings]]
 
==Impact==
 
==DefenseResults==
 
==NewJob==
 
==NewPlot==
 
==Spawn==
 
==Interrupt==
 
==ChangeControl==
[[File:ChangeControl.png]]
[[File:ChangeControl.png]]


Line 57: Line 175:
Using something like '''becomeAllyOf: party''' and '''makeHero: true''' will recruit the given role to your party!
Using something like '''becomeAllyOf: party''' and '''makeHero: true''' will recruit the given role to your party!


==AllowFollowup==
==AddPet==
 
==Interact==
 
==MoveEntity==
 
==FormParty==
 
==AssignToPlot==
 
==AddGear==
 
==EquipCarriedItem==
 
==AssociatedLight==
 
==MapRegion==
 
==Delete==
 
==Special==
 
==RevealHiddenEntities==
 
==AddCalamities==
 
==UnlockLegacyAspect==
 
==EncounterResult==


* See [[Tidings]]


[[Category:Modding]]
[[Category:Modding]]
[[Category:Modding Reference]]
[[Category:Modding Reference]]
[[Category:Writing]]
[[Category:Writing]]

Revision as of 13:44, 12 December 2019

Outcomes are things that happen! Generally, you'll be seeing these in the context of Effects. Outcomes can make a lot of things happen, usually via events and abilities. Event Outcomes usually include things like granting resources or relationship points, applying a Theme or Aspect to a hero, starting a Mission, or causing another event to happen. Ability Outcomes generally include things like making an attack roll, dealing damage, moving, adjusting stats in some way, or modifying scenery on the map.

(For some less technical descriptions, take a look at the Types of Outcomes we support. For a more general overview of how outcomes relate to other parts of Wildermyth, see the Data Format Overview)

General

All Outcomes have the following fields:

  • STUB: for developer-facing documentation, or to note unimplemented but intended functionality.
  • choose: Sometimes there is more than one target for a given role. If so, does this outcome apply to all targets? or one at random?
  • target: Who (or what) does this outcome affect? All of the individual pieces will target this entity.

Description

Show a story dialog! This shows a story with no player choices at the end (unlike CHOICE targets, which are used to show stories with choices at the end)

  • lightweight: If true and if the context is appropriate, show this content in-world instead of in a full Story Dialog. (i.e. the comic panels will be shown at the bottom of the screen instead of full-screen, like with callDownVolleyOfArrows)
  • blockOtherChanges: If true, the outcomes after this won't occur until after this Description is over. Useful for cases when you want this event to grant an item or add calamities after the comic shows.
  • finalButtonText: Should the final button of this comic have specific text? (By default, the final button will show "Done")
  • script: The actual comic panels to show. (Edit using the comics editor)

RelationshipPoints

Adds relationship points to the given roles, or changes the relationship between roles.

  • amount: The number of relationship points to grant
  • who: Who to grant the relationship points to (RP is distributed evenly between all relationship pairs)
  • scaling: What to multiply the amount by. None: Distribute exactly the amount of RP given. People: Multiply by the number of individuals in the given roles. Ships: multiply by the number of relationship pairs. (i.e. each relationship will get the given amount of RP)
  • forceChangeRelationshipTo: Force the relationship type between individuals (for lover/rival, "who" must contain exactly two individuals)

GrantXP

Grant XP to the given target

  • grantXP: The amount of XP to grant

UpgradeGear

Shows a Gear Choice popup allowing heroes to replace an existing item.

  • query: Run this query on the target (hero) and offer the results to the player
    • forceItemId:
    • chapterModifier: Add this modifier to the chapter we pick gear for (i.e. if chapterModifier=1, the created gear will be better tier, something you would generally expect to see in the next chapter)
    • allowArmor: Can the created item be armor?
    • allowWeapon: Can the created item be a weapon?
    • allowAugment: Can the created item be an augment?
    • allowOffhand: Can the created item be an offhand?
    • specificAugment: Create a specific type of augment
    • element: Create an elemental weapon! This is commonly used with UpgradeGear.upgradeWeapon to turn a weapon into an elemental weapon. Note that granting an elemental weapon will always unlock that weapon group for crafting.
  • chapterModifier: If not null, add this modifier to the chapter we pick gear for (i.e. if chapterModifier=1, the created gear will be better tier, something you would generally expect to see in the next chapter) (Overwrites query.chapterModifier, useful if you want to use an Expression)
  • restrictTo: If not null, this item can only be given to the provided role(s)
  • upgradeWeapon: The specific weapon being upgraded. This is used with upgradeFromSpirit or element to try and create a similar elemental weapon.
  • upgradeFromSpirit: If this is an elemental upgrade from a spirit, this is the Role of the spirit, from which an elemental type is taken.

Mission

MissionDefault.png

Starts a fight to the death. A fair amount of stuff can be specified here.

  • sitePlanOverride: Overrides the site plan (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 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?)

Use roles (instead of the above role) to group several roles into a single combatant; useful for displaying multiple roles on a single enemy card.

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.

Specify a customCard if you want to override the default way the enemy shows up in cards at the start of a mission.

CombatantCustomCard.png

Combat Modifiers

Add advantages or disadvantages to the player faction

  • type: Should the player have an advantage, or a disadvantage?
  • number: How many advantages/disadvantages should the player have? (This many will be picked randomly based on the type)
  • specificModifiers: If set, these specific modifiers will override the type and number fields.

Modifiers include the following: Advantages:

  • Fortitude: All party members gain 1 temporary hitpoint
  • Courage: All party members gain +1 damage/potency (3 turns)
  • Cunning: Flanking attacks this combat deal +1 damage
  • Intimidation: All foes suffer 2 damage to start the mission
  • Insight: Double the stunt chance for all party members
  • Endurance: All party members gain 1 armor and 1 warding (2 turns)

Disadvantages:

  • Nausea: All party members lose 1 hitpoint.
  • Disorder: Walling provides no armor this combat.
  • Misalignment: All augment bonuses are nullified this combat.
  • Dismay: All foes gain 1 hitpoint to start the mission.
  • Wound: One party member loses half hit points to start combat.
  • Disable: One party member gains stun(2) to begin combat

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!

MissionExtension

ModifyStats

Aspects

CopyAspects

AddHistory

AddResources

ApplyTheme

RemoveTheme

DoAll

DoFirstValid

DoOneRandom

Test

IfPlayerChose

IfRolesArePresent

SetRole

IfAnyTrigger

AttackRoll

Damage

Animate

ActionPoints

GrantActionPoints

TempHP

ChangeSceneryState

ModifyOverlandTile

Trigger

Branch

BranchAbility

CreateJobAtSite

SnapshotFollowup

AllowFollowup

Impact

DefenseResults

NewJob

NewPlot

Spawn

Interrupt

ChangeControl

ChangeControl.png

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!

AddPet

Interact

MoveEntity

FormParty

AssignToPlot

AddGear

EquipCarriedItem

AssociatedLight

MapRegion

Delete

Special

RevealHiddenEntities

AddCalamities

UnlockLegacyAspect

EncounterResult