diff --git a/docs/CHANGELOG.html b/docs/CHANGELOG.html index 9b9e889..326a382 100644 --- a/docs/CHANGELOG.html +++ b/docs/CHANGELOG.html @@ -77,10 +77,10 @@

Changelog

All notable changes to this project will be documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

-

Unreleased

+

1.0.0-beta

Added

diff --git a/docs/api/TrinketTinker.Companions.Anim.TinkerAnimSprite.html b/docs/api/TrinketTinker.Companions.Anim.TinkerAnimSprite.html index c121355..a8ec690 100644 --- a/docs/api/TrinketTinker.Companions.Anim.TinkerAnimSprite.html +++ b/docs/api/TrinketTinker.Companions.Anim.TinkerAnimSprite.html @@ -89,7 +89,7 @@
Table of Contents

-Class TinkerAnimSprite +Class TinkerAnimSprite

@@ -156,7 +156,7 @@

Constructors

TinkerAnimSprite(VariantData) - +

@@ -191,7 +191,7 @@

Methods

AnimatePingPong(GameTime, int, int, float) - +

Reverse the animation from last frame, e.g. 1 2 3 4 3 2 1 2 3 4. @@ -240,7 +240,7 @@

Returns

GetSourceRect(int) - +

Get source rect corresponding to a particular frame.

diff --git a/docs/api/TrinketTinker.Companions.Motions.BaseLerpMotion-1.html b/docs/api/TrinketTinker.Companions.Motions.BaseLerpMotion-1.html index 683fc37..be8c2c8 100644 --- a/docs/api/TrinketTinker.Companions.Motions.BaseLerpMotion-1.html +++ b/docs/api/TrinketTinker.Companions.Motions.BaseLerpMotion-1.html @@ -209,6 +209,9 @@

Type Parameters

Motion<IArgs>.GetShadowScale()
+
+ Motion<IArgs>.GetShadowOffset(Vector2) +
Motion<IArgs>.Draw(SpriteBatch)
@@ -306,7 +309,7 @@

Properties

Lerp - +

Variable for how much interpolation happened so far.

@@ -342,7 +345,7 @@

Methods

GetOffset() - +

Get offset

@@ -374,7 +377,7 @@

Returns

GetRotation() - +

Get sprite rotation

@@ -407,7 +410,7 @@

Returns

OnOwnerWarp() - +

Update light source when owner changes location

@@ -434,7 +437,7 @@

UpdateLocal(GameTime, GameLocation) - +

Update info that should change every tick, for owner only. Netfield changes should happen here.

diff --git a/docs/api/TrinketTinker.Companions.Motions.BaseStaticMotion-1.html b/docs/api/TrinketTinker.Companions.Motions.BaseStaticMotion-1.html index d3c533e..b185480 100644 --- a/docs/api/TrinketTinker.Companions.Motions.BaseStaticMotion-1.html +++ b/docs/api/TrinketTinker.Companions.Motions.BaseStaticMotion-1.html @@ -210,6 +210,9 @@

Type Parameters

+ @@ -304,7 +307,7 @@

Methods

GetPositionalLayerDepth(Vector2) - +

Get layer depth based on position

@@ -341,7 +344,7 @@

Returns

GetRotation() - +

Get sprite rotation

@@ -374,7 +377,7 @@

Returns

UpdateDirection() - +

Update companion facing direction using player facing direction.

@@ -401,7 +404,7 @@

UpdateLocal(GameTime, GameLocation) - +

Update info that should change every tick, for owner only. Netfield changes should happen here.

diff --git a/docs/api/TrinketTinker.Companions.Motions.BounceMotion.html b/docs/api/TrinketTinker.Companions.Motions.BounceMotion.html index 222a8b6..ad48f2f 100644 --- a/docs/api/TrinketTinker.Companions.Motions.BounceMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.BounceMotion.html @@ -153,6 +153,9 @@

Motion<BounceArgs>.UpdateLightSource(GameTime, GameLocation)

+ @@ -229,7 +232,7 @@

Methods

GetOffset() - +

Get offset

@@ -261,7 +264,7 @@

Returns

GetShadowScale() - +

Get shadow draw scale.

@@ -293,7 +296,7 @@

Returns

GetTextureScale() - +

Get texture draw scale.

@@ -325,7 +328,7 @@

Returns

UpdateGlobal(GameTime, GameLocation) - +

Update info that should change every tick, for all game instances in multiplayer.

diff --git a/docs/api/TrinketTinker.Companions.Motions.HopMotion.html b/docs/api/TrinketTinker.Companions.Motions.HopMotion.html index 1864d30..fde9c7b 100644 --- a/docs/api/TrinketTinker.Companions.Motions.HopMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.HopMotion.html @@ -153,6 +153,9 @@

Motion<HopArgs>.UpdateLightSource(GameTime, GameLocation)

+ @@ -229,7 +232,7 @@

Methods

GetOffset() - +

Get offset

@@ -261,7 +264,7 @@

Returns

GetShadowScale() - +

Get shadow draw scale.

@@ -293,7 +296,7 @@

Returns

UpdateGlobal(GameTime, GameLocation) - +

Update info that should change every tick, for all game instances in multiplayer.

diff --git a/docs/api/TrinketTinker.Companions.Motions.HoverMotion.html b/docs/api/TrinketTinker.Companions.Motions.HoverMotion.html index 64052eb..5029563 100644 --- a/docs/api/TrinketTinker.Companions.Motions.HoverMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.HoverMotion.html @@ -150,6 +150,9 @@

Motion<HoverArgs>.UpdateLightSource(GameTime, GameLocation)

+ @@ -226,7 +229,7 @@

Methods

GetOffset() - +

Get offset

@@ -258,7 +261,7 @@

Returns

GetPositionalLayerDepth(Vector2) - +

Get layer depth based on position

@@ -295,7 +298,7 @@

Returns

UpdateGlobal(GameTime, GameLocation) - +

Update info that should change every tick, for all game instances in multiplayer.

@@ -329,7 +332,7 @@

Parameters

UpdateLocal(GameTime, GameLocation) - +

Update info that should change every tick, for owner only. Netfield changes should happen here.

diff --git a/docs/api/TrinketTinker.Companions.Motions.IMotion.html b/docs/api/TrinketTinker.Companions.Motions.IMotion.html index f332c59..51b6f6d 100644 --- a/docs/api/TrinketTinker.Companions.Motions.IMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.IMotion.html @@ -272,7 +272,7 @@

- SetOneshotClip(string) + SetOneshotClip(string?)

@@ -281,7 +281,7 @@

-
void SetOneshotClip(string clipKey)
+
void SetOneshotClip(string? clipKey)

Parameters

@@ -304,7 +304,7 @@

Parameters

- SetOverrideClip(string) + SetOverrideClip(string?)

@@ -313,7 +313,7 @@

-
void SetOverrideClip(string clipKey)
+
void SetOverrideClip(string? clipKey)

Parameters

diff --git a/docs/api/TrinketTinker.Companions.Motions.LerpMotion.html b/docs/api/TrinketTinker.Companions.Motions.LerpMotion.html index f8b105b..dddda72 100644 --- a/docs/api/TrinketTinker.Companions.Motions.LerpMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.LerpMotion.html @@ -89,7 +89,7 @@
Table of Contents

-Class LerpMotion +Class LerpMotion

@@ -210,6 +210,9 @@

Motion<LerpArgs>.GetShadowScale()

+ @@ -267,7 +270,7 @@

Constructors

LerpMotion(TrinketTinkerCompanion, MotionData, VariantData) - +

Companion closely follows the anchor, at a distance

diff --git a/docs/api/TrinketTinker.Companions.Motions.Motion-1.html b/docs/api/TrinketTinker.Companions.Motions.Motion-1.html index 788a5dc..33e339b 100644 --- a/docs/api/TrinketTinker.Companions.Motions.Motion-1.html +++ b/docs/api/TrinketTinker.Companions.Motions.Motion-1.html @@ -89,7 +89,7 @@
Table of Contents

-Class Motion<TArgs> +Class Motion<TArgs>

@@ -175,7 +175,7 @@

Constructors

Motion(TrinketTinkerCompanion, MotionData, VariantData) - +

Basic constructor, tries to parse arguments as the generic IArgs type.

@@ -214,7 +214,7 @@

Fields

args - +

Class dependent arguments for subclasses

@@ -276,7 +276,7 @@

Field Value

cs - +

Companion animation controller

@@ -307,7 +307,7 @@

Field Value

currAnchorTarget - +

The current anchor target

@@ -338,10 +338,11 @@

Field Value

framesetLength - +

-
+

Number of frames in 1 set, used for Repeat and SerpentMotion

+
@@ -368,7 +369,7 @@

Field Value

lightId - +

Light source ID, generated if LightRadius is set in MotionData.

@@ -399,7 +400,7 @@

Field Value

md - +

Data for this motion.

@@ -430,7 +431,7 @@

Field Value

prevAnchorTarget - +

The previous anchor target

@@ -461,7 +462,7 @@

Field Value

vd - +

Data for this motion.

@@ -497,7 +498,7 @@

Properties

AnchorChanged - +

Anchor changed during this tick

@@ -529,7 +530,7 @@

Property Value

TotalFrames - +

Actual total frame used for Repeat, equal to frame length

@@ -565,7 +566,7 @@

Methods

CheckSpriteCollision(GameLocation, Vector2) - +

Helper function, check if the sprite collides with anything.

@@ -604,7 +605,7 @@

Returns

Cleanup() - +

Cleanup motion, remove light source.

@@ -631,7 +632,7 @@

DirectionFrameStart() - +

First frame of animation, depending on direction.

@@ -664,7 +665,7 @@

Returns

Draw(SpriteBatch) - +

Draws the companion, for all game instances in multiplayer.

@@ -696,7 +697,7 @@

Parameters

DrawCompanion(SpriteBatch, DrawSnapshot) - +

Draw companion from snapshot, enqueue repeat as required

@@ -730,7 +731,7 @@

Parameters

DrawShadow(SpriteBatch, DrawSnapshot) - +

Draw shadow from snapshot, enqueue repeat as required

@@ -764,7 +765,7 @@

Parameters

EnqueueRepeatDraws(DrawSnapshot, bool) - +

Queue up repeats of the current draw.

@@ -798,7 +799,7 @@

Parameters

GetMoving() - +

Moving flag used for basis of anim

@@ -830,7 +831,7 @@

Returns

GetOffset() - +

Get offset

@@ -862,7 +863,7 @@

Returns

GetPositionalLayerDepth(Vector2) - +

Get layer depth based on position

@@ -899,7 +900,7 @@

Returns

GetRotation() - +

Get sprite rotation

@@ -928,11 +929,48 @@

Returns

+ + +

+ GetShadowOffset(Vector2) + +

+ +

Get shadow offset, default same as offset but with no Y

+
+
+ +
+
public virtual Vector2 GetShadowOffset(Vector2 offset)
+
+ +

Parameters

+
+
offset Vector2
+
+
+ +

Returns

+
+
Vector2
+
+
+ + + + + + + + + + +

GetShadowScale() - +

Get shadow draw scale.

@@ -964,7 +1002,7 @@

Returns

GetTextureScale() - +

Get texture draw scale.

@@ -996,7 +1034,7 @@

Returns

Initialize(Farmer) - +

Initialize motion, setup light source if needed.

@@ -1028,7 +1066,7 @@

Parameters

OnOwnerWarp() - +

Update light source when owner changes location

@@ -1055,7 +1093,7 @@

SetOneshotClip(string?) - +

Set an oneshot clip, to play once until end

@@ -1087,7 +1125,7 @@

Parameters

SetOverrideClip(string?) - +

Set an override clip, to play instead of normal directional animation

@@ -1119,7 +1157,7 @@

Parameters

UpdateAnchor(GameTime, GameLocation) - +

Changes the position of the anchor that the companion moves relative to, based on Anchors.

@@ -1153,7 +1191,7 @@

Parameters

UpdateDirection() - +

Update companion facing direction using a direction.

@@ -1180,7 +1218,7 @@

UpdateGlobal(GameTime, GameLocation) - +

Update info that should change every tick, for all game instances in multiplayer.

@@ -1214,7 +1252,7 @@

Parameters

UpdateLightSource(GameTime, GameLocation) - +

Reposition the lightsource.

@@ -1248,7 +1286,7 @@

Parameters

UpdateLocal(GameTime, GameLocation) - +

Update info that should change every tick, for owner only. Netfield changes should happen here.

diff --git a/docs/api/TrinketTinker.Companions.Motions.OrbitMotion.html b/docs/api/TrinketTinker.Companions.Motions.OrbitMotion.html index e0bd78f..3870e04 100644 --- a/docs/api/TrinketTinker.Companions.Motions.OrbitMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.OrbitMotion.html @@ -324,7 +324,7 @@

Returns

GetPositionalLayerDepth(Vector2) - +

Get layer depth based on position

@@ -357,11 +357,48 @@

Returns

+ + +

+ GetShadowOffset(Vector2) + +

+ +

Get shadow offset, same as offset but -

+
+
+ +
+
public override Vector2 GetShadowOffset(Vector2 offset)
+
+ +

Parameters

+
+
offset Vector2
+
+
+ +

Returns

+
+
Vector2
+
+
+ + + + + + + + + + +

GetTextureScale() - +

Get texture draw scale.

diff --git a/docs/api/TrinketTinker.Companions.Motions.RelativeMotion.html b/docs/api/TrinketTinker.Companions.Motions.RelativeMotion.html index 36de4f0..c21eeb1 100644 --- a/docs/api/TrinketTinker.Companions.Motions.RelativeMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.RelativeMotion.html @@ -156,6 +156,9 @@

Motion<StaticArgs>.UpdateLightSource(GameTime, GameLocation)

+ @@ -232,7 +235,7 @@

Methods

GetOffset() - +

Get offset

@@ -264,7 +267,7 @@

Returns

GetPositionalLayerDepth(Vector2) - +

Get layer depth based on position

diff --git a/docs/api/TrinketTinker.Companions.Motions.SerpentMotion.html b/docs/api/TrinketTinker.Companions.Motions.SerpentMotion.html index 77aeef7..742f7e7 100644 --- a/docs/api/TrinketTinker.Companions.Motions.SerpentMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.SerpentMotion.html @@ -157,6 +157,9 @@

Motion<SerpentArgs>.UpdateLightSource(GameTime, GameLocation)

+ @@ -193,7 +196,7 @@

Constructors

SerpentMotion(TrinketTinkerCompanion, MotionData, VariantData) - +

@@ -232,7 +235,7 @@

Properties

TotalFrames - +

Total frame, accounting for number of segments

@@ -268,7 +271,7 @@

Methods

DrawCompanion(SpriteBatch, DrawSnapshot) - +

Draw companion from snapshot, enqueue repeat as required

@@ -302,7 +305,7 @@

Parameters

DrawShadow(SpriteBatch, DrawSnapshot) - +

Do not draw shadow for this motion type it looks bad.

@@ -336,7 +339,7 @@

Parameters

UpdateGlobal(GameTime, GameLocation) - +

Update info that should change every tick, for all game instances in multiplayer.

diff --git a/docs/api/TrinketTinker.Companions.Motions.StaticMotion.html b/docs/api/TrinketTinker.Companions.Motions.StaticMotion.html index ec064b0..d7b9fef 100644 --- a/docs/api/TrinketTinker.Companions.Motions.StaticMotion.html +++ b/docs/api/TrinketTinker.Companions.Motions.StaticMotion.html @@ -89,7 +89,7 @@
Table of Contents

-Class StaticMotion +Class StaticMotion

@@ -159,6 +159,9 @@

Motion<StaticArgs>.GetOffset()

+ @@ -195,7 +198,7 @@

Constructors

StaticMotion(TrinketTinkerCompanion, MotionData, VariantData) - +

Companion stays at some static offset from anchor.

diff --git a/docs/api/TrinketTinker.Companions.TrinketTinkerCompanion.html b/docs/api/TrinketTinker.Companions.TrinketTinkerCompanion.html index 9faef10..af069e8 100644 --- a/docs/api/TrinketTinker.Companions.TrinketTinkerCompanion.html +++ b/docs/api/TrinketTinker.Companions.TrinketTinkerCompanion.html @@ -89,7 +89,7 @@
Table of Contents

-Class TrinketTinkerCompanion +Class TrinketTinkerCompanion

@@ -209,7 +209,7 @@

Constructors

TrinketTinkerCompanion() - +

Argumentless constructor for netcode deserialization.

@@ -236,7 +236,7 @@

TrinketTinkerCompanion(string, int) - +

Construct new companion using companion ID.

@@ -273,7 +273,7 @@

Fields

Data - +

Backing companion data from content.

@@ -304,7 +304,7 @@

Field Value

_id - +

NetField for ID

@@ -340,7 +340,7 @@

Properties

Anchor - +

Position the companion should follow.

@@ -372,7 +372,7 @@

Property Value

CompanionMoving - +

Whether companion is moving

@@ -436,7 +436,7 @@

Property Value

Motion - +

Motion class that controls how the companion moves.

@@ -468,7 +468,7 @@

Property Value

Offset - +

Current motion offset

@@ -500,7 +500,7 @@

Property Value

OneshotKey - +

Getter and setter for oneshot key

@@ -532,7 +532,7 @@

Property Value

OverrideKey - +

Getter and setter for override key

@@ -564,7 +564,7 @@

Property Value

OwnerMoving - +

Whether owner is moving

@@ -600,7 +600,7 @@

Methods

CleanupCompanion() - +

Cleanup Motion class.

@@ -627,7 +627,7 @@

Draw(SpriteBatch) - +

Draw using Motion.

@@ -660,7 +660,7 @@

Parameters

Hop(float) - +

Vanilla hop event handler, not using.

@@ -692,7 +692,7 @@

Parameters

InitNetFields() - +

Setup net fields.

@@ -719,7 +719,7 @@

InitializeCompanion(Farmer) - +

Initialize Motion class.

@@ -751,10 +751,10 @@

Parameters

OnOwnerWarp() - +

-

Reset position on warp

+

Reset position and display status on warp

@@ -778,7 +778,7 @@

Update(GameTime, GameLocation) - +

Do updates in Motion. diff --git a/docs/api/TrinketTinker.Effects.Abilities.Ability-1.html b/docs/api/TrinketTinker.Effects.Abilities.Ability-1.html index 2d8be88..33b79ae 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.Ability-1.html +++ b/docs/api/TrinketTinker.Effects.Abilities.Ability-1.html @@ -183,7 +183,7 @@

Constructors

Ability(TrinketTinkerEffect, AbilityData, int) - +

Basic constructor, tries to parse arguments as the generic IArgs type.

@@ -222,7 +222,7 @@

Fields

Name - +

Ability name, default to type name.

@@ -253,7 +253,7 @@

Field Value

args - +

Class dependent arguments for subclasses

@@ -284,7 +284,7 @@

Field Value

d - +

Data for this ability.

@@ -315,7 +315,7 @@

Field Value

e - +

Companion that owns this ability.

@@ -351,7 +351,7 @@

Properties

Active - +

True if trinket equiped.

@@ -383,7 +383,7 @@

Property Value

Allowed - +

True if trinket proc timeout is not set, or elapsed.

@@ -415,7 +415,7 @@

Property Value

ProcTimer - +

Tracks trinket proc timeout, counts down to 0 and resets to ProcTimer value is set in AbilityData.

@@ -447,7 +447,7 @@

Property Value

Valid - +

Mark the new ability as valid, if this is false after constructor, the ability is discarded

@@ -483,7 +483,7 @@

Methods

Activate(Farmer) - +

Setup the ability, when trinket is equipped.

@@ -520,7 +520,7 @@

Returns

ApplyEffect(ProcEventArgs) - +

Applies ability effect, mark the ability as not allowed until next tick or longer.

@@ -557,7 +557,7 @@

Returns

CleanupEffect(Farmer) - +

Cleanup ability when trinket is unequipped, if is Always

@@ -589,7 +589,7 @@

Parameters

Deactivate(Farmer) - +

Teardown the ability, when trinket is removed.

@@ -626,7 +626,7 @@

Returns

GetTASPosition(ProcEventArgs) - +

Get where the on proc StardewValley.TemporaryAnimatedSprite should be drawn from.

@@ -663,7 +663,7 @@

Returns

HandleProc(object?, ProcEventArgs) - +

Handle proc of ability

@@ -697,7 +697,7 @@

Parameters

Update(Farmer, GameTime, GameLocation) - +

Update on game tick, handles the proc timer.

@@ -736,7 +736,7 @@

Events

EventAbilityProc - +

diff --git a/docs/api/TrinketTinker.Effects.Abilities.ActionAbility.html b/docs/api/TrinketTinker.Effects.Abilities.ActionAbility.html index 0898ec8..9db1843 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.ActionAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.ActionAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Parse and call the action

diff --git a/docs/api/TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html b/docs/api/TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html index 569887b..2a557d2 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html +++ b/docs/api/TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html @@ -262,7 +262,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Harvest forage or crops within range

@@ -299,7 +299,7 @@

Returns

DoHarvest(GameLocation, Farmer, Vector2) - +

Harvest given object

@@ -340,7 +340,7 @@

Returns

ProbeTile(GameLocation, Vector2) - +

Check that tile has object

diff --git a/docs/api/TrinketTinker.Effects.Abilities.BuffAbility.html b/docs/api/TrinketTinker.Effects.Abilities.BuffAbility.html index 13d7814..274a6f5 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.BuffAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.BuffAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Apply or refreshes the buff.

@@ -256,7 +256,7 @@

Returns

CleanupEffect(Farmer) - +

Removes the buff.

diff --git a/docs/api/TrinketTinker.Effects.Abilities.HarvestCropAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HarvestCropAbility.html index fed9655..182a02a 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HarvestCropAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HarvestCropAbility.html @@ -89,7 +89,7 @@
Table of Contents

-Class HarvestCropAbility +Class HarvestCropAbility

@@ -180,7 +180,7 @@

Constructors

HarvestCropAbility(TrinketTinkerEffect, AbilityData, int) - +

Harvest (destroy) stone

@@ -220,7 +220,7 @@

Methods

DoHarvest(GameLocation, Farmer, Vector2) - +

@@ -260,7 +260,7 @@

Returns

ProbeTile(GameLocation, Vector2) - +

diff --git a/docs/api/TrinketTinker.Effects.Abilities.HarvestForageAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HarvestForageAbility.html index cbf2499..b142bfe 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HarvestForageAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HarvestForageAbility.html @@ -89,7 +89,7 @@
Table of Contents

-Class HarvestForageAbility +Class HarvestForageAbility

@@ -180,7 +180,7 @@

Constructors

HarvestForageAbility(TrinketTinkerEffect, AbilityData, int) - +

Harvest forage

@@ -220,7 +220,7 @@

Methods

DoHarvest(GameLocation, Farmer, Vector2) - +

@@ -260,7 +260,7 @@

Returns

ProbeTile(GameLocation, Vector2) - +

diff --git a/docs/api/TrinketTinker.Effects.Abilities.HarvestStoneAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HarvestStoneAbility.html index d1f8660..f962036 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HarvestStoneAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HarvestStoneAbility.html @@ -89,7 +89,7 @@
Table of Contents

-Class HarvestStoneAbility +Class HarvestStoneAbility

@@ -180,7 +180,7 @@

Constructors

HarvestStoneAbility(TrinketTinkerEffect, AbilityData, int) - +

Harvest (destroy) stone

@@ -220,7 +220,7 @@

Methods

DoHarvest(GameLocation, Farmer, Vector2) - +

@@ -260,7 +260,7 @@

Returns

ProbeTile(GameLocation, Vector2) - +

diff --git a/docs/api/TrinketTinker.Effects.Abilities.HealthAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HealthAbility.html index a84c488..8ebad17 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HealthAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HealthAbility.html @@ -223,7 +223,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Heal the player. diff --git a/docs/api/TrinketTinker.Effects.Abilities.HitscanAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HitscanAbility.html index 1626387..aef7035 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HitscanAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HitscanAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Applies ability effect, mark the ability as not allowed until next tick or longer.

@@ -256,7 +256,7 @@

Returns

GetTASPosition(ProcEventArgs) - +

Get where the on proc StardewValley.TemporaryAnimatedSprite should be drawn from.

diff --git a/docs/api/TrinketTinker.Effects.Abilities.HoeDirtAbility.html b/docs/api/TrinketTinker.Effects.Abilities.HoeDirtAbility.html index a1c800a..28d6796 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.HoeDirtAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.HoeDirtAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Hoe random amounts of dirt within range

diff --git a/docs/api/TrinketTinker.Effects.Abilities.ItemDropAbility.html b/docs/api/TrinketTinker.Effects.Abilities.ItemDropAbility.html index 970777e..c4d2e96 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.ItemDropAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.ItemDropAbility.html @@ -221,7 +221,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Perform item query and try to spawn items.

diff --git a/docs/api/TrinketTinker.Effects.Abilities.ProjectileAbility.html b/docs/api/TrinketTinker.Effects.Abilities.ProjectileAbility.html index 98674d2..644f592 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.ProjectileAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.ProjectileAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Applies ability effect, mark the ability as not allowed until next tick or longer.

diff --git a/docs/api/TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html b/docs/api/TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html index ec49028..537a6bf 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html @@ -220,7 +220,7 @@

Fields

TriggerEventName - +

@@ -255,7 +255,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Raise the trigger TriggerEventName

diff --git a/docs/api/TrinketTinker.Effects.Abilities.StaminaAbility.html b/docs/api/TrinketTinker.Effects.Abilities.StaminaAbility.html index a3649e6..7459746 100644 --- a/docs/api/TrinketTinker.Effects.Abilities.StaminaAbility.html +++ b/docs/api/TrinketTinker.Effects.Abilities.StaminaAbility.html @@ -219,7 +219,7 @@

Methods

ApplyEffect(ProcEventArgs) - +

Recover % stamina. diff --git a/docs/api/TrinketTinker.Effects.Pewpew.TinkerProjectile.html b/docs/api/TrinketTinker.Effects.Pewpew.TinkerProjectile.html index 940b7f7..55feffb 100644 --- a/docs/api/TrinketTinker.Effects.Pewpew.TinkerProjectile.html +++ b/docs/api/TrinketTinker.Effects.Pewpew.TinkerProjectile.html @@ -396,7 +396,7 @@

TinkerProjectile(ProjectileArgs, ProcEventArgs, Monster, Vector2) - +

@@ -437,7 +437,7 @@

Methods

InitNetFields() - +

Initialize the collection of fields to sync in multiplayer.

@@ -464,7 +464,7 @@

UpdatePiercesLeft(GameLocation) - +

@@ -495,7 +495,7 @@

Parameters

behaviorOnCollisionWithMonster(NPC, GameLocation) - +

Deal damage to monster.

@@ -529,7 +529,7 @@

Parameters

behaviorOnCollisionWithOther(GameLocation) - +

@@ -560,7 +560,7 @@

Parameters

behaviorOnCollisionWithPlayer(GameLocation, Farmer) - +

@@ -593,7 +593,7 @@

Parameters

behaviorOnCollisionWithTerrainFeature(TerrainFeature, Vector2, GameLocation) - +

@@ -628,7 +628,7 @@

Parameters

draw(SpriteBatch) - +

Needed to override this to get custom texture weh

@@ -660,7 +660,7 @@

Parameters

updatePosition(GameTime) - +

Same as basic projectile

diff --git a/docs/api/TrinketTinker.Effects.Proc.ProcEventArgs.html b/docs/api/TrinketTinker.Effects.Proc.ProcEventArgs.html index 4af1f76..44b1133 100644 --- a/docs/api/TrinketTinker.Effects.Proc.ProcEventArgs.html +++ b/docs/api/TrinketTinker.Effects.Proc.ProcEventArgs.html @@ -89,7 +89,7 @@
Table of Contents

-Class ProcEventArgs +Class ProcEventArgs

@@ -162,7 +162,7 @@

Constructors

ProcEventArgs(ProcOn, Farmer) - +

Proc event data. @@ -201,7 +201,7 @@

Properties

DamageAmount - +

Damage amount, to monster or to player

@@ -233,7 +233,7 @@

Property Value

Farmer - +

Player who triggered the event

@@ -265,7 +265,7 @@

Property Value

IsBomb - +

Whether damage (to monster) was a bomb

@@ -297,7 +297,7 @@

Property Value

IsCriticalHit - +

Whether damage (to monster) was a critical hit

@@ -329,7 +329,7 @@

Property Value

Location - +

Proc location, one of the backing props of LocationOrCurrent

@@ -361,7 +361,7 @@

Property Value

LocationOrCurrent - +

Get the most valid location of this proc, either the event location or the player's current location

@@ -393,7 +393,7 @@

Property Value

Monster - +

Target monster

@@ -425,7 +425,7 @@

Property Value

Proc - +

Kind of proc triggering this event

@@ -457,7 +457,7 @@

Property Value

Time - +

Game time

@@ -489,7 +489,7 @@

Property Value

TriggerArgs - +

Arguments given to trigger action handler.

@@ -521,7 +521,7 @@

Property Value

TriggerContext - +

Trigger action context

diff --git a/docs/api/TrinketTinker.Effects.TrinketTinkerEffect.html b/docs/api/TrinketTinker.Effects.TrinketTinkerEffect.html index da4fe26..811c18f 100644 --- a/docs/api/TrinketTinker.Effects.TrinketTinkerEffect.html +++ b/docs/api/TrinketTinker.Effects.TrinketTinkerEffect.html @@ -167,7 +167,7 @@

Constructors

TrinketTinkerEffect(Trinket) - +

Constructor

@@ -298,7 +298,7 @@

Properties

CompanionAnchor - +

Anchor position of companion.

@@ -330,7 +330,7 @@

Property Value

CompanionOwnerDrawLayer - +

Draw layer of owner.

@@ -362,7 +362,7 @@

Property Value

CompanionPosition - +

Position of companion, including offset if applicable.

@@ -394,7 +394,7 @@

Property Value

MaxLevel - +

Number of ability levels

@@ -426,7 +426,7 @@

Property Value

MaxVariant - +

Number of variant levels

@@ -462,7 +462,7 @@

Methods

Apply(Farmer) - +

Spawn the companion, and activate all abilities

@@ -494,7 +494,7 @@

Parameters

GenerateRandomStats(Trinket) - +

For some reason random stats here get rolled again whenever the sprite is reloaded, prefer not to do that.

@@ -527,11 +527,52 @@

Returns

+ + +

+ GetMaxUnlockedCount(List<string?>, int, Trinket) + +

+ +

Get the maximum allowed count from list of GSQ.

+
+
+ +
+
public static int GetMaxUnlockedCount(List<string?> conditions, int count, Trinket trinket)
+
+ +

Parameters

+
+
conditions List<string>
+
+
count int
+
+
trinket Trinket
+
+
+ +

Returns

+
+
int
+
+
+ + + + + + + + + + +

OnDamageMonster(Farmer, Monster, int, bool, bool) - +

Handle the player dealing damage to a monster.

@@ -576,7 +617,7 @@

Parameters

OnFootstep(Farmer) - +

Handle the player having taken a step.

@@ -609,7 +650,7 @@

Parameters

OnPlayerWarped(Farmer, GameLocation, GameLocation) - +

@@ -644,7 +685,7 @@

Parameters

OnReceiveDamage(Farmer, int) - +

Handle the player having received damage.

@@ -680,7 +721,7 @@

Parameters

OnTrigger(Farmer, string[], TriggerActionContext) - +

Handle the trigger.

@@ -716,7 +757,7 @@

Parameters

OnUse(Farmer) - +

Handle the player performing a use action on the trinket.

@@ -749,7 +790,7 @@

Parameters

RerollLevel(Trinket, int) - +

Randomize this trinket's ability level through anvil, return true if the level is rerolled. @@ -789,7 +830,7 @@

Returns

RerollVariant(Trinket, int) - +

Randomize this trinket's variant through trinket colorizer, return true if the variant is rerolled. @@ -829,7 +870,7 @@

Returns

SetLevel(Trinket, int) - +

Set level

@@ -859,11 +900,42 @@

Parameters

+ + +

+ SetOneshotClip(string?) + +

+ +
+
+ +
+
public void SetOneshotClip(string? clipKey)
+
+ +

Parameters

+
+
clipKey string
+
+
+ + + + + + + + + + + +

SetVariant(Trinket, int) - +

Set trinket variant

@@ -897,7 +969,7 @@

Parameters

Unapply(Farmer) - +

Remove the companion, and deactivate all abilities

@@ -929,7 +1001,7 @@

Parameters

Update(Farmer, GameTime, GameLocation) - +

Update every tick. Not an event because this happens for every ability regardless of TrinketTinker.Effects.Proc.

diff --git a/docs/api/TrinketTinker.Extras.ItemQuery.html b/docs/api/TrinketTinker.Extras.ItemQuery.html index 5e1d620..2703259 100644 --- a/docs/api/TrinketTinker.Extras.ItemQuery.html +++ b/docs/api/TrinketTinker.Extras.ItemQuery.html @@ -153,8 +153,8 @@

Fields -

- CreateTrinketQuery +

+ ItemQuery_CREATE_TRINKET

@@ -162,7 +162,37 @@

-
public static readonly string CreateTrinketQuery
+
public static readonly string ItemQuery_CREATE_TRINKET
+
+ + + + +

Field Value

+
+
string
+
+
+ + + + + + + + + + +

+ ItemQuery_CREATE_TRINKET_ALL_VARIANTS + +

+ +
+
+ +
+
public static readonly string ItemQuery_CREATE_TRINKET_ALL_VARIANTS
@@ -186,14 +216,14 @@

Methods

- + -

- CreateTrinket(string, string, ItemQueryContext, bool, HashSet<string>, Action<string, string>) - +

+ CREATE_TRINKET(string, string, ItemQueryContext, bool, HashSet<string>, Action<string, string>) +

-

mushymato.TrinketTinker_CREATE_TRINKET UnqualifiedId Level? Variant? +

mushymato.TrinketTinker_CREATE_TRINKET UnqualifiedId [Level] [Variant]
Creates a new trinket item. If the trinket has tinker data, set level and variant. If level="R", roll a random level If variant="R", roll a random variant

@@ -201,7 +231,7 @@

-
public static IEnumerable<ItemQueryResult> CreateTrinket(string key, string arguments, ItemQueryContext context, bool avoidRepeat, HashSet<string> avoidItemIds, Action<string, string> logError)
+
public static IEnumerable<ItemQueryResult> CREATE_TRINKET(string key, string arguments, ItemQueryContext context, bool avoidRepeat, HashSet<string> avoidItemIds, Action<string, string> logError)

Parameters

@@ -215,7 +245,58 @@

Parameters

avoidRepeat bool
avoidItemIds HashSet<string>
+

ignored

+
+
logError Action<string, string>
+
+ + +

Returns

+
+
IEnumerable<ItemQueryResult>
+
+ + + + + + + + + + + + + +

+ CREATE_TRINKET_ALL_VARIANTS(string, string, ItemQueryContext, bool, HashSet<string>, Action<string, string>) + +

+ +

mushymato.TrinketTinker_CREATE_TRINKET_ALL_VARIANTS UnqualifiedId [Level]
+If the trinket has trinket tinker data, create one of each variant. +If level="R", roll a random level and apply it to every created trinket.

+
+
+ +
+
public static IEnumerable<ItemQueryResult> CREATE_TRINKET_ALL_VARIANTS(string key, string arguments, ItemQueryContext context, bool avoidRepeat, HashSet<string> avoidItemIds, Action<string, string> logError)
+
+ +

Parameters

+
+
key string
+
+
arguments string
+
+
context ItemQueryContext
+
+
avoidRepeat bool
+
+
avoidItemIds HashSet<string>
+

ignored

+
logError Action<string, string>
diff --git a/docs/api/TrinketTinker.Extras.ProcTrinket.html b/docs/api/TrinketTinker.Extras.ProcTrinket.html index 22eae31..b1d8b64 100644 --- a/docs/api/TrinketTinker.Extras.ProcTrinket.html +++ b/docs/api/TrinketTinker.Extras.ProcTrinket.html @@ -190,7 +190,7 @@

Methods

Action(string[], TriggerActionContext, out string) - +

Trigger action, proc trinkets that use Trigger.

diff --git a/docs/api/TrinketTinker.Extras.TrinketColorizer.html b/docs/api/TrinketTinker.Extras.TrinketColorizer.html index 0cf4e7d..3d97641 100644 --- a/docs/api/TrinketTinker.Extras.TrinketColorizer.html +++ b/docs/api/TrinketTinker.Extras.TrinketColorizer.html @@ -319,7 +319,7 @@

Parameters

Edit_MachineData(IAssetData) - +

Setup rules for the trinket colorizer, add custom rule for anvil

@@ -351,7 +351,7 @@

Parameters

Edit_Shops_Blacksmith(IAssetData) - +

Add colorizer trade-in at clint's

@@ -414,7 +414,7 @@

Parameters

OutputTinkerAnvil(Object, Item, bool, MachineItemOutput, Farmer, out int?) - +

Change trinket level.

@@ -461,7 +461,7 @@

Returns

OutputTrinketColorizer(Object, Item, bool, MachineItemOutput, Farmer, out int?) - +

Change trinket variant.

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.ActionArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.ActionArgs.html index af56245..79a8891 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.ActionArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.ActionArgs.html @@ -195,7 +195,7 @@

Methods

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.BuffArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.BuffArgs.html index 3f06a4c..6d2678d 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.BuffArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.BuffArgs.html @@ -196,7 +196,7 @@

Methods

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.DamageArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.DamageArgs.html index 583a4f9..90c1903 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.DamageArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.DamageArgs.html @@ -169,7 +169,7 @@

Properties

CritChance - +

Critical chance

@@ -201,7 +201,7 @@

Property Value

CritDamage - +

Critical damage

@@ -233,7 +233,7 @@

Property Value

ExplodeRadius - +

If this is non-zero, generate a explosion on hit. @@ -267,7 +267,7 @@

Property Value

Hits - +

Number of hits to perform

@@ -299,7 +299,7 @@

Property Value

Knockback - +

Knockback modifier

@@ -331,7 +331,7 @@

Property Value

Max - +

Max damage, out of 1

@@ -395,7 +395,7 @@

Property Value

Precision - +

Precision modifier

@@ -427,7 +427,7 @@

Property Value

Range - +

Pixel range for finding monsters

@@ -459,7 +459,7 @@

Property Value

StunTAS - +

Temporary sprite to display while an enemy is stunned, must be defined in mushymato.TrinketTinker/TAS. @@ -493,7 +493,7 @@

Property Value

StunTime - +

Stun time in miliseconds

@@ -529,7 +529,7 @@

Methods

DamageMonster(ProcEventArgs, Monster) - +

Do damage and debuff on monster.

@@ -563,7 +563,7 @@

Parameters

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.ProjectileArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.ProjectileArgs.html index 529ee9b..a9884c1 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.ProjectileArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.ProjectileArgs.html @@ -199,7 +199,7 @@

Properties

Acceleration - +

Acceleration per tick

@@ -231,7 +231,7 @@

Property Value

IgnoreLocationCollisions - +

Let projectile pass through location walls

@@ -263,7 +263,7 @@

Property Value

IgnoreObjectCollisions - +

Let projectile pass through objects/terrain feature

@@ -295,7 +295,7 @@

Property Value

MaxVelocity - +

Maximum velocity or -1 if not capped

@@ -327,7 +327,7 @@

Property Value

MinVelocity - +

Initial velocity for projectile

@@ -359,7 +359,7 @@

Property Value

Pierce - +

Number of enemies the projectile can pass through before it is destroyed

@@ -391,7 +391,7 @@

Property Value

RotateToTarget - +

Rotate the rightside of sprite towards target

@@ -423,7 +423,7 @@

Property Value

SpriteHeight - +

Projectile texture sprite height

@@ -455,7 +455,7 @@

Property Value

SpriteIndex - +

Projectile texture sprite index

@@ -487,7 +487,7 @@

Property Value

SpriteWidth - +

Projectile texture sprite width

@@ -519,7 +519,7 @@

Property Value

TailCount - +

Number of trailing sprites to draw

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.RangeArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.RangeArgs.html index 59b8503..b8ef065 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.RangeArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.RangeArgs.html @@ -89,7 +89,7 @@
Table of Contents

-Class RangeArgs +Class RangeArgs

@@ -160,7 +160,7 @@

Properties

Max - +

Max, out of 1

@@ -192,7 +192,7 @@

Property Value

Min - +

Min, out of 1

@@ -224,7 +224,7 @@

Property Value

ValueMode - +

Determine how to interpret the value

@@ -260,7 +260,7 @@

Methods

Rand(double) - +

Random value between min and max

@@ -297,7 +297,7 @@

Returns

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html index fe6b9a5..14fbc10 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html @@ -253,7 +253,7 @@

Methods

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityArgs.TileArgs.html b/docs/api/TrinketTinker.Models.AbilityArgs.TileArgs.html index 926bcca..ec3fb83 100644 --- a/docs/api/TrinketTinker.Models.AbilityArgs.TileArgs.html +++ b/docs/api/TrinketTinker.Models.AbilityArgs.TileArgs.html @@ -169,7 +169,7 @@

Properties

Count - +

Number of tiles to affect at a time

@@ -237,7 +237,7 @@

Methods

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.AbilityData.html b/docs/api/TrinketTinker.Models.AbilityData.html index 2daaad2..2ac14d6 100644 --- a/docs/api/TrinketTinker.Models.AbilityData.html +++ b/docs/api/TrinketTinker.Models.AbilityData.html @@ -89,7 +89,7 @@
Table of Contents

-Class AbilityData +Class AbilityData

@@ -158,7 +158,7 @@

Properties

AbilityClass - +

Type name of the ability, can use short form like "Buff" for buff ability.

@@ -190,7 +190,7 @@

Property Value

Condition - +

Condition, see StardewValley.GameStateQuery

@@ -222,7 +222,7 @@

Property Value

DamageThreshold - +

Minimum damage dealt or received before proc.
@@ -255,7 +255,7 @@

Property Value

Description - +

String description of what this ability does, will be passed to trinket item description and replace {1}

@@ -287,7 +287,7 @@

Property Value

IsBomb - +

Requires the damage be caused by a bomb (true), or not caused by a bomb (false).
@@ -320,7 +320,7 @@

Property Value

IsCriticalHit - +

Requires the damage to be critical hit (true), or not a critical hit (false).
@@ -353,7 +353,7 @@

Property Value

Proc - +

Determine when this ability activates.

@@ -381,11 +381,43 @@

Property Value

+ + +

+ ProcOneshotAnim + +

+ +

Have companion switch to an AnimClips on proc, switch back to normal anim after it is done.

+
+
+ +
+
public string? ProcOneshotAnim { get; set; }
+
+ + + + + +

Property Value

+
+
string
+
+
+ + + + + + + +

ProcSound - +

Sound cue to play on proc.

@@ -417,7 +449,7 @@

Property Value

ProcSyncIndex - +

For Sync

@@ -449,7 +481,7 @@

Property Value

ProcTAS - +

Temporary animated sprite to spawn on proc, each item is the id of an entry in the mushymato.TrinketTinker/TAS asset.

@@ -481,7 +513,7 @@

Property Value

ProcTimer - +

Minimum cooldown time between ability activation, all ProcOn values respect this, not just Timer.

diff --git a/docs/api/TrinketTinker.Models.AnchorTarget.html b/docs/api/TrinketTinker.Models.AnchorTarget.html index e59304a..7030c31 100644 --- a/docs/api/TrinketTinker.Models.AnchorTarget.html +++ b/docs/api/TrinketTinker.Models.AnchorTarget.html @@ -90,7 +90,7 @@
Table of Contents

-Enum AnchorTarget +Enum AnchorTarget

diff --git a/docs/api/TrinketTinker.Models.AnchorTargetData.html b/docs/api/TrinketTinker.Models.AnchorTargetData.html index 8f7ffa4..8b0a67a 100644 --- a/docs/api/TrinketTinker.Models.AnchorTargetData.html +++ b/docs/api/TrinketTinker.Models.AnchorTargetData.html @@ -89,7 +89,7 @@
Table of Contents

-Class AnchorTargetData +Class AnchorTargetData

@@ -156,7 +156,7 @@

Fields

Mode - +

Targeting mode, see AnchorTarget.

@@ -187,7 +187,7 @@

Field Value

Range - +

Search range, applicable to Monster.

diff --git a/docs/api/TrinketTinker.Models.AnimClipData.html b/docs/api/TrinketTinker.Models.AnimClipData.html index 9ba3a70..bbebcb8 100644 --- a/docs/api/TrinketTinker.Models.AnimClipData.html +++ b/docs/api/TrinketTinker.Models.AnimClipData.html @@ -89,7 +89,7 @@
Table of Contents

-Class AnimClipData +Class AnimClipData

@@ -157,7 +157,7 @@

Properties

FrameLength - +

Anim clip frame length

@@ -189,7 +189,7 @@

Property Value

FrameStart - +

Anim clip frame start

@@ -221,7 +221,7 @@

Property Value

Interval - +

Anim clip interval, fall back to Interval if not set.

@@ -253,7 +253,7 @@

Property Value

LoopMode - +

Anim clip loop mode

diff --git a/docs/api/TrinketTinker.Models.AnimClipDictionary.html b/docs/api/TrinketTinker.Models.AnimClipDictionary.html new file mode 100644 index 0000000..c756bd9 --- /dev/null +++ b/docs/api/TrinketTinker.Models.AnimClipDictionary.html @@ -0,0 +1,325 @@ + + + + + Class AnimClipDictionary | TrinketTinker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Class AnimClipDictionary +

+ +
+
Namespace
TrinketTinker.Models
+
Assembly
TrinketTinker.dll
+
+ +
+
+ +
+
public class AnimClipDictionary : Dictionary<string, AnimClipData?>, IDictionary<string, AnimClipData?>, ICollection<KeyValuePair<string, AnimClipData?>>, IReadOnlyDictionary<string, AnimClipData?>, IReadOnlyCollection<KeyValuePair<string, AnimClipData?>>, IEnumerable<KeyValuePair<string, AnimClipData?>>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable
+
+ + + + +
+
Inheritance
+
+ + +
AnimClipDictionary
+
+
+ +
+
Implements
+
+ + + + + + + + + + +
+
+ + +
+
Inherited Members
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +

Fields +

+ + + +

+ IDLE + +

+ +
+
+ +
+
public const string IDLE = "Idle"
+
+ + + + +

Field Value

+
+
string
+
+
+ + + + + + + + + +

Methods +

+ + + + +

+ TryGetDirectional(string?, int, out AnimClipData?) + +

+ +

Obtain the anim clip for key and direction.

+
+
+ +
+
public bool TryGetDirectional(string? key, int direction, out AnimClipData? clip)
+
+ +

Parameters

+
+
key string
+
+
direction int
+
+
clip AnimClipData
+
+
+ +

Returns

+
+
bool
+
+
+ + + + + + + + + + + + +
+ + + +
+ +
+ +
+
+ +
+ + + + diff --git a/docs/api/TrinketTinker.Models.DirectionMode.html b/docs/api/TrinketTinker.Models.DirectionMode.html index cc291af..bdfcd97 100644 --- a/docs/api/TrinketTinker.Models.DirectionMode.html +++ b/docs/api/TrinketTinker.Models.DirectionMode.html @@ -90,7 +90,7 @@
Table of Contents

-Enum DirectionMode +Enum DirectionMode

diff --git a/docs/api/TrinketTinker.Models.LayerDepth.html b/docs/api/TrinketTinker.Models.LayerDepth.html index 1f77368..bd6ad35 100644 --- a/docs/api/TrinketTinker.Models.LayerDepth.html +++ b/docs/api/TrinketTinker.Models.LayerDepth.html @@ -90,7 +90,7 @@
Table of Contents

-Enum LayerDepth +Enum LayerDepth

diff --git a/docs/api/TrinketTinker.Models.LightSourceData.html b/docs/api/TrinketTinker.Models.LightSourceData.html index d2b1f57..c1091cc 100644 --- a/docs/api/TrinketTinker.Models.LightSourceData.html +++ b/docs/api/TrinketTinker.Models.LightSourceData.html @@ -156,7 +156,7 @@

Fields

Index - +

Use a vanilla texture

@@ -223,7 +223,7 @@

Properties

Color - +

Light source color

@@ -255,7 +255,7 @@

Property Value

Texture - +

Optional, use a custom light texture.

diff --git a/docs/api/TrinketTinker.Models.LoopMode.html b/docs/api/TrinketTinker.Models.LoopMode.html index 2e493ed..85d3240 100644 --- a/docs/api/TrinketTinker.Models.LoopMode.html +++ b/docs/api/TrinketTinker.Models.LoopMode.html @@ -90,7 +90,7 @@
Table of Contents

-Enum LoopMode +Enum LoopMode

diff --git a/docs/api/TrinketTinker.Models.MotionArgs.BounceArgs.html b/docs/api/TrinketTinker.Models.MotionArgs.BounceArgs.html index 0da2e53..0dd753f 100644 --- a/docs/api/TrinketTinker.Models.MotionArgs.BounceArgs.html +++ b/docs/api/TrinketTinker.Models.MotionArgs.BounceArgs.html @@ -214,7 +214,7 @@

Property Value

Period - +

Period of bounce, in ms

@@ -246,7 +246,7 @@

Property Value

Squash - +

Deform when hitting the ground

diff --git a/docs/api/TrinketTinker.Models.MotionArgs.HoverArgs.html b/docs/api/TrinketTinker.Models.MotionArgs.HoverArgs.html index 9c6ef82..fdbd6a2 100644 --- a/docs/api/TrinketTinker.Models.MotionArgs.HoverArgs.html +++ b/docs/api/TrinketTinker.Models.MotionArgs.HoverArgs.html @@ -214,7 +214,7 @@

Property Value

PerchingOffset - +

@@ -245,7 +245,7 @@

Property Value

PerchingTimeout - +

If set, the companion will perch on the player's head after the player stays still for this many miliseconds

@@ -277,7 +277,7 @@

Property Value

Period - +

Period of bobbing motion, in ms

diff --git a/docs/api/TrinketTinker.Models.MotionArgs.LerpArgs.html b/docs/api/TrinketTinker.Models.MotionArgs.LerpArgs.html index 37266db..4d80750 100644 --- a/docs/api/TrinketTinker.Models.MotionArgs.LerpArgs.html +++ b/docs/api/TrinketTinker.Models.MotionArgs.LerpArgs.html @@ -172,7 +172,7 @@

Properties

Jitter - +

While within the minimum range, randomly move around a little bit.

@@ -204,7 +204,7 @@

Property Value

Max - +

Max distance from anchor, if the companion is farther away than this, teleport.

@@ -268,7 +268,7 @@

Property Value

MoveSync - +

Stop moving as soon as the player stops moving.

@@ -300,7 +300,7 @@

Property Value

Pause - +

Pause between lerp retargeting, in ms

@@ -332,7 +332,7 @@

Property Value

Rate - +

Lerp rate in miliseconds

@@ -368,7 +368,7 @@

Methods

Validate() - +

Checks if the given arguments are valid, potentially modify arguments to ensure they are valid

diff --git a/docs/api/TrinketTinker.Models.MotionArgs.OrbitArgs.html b/docs/api/TrinketTinker.Models.MotionArgs.OrbitArgs.html index ee3c0b1..ee41e9d 100644 --- a/docs/api/TrinketTinker.Models.MotionArgs.OrbitArgs.html +++ b/docs/api/TrinketTinker.Models.MotionArgs.OrbitArgs.html @@ -157,11 +157,43 @@

Properties

+ + +

+ Height + +

+ +

Y offset from shadow

+
+
+ +
+
public float Height { get; set; }
+
+ + + + + +

Property Value

+
+
float
+
+
+ + + + + + + +

Period - +

Orbit period

@@ -225,7 +257,7 @@

Property Value

RadiusY - +

Orbit radius, vertical

@@ -261,7 +293,7 @@

Methods

Validate() - +

diff --git a/docs/api/TrinketTinker.Models.MotionArgs.SerpentArgs.html b/docs/api/TrinketTinker.Models.MotionArgs.SerpentArgs.html index 815df9d..1fe6a12 100644 --- a/docs/api/TrinketTinker.Models.MotionArgs.SerpentArgs.html +++ b/docs/api/TrinketTinker.Models.MotionArgs.SerpentArgs.html @@ -174,10 +174,77 @@

Fields +

+ + + +

+ HasTail + +

+ +

Whether the serpent has a tail

+
+
+ +
+
public bool HasTail
+
+ + + + +

Field Value

+
+
bool
+
+
+ + + + + + + + +

Properties

+ + +

+ SegmentAlts + +

+ +

Number of alternate segment textures.

+
+
+ +
+
public int SegmentAlts { get; set; }
+
+ + + + + +

Property Value

+
+
int
+
+
+ + + + + + + +

@@ -214,7 +281,7 @@

Property Value

Sparcity - +

How spaced out each segment is

diff --git a/docs/api/TrinketTinker.Models.MotionData.html b/docs/api/TrinketTinker.Models.MotionData.html index 6f78884..0514b17 100644 --- a/docs/api/TrinketTinker.Models.MotionData.html +++ b/docs/api/TrinketTinker.Models.MotionData.html @@ -89,7 +89,7 @@
Table of Contents

-Class MotionData +Class MotionData

@@ -150,31 +150,32 @@

Fields +

Properties

+ -

- AnimClips - +

+ AlwaysMoving +

-

Repository of anim clips that can be shown in place of the default movement anim. -Must live on the same sprite sheet specified by variant data.

+

If true, continue the moving animation when not owner is not moving.

-
public Dictionary<string, AnimClipData> AnimClips
+
public bool AlwaysMoving { get; set; }
-

Field Value

+ +

Property Value

-
Dictionary<string, AnimClipData>
+
bool
@@ -185,24 +186,20 @@

Field Value

+ -

Properties -

- - - - -

- AlwaysMoving - +

+ Anchors +

-

If true, continue the moving animation when not owner is not moving.

+

Prefer AnchorTargetData that comes earlier in the list. +Defaults to Owner.

-
public bool AlwaysMoving { get; set; }
+
public List<AnchorTargetData> Anchors { get; set; }
@@ -211,7 +208,7 @@

Property Value

-
bool
+
List<AnchorTargetData>
@@ -222,20 +219,20 @@

Property Value

- + -

- Anchors - +

+ AnimClips +

-

Prefer AnchorTargetData that comes earlier in the list. -Defaults to Owner.

+

Repository of anim clips that can be shown in place of the default movement anim. +Must live on the same sprite sheet specified by variant data.

-
public List<AnchorTargetData> Anchors { get; set; }
+
public AnimClipDictionary AnimClips { get; set; }
@@ -244,7 +241,7 @@

Property Value

-
List<AnchorTargetData>
+
AnimClipDictionary
@@ -259,7 +256,7 @@

Property Value

DirectionMode - +

Direction mode, determines how sprites should be arranged.

@@ -291,7 +288,7 @@

Property Value

DirectionRotate - +

Apply sprite rotation depending on direction.

@@ -323,7 +320,7 @@

Property Value

FrameLength - +

Length of 1 set of movement animation.

@@ -355,7 +352,7 @@

Property Value

FrameStart - +

First frame of the animation.

@@ -387,7 +384,7 @@

Property Value

HideDuringEvents - +

Hide the companion during events.

@@ -419,7 +416,7 @@

Property Value

Interval - +

Miliseconds between frames.

@@ -451,7 +448,7 @@

Property Value

LayerDepth - +

Layer depth mode.

@@ -483,7 +480,7 @@

Property Value

LoopMode - +

Animation looping mode.

@@ -515,7 +512,7 @@

Property Value

MotionClass - +

Type name of the motion, can use short form like "Hover" for hover motion.

@@ -547,7 +544,7 @@

Property Value

Offset - +

Position offset.

@@ -579,7 +576,7 @@

Property Value

RepeatCount - +

Number of times to repeat the draw.

@@ -611,7 +608,7 @@

Property Value

RepeatFrameSets - +

When used with repeat, apply offset of this value times number of frames (per direction mode and frame length).
@@ -646,7 +643,7 @@

Property Value

RepeatInterval - +

Number of miliseconds between repeats.

@@ -674,46 +671,6 @@

Property Value

-

Methods -

- - - - -

- GetIdleAnim(int) - -

- -
-
- -
-
public AnimClipData? GetIdleAnim(int direction)
-
- -

Parameters

-
-
direction int
-
-
- -

Returns

-
-
AnimClipData
-
-
- - - - - - - - - - - diff --git a/docs/api/TrinketTinker.Models.TinkerData.html b/docs/api/TrinketTinker.Models.TinkerData.html index 20612fc..b88ecee 100644 --- a/docs/api/TrinketTinker.Models.TinkerData.html +++ b/docs/api/TrinketTinker.Models.TinkerData.html @@ -146,6 +146,72 @@

Fields +

+ + + +

+ AbilityUnlockConditions + +

+ +

GSQ conditions for locking abilities.

+
+
+ +
+
public List<string?> AbilityUnlockConditions
+
+ + + + +

Field Value

+
+
List<string>
+
+
+ + + + + + + + + + +

+ VariantUnlockConditions + +

+ +

GSQ conditions for locking variants.

+
+
+ +
+
public List<string?> VariantUnlockConditions
+
+ + + + +

Field Value

+
+
List<string>
+
+
+ + + + + + + + +

Properties

@@ -154,7 +220,7 @@

Properties

Abilities - +

List of abilities

@@ -250,7 +316,7 @@

Property Value

Motions - +

List of motions

@@ -282,7 +348,7 @@

Property Value

Variants - +

List of variants

diff --git a/docs/api/TrinketTinker.Models.VariantData.html b/docs/api/TrinketTinker.Models.VariantData.html index f06db4b..6b50494 100644 --- a/docs/api/TrinketTinker.Models.VariantData.html +++ b/docs/api/TrinketTinker.Models.VariantData.html @@ -89,7 +89,7 @@
Table of Contents

-Class VariantData +Class VariantData

@@ -154,7 +154,7 @@

Properties

ColorMask - +

Draw color mask, can use color name from Microsoft.Xna.Framework.Color, hex value, or COLOR_PRISMATIC for animated prismatic effect.

@@ -186,7 +186,7 @@

Property Value

Height - +

Sprite height

@@ -218,7 +218,7 @@

Property Value

LightSource - +

If set, add a light with given radius. Note that the light is only visible to local player.

@@ -250,7 +250,7 @@

Property Value

ShadowScale - +

Base scale to draw shadow texture.

@@ -282,7 +282,7 @@

Property Value

Texture - +

Variant texture content path.

@@ -314,7 +314,7 @@

Property Value

TextureScale - +

Base scale to draw texture at.

@@ -346,7 +346,7 @@

Property Value

TrinketSpriteIndex - +

Sprite index of the item icon.

@@ -378,7 +378,7 @@

Property Value

Width - +

Sprite width

diff --git a/docs/api/TrinketTinker.Models.html b/docs/api/TrinketTinker.Models.html index 2c84b41..0a31525 100644 --- a/docs/api/TrinketTinker.Models.html +++ b/docs/api/TrinketTinker.Models.html @@ -109,6 +109,10 @@

Model for additional animation

+
+
AnimClipDictionary
+
+
LightSourceData

Data for light source on the companion.

diff --git a/docs/api/TrinketTinker.Wheels.TinkerConst.html b/docs/api/TrinketTinker.Wheels.TinkerConst.html index 2213ddd..9d46353 100644 --- a/docs/api/TrinketTinker.Wheels.TinkerConst.html +++ b/docs/api/TrinketTinker.Wheels.TinkerConst.html @@ -6,7 +6,7 @@ - + @@ -89,7 +89,7 @@
Table of Contents

-Class TinkerConst +Class TinkerConst

@@ -97,7 +97,8 @@

+

Constants

+
@@ -155,7 +156,7 @@

Fields

COLOR_PRISMATIC - +

Special color name for the animated prismatic color mask.

@@ -186,7 +187,7 @@

Field Value

ONE_FRAME - +

Float second of 1 frame (60fps), not perfectly accurate since it is float, only use for bounds.

diff --git a/docs/api/TrinketTinker.Wheels.html b/docs/api/TrinketTinker.Wheels.html index 15d71cf..78789f6 100644 --- a/docs/api/TrinketTinker.Wheels.html +++ b/docs/api/TrinketTinker.Wheels.html @@ -96,7 +96,8 @@

TinkerConst
-
+

Constants

+
diff --git a/docs/api/toc.html b/docs/api/toc.html index 0aa2d70..62069c9 100644 --- a/docs/api/toc.html +++ b/docs/api/toc.html @@ -193,6 +193,9 @@
  • AnimClipData
  • +
  • + AnimClipDictionary +
  • DirectionMode
  • diff --git a/docs/api/toc.json b/docs/api/toc.json index f2e69ac..cfbc961 100644 --- a/docs/api/toc.json +++ b/docs/api/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"TrinketTinker.Companions","href":"TrinketTinker.Companions.html","topicHref":"TrinketTinker.Companions.html","topicUid":"TrinketTinker.Companions","items":[{"name":"TrinketTinkerCompanion","href":"TrinketTinker.Companions.TrinketTinkerCompanion.html","topicHref":"TrinketTinker.Companions.TrinketTinkerCompanion.html","topicUid":"TrinketTinker.Companions.TrinketTinkerCompanion"}]},{"name":"TrinketTinker.Companions.Anim","href":"TrinketTinker.Companions.Anim.html","topicHref":"TrinketTinker.Companions.Anim.html","topicUid":"TrinketTinker.Companions.Anim","items":[{"name":"DrawSnapshot","href":"TrinketTinker.Companions.Anim.DrawSnapshot.html","topicHref":"TrinketTinker.Companions.Anim.DrawSnapshot.html","topicUid":"TrinketTinker.Companions.Anim.DrawSnapshot"},{"name":"TinkerAnimSprite","href":"TrinketTinker.Companions.Anim.TinkerAnimSprite.html","topicHref":"TrinketTinker.Companions.Anim.TinkerAnimSprite.html","topicUid":"TrinketTinker.Companions.Anim.TinkerAnimSprite"}]},{"name":"TrinketTinker.Companions.Motions","href":"TrinketTinker.Companions.Motions.html","topicHref":"TrinketTinker.Companions.Motions.html","topicUid":"TrinketTinker.Companions.Motions","items":[{"name":"BaseLerpMotion","href":"TrinketTinker.Companions.Motions.BaseLerpMotion-1.html","topicHref":"TrinketTinker.Companions.Motions.BaseLerpMotion-1.html","topicUid":"TrinketTinker.Companions.Motions.BaseLerpMotion`1"},{"name":"BaseStaticMotion","href":"TrinketTinker.Companions.Motions.BaseStaticMotion-1.html","topicHref":"TrinketTinker.Companions.Motions.BaseStaticMotion-1.html","topicUid":"TrinketTinker.Companions.Motions.BaseStaticMotion`1"},{"name":"BounceMotion","href":"TrinketTinker.Companions.Motions.BounceMotion.html","topicHref":"TrinketTinker.Companions.Motions.BounceMotion.html","topicUid":"TrinketTinker.Companions.Motions.BounceMotion"},{"name":"HopMotion","href":"TrinketTinker.Companions.Motions.HopMotion.html","topicHref":"TrinketTinker.Companions.Motions.HopMotion.html","topicUid":"TrinketTinker.Companions.Motions.HopMotion"},{"name":"HoverMotion","href":"TrinketTinker.Companions.Motions.HoverMotion.html","topicHref":"TrinketTinker.Companions.Motions.HoverMotion.html","topicUid":"TrinketTinker.Companions.Motions.HoverMotion"},{"name":"IMotion","href":"TrinketTinker.Companions.Motions.IMotion.html","topicHref":"TrinketTinker.Companions.Motions.IMotion.html","topicUid":"TrinketTinker.Companions.Motions.IMotion"},{"name":"LerpMotion","href":"TrinketTinker.Companions.Motions.LerpMotion.html","topicHref":"TrinketTinker.Companions.Motions.LerpMotion.html","topicUid":"TrinketTinker.Companions.Motions.LerpMotion"},{"name":"Motion","href":"TrinketTinker.Companions.Motions.Motion-1.html","topicHref":"TrinketTinker.Companions.Motions.Motion-1.html","topicUid":"TrinketTinker.Companions.Motions.Motion`1"},{"name":"OrbitMotion","href":"TrinketTinker.Companions.Motions.OrbitMotion.html","topicHref":"TrinketTinker.Companions.Motions.OrbitMotion.html","topicUid":"TrinketTinker.Companions.Motions.OrbitMotion"},{"name":"RelativeMotion","href":"TrinketTinker.Companions.Motions.RelativeMotion.html","topicHref":"TrinketTinker.Companions.Motions.RelativeMotion.html","topicUid":"TrinketTinker.Companions.Motions.RelativeMotion"},{"name":"SerpentMotion","href":"TrinketTinker.Companions.Motions.SerpentMotion.html","topicHref":"TrinketTinker.Companions.Motions.SerpentMotion.html","topicUid":"TrinketTinker.Companions.Motions.SerpentMotion"},{"name":"StaticMotion","href":"TrinketTinker.Companions.Motions.StaticMotion.html","topicHref":"TrinketTinker.Companions.Motions.StaticMotion.html","topicUid":"TrinketTinker.Companions.Motions.StaticMotion"}]},{"name":"TrinketTinker.Effects","href":"TrinketTinker.Effects.html","topicHref":"TrinketTinker.Effects.html","topicUid":"TrinketTinker.Effects","items":[{"name":"TrinketTinkerEffect","href":"TrinketTinker.Effects.TrinketTinkerEffect.html","topicHref":"TrinketTinker.Effects.TrinketTinkerEffect.html","topicUid":"TrinketTinker.Effects.TrinketTinkerEffect"}]},{"name":"TrinketTinker.Effects.Abilities","href":"TrinketTinker.Effects.Abilities.html","topicHref":"TrinketTinker.Effects.Abilities.html","topicUid":"TrinketTinker.Effects.Abilities","items":[{"name":"Ability","href":"TrinketTinker.Effects.Abilities.Ability-1.html","topicHref":"TrinketTinker.Effects.Abilities.Ability-1.html","topicUid":"TrinketTinker.Effects.Abilities.Ability`1"},{"name":"ActionAbility","href":"TrinketTinker.Effects.Abilities.ActionAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ActionAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ActionAbility"},{"name":"BaseHarvestAbility","href":"TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html","topicHref":"TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html","topicUid":"TrinketTinker.Effects.Abilities.BaseHarvestAbility`1"},{"name":"BuffAbility","href":"TrinketTinker.Effects.Abilities.BuffAbility.html","topicHref":"TrinketTinker.Effects.Abilities.BuffAbility.html","topicUid":"TrinketTinker.Effects.Abilities.BuffAbility"},{"name":"HarvestCropAbility","href":"TrinketTinker.Effects.Abilities.HarvestCropAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestCropAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestCropAbility"},{"name":"HarvestForageAbility","href":"TrinketTinker.Effects.Abilities.HarvestForageAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestForageAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestForageAbility"},{"name":"HarvestStoneAbility","href":"TrinketTinker.Effects.Abilities.HarvestStoneAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestStoneAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestStoneAbility"},{"name":"HealthAbility","href":"TrinketTinker.Effects.Abilities.HealthAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HealthAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HealthAbility"},{"name":"HitscanAbility","href":"TrinketTinker.Effects.Abilities.HitscanAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HitscanAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HitscanAbility"},{"name":"HoeDirtAbility","href":"TrinketTinker.Effects.Abilities.HoeDirtAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HoeDirtAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HoeDirtAbility"},{"name":"IAbility","href":"TrinketTinker.Effects.Abilities.IAbility.html","topicHref":"TrinketTinker.Effects.Abilities.IAbility.html","topicUid":"TrinketTinker.Effects.Abilities.IAbility"},{"name":"ItemDropAbility","href":"TrinketTinker.Effects.Abilities.ItemDropAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ItemDropAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ItemDropAbility"},{"name":"ProjectileAbility","href":"TrinketTinker.Effects.Abilities.ProjectileAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ProjectileAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ProjectileAbility"},{"name":"RaiseTriggerAbility","href":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html","topicHref":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html","topicUid":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility"},{"name":"StaminaAbility","href":"TrinketTinker.Effects.Abilities.StaminaAbility.html","topicHref":"TrinketTinker.Effects.Abilities.StaminaAbility.html","topicUid":"TrinketTinker.Effects.Abilities.StaminaAbility"}]},{"name":"TrinketTinker.Effects.Pewpew","href":"TrinketTinker.Effects.Pewpew.html","topicHref":"TrinketTinker.Effects.Pewpew.html","topicUid":"TrinketTinker.Effects.Pewpew","items":[{"name":"TinkerProjectile","href":"TrinketTinker.Effects.Pewpew.TinkerProjectile.html","topicHref":"TrinketTinker.Effects.Pewpew.TinkerProjectile.html","topicUid":"TrinketTinker.Effects.Pewpew.TinkerProjectile"}]},{"name":"TrinketTinker.Effects.Proc","href":"TrinketTinker.Effects.Proc.html","topicHref":"TrinketTinker.Effects.Proc.html","topicUid":"TrinketTinker.Effects.Proc","items":[{"name":"ProcEventArgs","href":"TrinketTinker.Effects.Proc.ProcEventArgs.html","topicHref":"TrinketTinker.Effects.Proc.ProcEventArgs.html","topicUid":"TrinketTinker.Effects.Proc.ProcEventArgs"}]},{"name":"TrinketTinker.Extras","href":"TrinketTinker.Extras.html","topicHref":"TrinketTinker.Extras.html","topicUid":"TrinketTinker.Extras","items":[{"name":"ItemQuery","href":"TrinketTinker.Extras.ItemQuery.html","topicHref":"TrinketTinker.Extras.ItemQuery.html","topicUid":"TrinketTinker.Extras.ItemQuery"},{"name":"ProcTrinket","href":"TrinketTinker.Extras.ProcTrinket.html","topicHref":"TrinketTinker.Extras.ProcTrinket.html","topicUid":"TrinketTinker.Extras.ProcTrinket"},{"name":"TrinketColorizer","href":"TrinketTinker.Extras.TrinketColorizer.html","topicHref":"TrinketTinker.Extras.TrinketColorizer.html","topicUid":"TrinketTinker.Extras.TrinketColorizer"}]},{"name":"TrinketTinker.Models","href":"TrinketTinker.Models.html","topicHref":"TrinketTinker.Models.html","topicUid":"TrinketTinker.Models","items":[{"name":"AbilityData","href":"TrinketTinker.Models.AbilityData.html","topicHref":"TrinketTinker.Models.AbilityData.html","topicUid":"TrinketTinker.Models.AbilityData"},{"name":"AnchorTarget","href":"TrinketTinker.Models.AnchorTarget.html","topicHref":"TrinketTinker.Models.AnchorTarget.html","topicUid":"TrinketTinker.Models.AnchorTarget"},{"name":"AnchorTargetData","href":"TrinketTinker.Models.AnchorTargetData.html","topicHref":"TrinketTinker.Models.AnchorTargetData.html","topicUid":"TrinketTinker.Models.AnchorTargetData"},{"name":"AnimClipData","href":"TrinketTinker.Models.AnimClipData.html","topicHref":"TrinketTinker.Models.AnimClipData.html","topicUid":"TrinketTinker.Models.AnimClipData"},{"name":"DirectionMode","href":"TrinketTinker.Models.DirectionMode.html","topicHref":"TrinketTinker.Models.DirectionMode.html","topicUid":"TrinketTinker.Models.DirectionMode"},{"name":"LayerDepth","href":"TrinketTinker.Models.LayerDepth.html","topicHref":"TrinketTinker.Models.LayerDepth.html","topicUid":"TrinketTinker.Models.LayerDepth"},{"name":"LightSourceData","href":"TrinketTinker.Models.LightSourceData.html","topicHref":"TrinketTinker.Models.LightSourceData.html","topicUid":"TrinketTinker.Models.LightSourceData"},{"name":"LoopMode","href":"TrinketTinker.Models.LoopMode.html","topicHref":"TrinketTinker.Models.LoopMode.html","topicUid":"TrinketTinker.Models.LoopMode"},{"name":"MotionData","href":"TrinketTinker.Models.MotionData.html","topicHref":"TrinketTinker.Models.MotionData.html","topicUid":"TrinketTinker.Models.MotionData"},{"name":"ProcOn","href":"TrinketTinker.Models.ProcOn.html","topicHref":"TrinketTinker.Models.ProcOn.html","topicUid":"TrinketTinker.Models.ProcOn"},{"name":"TinkerData","href":"TrinketTinker.Models.TinkerData.html","topicHref":"TrinketTinker.Models.TinkerData.html","topicUid":"TrinketTinker.Models.TinkerData"},{"name":"VariantData","href":"TrinketTinker.Models.VariantData.html","topicHref":"TrinketTinker.Models.VariantData.html","topicUid":"TrinketTinker.Models.VariantData"}]},{"name":"TrinketTinker.Models.AbilityArgs","href":"TrinketTinker.Models.AbilityArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs","items":[{"name":"ActionArgs","href":"TrinketTinker.Models.AbilityArgs.ActionArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.ActionArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.ActionArgs"},{"name":"BuffArgs","href":"TrinketTinker.Models.AbilityArgs.BuffArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.BuffArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.BuffArgs"},{"name":"DamageArgs","href":"TrinketTinker.Models.AbilityArgs.DamageArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.DamageArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.DamageArgs"},{"name":"HoeDirtArgs","href":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs"},{"name":"ProjectileArgs","href":"TrinketTinker.Models.AbilityArgs.ProjectileArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.ProjectileArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.ProjectileArgs"},{"name":"RangeArgs","href":"TrinketTinker.Models.AbilityArgs.RangeArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.RangeArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.RangeArgs"},{"name":"SpawnItemArgs","href":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs"},{"name":"TileArgs","href":"TrinketTinker.Models.AbilityArgs.TileArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.TileArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.TileArgs"},{"name":"ValueMode","href":"TrinketTinker.Models.AbilityArgs.ValueMode.html","topicHref":"TrinketTinker.Models.AbilityArgs.ValueMode.html","topicUid":"TrinketTinker.Models.AbilityArgs.ValueMode"}]},{"name":"TrinketTinker.Models.Mixin","href":"TrinketTinker.Models.Mixin.html","topicHref":"TrinketTinker.Models.Mixin.html","topicUid":"TrinketTinker.Models.Mixin","items":[{"name":"IArgs","href":"TrinketTinker.Models.Mixin.IArgs.html","topicHref":"TrinketTinker.Models.Mixin.IArgs.html","topicUid":"TrinketTinker.Models.Mixin.IArgs"},{"name":"IHaveArgs","href":"TrinketTinker.Models.Mixin.IHaveArgs.html","topicHref":"TrinketTinker.Models.Mixin.IHaveArgs.html","topicUid":"TrinketTinker.Models.Mixin.IHaveArgs"},{"name":"NoArgs","href":"TrinketTinker.Models.Mixin.NoArgs.html","topicHref":"TrinketTinker.Models.Mixin.NoArgs.html","topicUid":"TrinketTinker.Models.Mixin.NoArgs"}]},{"name":"TrinketTinker.Models.MotionArgs","href":"TrinketTinker.Models.MotionArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.html","topicUid":"TrinketTinker.Models.MotionArgs","items":[{"name":"BounceArgs","href":"TrinketTinker.Models.MotionArgs.BounceArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.BounceArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.BounceArgs"},{"name":"HopArgs","href":"TrinketTinker.Models.MotionArgs.HopArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.HopArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.HopArgs"},{"name":"HoverArgs","href":"TrinketTinker.Models.MotionArgs.HoverArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.HoverArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.HoverArgs"},{"name":"LerpArgs","href":"TrinketTinker.Models.MotionArgs.LerpArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.LerpArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.LerpArgs"},{"name":"OrbitArgs","href":"TrinketTinker.Models.MotionArgs.OrbitArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.OrbitArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.OrbitArgs"},{"name":"SerpentArgs","href":"TrinketTinker.Models.MotionArgs.SerpentArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.SerpentArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.SerpentArgs"},{"name":"StaticArgs","href":"TrinketTinker.Models.MotionArgs.StaticArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.StaticArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.StaticArgs"}]},{"name":"TrinketTinker.Wheels","href":"TrinketTinker.Wheels.html","topicHref":"TrinketTinker.Wheels.html","topicUid":"TrinketTinker.Wheels","items":[{"name":"TinkerConst","href":"TrinketTinker.Wheels.TinkerConst.html","topicHref":"TrinketTinker.Wheels.TinkerConst.html","topicUid":"TrinketTinker.Wheels.TinkerConst"}]}],"memberLayout":"SamePage","pdf":false} +{"items":[{"name":"TrinketTinker.Companions","href":"TrinketTinker.Companions.html","topicHref":"TrinketTinker.Companions.html","topicUid":"TrinketTinker.Companions","items":[{"name":"TrinketTinkerCompanion","href":"TrinketTinker.Companions.TrinketTinkerCompanion.html","topicHref":"TrinketTinker.Companions.TrinketTinkerCompanion.html","topicUid":"TrinketTinker.Companions.TrinketTinkerCompanion"}]},{"name":"TrinketTinker.Companions.Anim","href":"TrinketTinker.Companions.Anim.html","topicHref":"TrinketTinker.Companions.Anim.html","topicUid":"TrinketTinker.Companions.Anim","items":[{"name":"DrawSnapshot","href":"TrinketTinker.Companions.Anim.DrawSnapshot.html","topicHref":"TrinketTinker.Companions.Anim.DrawSnapshot.html","topicUid":"TrinketTinker.Companions.Anim.DrawSnapshot"},{"name":"TinkerAnimSprite","href":"TrinketTinker.Companions.Anim.TinkerAnimSprite.html","topicHref":"TrinketTinker.Companions.Anim.TinkerAnimSprite.html","topicUid":"TrinketTinker.Companions.Anim.TinkerAnimSprite"}]},{"name":"TrinketTinker.Companions.Motions","href":"TrinketTinker.Companions.Motions.html","topicHref":"TrinketTinker.Companions.Motions.html","topicUid":"TrinketTinker.Companions.Motions","items":[{"name":"BaseLerpMotion","href":"TrinketTinker.Companions.Motions.BaseLerpMotion-1.html","topicHref":"TrinketTinker.Companions.Motions.BaseLerpMotion-1.html","topicUid":"TrinketTinker.Companions.Motions.BaseLerpMotion`1"},{"name":"BaseStaticMotion","href":"TrinketTinker.Companions.Motions.BaseStaticMotion-1.html","topicHref":"TrinketTinker.Companions.Motions.BaseStaticMotion-1.html","topicUid":"TrinketTinker.Companions.Motions.BaseStaticMotion`1"},{"name":"BounceMotion","href":"TrinketTinker.Companions.Motions.BounceMotion.html","topicHref":"TrinketTinker.Companions.Motions.BounceMotion.html","topicUid":"TrinketTinker.Companions.Motions.BounceMotion"},{"name":"HopMotion","href":"TrinketTinker.Companions.Motions.HopMotion.html","topicHref":"TrinketTinker.Companions.Motions.HopMotion.html","topicUid":"TrinketTinker.Companions.Motions.HopMotion"},{"name":"HoverMotion","href":"TrinketTinker.Companions.Motions.HoverMotion.html","topicHref":"TrinketTinker.Companions.Motions.HoverMotion.html","topicUid":"TrinketTinker.Companions.Motions.HoverMotion"},{"name":"IMotion","href":"TrinketTinker.Companions.Motions.IMotion.html","topicHref":"TrinketTinker.Companions.Motions.IMotion.html","topicUid":"TrinketTinker.Companions.Motions.IMotion"},{"name":"LerpMotion","href":"TrinketTinker.Companions.Motions.LerpMotion.html","topicHref":"TrinketTinker.Companions.Motions.LerpMotion.html","topicUid":"TrinketTinker.Companions.Motions.LerpMotion"},{"name":"Motion","href":"TrinketTinker.Companions.Motions.Motion-1.html","topicHref":"TrinketTinker.Companions.Motions.Motion-1.html","topicUid":"TrinketTinker.Companions.Motions.Motion`1"},{"name":"OrbitMotion","href":"TrinketTinker.Companions.Motions.OrbitMotion.html","topicHref":"TrinketTinker.Companions.Motions.OrbitMotion.html","topicUid":"TrinketTinker.Companions.Motions.OrbitMotion"},{"name":"RelativeMotion","href":"TrinketTinker.Companions.Motions.RelativeMotion.html","topicHref":"TrinketTinker.Companions.Motions.RelativeMotion.html","topicUid":"TrinketTinker.Companions.Motions.RelativeMotion"},{"name":"SerpentMotion","href":"TrinketTinker.Companions.Motions.SerpentMotion.html","topicHref":"TrinketTinker.Companions.Motions.SerpentMotion.html","topicUid":"TrinketTinker.Companions.Motions.SerpentMotion"},{"name":"StaticMotion","href":"TrinketTinker.Companions.Motions.StaticMotion.html","topicHref":"TrinketTinker.Companions.Motions.StaticMotion.html","topicUid":"TrinketTinker.Companions.Motions.StaticMotion"}]},{"name":"TrinketTinker.Effects","href":"TrinketTinker.Effects.html","topicHref":"TrinketTinker.Effects.html","topicUid":"TrinketTinker.Effects","items":[{"name":"TrinketTinkerEffect","href":"TrinketTinker.Effects.TrinketTinkerEffect.html","topicHref":"TrinketTinker.Effects.TrinketTinkerEffect.html","topicUid":"TrinketTinker.Effects.TrinketTinkerEffect"}]},{"name":"TrinketTinker.Effects.Abilities","href":"TrinketTinker.Effects.Abilities.html","topicHref":"TrinketTinker.Effects.Abilities.html","topicUid":"TrinketTinker.Effects.Abilities","items":[{"name":"Ability","href":"TrinketTinker.Effects.Abilities.Ability-1.html","topicHref":"TrinketTinker.Effects.Abilities.Ability-1.html","topicUid":"TrinketTinker.Effects.Abilities.Ability`1"},{"name":"ActionAbility","href":"TrinketTinker.Effects.Abilities.ActionAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ActionAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ActionAbility"},{"name":"BaseHarvestAbility","href":"TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html","topicHref":"TrinketTinker.Effects.Abilities.BaseHarvestAbility-1.html","topicUid":"TrinketTinker.Effects.Abilities.BaseHarvestAbility`1"},{"name":"BuffAbility","href":"TrinketTinker.Effects.Abilities.BuffAbility.html","topicHref":"TrinketTinker.Effects.Abilities.BuffAbility.html","topicUid":"TrinketTinker.Effects.Abilities.BuffAbility"},{"name":"HarvestCropAbility","href":"TrinketTinker.Effects.Abilities.HarvestCropAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestCropAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestCropAbility"},{"name":"HarvestForageAbility","href":"TrinketTinker.Effects.Abilities.HarvestForageAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestForageAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestForageAbility"},{"name":"HarvestStoneAbility","href":"TrinketTinker.Effects.Abilities.HarvestStoneAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HarvestStoneAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HarvestStoneAbility"},{"name":"HealthAbility","href":"TrinketTinker.Effects.Abilities.HealthAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HealthAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HealthAbility"},{"name":"HitscanAbility","href":"TrinketTinker.Effects.Abilities.HitscanAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HitscanAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HitscanAbility"},{"name":"HoeDirtAbility","href":"TrinketTinker.Effects.Abilities.HoeDirtAbility.html","topicHref":"TrinketTinker.Effects.Abilities.HoeDirtAbility.html","topicUid":"TrinketTinker.Effects.Abilities.HoeDirtAbility"},{"name":"IAbility","href":"TrinketTinker.Effects.Abilities.IAbility.html","topicHref":"TrinketTinker.Effects.Abilities.IAbility.html","topicUid":"TrinketTinker.Effects.Abilities.IAbility"},{"name":"ItemDropAbility","href":"TrinketTinker.Effects.Abilities.ItemDropAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ItemDropAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ItemDropAbility"},{"name":"ProjectileAbility","href":"TrinketTinker.Effects.Abilities.ProjectileAbility.html","topicHref":"TrinketTinker.Effects.Abilities.ProjectileAbility.html","topicUid":"TrinketTinker.Effects.Abilities.ProjectileAbility"},{"name":"RaiseTriggerAbility","href":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html","topicHref":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility.html","topicUid":"TrinketTinker.Effects.Abilities.RaiseTriggerAbility"},{"name":"StaminaAbility","href":"TrinketTinker.Effects.Abilities.StaminaAbility.html","topicHref":"TrinketTinker.Effects.Abilities.StaminaAbility.html","topicUid":"TrinketTinker.Effects.Abilities.StaminaAbility"}]},{"name":"TrinketTinker.Effects.Pewpew","href":"TrinketTinker.Effects.Pewpew.html","topicHref":"TrinketTinker.Effects.Pewpew.html","topicUid":"TrinketTinker.Effects.Pewpew","items":[{"name":"TinkerProjectile","href":"TrinketTinker.Effects.Pewpew.TinkerProjectile.html","topicHref":"TrinketTinker.Effects.Pewpew.TinkerProjectile.html","topicUid":"TrinketTinker.Effects.Pewpew.TinkerProjectile"}]},{"name":"TrinketTinker.Effects.Proc","href":"TrinketTinker.Effects.Proc.html","topicHref":"TrinketTinker.Effects.Proc.html","topicUid":"TrinketTinker.Effects.Proc","items":[{"name":"ProcEventArgs","href":"TrinketTinker.Effects.Proc.ProcEventArgs.html","topicHref":"TrinketTinker.Effects.Proc.ProcEventArgs.html","topicUid":"TrinketTinker.Effects.Proc.ProcEventArgs"}]},{"name":"TrinketTinker.Extras","href":"TrinketTinker.Extras.html","topicHref":"TrinketTinker.Extras.html","topicUid":"TrinketTinker.Extras","items":[{"name":"ItemQuery","href":"TrinketTinker.Extras.ItemQuery.html","topicHref":"TrinketTinker.Extras.ItemQuery.html","topicUid":"TrinketTinker.Extras.ItemQuery"},{"name":"ProcTrinket","href":"TrinketTinker.Extras.ProcTrinket.html","topicHref":"TrinketTinker.Extras.ProcTrinket.html","topicUid":"TrinketTinker.Extras.ProcTrinket"},{"name":"TrinketColorizer","href":"TrinketTinker.Extras.TrinketColorizer.html","topicHref":"TrinketTinker.Extras.TrinketColorizer.html","topicUid":"TrinketTinker.Extras.TrinketColorizer"}]},{"name":"TrinketTinker.Models","href":"TrinketTinker.Models.html","topicHref":"TrinketTinker.Models.html","topicUid":"TrinketTinker.Models","items":[{"name":"AbilityData","href":"TrinketTinker.Models.AbilityData.html","topicHref":"TrinketTinker.Models.AbilityData.html","topicUid":"TrinketTinker.Models.AbilityData"},{"name":"AnchorTarget","href":"TrinketTinker.Models.AnchorTarget.html","topicHref":"TrinketTinker.Models.AnchorTarget.html","topicUid":"TrinketTinker.Models.AnchorTarget"},{"name":"AnchorTargetData","href":"TrinketTinker.Models.AnchorTargetData.html","topicHref":"TrinketTinker.Models.AnchorTargetData.html","topicUid":"TrinketTinker.Models.AnchorTargetData"},{"name":"AnimClipData","href":"TrinketTinker.Models.AnimClipData.html","topicHref":"TrinketTinker.Models.AnimClipData.html","topicUid":"TrinketTinker.Models.AnimClipData"},{"name":"AnimClipDictionary","href":"TrinketTinker.Models.AnimClipDictionary.html","topicHref":"TrinketTinker.Models.AnimClipDictionary.html","topicUid":"TrinketTinker.Models.AnimClipDictionary"},{"name":"DirectionMode","href":"TrinketTinker.Models.DirectionMode.html","topicHref":"TrinketTinker.Models.DirectionMode.html","topicUid":"TrinketTinker.Models.DirectionMode"},{"name":"LayerDepth","href":"TrinketTinker.Models.LayerDepth.html","topicHref":"TrinketTinker.Models.LayerDepth.html","topicUid":"TrinketTinker.Models.LayerDepth"},{"name":"LightSourceData","href":"TrinketTinker.Models.LightSourceData.html","topicHref":"TrinketTinker.Models.LightSourceData.html","topicUid":"TrinketTinker.Models.LightSourceData"},{"name":"LoopMode","href":"TrinketTinker.Models.LoopMode.html","topicHref":"TrinketTinker.Models.LoopMode.html","topicUid":"TrinketTinker.Models.LoopMode"},{"name":"MotionData","href":"TrinketTinker.Models.MotionData.html","topicHref":"TrinketTinker.Models.MotionData.html","topicUid":"TrinketTinker.Models.MotionData"},{"name":"ProcOn","href":"TrinketTinker.Models.ProcOn.html","topicHref":"TrinketTinker.Models.ProcOn.html","topicUid":"TrinketTinker.Models.ProcOn"},{"name":"TinkerData","href":"TrinketTinker.Models.TinkerData.html","topicHref":"TrinketTinker.Models.TinkerData.html","topicUid":"TrinketTinker.Models.TinkerData"},{"name":"VariantData","href":"TrinketTinker.Models.VariantData.html","topicHref":"TrinketTinker.Models.VariantData.html","topicUid":"TrinketTinker.Models.VariantData"}]},{"name":"TrinketTinker.Models.AbilityArgs","href":"TrinketTinker.Models.AbilityArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs","items":[{"name":"ActionArgs","href":"TrinketTinker.Models.AbilityArgs.ActionArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.ActionArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.ActionArgs"},{"name":"BuffArgs","href":"TrinketTinker.Models.AbilityArgs.BuffArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.BuffArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.BuffArgs"},{"name":"DamageArgs","href":"TrinketTinker.Models.AbilityArgs.DamageArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.DamageArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.DamageArgs"},{"name":"HoeDirtArgs","href":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.HoeDirtArgs"},{"name":"ProjectileArgs","href":"TrinketTinker.Models.AbilityArgs.ProjectileArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.ProjectileArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.ProjectileArgs"},{"name":"RangeArgs","href":"TrinketTinker.Models.AbilityArgs.RangeArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.RangeArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.RangeArgs"},{"name":"SpawnItemArgs","href":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.SpawnItemArgs"},{"name":"TileArgs","href":"TrinketTinker.Models.AbilityArgs.TileArgs.html","topicHref":"TrinketTinker.Models.AbilityArgs.TileArgs.html","topicUid":"TrinketTinker.Models.AbilityArgs.TileArgs"},{"name":"ValueMode","href":"TrinketTinker.Models.AbilityArgs.ValueMode.html","topicHref":"TrinketTinker.Models.AbilityArgs.ValueMode.html","topicUid":"TrinketTinker.Models.AbilityArgs.ValueMode"}]},{"name":"TrinketTinker.Models.Mixin","href":"TrinketTinker.Models.Mixin.html","topicHref":"TrinketTinker.Models.Mixin.html","topicUid":"TrinketTinker.Models.Mixin","items":[{"name":"IArgs","href":"TrinketTinker.Models.Mixin.IArgs.html","topicHref":"TrinketTinker.Models.Mixin.IArgs.html","topicUid":"TrinketTinker.Models.Mixin.IArgs"},{"name":"IHaveArgs","href":"TrinketTinker.Models.Mixin.IHaveArgs.html","topicHref":"TrinketTinker.Models.Mixin.IHaveArgs.html","topicUid":"TrinketTinker.Models.Mixin.IHaveArgs"},{"name":"NoArgs","href":"TrinketTinker.Models.Mixin.NoArgs.html","topicHref":"TrinketTinker.Models.Mixin.NoArgs.html","topicUid":"TrinketTinker.Models.Mixin.NoArgs"}]},{"name":"TrinketTinker.Models.MotionArgs","href":"TrinketTinker.Models.MotionArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.html","topicUid":"TrinketTinker.Models.MotionArgs","items":[{"name":"BounceArgs","href":"TrinketTinker.Models.MotionArgs.BounceArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.BounceArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.BounceArgs"},{"name":"HopArgs","href":"TrinketTinker.Models.MotionArgs.HopArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.HopArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.HopArgs"},{"name":"HoverArgs","href":"TrinketTinker.Models.MotionArgs.HoverArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.HoverArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.HoverArgs"},{"name":"LerpArgs","href":"TrinketTinker.Models.MotionArgs.LerpArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.LerpArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.LerpArgs"},{"name":"OrbitArgs","href":"TrinketTinker.Models.MotionArgs.OrbitArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.OrbitArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.OrbitArgs"},{"name":"SerpentArgs","href":"TrinketTinker.Models.MotionArgs.SerpentArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.SerpentArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.SerpentArgs"},{"name":"StaticArgs","href":"TrinketTinker.Models.MotionArgs.StaticArgs.html","topicHref":"TrinketTinker.Models.MotionArgs.StaticArgs.html","topicUid":"TrinketTinker.Models.MotionArgs.StaticArgs"}]},{"name":"TrinketTinker.Wheels","href":"TrinketTinker.Wheels.html","topicHref":"TrinketTinker.Wheels.html","topicUid":"TrinketTinker.Wheels","items":[{"name":"TinkerConst","href":"TrinketTinker.Wheels.TinkerConst.html","topicHref":"TrinketTinker.Wheels.TinkerConst.html","topicUid":"TrinketTinker.Wheels.TinkerConst"}]}],"memberLayout":"SamePage","pdf":false} diff --git a/docs/guide/0-Trinket.html b/docs/guide/0-Trinket.html index 6656c72..f64e875 100644 --- a/docs/guide/0-Trinket.html +++ b/docs/guide/0-Trinket.html @@ -123,8 +123,7 @@

    Example

    // Add trinket to random drop pool once player attains combat mastery // Can still add other ways to acquire (e.g. shops, machine outputs) "DropsNaturally": true, - // Allow trinket to reroll stats on the anvil - // This is ignored by trinkets with tinker data, where anvil eligibility is based on whether the trinket has more than 1 set of abilities. + // Allow trinket to reroll stats on the anvil (and reroll appearance on the colorizer, for trinkets with tinker data). "CanBeReforged": true, // Mod specific data, not used by base game or TrinketTinker // "CustomFields": null, diff --git a/docs/guide/1-Tinker.html b/docs/guide/1-Tinker.html index 24a794d..8bcdc23 100644 --- a/docs/guide/1-Tinker.html +++ b/docs/guide/1-Tinker.html @@ -92,7 +92,7 @@

    Tinker

    When a mushymato.TrinketTinker/Tinker entry exists, the TrinketEffectClass will be set to TrinketTinker.Effects.TrinketTinkerEffect from this mod.

    Note
    -

    Trinkets can be reloaded with patch reload <content mod id>, however it must be removed and equipped again to do anything.

    +

    Trinkets can be reloaded with patch reload <content mod id>, however the trinket must be unequipped and requipped to get updated.

    Structure

    @@ -135,16 +135,39 @@

    Structure

    + + + + + + + + + + + +
    empty Defines what effects are activated, and when. Each list in the list of lists represents 1 ability level.
    VariantUnlockConditionsList<string>emptyList of game state queries that determine how many variants are unlocked.
    AbilityUnlockConditionsList<string>emptyList of game state queries that determine how many abilities are unlocked.
    -

    Notes

    -
      -
    • Technically all fields here are optional, but in that case there'd be little point to using this framework at all.
    • -
    • To display a companion, at least 1 Variant and 1 Motion must be defined.
    • -
    • To have the trinket do things, at least 1 list of abilities must be defined.
    • -
    • At the moment, there's no reason to have more than 1 Motion, but this may change in the future.
    • -
    • Trinkets are created with a random level, rather than the minimum level.
    • -
    +

    This is a lot of stuff, what do I need to define?

    +

    Technically all fields here are optional, but in that case there'd be little point to using this framework at all. To display a companion, at least 1 Variant and 1 Motion must be defined. To have the trinket do things, at least 1 list of abilities must be defined.

    +

    At the moment, there's no reason to have more than 1 Motion so just setting Motion is sufficient, but this may change in the future.

    +

    Trinkets are created with the first variant and at minimum level. The item query mushymato.TrinketTinker_CREATE_TRINKET is needed to create trinket at other variants/levels.

    +

    Unlock Conditions

    +

    VariantUnlockConditions and AbilityUnlockConditions can prevent the player from rolling variants or abilities above a certain level using game state queries. This only affects rerolling level and variants on the anvil and colorizer.

    +

    Example usage with 4 abilities (lv1 to lv4):

    +
    "AbilityUnlockConditions": [
    +    // level 1 is always unlocked
    +    // level 2 is unconditionally unlocked
    +    null,
    +    // level 3 unlocked if player has a gold ore in inventory
    +    "PLAYER_HAS_ITEM Current (O)384",
    +    // level 4 is also unconditionally unlocked once 3 is unlocked
    +    null,
    +    // there is no level 5, so this value is meaningless
    +    "FALSE",
    +],
    +
    diff --git a/docs/guide/2-Variant.html b/docs/guide/2-Variant.html index c9d717a..57f5e4f 100644 --- a/docs/guide/2-Variant.html +++ b/docs/guide/2-Variant.html @@ -175,7 +175,7 @@

    LightSourceData

    Color string -1 +empty Light color name, accepts same values as ColorMask. diff --git a/docs/guide/3-Motion.html b/docs/guide/3-Motion.html index 088d50a..ee07609 100644 --- a/docs/guide/3-Motion.html +++ b/docs/guide/3-Motion.html @@ -192,7 +192,7 @@

    Structure

    AnimClips -Dictionary<string, [AnimClipData](3.2-Animation Clips.md)> +Dictionary<string, AnimClipData > empty Named anim clips that can play over the movement animation. @@ -215,9 +215,9 @@

    Example

    • RepeatCount: 2
    • RepeatFrameSets: 3
    • -
    • Spritesheet -3 frame sets
    • +
    • Spritesheet:
    +

    3 frame sets

    Repeat Demo

    diff --git a/docs/guide/3.0-Direction.html b/docs/guide/3.0-Direction.html index 35be7ff..2be4b76 100644 --- a/docs/guide/3.0-Direction.html +++ b/docs/guide/3.0-Direction.html @@ -89,28 +89,165 @@

    Direction Mode

    Direction mode determines number of sprites and the required arragements on the sprite sheet. This only describes number of sprites required, the sprite width and height is controlled by variants.

    In content patcher, use a string value like "DirectionMode": "DRUL" to set this value. Internally it is an enum.

    -

    Arrangement charts in this page assumes FrameLength is 4, but you can have as many frames as desired. There's also no need to adhere to exact row layout as long as you have the correct number of sprites in the left to right & up to down order.

    +

    Arrangement charts in this page assumes FrameLength is 4, but you can have as many frames as desired. There's also no need to adhere to exact row layout as long as you have the correct number of sprites in the left to right & up to down order, but it is easier to organize this way as the companion's current direction is represented by a number corresponding to which set of animation it will use (with negative number representing flipped sprite), if the rows all have FrameLength number of items, then the direction index is simply the row number.

    +

    Direction index is involved in anim clips, where it is used to set different clip per direction as desired.

    +

    In the Direction Index tables, * indicates that this direction will not change the companion's direction index, i.e. it will continue with previous value until the next direction that will change index.

    Single

    Animate the sprite, ignore all changes to direction. This is the default value.

    -

    Number of Sprites Required: FrameLength

    +

    Number of Sprites Required: 1 x FrameLength (4 by default)

    Single

    +

    Direction Index

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectionIndex
    Down1
    Right1
    Left1
    Up1

    R - Right

    Similar Single but the sprite is flipped when going left.

    Number of Sprites Required: 1 x FrameLength (4 by default)

    Right

    +

    Direction Index

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectionIndex
    Down*
    Right1
    Left-1
    Up*

    DRUL - Down Right Up Left

    This mode is similar to NPC and animal sprites in the base game. Four sets of animations are required, one per direction.

    Number of Sprites Required: 4 x FrameLength (16 by default)

    Down Right Up Left

    +

    Direction Index

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectionIndex
    Down1
    Right2
    Left3
    Up4

    RL - Right Left

    Similar to R, but allows you to supply left facing sprites for asymmetrical companions.

    Number of Sprites Required: 2 x FrameLength (8 by default)

    Right Left

    +

    Direction Index

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectionIndex
    Down*
    Right1
    Left2
    Up*

    DRU - Down Right Up

    Similar to DRUL, but allows you to skip left facing sprites for symmetrical companions.

    Number of Sprites Required: 3 x FrameLength (12 by default)

    Down Right Up

    +

    Direction Index

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectionIndex
    Down1
    Right2
    Left3
    Up-2
    diff --git a/docs/guide/3.1-Anchors.html b/docs/guide/3.1-Anchors.html index c80a57d..cc8092f 100644 --- a/docs/guide/3.1-Anchors.html +++ b/docs/guide/3.1-Anchors.html @@ -89,8 +89,8 @@

    Anchor Mode

    A companion's motion is relative to another entity's position, generally the player.

    Anchors consist of a list of AnchorTargetData

    -

    The order matters as companion will try for anchors in order, and stop once a valid one is found. -When none of the anchors are valid, fallback to Owner.

    +

    The order matters as companion will try for anchors in order, and stop once a target is found for a given anchor mode. +When no targets are found, fallback to Owner.

    Structure

    diff --git a/docs/guide/3.2-Animation Clips.html b/docs/guide/3.2-Animation Clips.html index 7fa0382..8908ba4 100644 --- a/docs/guide/3.2-Animation Clips.html +++ b/docs/guide/3.2-Animation Clips.html @@ -126,62 +126,55 @@

    Structure

    -

    AnimClip Keys

    -

    Idle Animation

    -

    Applies when the player is not moving. Does nothing if companion is marked AlwaysMoving, as their directional animation will simply continue.

    +

    Motion Defined Keys

    +

    These animation are applied when companion enter a state defined by particular motion, except for "Idle", which applies for all motions. These are considered "override" anim clips, which play until the player or trinket leaves the specified state.

    + - - - - - - - - - - + + + - - + + + - - + + +
    KeyMotion Note
    "Idle.1"For the first direction, Down if DRUL.
    "Idle.2"For the second direction, Right if DRUL
    "Idle.3"For the third direction, Up if DRUL."Perching"HoverApplies when companion perches on the player after a timeout.
    "Idle.4"For the fourth direction, Left if DRUL."Jump"Bounce, HopApplies when the companion jumped.
    "Idle.0"General directionless idle animation."Idle"All MotionsPlayed when the player is not moving, Does nothing if companion is marked AlwaysMoving which forces regular directional animation to continue.
    -

    Motion Specific State Animation

    -

    Applies when a particular motion enters alternate state beyond the simple moving vs idle.

    +

    Ability Defined Keys

    +

    These keys are defined by mod, in specified models.

    - - + + - - - - - - - - + + +
    KeySourceFieldModel Note
    "Perching"HoverApplies when companion perches on the player after a timeout.
    "Jump"Bounce and HopApplies when the companion jumped.ProcOneshotAnimAbilityDataPlay the clip once on ability proc. This is a oneshot animation, after 1 cycle is finished the companion returns to normal directional animation.
    +

    Directional AnimClip Keys

    +

    All anim keys can take on a directional index suffix such as "{KEY}.1" which depends on the direction mode. The suffix takes the absolute value of the index, no need to manually flip sprites for negative direction index.

    +

    Example: when the direction index is 1 and the player is still, "Idle.1" will be picked if available, fallback to "Idle".

    diff --git a/docs/guide/3.z.004-Serpent.html b/docs/guide/3.z.004-Serpent.html index 0e7642f..9977fc0 100644 --- a/docs/guide/3.z.004-Serpent.html +++ b/docs/guide/3.z.004-Serpent.html @@ -105,7 +105,19 @@

    Args SegmentCount int 5 -Number of segments to draw, excluding the head. Putting a big number here may cause performance issues. +Number of segments to draw, excluding the head. + + +SegmentAlts +int +1 +Number of alternate segment appearanches, default 1 means only 1 kind of segment. Multiple kinds of segments will be drawn in alternating order. + + +HasTail +bool +true +Whether this serpent is capped off by a unique segment that comes immediately after the last (alt) segment. Sparcity diff --git a/docs/guide/3.z.101-Orbit.html b/docs/guide/3.z.101-Orbit.html index dc31c71..5a433ef 100644 --- a/docs/guide/3.z.101-Orbit.html +++ b/docs/guide/3.z.101-Orbit.html @@ -112,6 +112,12 @@

    Ar Vertical radius. +Height +float +64 +Y offset from position to shadow. + + Period float 1000 diff --git a/docs/guide/4-Ability.html b/docs/guide/4-Ability.html index a9c3486..92dde90 100644 --- a/docs/guide/4-Ability.html +++ b/docs/guide/4-Ability.html @@ -2,9 +2,9 @@ - Ability | TrinketTinker + | TrinketTinker - + @@ -85,8 +85,8 @@
    Table of Contents

    -

    Ability

    +

    Ability

    Ability describes the effects that occur when you equip the trinket, like getting healed, or attacking an enemy.

    An ability is primarily defined by AbilityClass (what it does) and Proc (when does it activate).

    Structure

    @@ -143,6 +143,12 @@

    Structure

    String Ids of
    temporary animated sprites to show when the ability activates. +ProcOneshotAnim +string +empty +Play the matching anim clip on proc, return to normal animation after 1 cycle. + + Condition string empty diff --git a/docs/guide/4.z.04-ItemDrop.html b/docs/guide/4.z.04-ItemDrop.html index 5df16e9..a44f75e 100644 --- a/docs/guide/4.z.04-ItemDrop.html +++ b/docs/guide/4.z.04-ItemDrop.html @@ -102,7 +102,7 @@

    RaiseTrigger

    Raise the trigger "mushymato.TrinketTinker/TrinketProc".

    The trigger action handler will recieve player and location (nullable), as well as the trinket item as targetItem.

    Can have niche uses, but it is generally better to directly call the registered delegate with the Action ability.

    -

    Args

    +

    Args

    No additional arguments.

    diff --git a/docs/guide/5-Temporary Animated Sprite.html b/docs/guide/5-Temporary Animated Sprite.html index d1cb748..82363b1 100644 --- a/docs/guide/5-Temporary Animated Sprite.html +++ b/docs/guide/5-Temporary Animated Sprite.html @@ -162,8 +162,8 @@
    Note
    Flip bool +false Horizontally flip the sprite during draw. - SortOffset @@ -204,8 +204,8 @@
    Note
    Color string +empty Color to apply on draw, for use with grayscale sprites.
    Aside from RGB and hex values, monogame accepts named colors. - diff --git a/docs/guide/6-Extras.html b/docs/guide/6-Utility.html similarity index 62% rename from docs/guide/6-Extras.html rename to docs/guide/6-Utility.html index dbb9a57..ad9f14c 100644 --- a/docs/guide/6-Extras.html +++ b/docs/guide/6-Utility.html @@ -2,9 +2,9 @@ - Extras | TrinketTinker + Utility | TrinketTinker - + @@ -16,7 +16,7 @@ - + @@ -85,19 +85,34 @@
    Table of Contents
    -

    Extras

    +

    Utility

    -

    TrinketTinker provides a few extra supporting features.

    -

    Item Query: mushymato.TrinketTinker_CREATE_TRINKET

    -
    mushymato.TrinketTinker_CREATE_TRINKET <trinket id> [level] [variant]
    -
    -

    Creates a new trinket item. If the trinket has tinker data, set level and variant. -Useful for producing a trinket at specified level/variant.

    -

    Machine: Trinket Colorizer Trinket Colorizer

    -

    A new machine that can be purchased from the Blacksmith for 50 Gold Bars once the Anvil recipe is obtained.

    +

    Extra non-trinket features provided by this mod.

    +

    Trinket Colorizer Trinket Colorizer

    +

    The trinket colorizer is a big craftable machine that can be purchased from the Blacksmith for 50 Gold Bars once the Anvil recipe is obtained. Trinkets must have at least 2 variants and CanBeReforged set to true in order to use the colorizer.

    Consumes 15 Omni Geode to reroll the variant on a TrinketTinker trinket, no effect on vanilla trinkets.

    -

    The Trinket Colorizer is just a normal machine with qualified id (BC)mushymato.TrinketTinker_TrinketColorizer, mods are free to add their own machine rules.

    The colorizer will never roll the same variant twice in a row. Anvils have similar rule applied to them for TrinketTinker trinkets.

    +

    Implementation wise, the colorizer is a standard machine with qualified ID (BC)mushymato.TrinketTinker_TrinketColorizer and a single complex output machine rule.Mods are can add more ways to obtain this machine and prepend the colorizer with special upgrade rules for their trinkets.

    +

    Item Queries

    +

    These are useful for populating shops and machine output rules.

    +

    mushymato.TrinketTinker_CREATE_TRINKET

    +
    mushymato.TrinketTinker_CREATE_TRINKET <trinket id> [level] [variant]
    +
    +

    Create a new trinket item. If the trinket has tinker data, set level and variant. Useful for producing a trinket at specified level/variant.

    +

    Setting level or variant to "R" will randomize the level or variant.

    +

    mushymato.TrinketTinker_CREATE_TRINKET_ALL_VARIANTS

    +
    mushymato.TrinketTinker_CREATE_TRINKET_ALL_VARIANTS <trinket id> [level]
    +
    +

    Create all variants of a trinket (with tinker data). Useful for making a shop sell all variants of a trinket instead of making the player roll for them.

    +

    Setting level to "R" will randomize the level once, and then set trinkets created by this query to that level.

    +

    Data/Location CustomFields

    +

    Aside from conditions defined on a particular trinket, it's also possible to disable trinket features for a whole location using CustomFields.

    +
    "mushymato.TrinketTinker/disableAbilities": true|false
    +
    +

    Disable trinket abilities while owner is in the location (except for always active abilities).

    +
    "mushymato.TrinketTinker/disableCompanions": true|false
    +
    +

    Disable companion display while owner is in the location. Their position updates continue.

    diff --git a/docs/guide/toc.html b/docs/guide/toc.html index 2e78369..59239ed 100644 --- a/docs/guide/toc.html +++ b/docs/guide/toc.html @@ -119,7 +119,7 @@ Temporary Animated Sprite
  • - Extras + Utility
  • diff --git a/docs/guide/toc.json b/docs/guide/toc.json index 9f7d50d..71db898 100644 --- a/docs/guide/toc.json +++ b/docs/guide/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"Trinket","href":"0-Trinket.html","topicHref":"0-Trinket.html"},{"name":"Tinker","href":"1-Tinker.html","topicHref":"1-Tinker.html"},{"name":"Variant","href":"2-Variant.html","topicHref":"2-Variant.html"},{"name":"Motion","href":"3-Motion.html","topicHref":"3-Motion.html","items":[{"name":"Direction","href":"3.0-Direction.html","topicHref":"3.0-Direction.html"},{"name":"Anchors","href":"3.1-Anchors.html","topicHref":"3.1-Anchors.html"},{"name":"Animation Clips","href":"3.2-Animation%20Clips.html","topicHref":"3.2-Animation%20Clips.html"},{"name":"Motion Classes","items":[{"name":"Lerp","href":"3.z.000-Lerp.html","topicHref":"3.z.000-Lerp.html"},{"name":"Hover","href":"3.z.001-Hover.html","topicHref":"3.z.001-Hover.html"},{"name":"Bounce","href":"3.z.002-Bounce.html","topicHref":"3.z.002-Bounce.html"},{"name":"Hop","href":"3.z.003-Hop.html","topicHref":"3.z.003-Hop.html"},{"name":"Serpent","href":"3.z.004-Serpent.html","topicHref":"3.z.004-Serpent.html"},{"name":"Static","href":"3.z.100-Static.html","topicHref":"3.z.100-Static.html"},{"name":"Orbit","href":"3.z.101-Orbit.html","topicHref":"3.z.101-Orbit.html"},{"name":"Relative","href":"3.z.102-Relative.html","topicHref":"3.z.102-Relative.html"}]}]},{"name":"Ability","href":"4-Ability.html","topicHref":"4-Ability.html","items":[{"name":"Proc","href":"4.0-Proc.html","topicHref":"4.0-Proc.html"},{"name":"Ability Classes","items":[{"name":"Buff","href":"4.z.01-Buff.html","topicHref":"4.z.01-Buff.html"},{"name":"Health","href":"4.z.02-Health.html","topicHref":"4.z.02-Health.html"},{"name":"Stamina","href":"4.z.03-Stamina.html","topicHref":"4.z.03-Stamina.html"},{"name":"ItemDrop","href":"4.z.04-ItemDrop.html","topicHref":"4.z.04-ItemDrop.html"},{"name":"Hitscan","href":"4.z.05-Hitscan.html","topicHref":"4.z.05-Hitscan.html"},{"name":"Projectile","href":"4.z.06-Projectile.html","topicHref":"4.z.06-Projectile.html"},{"name":"RaiseTrigger","href":"4.z.07-RaiseTrigger.html","topicHref":"4.z.07-RaiseTrigger.html"},{"name":"Action","href":"4.z.08-Action.html","topicHref":"4.z.08-Action.html"},{"name":"HoeDirt","href":"4.z.09-HoeDirt.html","topicHref":"4.z.09-HoeDirt.html"},{"name":"HarvestForage","href":"4.z.10-HarvestForage.html","topicHref":"4.z.10-HarvestForage.html"}]}]},{"name":"Temporary Animated Sprite","href":"5-Temporary%20Animated%20Sprite.html","topicHref":"5-Temporary%20Animated%20Sprite.html"},{"name":"Extras","href":"6-Extras.html","topicHref":"6-Extras.html"}],"pdf":false} +{"items":[{"name":"Trinket","href":"0-Trinket.html","topicHref":"0-Trinket.html"},{"name":"Tinker","href":"1-Tinker.html","topicHref":"1-Tinker.html"},{"name":"Variant","href":"2-Variant.html","topicHref":"2-Variant.html"},{"name":"Motion","href":"3-Motion.html","topicHref":"3-Motion.html","items":[{"name":"Direction","href":"3.0-Direction.html","topicHref":"3.0-Direction.html"},{"name":"Anchors","href":"3.1-Anchors.html","topicHref":"3.1-Anchors.html"},{"name":"Animation Clips","href":"3.2-Animation%20Clips.html","topicHref":"3.2-Animation%20Clips.html"},{"name":"Motion Classes","items":[{"name":"Lerp","href":"3.z.000-Lerp.html","topicHref":"3.z.000-Lerp.html"},{"name":"Hover","href":"3.z.001-Hover.html","topicHref":"3.z.001-Hover.html"},{"name":"Bounce","href":"3.z.002-Bounce.html","topicHref":"3.z.002-Bounce.html"},{"name":"Hop","href":"3.z.003-Hop.html","topicHref":"3.z.003-Hop.html"},{"name":"Serpent","href":"3.z.004-Serpent.html","topicHref":"3.z.004-Serpent.html"},{"name":"Static","href":"3.z.100-Static.html","topicHref":"3.z.100-Static.html"},{"name":"Orbit","href":"3.z.101-Orbit.html","topicHref":"3.z.101-Orbit.html"},{"name":"Relative","href":"3.z.102-Relative.html","topicHref":"3.z.102-Relative.html"}]}]},{"name":"Ability","href":"4-Ability.html","topicHref":"4-Ability.html","items":[{"name":"Proc","href":"4.0-Proc.html","topicHref":"4.0-Proc.html"},{"name":"Ability Classes","items":[{"name":"Buff","href":"4.z.01-Buff.html","topicHref":"4.z.01-Buff.html"},{"name":"Health","href":"4.z.02-Health.html","topicHref":"4.z.02-Health.html"},{"name":"Stamina","href":"4.z.03-Stamina.html","topicHref":"4.z.03-Stamina.html"},{"name":"ItemDrop","href":"4.z.04-ItemDrop.html","topicHref":"4.z.04-ItemDrop.html"},{"name":"Hitscan","href":"4.z.05-Hitscan.html","topicHref":"4.z.05-Hitscan.html"},{"name":"Projectile","href":"4.z.06-Projectile.html","topicHref":"4.z.06-Projectile.html"},{"name":"RaiseTrigger","href":"4.z.07-RaiseTrigger.html","topicHref":"4.z.07-RaiseTrigger.html"},{"name":"Action","href":"4.z.08-Action.html","topicHref":"4.z.08-Action.html"},{"name":"HoeDirt","href":"4.z.09-HoeDirt.html","topicHref":"4.z.09-HoeDirt.html"},{"name":"HarvestForage","href":"4.z.10-HarvestForage.html","topicHref":"4.z.10-HarvestForage.html"}]}]},{"name":"Temporary Animated Sprite","href":"5-Temporary%20Animated%20Sprite.html","topicHref":"5-Temporary%20Animated%20Sprite.html"},{"name":"Utility","href":"6-Utility.html","topicHref":"6-Utility.html"}],"pdf":false} diff --git a/docs/index.html b/docs/index.html index 58d90d0..bd70c31 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,9 +2,9 @@ - Trinket Tinker - Stardew Valley Trinket Framework | TrinketTinker + TrinketTinker - Stardew Valley Trinket Framework | TrinketTinker - + @@ -71,10 +71,18 @@

    -

    Trinket Tinker - Stardew Valley Trinket Framework

    +

    TrinketTinker - Stardew Valley Trinket Framework

    -

    This is a framework for creating trinkets that can have advanced abilities using just Content Patcher.

    +

    This is a framework for creating custom trinkets using Content Patcher.

    +

    What can this framework do?

    +
      +
    • Animated companions with various movement patterns.
    • +
    • A skin system (variants) for companions, and related features to set/change companion variants
    • +
    • Dynamic event based abilities that work through the companions rather than the player.
    • +
    • Some support for custom effects from other C# mods, through the use of actions.
    • +

    If you are looking to make mods using this framework, start here.

    +

    This mod is licensed under MIT, contributions are welcome.

    Credits

    Documentation generated with Docfx, with docfx-material theme.

    Changelog

    @@ -82,10 +90,10 @@

    Changelog

    All notable changes to this project will be documented here.

    The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

    -

    Unreleased

    +

    1.0.0-beta

    Added

      -
    • The yak is being shaved please come back soon.
    • +
    • Implement all the things.
    diff --git a/docs/index.json b/docs/index.json index c17d770..5184c38 100644 --- a/docs/index.json +++ b/docs/index.json @@ -2,42 +2,42 @@ "CHANGELOG.html": { "href": "CHANGELOG.html", "title": "| TrinketTinker", - "keywords": "Changelog All notable changes to this project will be documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. Unreleased Added The yak is being shaved please come back soon." + "keywords": "Changelog All notable changes to this project will be documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. 1.0.0-beta Added Implement all the things." }, "guide/0-Trinket.html": { "href": "guide/0-Trinket.html", "title": "Trinkets | TrinketTinker", - "keywords": "Trinkets Note The following page covers how trinkets are added in the base game, regardless of whether TrinketTinker is being used. You must add trinket items before you can extend it with trinket tinker data. Trinkets can be added with by editing Data/Trinkets, generally with Content Patcher. Example { \"Changes\": [ // Load texture { \"Action\": \"Load\", \"Target\": \"Mods/{{ModId}}/MyTrinket\", \"FromFile\": \"sprites/{{TargetWithoutPath}}.png\" }, // Edit Data/Trinkets { \"Action\": \"EditData\", \"Target\": \"Data/Trinkets\", \"Entries\": { \"{{ModId}}_MyTrinket\": { // Trinket ID, gives qualified ID of (TR){{ModId}}_MyTrinket \"Id\": \"{{ModId}}_MyTrinket\", // Display name (with i18n) \"DisplayName\": \"{{i18n:MyTrinket.DisplayName}}\", // Description, can include {0} token for the trinket level and {1} for ability descriptions \"Description\": \"{{i18n:MyTrinket.Description}}\", // Path to asset texture load target \"Texture\": \"Mods/{{ModId}}/MyTrinket\", // Sheet index (with 16x16 sprite size) \"SheetIndex\": 0, // Type that controls behavior of trinket, changing this alters what the trinket does, but several effects are hardcoded. \"TrinketEffectClass\": \"StardewValley.Objects.Trinkets.TrinketEffect\", // Add trinket to random drop pool once player attains combat mastery // Can still add other ways to acquire (e.g. shops, machine outputs) \"DropsNaturally\": true, // Allow trinket to reroll stats on the anvil // This is ignored by trinkets with tinker data, where anvil eligibility is based on whether the trinket has more than 1 set of abilities. \"CanBeReforged\": true, // Mod specific data, not used by base game or TrinketTinker // \"CustomFields\": null, // \"ModData\": null }, } } ] } Tip Refer to content patcher docs for more details about EditData and Load TrinketEffectClass Game comes with these trinket effect classes: Type Name Notes StardewValley.Objects.Trinkets.TrinketEffect Base class, drops coins if the id is ParrotEgg StardewValley.Objects.Trinkets.RainbowHairTrinketEffect Makes your hair prismatic StardewValley.Objects.Trinkets.CompanionTrinketEffect Spawns the hungry frog companion StardewValley.Objects.Trinkets.MagicQuiverTrinketEffect Shoot an arrow every few seconds StardewValley.Objects.Trinkets.FairyBoxTrinketEffect Heal the player every few seconds while in combat StardewValley.Objects.Trinkets.IceOrbTrinketEffect Shoot an icy orb that freezes the enemy every few seconds The Golden Spur and Basilisk Paw effects are not implemented through an effect class, instead certain parts of game simply checks if the player has a specific trinket equipped." + "keywords": "Trinkets Note The following page covers how trinkets are added in the base game, regardless of whether TrinketTinker is being used. You must add trinket items before you can extend it with trinket tinker data. Trinkets can be added with by editing Data/Trinkets, generally with Content Patcher. Example { \"Changes\": [ // Load texture { \"Action\": \"Load\", \"Target\": \"Mods/{{ModId}}/MyTrinket\", \"FromFile\": \"sprites/{{TargetWithoutPath}}.png\" }, // Edit Data/Trinkets { \"Action\": \"EditData\", \"Target\": \"Data/Trinkets\", \"Entries\": { \"{{ModId}}_MyTrinket\": { // Trinket ID, gives qualified ID of (TR){{ModId}}_MyTrinket \"Id\": \"{{ModId}}_MyTrinket\", // Display name (with i18n) \"DisplayName\": \"{{i18n:MyTrinket.DisplayName}}\", // Description, can include {0} token for the trinket level and {1} for ability descriptions \"Description\": \"{{i18n:MyTrinket.Description}}\", // Path to asset texture load target \"Texture\": \"Mods/{{ModId}}/MyTrinket\", // Sheet index (with 16x16 sprite size) \"SheetIndex\": 0, // Type that controls behavior of trinket, changing this alters what the trinket does, but several effects are hardcoded. \"TrinketEffectClass\": \"StardewValley.Objects.Trinkets.TrinketEffect\", // Add trinket to random drop pool once player attains combat mastery // Can still add other ways to acquire (e.g. shops, machine outputs) \"DropsNaturally\": true, // Allow trinket to reroll stats on the anvil (and reroll appearance on the colorizer, for trinkets with tinker data). \"CanBeReforged\": true, // Mod specific data, not used by base game or TrinketTinker // \"CustomFields\": null, // \"ModData\": null }, } } ] } Tip Refer to content patcher docs for more details about EditData and Load TrinketEffectClass Game comes with these trinket effect classes: Type Name Notes StardewValley.Objects.Trinkets.TrinketEffect Base class, drops coins if the id is ParrotEgg StardewValley.Objects.Trinkets.RainbowHairTrinketEffect Makes your hair prismatic StardewValley.Objects.Trinkets.CompanionTrinketEffect Spawns the hungry frog companion StardewValley.Objects.Trinkets.MagicQuiverTrinketEffect Shoot an arrow every few seconds StardewValley.Objects.Trinkets.FairyBoxTrinketEffect Heal the player every few seconds while in combat StardewValley.Objects.Trinkets.IceOrbTrinketEffect Shoot an icy orb that freezes the enemy every few seconds The Golden Spur and Basilisk Paw effects are not implemented through an effect class, instead certain parts of game simply checks if the player has a specific trinket equipped." }, "guide/1-Tinker.html": { "href": "guide/1-Tinker.html", "title": "Tinker | TrinketTinker", - "keywords": "Tinker To make a trinket use TrinketTinker features, add a new entry to the custom asset mushymato.TrinketTinker/Tinker. The key used must match the unqualified ID of the trinket. When a mushymato.TrinketTinker/Tinker entry exists, the TrinketEffectClass will be set to TrinketTinker.Effects.TrinketTinkerEffect from this mod. Note Trinkets can be reloaded with patch reload , however it must be removed and equipped again to do anything. Structure Property Type Default Notes MinLevel int 1 Changes the level value that will replace {0} in DisplayName. Variants List empty Defines the sprites of the companion. Motion MotionData empty Defines how the companion moves, setting this is shortcut for having a single item in Motions. Motions List empty Defines how the companion moves. Abilities List> empty Defines what effects are activated, and when. Each list in the list of lists represents 1 ability level. Notes Technically all fields here are optional, but in that case there'd be little point to using this framework at all. To display a companion, at least 1 Variant and 1 Motion must be defined. To have the trinket do things, at least 1 list of abilities must be defined. At the moment, there's no reason to have more than 1 Motion, but this may change in the future. Trinkets are created with a random level, rather than the minimum level." + "keywords": "Tinker To make a trinket use TrinketTinker features, add a new entry to the custom asset mushymato.TrinketTinker/Tinker. The key used must match the unqualified ID of the trinket. When a mushymato.TrinketTinker/Tinker entry exists, the TrinketEffectClass will be set to TrinketTinker.Effects.TrinketTinkerEffect from this mod. Note Trinkets can be reloaded with patch reload , however the trinket must be unequipped and requipped to get updated. Structure Property Type Default Notes MinLevel int 1 Changes the level value that will replace {0} in DisplayName. Variants List empty Defines the sprites of the companion. Motion MotionData empty Defines how the companion moves, setting this is shortcut for having a single item in Motions. Motions List empty Defines how the companion moves. Abilities List> empty Defines what effects are activated, and when. Each list in the list of lists represents 1 ability level. VariantUnlockConditions List empty List of game state queries that determine how many variants are unlocked. AbilityUnlockConditions List empty List of game state queries that determine how many abilities are unlocked. This is a lot of stuff, what do I need to define? Technically all fields here are optional, but in that case there'd be little point to using this framework at all. To display a companion, at least 1 Variant and 1 Motion must be defined. To have the trinket do things, at least 1 list of abilities must be defined. At the moment, there's no reason to have more than 1 Motion so just setting Motion is sufficient, but this may change in the future. Trinkets are created with the first variant and at minimum level. The item query mushymato.TrinketTinker_CREATE_TRINKET is needed to create trinket at other variants/levels. Unlock Conditions VariantUnlockConditions and AbilityUnlockConditions can prevent the player from rolling variants or abilities above a certain level using game state queries. This only affects rerolling level and variants on the anvil and colorizer. Example usage with 4 abilities (lv1 to lv4): \"AbilityUnlockConditions\": [ // level 1 is always unlocked // level 2 is unconditionally unlocked null, // level 3 unlocked if player has a gold ore in inventory \"PLAYER_HAS_ITEM Current (O)384\", // level 4 is also unconditionally unlocked once 3 is unlocked null, // there is no level 5, so this value is meaningless \"FALSE\", ]," }, "guide/2-Variant.html": { "href": "guide/2-Variant.html", "title": "Variant | TrinketTinker", - "keywords": "Variant In the base game certain companions such as the frog have different color variants. With this model, you can explicitly define a sprite sheet, texture size, and optionally a color for mask. Structure Property Type Default Notes Texture string required Asset target of the loaded texture, should be a sprite sheet. Width int 16 Width of 1 sprite on the sprite sheet. Height int 16 Height of 1 sprite on the sprite sheet. ColorMask Color empty Color to apply on draw, for use with grayscale sprites. Aside from RGB and hex values, monogame accepts named colors and this mod accepts special value \"Prismatic\" for an animated color cycle. TextureScale float 4 Texture draw scale, default is 4 like most things in the game. ShadowScale float 3 Size of the shadow to draw, 0 to disable shadow. LightSource LightSourceData empty If set, display a light source. This light source is only visible to the owner. LightSourceData Property Type Default Notes Radius float 2 Size of light source. Index int 1 Vanilla light source texture index. Texture string 1 Custom light map, must be loaded into game content. Color string 1 Light color name, accepts same values as ColorMask. Notes There's no need to have the same width and height in all variants, as long as you have the same number of sprites required by the motion." + "keywords": "Variant In the base game certain companions such as the frog have different color variants. With this model, you can explicitly define a sprite sheet, texture size, and optionally a color for mask. Structure Property Type Default Notes Texture string required Asset target of the loaded texture, should be a sprite sheet. Width int 16 Width of 1 sprite on the sprite sheet. Height int 16 Height of 1 sprite on the sprite sheet. ColorMask Color empty Color to apply on draw, for use with grayscale sprites. Aside from RGB and hex values, monogame accepts named colors and this mod accepts special value \"Prismatic\" for an animated color cycle. TextureScale float 4 Texture draw scale, default is 4 like most things in the game. ShadowScale float 3 Size of the shadow to draw, 0 to disable shadow. LightSource LightSourceData empty If set, display a light source. This light source is only visible to the owner. LightSourceData Property Type Default Notes Radius float 2 Size of light source. Index int 1 Vanilla light source texture index. Texture string 1 Custom light map, must be loaded into game content. Color string empty Light color name, accepts same values as ColorMask. Notes There's no need to have the same width and height in all variants, as long as you have the same number of sprites required by the motion." }, "guide/3-Motion.html": { "href": "guide/3-Motion.html", "title": "Motion | TrinketTinker", - "keywords": "Motion Motion describes how the companion moves and animates. There are 2 main kinds of motion implemented in by this mod. Lerp: the companion moves to follow whenever the anchor moves far enough. If the anchor is too far, teleport over. Static: the companion stays at a fixed position relative to the anchor. Each of these have sub types like Hover for Lerp motion that hovers, see the individual pages on the sidebar for details. The term \"anchor\" refers to a position that the companion derives it's own position from. By default this is the player, but it can also be other entities like a monster. Structure Property Type Default Notes MotionClass string Lerp Type name of the motion class to use, can use short name like \"Lerp\". Refer to pages under Motion Classes in the table of contents for details. DirectionMode DirectionMode Single Determines how the trinket behaves when changing directions and controls what sprites are required. DirectionRotation bool false When true, the sprite will rotate depending on direction, the exact behavior depends the motion class. LoopMode LoopMode Standard Control animation playback. Standard: 1 2 3 4 1 2 3 4 PingPong: 1 2 3 4 3 2 1 Anchors List empty Ordered list of anchors to follow, if not set, fall back to following the player AlwaysMoving bool false By default the companion only animates while the player is moving, setting this to true makes the companion continue their animation. FrameStart int 0 First frame/sprite index of the directional animations, set this if you want to put multiple companions on 1 file. FrameLength int 4 Length of each cycle for directional animations. Interval float 100 Milisecond Interval between animation frames. Offset Vector2 0, 0 Constant offset to apply to the companion, on top of the motion. LayerDepth LayerDepth Position Changes draw layer relative to player. Position: Calculate layer based on Y position Behind: Always behind the player. InFront: Always infront of the player RepeatCount int 0 Number of additional repeat draws to do, to make 1 companion appear to be multiple. Putting a big number here may cause performance issues. RepeatInterval int 1000 Miliseconds between repeat draws. RepeatFrameSets int 0 If set, offset the sprite on repeat draw. AnimClips Dictionary empty Named anim clips that can play over the movement animation. Args Dictionary varies Arguments specific to a motion class, see respective page for details. Animation The default animation behavior for a companion is to animate while the player is moving according to direction mode, and display static first frame when player is still. To use a special animation while player is still, add an AnimClip named \"Idle.0\". If the idle animation should change according to direction, add \"Idle.X\" where \"X\" is a number between 1 to 4, depending on how many directions are available for the chosen DirectionMode. See animation clips for details. To have the directional animation continue regardless of player motion, set AlwaysMoving to true. Repeat Draws One trinket can only have one companion, but it's possible to make this companion appear as multiple entities by repeating draws with a delay, creating \"shadow clones\". Abilities only happen relative to the first, original copy of the companion. To give these clones alternate appearances, extend the spritesheet downward with a modified duplicate of the companion's animations containing the same number of frames as the original. Then, set RepeatFrameSets to the number of these duplicate frames. Example RepeatCount: 2 RepeatFrameSets: 3 Spritesheet" + "keywords": "Motion Motion describes how the companion moves and animates. There are 2 main kinds of motion implemented in by this mod. Lerp: the companion moves to follow whenever the anchor moves far enough. If the anchor is too far, teleport over. Static: the companion stays at a fixed position relative to the anchor. Each of these have sub types like Hover for Lerp motion that hovers, see the individual pages on the sidebar for details. The term \"anchor\" refers to a position that the companion derives it's own position from. By default this is the player, but it can also be other entities like a monster. Structure Property Type Default Notes MotionClass string Lerp Type name of the motion class to use, can use short name like \"Lerp\". Refer to pages under Motion Classes in the table of contents for details. DirectionMode DirectionMode Single Determines how the trinket behaves when changing directions and controls what sprites are required. DirectionRotation bool false When true, the sprite will rotate depending on direction, the exact behavior depends the motion class. LoopMode LoopMode Standard Control animation playback. Standard: 1 2 3 4 1 2 3 4 PingPong: 1 2 3 4 3 2 1 Anchors List empty Ordered list of anchors to follow, if not set, fall back to following the player AlwaysMoving bool false By default the companion only animates while the player is moving, setting this to true makes the companion continue their animation. FrameStart int 0 First frame/sprite index of the directional animations, set this if you want to put multiple companions on 1 file. FrameLength int 4 Length of each cycle for directional animations. Interval float 100 Milisecond Interval between animation frames. Offset Vector2 0, 0 Constant offset to apply to the companion, on top of the motion. LayerDepth LayerDepth Position Changes draw layer relative to player. Position: Calculate layer based on Y position Behind: Always behind the player. InFront: Always infront of the player RepeatCount int 0 Number of additional repeat draws to do, to make 1 companion appear to be multiple. Putting a big number here may cause performance issues. RepeatInterval int 1000 Miliseconds between repeat draws. RepeatFrameSets int 0 If set, offset the sprite on repeat draw. AnimClips Dictionary empty Named anim clips that can play over the movement animation. Args Dictionary varies Arguments specific to a motion class, see respective page for details. Animation The default animation behavior for a companion is to animate while the player is moving according to direction mode, and display static first frame when player is still. To use a special animation while player is still, add an AnimClip named \"Idle.0\". If the idle animation should change according to direction, add \"Idle.X\" where \"X\" is a number between 1 to 4, depending on how many directions are available for the chosen DirectionMode. See animation clips for details. To have the directional animation continue regardless of player motion, set AlwaysMoving to true. Repeat Draws One trinket can only have one companion, but it's possible to make this companion appear as multiple entities by repeating draws with a delay, creating \"shadow clones\". Abilities only happen relative to the first, original copy of the companion. To give these clones alternate appearances, extend the spritesheet downward with a modified duplicate of the companion's animations containing the same number of frames as the original. Then, set RepeatFrameSets to the number of these duplicate frames. Example RepeatCount: 2 RepeatFrameSets: 3 Spritesheet:" }, "guide/3.0-Direction.html": { "href": "guide/3.0-Direction.html", "title": "Direction Mode | TrinketTinker", - "keywords": "Direction Mode Direction mode determines number of sprites and the required arragements on the sprite sheet. This only describes number of sprites required, the sprite width and height is controlled by variants. In content patcher, use a string value like \"DirectionMode\": \"DRUL\" to set this value. Internally it is an enum. Arrangement charts in this page assumes FrameLength is 4, but you can have as many frames as desired. There's also no need to adhere to exact row layout as long as you have the correct number of sprites in the left to right & up to down order. Single Animate the sprite, ignore all changes to direction. This is the default value. Number of Sprites Required: FrameLength R - Right Similar Single but the sprite is flipped when going left. Number of Sprites Required: 1 x FrameLength (4 by default) DRUL - Down Right Up Left This mode is similar to NPC and animal sprites in the base game. Four sets of animations are required, one per direction. Number of Sprites Required: 4 x FrameLength (16 by default) RL - Right Left Similar to R, but allows you to supply left facing sprites for asymmetrical companions. Number of Sprites Required: 2 x FrameLength (8 by default) DRU - Down Right Up Similar to DRUL, but allows you to skip left facing sprites for symmetrical companions. Number of Sprites Required: 3 x FrameLength (12 by default)" + "keywords": "Direction Mode Direction mode determines number of sprites and the required arragements on the sprite sheet. This only describes number of sprites required, the sprite width and height is controlled by variants. In content patcher, use a string value like \"DirectionMode\": \"DRUL\" to set this value. Internally it is an enum. Arrangement charts in this page assumes FrameLength is 4, but you can have as many frames as desired. There's also no need to adhere to exact row layout as long as you have the correct number of sprites in the left to right & up to down order, but it is easier to organize this way as the companion's current direction is represented by a number corresponding to which set of animation it will use (with negative number representing flipped sprite), if the rows all have FrameLength number of items, then the direction index is simply the row number. Direction index is involved in anim clips, where it is used to set different clip per direction as desired. In the Direction Index tables, * indicates that this direction will not change the companion's direction index, i.e. it will continue with previous value until the next direction that will change index. Single Animate the sprite, ignore all changes to direction. This is the default value. Number of Sprites Required: 1 x FrameLength (4 by default) Direction Index Direction Index Down 1 Right 1 Left 1 Up 1 R - Right Similar Single but the sprite is flipped when going left. Number of Sprites Required: 1 x FrameLength (4 by default) Direction Index Direction Index Down * Right 1 Left -1 Up * DRUL - Down Right Up Left This mode is similar to NPC and animal sprites in the base game. Four sets of animations are required, one per direction. Number of Sprites Required: 4 x FrameLength (16 by default) Direction Index Direction Index Down 1 Right 2 Left 3 Up 4 RL - Right Left Similar to R, but allows you to supply left facing sprites for asymmetrical companions. Number of Sprites Required: 2 x FrameLength (8 by default) Direction Index Direction Index Down * Right 1 Left 2 Up * DRU - Down Right Up Similar to DRUL, but allows you to skip left facing sprites for symmetrical companions. Number of Sprites Required: 3 x FrameLength (12 by default) Direction Index Direction Index Down 1 Right 2 Left 3 Up -2" }, "guide/3.1-Anchors.html": { "href": "guide/3.1-Anchors.html", "title": "Anchor Mode | TrinketTinker", - "keywords": "Anchor Mode A companion's motion is relative to another entity's position, generally the player. Anchors consist of a list of AnchorTargetData The order matters as companion will try for anchors in order, and stop once a valid one is found. When none of the anchors are valid, fallback to Owner. Structure Property Type Default Notes Mode AnchorTarget Owner Anchor target, described below. Range int 640 Search range in pixels, only switch anchor when the target is less than this far from owner. Monster Anchor to nearest monster. Forage Anchor to nearest forageable item. Object Anchor to nearest object. Crop Anchor to nearest non-garden pot harvestable crop. TerrainFeature Anchor to nearest terrain feature. Owner Anchor to the player who equipped the trinket. Range has no effect." + "keywords": "Anchor Mode A companion's motion is relative to another entity's position, generally the player. Anchors consist of a list of AnchorTargetData The order matters as companion will try for anchors in order, and stop once a target is found for a given anchor mode. When no targets are found, fallback to Owner. Structure Property Type Default Notes Mode AnchorTarget Owner Anchor target, described below. Range int 640 Search range in pixels, only switch anchor when the target is less than this far from owner. Monster Anchor to nearest monster. Forage Anchor to nearest forageable item. Object Anchor to nearest object. Crop Anchor to nearest non-garden pot harvestable crop. TerrainFeature Anchor to nearest terrain feature. Owner Anchor to the player who equipped the trinket. Range has no effect." }, "guide/3.2-Animation Clips.html": { "href": "guide/3.2-Animation Clips.html", "title": "Animation Clips | TrinketTinker", - "keywords": "Animation Clips Beyond the basic directional movement animation, companions can also have special animation states triggered by either a motion or an ability. These extra animations must live on the same sprite sheet and have the start frame + frame length specified in AnimData, with the right key. Animation clips can be played back once (oneshot), or continuously played over the directional movement animation (override). This is decided by particular motions/abilities that request the animation. Structure Property Type Default Notes FrameStart int 0 First frame/sprite index of the animation clip. FrameLength int 4 Length of the animation clip. LoopMode LoopMode Standard Control animation playback. Standard: 1 2 3 4 1 2 3 4 PingPong: 1 2 3 4 3 2 1 Interval float empty Milisecond Interval between animation frames. If this is not set, use the Motion's interval. AnimClip Keys Idle Animation Applies when the player is not moving. Does nothing if companion is marked AlwaysMoving, as their directional animation will simply continue. Key Note \"Idle.1\" For the first direction, Down if DRUL. \"Idle.2\" For the second direction, Right if DRUL \"Idle.3\" For the third direction, Up if DRUL. \"Idle.4\" For the fourth direction, Left if DRUL. \"Idle.0\" General directionless idle animation. Motion Specific State Animation Applies when a particular motion enters alternate state beyond the simple moving vs idle. Key Source Note \"Perching\" Hover Applies when companion perches on the player after a timeout. \"Jump\" Bounce and Hop Applies when the companion jumped." + "keywords": "Animation Clips Beyond the basic directional movement animation, companions can also have special animation states triggered by either a motion or an ability. These extra animations must live on the same sprite sheet and have the start frame + frame length specified in AnimData, with the right key. Animation clips can be played back once (oneshot), or continuously played over the directional movement animation (override). This is decided by particular motions/abilities that request the animation. Structure Property Type Default Notes FrameStart int 0 First frame/sprite index of the animation clip. FrameLength int 4 Length of the animation clip. LoopMode LoopMode Standard Control animation playback. Standard: 1 2 3 4 1 2 3 4 PingPong: 1 2 3 4 3 2 1 Interval float empty Milisecond Interval between animation frames. If this is not set, use the Motion's interval. Motion Defined Keys These animation are applied when companion enter a state defined by particular motion, except for \"Idle\", which applies for all motions. These are considered \"override\" anim clips, which play until the player or trinket leaves the specified state. Key Motion Note \"Perching\" Hover Applies when companion perches on the player after a timeout. \"Jump\" Bounce, Hop Applies when the companion jumped. \"Idle\" All Motions Played when the player is not moving, Does nothing if companion is marked AlwaysMoving which forces regular directional animation to continue. Ability Defined Keys These keys are defined by mod, in specified models. Field Model Note ProcOneshotAnim AbilityData Play the clip once on ability proc. This is a oneshot animation, after 1 cycle is finished the companion returns to normal directional animation. Directional AnimClip Keys All anim keys can take on a directional index suffix such as \"{KEY}.1\" which depends on the direction mode. The suffix takes the absolute value of the index, no need to manually flip sprites for negative direction index. Example: when the direction index is 1 and the player is still, \"Idle.1\" will be picked if available, fallback to \"Idle\"." }, "guide/3.z-Motion Classes.html": { "href": "guide/3.z-Motion Classes.html", @@ -67,7 +67,7 @@ "guide/3.z.004-Serpent.html": { "href": "guide/3.z.004-Serpent.html", "title": "Serpent | TrinketTinker", - "keywords": "Serpent Draws additional body segments that follow the base sprite, which is treated as the head. Requires 2 additional sets of sprites for the body segments and tail. The number per set required is the determined by direction and frame length, just like the base sprite number. A minimal serpent would require just 3 sprites (head, segment, tail), using direction mode Single with frame length of 1. Serpent frame To have the head rotate as well, set DirectionRotate to true. Args Property Type Default Notes SegmentCount int 5 Number of segments to draw, excluding the head. Putting a big number here may cause performance issues. Sparcity float 3.5 Factor determining how spaced out each segment is. The default value of 3.5 gives a little bit of overlap between segments. *and all arguments of Lerp" + "keywords": "Serpent Draws additional body segments that follow the base sprite, which is treated as the head. Requires 2 additional sets of sprites for the body segments and tail. The number per set required is the determined by direction and frame length, just like the base sprite number. A minimal serpent would require just 3 sprites (head, segment, tail), using direction mode Single with frame length of 1. Serpent frame To have the head rotate as well, set DirectionRotate to true. Args Property Type Default Notes SegmentCount int 5 Number of segments to draw, excluding the head. SegmentAlts int 1 Number of alternate segment appearanches, default 1 means only 1 kind of segment. Multiple kinds of segments will be drawn in alternating order. HasTail bool true Whether this serpent is capped off by a unique segment that comes immediately after the last (alt) segment. Sparcity float 3.5 Factor determining how spaced out each segment is. The default value of 3.5 gives a little bit of overlap between segments. *and all arguments of Lerp" }, "guide/3.z.100-Static.html": { "href": "guide/3.z.100-Static.html", @@ -77,7 +77,7 @@ "guide/3.z.101-Orbit.html": { "href": "guide/3.z.101-Orbit.html", "title": "Orbit | TrinketTinker", - "keywords": "Orbit Orbit around the anchor. Args Property Type Default Notes RadiusX float 96 Horizontal radius. RadiusY float 40 Vertical radius. Period float 1000 Period of 1 orbit around player, in miliseconds." + "keywords": "Orbit Orbit around the anchor. Args Property Type Default Notes RadiusX float 96 Horizontal radius. RadiusY float 40 Vertical radius. Height float 64 Y offset from position to shadow. Period float 1000 Period of 1 orbit around player, in miliseconds." }, "guide/3.z.102-Relative.html": { "href": "guide/3.z.102-Relative.html", @@ -86,8 +86,8 @@ }, "guide/4-Ability.html": { "href": "guide/4-Ability.html", - "title": "Ability | TrinketTinker", - "keywords": "Ability Ability describes the effects that occur when you equip the trinket, like getting healed, or attacking an enemy. An ability is primarily defined by AbilityClass (what it does) and Proc (when does it activate). Structure Property Type Default Notes AbilityClass string DebugDummy Type name of the motion class to use, can use short name like Buff. Refer to page titles under \"Ability Classes\" in the table of contents for details. Description string empty String of the ability, will be used to substitute \"{1}\" in a trinket's description. Proc ProcOn Footstep Make ability activate when something happens. ProcTimer double -1 After an ability proc, prevent further activations for this amount of time. ProcSyncIndex int 0 For use with Proc.Sync, makes this ability activate after another ability in the same level. ProcSound string empty Play a sound cue when ability procs (details) ProcTAS List empty String Ids of temporary animated sprites to show when the ability activates. Condition string empty A game state query that must pass before proc. DamageThreshold int -1 Must receive or deal this much damage before proc. For ReceiveDamage & DamageMonster IsBomb bool? empty Must deal damage with(true)/not with(false) a bomb. For DamageMonster & SlayMonster, IsCriticalHit bool? empty Must (true)/must not(false) deal a critical hit. Args Dictionary varies Arguments specific to an ability class, see respective page for details. Ability Descriptions Abilities are internally 0-indexed, but the displayed minimum ability can be changed in TinkerData -hen there are multiple abilities per level and a description for each, they will be joined with new line before passed to description template. It's not neccesary to provide descriptions to all abilities in a level, often it is easier to describe the entire ability in 1 description on the first ability, while leaving the others blank. Example of a description template for a trinket with 2 ability levels: // Trinket \"Description\": \"My trinket {0}:\\n====\\n{1}\" // Tinker \"MinLevel\": 2 // Tinker Abilities [ [ // rest of ability omitted {\"Description\": \"first ability A\", ...}, {\"Description\": \"second ability B\", ...}, ], [ // rest of ability omitted {\"Description\": \"first ability C\", ...}, {\"Description\": \"second ability D\", ...} ] ] Description when trinket has internal level 0: My trinket 2: ==== first ability A second ability B Description when trinket has internal level 1: My trinket 3: ==== first ability C second ability D" + "title": "| TrinketTinker", + "keywords": "Ability Ability describes the effects that occur when you equip the trinket, like getting healed, or attacking an enemy. An ability is primarily defined by AbilityClass (what it does) and Proc (when does it activate). Structure Property Type Default Notes AbilityClass string DebugDummy Type name of the motion class to use, can use short name like Buff. Refer to page titles under \"Ability Classes\" in the table of contents for details. Description string empty String of the ability, will be used to substitute \"{1}\" in a trinket's description. Proc ProcOn Footstep Make ability activate when something happens. ProcTimer double -1 After an ability proc, prevent further activations for this amount of time. ProcSyncIndex int 0 For use with Proc.Sync, makes this ability activate after another ability in the same level. ProcSound string empty Play a sound cue when ability procs (details) ProcTAS List empty String Ids of temporary animated sprites to show when the ability activates. ProcOneshotAnim string empty Play the matching anim clip on proc, return to normal animation after 1 cycle. Condition string empty A game state query that must pass before proc. DamageThreshold int -1 Must receive or deal this much damage before proc. For ReceiveDamage & DamageMonster IsBomb bool? empty Must deal damage with(true)/not with(false) a bomb. For DamageMonster & SlayMonster, IsCriticalHit bool? empty Must (true)/must not(false) deal a critical hit. Args Dictionary varies Arguments specific to an ability class, see respective page for details. Ability Descriptions Abilities are internally 0-indexed, but the displayed minimum ability can be changed in TinkerData -hen there are multiple abilities per level and a description for each, they will be joined with new line before passed to description template. It's not neccesary to provide descriptions to all abilities in a level, often it is easier to describe the entire ability in 1 description on the first ability, while leaving the others blank. Example of a description template for a trinket with 2 ability levels: // Trinket \"Description\": \"My trinket {0}:\\n====\\n{1}\" // Tinker \"MinLevel\": 2 // Tinker Abilities [ [ // rest of ability omitted {\"Description\": \"first ability A\", ...}, {\"Description\": \"second ability B\", ...}, ], [ // rest of ability omitted {\"Description\": \"first ability C\", ...}, {\"Description\": \"second ability D\", ...} ] ] Description when trinket has internal level 0: My trinket 2: ==== first ability A second ability B Description when trinket has internal level 1: My trinket 3: ==== first ability C second ability D" }, "guide/4.0-Proc.html": { "href": "guide/4.0-Proc.html", @@ -117,7 +117,7 @@ "guide/4.z.04-ItemDrop.html": { "href": "guide/4.z.04-ItemDrop.html", "title": "ItemDrop | TrinketTinker", - "keywords": "ItemDrop Drops an item, picked with item query. Args Property Type Default Notes SearchMode ItemQuerySearchMode RandomOfTypeItem Determine how the final item is picked from results. *Also accepts all members of GenericSpawnItemData, which is the usual item spawn fields minus Condition. Use the Condition field on ability instead." + "keywords": "ItemDrop Drops an item, picked with item query. Args Property Type Default Notes SearchMode ItemQuerySearchMode \"RandomOfTypeItem\" Determine how the final item is picked from results. *Also accepts all members of GenericSpawnItemData, which is the usual item spawn fields minus Condition. Use the Condition field on ability instead." }, "guide/4.z.05-Hitscan.html": { "href": "guide/4.z.05-Hitscan.html", @@ -127,7 +127,7 @@ "guide/4.z.06-Projectile.html": { "href": "guide/4.z.06-Projectile.html", "title": "Projectile | TrinketTinker", - "keywords": "Projectile Do damage to a monster within range using a projectile. Can roll criticals and apply stun/knockback. Uses a custom projectile class that accepts custom projectile texture. Args Property Type Default Notes Texture string TileSheets/Projectiles Path to custom projectile texture. SpriteIndex int 0 Sprite index of projectile. SpriteWidth int 16 Projectile sprite width. SpriteHeight int 16 Projectile sprite height. TailCount int 0 Number of echo/trail sprites to draw. MinVelocity float 12 Starting projectile velocity. MaxVelocity float -1 Maximum projectile velocity, -1 if unbounded. Acceleration float 1 Velocity increase per tick. Pierce int 1 Number of times the projectile can collide (with enemy object or terrain) before it is destroyed. IgnoreObjectCollisions bool false Allow projectile to pass through object/terrain. IgnoreLocationCollisions bool false Allow projectile to pass through walls. *and all arguments of Hitscan" + "keywords": "Projectile Do damage to a monster within range using a projectile. Can roll criticals and apply stun/knockback. Uses a custom projectile class that accepts custom projectile texture. Args Property Type Default Notes Texture string \"TileSheets/Projectiles\" Path to custom projectile texture. SpriteIndex int 0 Sprite index of projectile. SpriteWidth int 16 Projectile sprite width. SpriteHeight int 16 Projectile sprite height. TailCount int 0 Number of echo/trail sprites to draw. MinVelocity float 12 Starting projectile velocity. MaxVelocity float -1 Maximum projectile velocity, -1 if unbounded. Acceleration float 1 Velocity increase per tick. Pierce int 1 Number of times the projectile can collide (with enemy object or terrain) before it is destroyed. IgnoreObjectCollisions bool false Allow projectile to pass through object/terrain. IgnoreLocationCollisions bool false Allow projectile to pass through walls. *and all arguments of Hitscan" }, "guide/4.z.07-RaiseTrigger.html": { "href": "guide/4.z.07-RaiseTrigger.html", @@ -162,12 +162,12 @@ "guide/5-Temporary Animated Sprite.html": { "href": "guide/5-Temporary Animated Sprite.html", "title": "Temporary Animated Sprite | TrinketTinker", - "keywords": "Temporary Animated Sprite Temporary animated sprites are ways to show animated effects on screen temporarily. They existed prior to 1.6, but was given a proper data model to use in Data/Machines. For trinket tinker, any field that calls for temporary animated sprites takes string ids corresponding to an entry in mushymato.TrinketTinker/TAS rather than the full definition. This let you reuse the same TAS in multiple places. TemporaryAnimatedSpriteDefinition Note TemporaryAnimatedSpriteDefinition is a class provided by the game, not defined by this mod. Property Type Default Notes Id string required Unique string id Condition string empty Game state query, show TAS if true. Texture string required Texture asset name. SourceRect Rectangle required Area of texture to draw. Interval float 100 Time between frames, in miliseconds. Frames int 1 Length of the animation. Loops int empty Number of times to repeat the animation. PositionOffset Vector2 Vector2.Zero Offset added to position during draw. Flicker bool empty Skips drawing every other frame. Flip bool Horizontally flip the sprite during draw. SortOffset float empty Offset on layer depth, for determining whether this sprite appear over or under other sprites. AlphaFade float empty Amount of additional transparency every frame. Set this to make the sprite fade away over time. Scale float 1f Draw scale, applied on top of the default 4x scale. ScaleChange float empty Amount of additional scale every frame. Set this to make sprite enlarge/shrink over time. Rotation float empty Amount of rotation on the sprite. RotationChange float empty Amount of additional rotation every frame. Set this to make the sprite spin. Color string Color to apply on draw, for use with grayscale sprites. Aside from RGB and hex values, monogame accepts named colors." + "keywords": "Temporary Animated Sprite Temporary animated sprites are ways to show animated effects on screen temporarily. They existed prior to 1.6, but was given a proper data model to use in Data/Machines. For trinket tinker, any field that calls for temporary animated sprites takes string ids corresponding to an entry in mushymato.TrinketTinker/TAS rather than the full definition. This let you reuse the same TAS in multiple places. TemporaryAnimatedSpriteDefinition Note TemporaryAnimatedSpriteDefinition is a class provided by the game, not defined by this mod. Property Type Default Notes Id string required Unique string id Condition string empty Game state query, show TAS if true. Texture string required Texture asset name. SourceRect Rectangle required Area of texture to draw. Interval float 100 Time between frames, in miliseconds. Frames int 1 Length of the animation. Loops int empty Number of times to repeat the animation. PositionOffset Vector2 Vector2.Zero Offset added to position during draw. Flicker bool empty Skips drawing every other frame. Flip bool false Horizontally flip the sprite during draw. SortOffset float empty Offset on layer depth, for determining whether this sprite appear over or under other sprites. AlphaFade float empty Amount of additional transparency every frame. Set this to make the sprite fade away over time. Scale float 1f Draw scale, applied on top of the default 4x scale. ScaleChange float empty Amount of additional scale every frame. Set this to make sprite enlarge/shrink over time. Rotation float empty Amount of rotation on the sprite. RotationChange float empty Amount of additional rotation every frame. Set this to make the sprite spin. Color string empty Color to apply on draw, for use with grayscale sprites. Aside from RGB and hex values, monogame accepts named colors." }, - "guide/6-Extras.html": { - "href": "guide/6-Extras.html", - "title": "Extras | TrinketTinker", - "keywords": "Extras TrinketTinker provides a few extra supporting features. Item Query: mushymato.TrinketTinker_CREATE_TRINKET mushymato.TrinketTinker_CREATE_TRINKET [level] [variant] Creates a new trinket item. If the trinket has tinker data, set level and variant. Useful for producing a trinket at specified level/variant. Machine: Trinket Colorizer A new machine that can be purchased from the Blacksmith for 50 Gold Bars once the Anvil recipe is obtained. Consumes 15 Omni Geode to reroll the variant on a TrinketTinker trinket, no effect on vanilla trinkets. The Trinket Colorizer is just a normal machine with qualified id (BC)mushymato.TrinketTinker_TrinketColorizer, mods are free to add their own machine rules. The colorizer will never roll the same variant twice in a row. Anvils have similar rule applied to them for TrinketTinker trinkets." + "guide/6-Utility.html": { + "href": "guide/6-Utility.html", + "title": "Utility | TrinketTinker", + "keywords": "Utility Extra non-trinket features provided by this mod. Trinket Colorizer The trinket colorizer is a big craftable machine that can be purchased from the Blacksmith for 50 Gold Bars once the Anvil recipe is obtained. Trinkets must have at least 2 variants and CanBeReforged set to true in order to use the colorizer. Consumes 15 Omni Geode to reroll the variant on a TrinketTinker trinket, no effect on vanilla trinkets. The colorizer will never roll the same variant twice in a row. Anvils have similar rule applied to them for TrinketTinker trinkets. Implementation wise, the colorizer is a standard machine with qualified ID (BC)mushymato.TrinketTinker_TrinketColorizer and a single complex output machine rule.Mods are can add more ways to obtain this machine and prepend the colorizer with special upgrade rules for their trinkets. Item Queries These are useful for populating shops and machine output rules. mushymato.TrinketTinker_CREATE_TRINKET mushymato.TrinketTinker_CREATE_TRINKET [level] [variant] Create a new trinket item. If the trinket has tinker data, set level and variant. Useful for producing a trinket at specified level/variant. Setting level or variant to \"R\" will randomize the level or variant. mushymato.TrinketTinker_CREATE_TRINKET_ALL_VARIANTS mushymato.TrinketTinker_CREATE_TRINKET_ALL_VARIANTS [level] Create all variants of a trinket (with tinker data). Useful for making a shop sell all variants of a trinket instead of making the player roll for them. Setting level to \"R\" will randomize the level once, and then set trinkets created by this query to that level. Data/Location CustomFields Aside from conditions defined on a particular trinket, it's also possible to disable trinket features for a whole location using CustomFields. \"mushymato.TrinketTinker/disableAbilities\": true|false Disable trinket abilities while owner is in the location (except for always active abilities). \"mushymato.TrinketTinker/disableCompanions\": true|false Disable companion display while owner is in the location. Their position updates continue." }, "guide/x-example.html": { "href": "guide/x-example.html", @@ -176,7 +176,7 @@ }, "index.html": { "href": "index.html", - "title": "Trinket Tinker - Stardew Valley Trinket Framework | TrinketTinker", - "keywords": "Trinket Tinker - Stardew Valley Trinket Framework This is a framework for creating trinkets that can have advanced abilities using just Content Patcher. If you are looking to make mods using this framework, start here. Credits Documentation generated with Docfx, with docfx-material theme. Changelog All notable changes to this project will be documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. Unreleased Added The yak is being shaved please come back soon." + "title": "TrinketTinker - Stardew Valley Trinket Framework | TrinketTinker", + "keywords": "TrinketTinker - Stardew Valley Trinket Framework This is a framework for creating custom trinkets using Content Patcher. What can this framework do? Animated companions with various movement patterns. A skin system (variants) for companions, and related features to set/change companion variants Dynamic event based abilities that work through the companions rather than the player. Some support for custom effects from other C# mods, through the use of actions. If you are looking to make mods using this framework, start here. This mod is licensed under MIT, contributions are welcome. Credits Documentation generated with Docfx, with docfx-material theme. Changelog All notable changes to this project will be documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. 1.0.0-beta Added Implement all the things." } } \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 4087b86..c4f99e1 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -600,6 +600,16 @@ }, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api/TrinketTinker.Models.AnimClipDictionary.yml", + "output": { + ".html": { + "relative_path": "api/TrinketTinker.Models.AnimClipDictionary.html" + } + }, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api/TrinketTinker.Models.DirectionMode.yml", @@ -1165,10 +1175,10 @@ }, { "type": "Conceptual", - "source_relative_path": "guide/6-Extras.md", + "source_relative_path": "guide/6-Utility.md", "output": { ".html": { - "relative_path": "guide/6-Extras.html" + "relative_path": "guide/6-Utility.html" } }, "version": "" diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 5ce6141..9ec1bf1 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -717,13 +717,13 @@ references: fullName: TrinketTinker.Companions.Motions.IMotion.OnOwnerWarp nameWithType: IMotion.OnOwnerWarp - uid: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip(System.String) - name: SetOneshotClip(string) + name: SetOneshotClip(string?) href: api/TrinketTinker.Companions.Motions.IMotion.html#TrinketTinker_Companions_Motions_IMotion_SetOneshotClip_System_String_ commentId: M:TrinketTinker.Companions.Motions.IMotion.SetOneshotClip(System.String) name.vb: SetOneshotClip(String) - fullName: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip(string) + fullName: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip(string?) fullName.vb: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip(String) - nameWithType: IMotion.SetOneshotClip(string) + nameWithType: IMotion.SetOneshotClip(string?) nameWithType.vb: IMotion.SetOneshotClip(String) - uid: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip* name: SetOneshotClip @@ -733,13 +733,13 @@ references: fullName: TrinketTinker.Companions.Motions.IMotion.SetOneshotClip nameWithType: IMotion.SetOneshotClip - uid: TrinketTinker.Companions.Motions.IMotion.SetOverrideClip(System.String) - name: SetOverrideClip(string) + name: SetOverrideClip(string?) href: api/TrinketTinker.Companions.Motions.IMotion.html#TrinketTinker_Companions_Motions_IMotion_SetOverrideClip_System_String_ commentId: M:TrinketTinker.Companions.Motions.IMotion.SetOverrideClip(System.String) name.vb: SetOverrideClip(String) - fullName: TrinketTinker.Companions.Motions.IMotion.SetOverrideClip(string) + fullName: TrinketTinker.Companions.Motions.IMotion.SetOverrideClip(string?) fullName.vb: TrinketTinker.Companions.Motions.IMotion.SetOverrideClip(String) - nameWithType: IMotion.SetOverrideClip(string) + nameWithType: IMotion.SetOverrideClip(string?) nameWithType.vb: IMotion.SetOverrideClip(String) - uid: TrinketTinker.Companions.Motions.IMotion.SetOverrideClip* name: SetOverrideClip @@ -1058,6 +1058,23 @@ references: fullName.vb: TrinketTinker.Companions.Motions.Motion(Of TArgs).GetRotation nameWithType: Motion.GetRotation nameWithType.vb: Motion(Of TArgs).GetRotation +- uid: TrinketTinker.Companions.Motions.Motion`1.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + name: GetShadowOffset(Vector2) + href: api/TrinketTinker.Companions.Motions.Motion-1.html#TrinketTinker_Companions_Motions_Motion_1_GetShadowOffset_Microsoft_Xna_Framework_Vector2_ + commentId: M:TrinketTinker.Companions.Motions.Motion`1.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + fullName: TrinketTinker.Companions.Motions.Motion.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + fullName.vb: TrinketTinker.Companions.Motions.Motion(Of TArgs).GetShadowOffset(Microsoft.Xna.Framework.Vector2) + nameWithType: Motion.GetShadowOffset(Vector2) + nameWithType.vb: Motion(Of TArgs).GetShadowOffset(Vector2) +- uid: TrinketTinker.Companions.Motions.Motion`1.GetShadowOffset* + name: GetShadowOffset + href: api/TrinketTinker.Companions.Motions.Motion-1.html#TrinketTinker_Companions_Motions_Motion_1_GetShadowOffset_ + commentId: Overload:TrinketTinker.Companions.Motions.Motion`1.GetShadowOffset + isSpec: "True" + fullName: TrinketTinker.Companions.Motions.Motion.GetShadowOffset + fullName.vb: TrinketTinker.Companions.Motions.Motion(Of TArgs).GetShadowOffset + nameWithType: Motion.GetShadowOffset + nameWithType.vb: Motion(Of TArgs).GetShadowOffset - uid: TrinketTinker.Companions.Motions.Motion`1.GetShadowScale name: GetShadowScale() href: api/TrinketTinker.Companions.Motions.Motion-1.html#TrinketTinker_Companions_Motions_Motion_1_GetShadowScale @@ -1387,6 +1404,19 @@ references: isSpec: "True" fullName: TrinketTinker.Companions.Motions.OrbitMotion.GetPositionalLayerDepth nameWithType: OrbitMotion.GetPositionalLayerDepth +- uid: TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + name: GetShadowOffset(Vector2) + href: api/TrinketTinker.Companions.Motions.OrbitMotion.html#TrinketTinker_Companions_Motions_OrbitMotion_GetShadowOffset_Microsoft_Xna_Framework_Vector2_ + commentId: M:TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + fullName: TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset(Microsoft.Xna.Framework.Vector2) + nameWithType: OrbitMotion.GetShadowOffset(Vector2) +- uid: TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset* + name: GetShadowOffset + href: api/TrinketTinker.Companions.Motions.OrbitMotion.html#TrinketTinker_Companions_Motions_OrbitMotion_GetShadowOffset_ + commentId: Overload:TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset + isSpec: "True" + fullName: TrinketTinker.Companions.Motions.OrbitMotion.GetShadowOffset + nameWithType: OrbitMotion.GetShadowOffset - uid: TrinketTinker.Companions.Motions.OrbitMotion.GetTextureScale name: GetTextureScale() href: api/TrinketTinker.Companions.Motions.OrbitMotion.html#TrinketTinker_Companions_Motions_OrbitMotion_GetTextureScale @@ -3162,6 +3192,22 @@ references: isSpec: "True" fullName: TrinketTinker.Effects.TrinketTinkerEffect.GenerateRandomStats nameWithType: TrinketTinkerEffect.GenerateRandomStats +- uid: TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount(System.Collections.Generic.List{System.String},System.Int32,StardewValley.Objects.Trinkets.Trinket) + name: GetMaxUnlockedCount(List, int, Trinket) + href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_GetMaxUnlockedCount_System_Collections_Generic_List_System_String__System_Int32_StardewValley_Objects_Trinkets_Trinket_ + commentId: M:TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount(System.Collections.Generic.List{System.String},System.Int32,StardewValley.Objects.Trinkets.Trinket) + name.vb: GetMaxUnlockedCount(List(Of String), Integer, Trinket) + fullName: TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount(System.Collections.Generic.List, int, StardewValley.Objects.Trinkets.Trinket) + fullName.vb: TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount(System.Collections.Generic.List(Of String), Integer, StardewValley.Objects.Trinkets.Trinket) + nameWithType: TrinketTinkerEffect.GetMaxUnlockedCount(List, int, Trinket) + nameWithType.vb: TrinketTinkerEffect.GetMaxUnlockedCount(List(Of String), Integer, Trinket) +- uid: TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount* + name: GetMaxUnlockedCount + href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_GetMaxUnlockedCount_ + commentId: Overload:TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount + isSpec: "True" + fullName: TrinketTinker.Effects.TrinketTinkerEffect.GetMaxUnlockedCount + nameWithType: TrinketTinkerEffect.GetMaxUnlockedCount - uid: TrinketTinker.Effects.TrinketTinkerEffect.MaxLevel name: MaxLevel href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_MaxLevel @@ -3335,6 +3381,22 @@ references: isSpec: "True" fullName: TrinketTinker.Effects.TrinketTinkerEffect.SetLevel nameWithType: TrinketTinkerEffect.SetLevel +- uid: TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip(System.String) + name: SetOneshotClip(string?) + href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_SetOneshotClip_System_String_ + commentId: M:TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip(System.String) + name.vb: SetOneshotClip(String) + fullName: TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip(string?) + fullName.vb: TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip(String) + nameWithType: TrinketTinkerEffect.SetOneshotClip(string?) + nameWithType.vb: TrinketTinkerEffect.SetOneshotClip(String) +- uid: TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip* + name: SetOneshotClip + href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_SetOneshotClip_ + commentId: Overload:TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip + isSpec: "True" + fullName: TrinketTinker.Effects.TrinketTinkerEffect.SetOneshotClip + nameWithType: TrinketTinkerEffect.SetOneshotClip - uid: TrinketTinker.Effects.TrinketTinkerEffect.SetVariant(StardewValley.Objects.Trinkets.Trinket,System.Int32) name: SetVariant(Trinket, int) href: api/TrinketTinker.Effects.TrinketTinkerEffect.html#TrinketTinker_Effects_TrinketTinkerEffect_SetVariant_StardewValley_Objects_Trinkets_Trinket_System_Int32_ @@ -3389,28 +3451,50 @@ references: commentId: T:TrinketTinker.Extras.ItemQuery fullName: TrinketTinker.Extras.ItemQuery nameWithType: ItemQuery -- uid: TrinketTinker.Extras.ItemQuery.CreateTrinket(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) - name: CreateTrinket(string, string, ItemQueryContext, bool, HashSet, Action) - href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CreateTrinket_System_String_System_String_StardewValley_Internal_ItemQueryContext_System_Boolean_System_Collections_Generic_HashSet_System_String__System_Action_System_String_System_String__ - commentId: M:TrinketTinker.Extras.ItemQuery.CreateTrinket(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) - name.vb: CreateTrinket(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) - fullName: TrinketTinker.Extras.ItemQuery.CreateTrinket(string, string, StardewValley.Internal.ItemQueryContext, bool, System.Collections.Generic.HashSet, System.Action) - fullName.vb: TrinketTinker.Extras.ItemQuery.CreateTrinket(String, String, StardewValley.Internal.ItemQueryContext, Boolean, System.Collections.Generic.HashSet(Of String), System.Action(Of String, String)) - nameWithType: ItemQuery.CreateTrinket(string, string, ItemQueryContext, bool, HashSet, Action) - nameWithType.vb: ItemQuery.CreateTrinket(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) -- uid: TrinketTinker.Extras.ItemQuery.CreateTrinket* - name: CreateTrinket - href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CreateTrinket_ - commentId: Overload:TrinketTinker.Extras.ItemQuery.CreateTrinket - isSpec: "True" - fullName: TrinketTinker.Extras.ItemQuery.CreateTrinket - nameWithType: ItemQuery.CreateTrinket -- uid: TrinketTinker.Extras.ItemQuery.CreateTrinketQuery - name: CreateTrinketQuery - href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CreateTrinketQuery - commentId: F:TrinketTinker.Extras.ItemQuery.CreateTrinketQuery - fullName: TrinketTinker.Extras.ItemQuery.CreateTrinketQuery - nameWithType: ItemQuery.CreateTrinketQuery +- uid: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) + name: CREATE_TRINKET(string, string, ItemQueryContext, bool, HashSet, Action) + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CREATE_TRINKET_System_String_System_String_StardewValley_Internal_ItemQueryContext_System_Boolean_System_Collections_Generic_HashSet_System_String__System_Action_System_String_System_String__ + commentId: M:TrinketTinker.Extras.ItemQuery.CREATE_TRINKET(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) + name.vb: CREATE_TRINKET(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) + fullName: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET(string, string, StardewValley.Internal.ItemQueryContext, bool, System.Collections.Generic.HashSet, System.Action) + fullName.vb: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET(String, String, StardewValley.Internal.ItemQueryContext, Boolean, System.Collections.Generic.HashSet(Of String), System.Action(Of String, String)) + nameWithType: ItemQuery.CREATE_TRINKET(string, string, ItemQueryContext, bool, HashSet, Action) + nameWithType.vb: ItemQuery.CREATE_TRINKET(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) +- uid: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET* + name: CREATE_TRINKET + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CREATE_TRINKET_ + commentId: Overload:TrinketTinker.Extras.ItemQuery.CREATE_TRINKET + isSpec: "True" + fullName: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET + nameWithType: ItemQuery.CREATE_TRINKET +- uid: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) + name: CREATE_TRINKET_ALL_VARIANTS(string, string, ItemQueryContext, bool, HashSet, Action) + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CREATE_TRINKET_ALL_VARIANTS_System_String_System_String_StardewValley_Internal_ItemQueryContext_System_Boolean_System_Collections_Generic_HashSet_System_String__System_Action_System_String_System_String__ + commentId: M:TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS(System.String,System.String,StardewValley.Internal.ItemQueryContext,System.Boolean,System.Collections.Generic.HashSet{System.String},System.Action{System.String,System.String}) + name.vb: CREATE_TRINKET_ALL_VARIANTS(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) + fullName: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS(string, string, StardewValley.Internal.ItemQueryContext, bool, System.Collections.Generic.HashSet, System.Action) + fullName.vb: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS(String, String, StardewValley.Internal.ItemQueryContext, Boolean, System.Collections.Generic.HashSet(Of String), System.Action(Of String, String)) + nameWithType: ItemQuery.CREATE_TRINKET_ALL_VARIANTS(string, string, ItemQueryContext, bool, HashSet, Action) + nameWithType.vb: ItemQuery.CREATE_TRINKET_ALL_VARIANTS(String, String, ItemQueryContext, Boolean, HashSet(Of String), Action(Of String, String)) +- uid: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS* + name: CREATE_TRINKET_ALL_VARIANTS + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_CREATE_TRINKET_ALL_VARIANTS_ + commentId: Overload:TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS + isSpec: "True" + fullName: TrinketTinker.Extras.ItemQuery.CREATE_TRINKET_ALL_VARIANTS + nameWithType: ItemQuery.CREATE_TRINKET_ALL_VARIANTS +- uid: TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET + name: ItemQuery_CREATE_TRINKET + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_ItemQuery_CREATE_TRINKET + commentId: F:TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET + fullName: TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET + nameWithType: ItemQuery.ItemQuery_CREATE_TRINKET +- uid: TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET_ALL_VARIANTS + name: ItemQuery_CREATE_TRINKET_ALL_VARIANTS + href: api/TrinketTinker.Extras.ItemQuery.html#TrinketTinker_Extras_ItemQuery_ItemQuery_CREATE_TRINKET_ALL_VARIANTS + commentId: F:TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET_ALL_VARIANTS + fullName: TrinketTinker.Extras.ItemQuery.ItemQuery_CREATE_TRINKET_ALL_VARIANTS + nameWithType: ItemQuery.ItemQuery_CREATE_TRINKET_ALL_VARIANTS - uid: TrinketTinker.Extras.ProcTrinket name: ProcTrinket href: api/TrinketTinker.Extras.ProcTrinket.html @@ -4258,6 +4342,19 @@ references: isSpec: "True" fullName: TrinketTinker.Models.AbilityData.Proc nameWithType: AbilityData.Proc +- uid: TrinketTinker.Models.AbilityData.ProcOneshotAnim + name: ProcOneshotAnim + href: api/TrinketTinker.Models.AbilityData.html#TrinketTinker_Models_AbilityData_ProcOneshotAnim + commentId: P:TrinketTinker.Models.AbilityData.ProcOneshotAnim + fullName: TrinketTinker.Models.AbilityData.ProcOneshotAnim + nameWithType: AbilityData.ProcOneshotAnim +- uid: TrinketTinker.Models.AbilityData.ProcOneshotAnim* + name: ProcOneshotAnim + href: api/TrinketTinker.Models.AbilityData.html#TrinketTinker_Models_AbilityData_ProcOneshotAnim_ + commentId: Overload:TrinketTinker.Models.AbilityData.ProcOneshotAnim + isSpec: "True" + fullName: TrinketTinker.Models.AbilityData.ProcOneshotAnim + nameWithType: AbilityData.ProcOneshotAnim - uid: TrinketTinker.Models.AbilityData.ProcSound name: ProcSound href: api/TrinketTinker.Models.AbilityData.html#TrinketTinker_Models_AbilityData_ProcSound @@ -4434,6 +4531,34 @@ references: isSpec: "True" fullName: TrinketTinker.Models.AnimClipData.LoopMode nameWithType: AnimClipData.LoopMode +- uid: TrinketTinker.Models.AnimClipDictionary + name: AnimClipDictionary + href: api/TrinketTinker.Models.AnimClipDictionary.html + commentId: T:TrinketTinker.Models.AnimClipDictionary + fullName: TrinketTinker.Models.AnimClipDictionary + nameWithType: AnimClipDictionary +- uid: TrinketTinker.Models.AnimClipDictionary.IDLE + name: IDLE + href: api/TrinketTinker.Models.AnimClipDictionary.html#TrinketTinker_Models_AnimClipDictionary_IDLE + commentId: F:TrinketTinker.Models.AnimClipDictionary.IDLE + fullName: TrinketTinker.Models.AnimClipDictionary.IDLE + nameWithType: AnimClipDictionary.IDLE +- uid: TrinketTinker.Models.AnimClipDictionary.TryGetDirectional(System.String,System.Int32,TrinketTinker.Models.AnimClipData@) + name: TryGetDirectional(string?, int, out AnimClipData?) + href: api/TrinketTinker.Models.AnimClipDictionary.html#TrinketTinker_Models_AnimClipDictionary_TryGetDirectional_System_String_System_Int32_TrinketTinker_Models_AnimClipData__ + commentId: M:TrinketTinker.Models.AnimClipDictionary.TryGetDirectional(System.String,System.Int32,TrinketTinker.Models.AnimClipData@) + name.vb: TryGetDirectional(String, Integer, AnimClipData) + fullName: TrinketTinker.Models.AnimClipDictionary.TryGetDirectional(string?, int, out TrinketTinker.Models.AnimClipData?) + fullName.vb: TrinketTinker.Models.AnimClipDictionary.TryGetDirectional(String, Integer, TrinketTinker.Models.AnimClipData) + nameWithType: AnimClipDictionary.TryGetDirectional(string?, int, out AnimClipData?) + nameWithType.vb: AnimClipDictionary.TryGetDirectional(String, Integer, AnimClipData) +- uid: TrinketTinker.Models.AnimClipDictionary.TryGetDirectional* + name: TryGetDirectional + href: api/TrinketTinker.Models.AnimClipDictionary.html#TrinketTinker_Models_AnimClipDictionary_TryGetDirectional_ + commentId: Overload:TrinketTinker.Models.AnimClipDictionary.TryGetDirectional + isSpec: "True" + fullName: TrinketTinker.Models.AnimClipDictionary.TryGetDirectional + nameWithType: AnimClipDictionary.TryGetDirectional - uid: TrinketTinker.Models.DirectionMode name: DirectionMode href: api/TrinketTinker.Models.DirectionMode.html @@ -4850,6 +4975,19 @@ references: commentId: T:TrinketTinker.Models.MotionArgs.OrbitArgs fullName: TrinketTinker.Models.MotionArgs.OrbitArgs nameWithType: OrbitArgs +- uid: TrinketTinker.Models.MotionArgs.OrbitArgs.Height + name: Height + href: api/TrinketTinker.Models.MotionArgs.OrbitArgs.html#TrinketTinker_Models_MotionArgs_OrbitArgs_Height + commentId: P:TrinketTinker.Models.MotionArgs.OrbitArgs.Height + fullName: TrinketTinker.Models.MotionArgs.OrbitArgs.Height + nameWithType: OrbitArgs.Height +- uid: TrinketTinker.Models.MotionArgs.OrbitArgs.Height* + name: Height + href: api/TrinketTinker.Models.MotionArgs.OrbitArgs.html#TrinketTinker_Models_MotionArgs_OrbitArgs_Height_ + commentId: Overload:TrinketTinker.Models.MotionArgs.OrbitArgs.Height + isSpec: "True" + fullName: TrinketTinker.Models.MotionArgs.OrbitArgs.Height + nameWithType: OrbitArgs.Height - uid: TrinketTinker.Models.MotionArgs.OrbitArgs.Period name: Period href: api/TrinketTinker.Models.MotionArgs.OrbitArgs.html#TrinketTinker_Models_MotionArgs_OrbitArgs_Period @@ -4908,6 +5046,25 @@ references: commentId: T:TrinketTinker.Models.MotionArgs.SerpentArgs fullName: TrinketTinker.Models.MotionArgs.SerpentArgs nameWithType: SerpentArgs +- uid: TrinketTinker.Models.MotionArgs.SerpentArgs.HasTail + name: HasTail + href: api/TrinketTinker.Models.MotionArgs.SerpentArgs.html#TrinketTinker_Models_MotionArgs_SerpentArgs_HasTail + commentId: F:TrinketTinker.Models.MotionArgs.SerpentArgs.HasTail + fullName: TrinketTinker.Models.MotionArgs.SerpentArgs.HasTail + nameWithType: SerpentArgs.HasTail +- uid: TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts + name: SegmentAlts + href: api/TrinketTinker.Models.MotionArgs.SerpentArgs.html#TrinketTinker_Models_MotionArgs_SerpentArgs_SegmentAlts + commentId: P:TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts + fullName: TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts + nameWithType: SerpentArgs.SegmentAlts +- uid: TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts* + name: SegmentAlts + href: api/TrinketTinker.Models.MotionArgs.SerpentArgs.html#TrinketTinker_Models_MotionArgs_SerpentArgs_SegmentAlts_ + commentId: Overload:TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts + isSpec: "True" + fullName: TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentAlts + nameWithType: SerpentArgs.SegmentAlts - uid: TrinketTinker.Models.MotionArgs.SerpentArgs.SegmentCount name: SegmentCount href: api/TrinketTinker.Models.MotionArgs.SerpentArgs.html#TrinketTinker_Models_MotionArgs_SerpentArgs_SegmentCount @@ -4988,7 +5145,14 @@ references: - uid: TrinketTinker.Models.MotionData.AnimClips name: AnimClips href: api/TrinketTinker.Models.MotionData.html#TrinketTinker_Models_MotionData_AnimClips - commentId: F:TrinketTinker.Models.MotionData.AnimClips + commentId: P:TrinketTinker.Models.MotionData.AnimClips + fullName: TrinketTinker.Models.MotionData.AnimClips + nameWithType: MotionData.AnimClips +- uid: TrinketTinker.Models.MotionData.AnimClips* + name: AnimClips + href: api/TrinketTinker.Models.MotionData.html#TrinketTinker_Models_MotionData_AnimClips_ + commentId: Overload:TrinketTinker.Models.MotionData.AnimClips + isSpec: "True" fullName: TrinketTinker.Models.MotionData.AnimClips nameWithType: MotionData.AnimClips - uid: TrinketTinker.Models.MotionData.DirectionMode @@ -5043,22 +5207,6 @@ references: isSpec: "True" fullName: TrinketTinker.Models.MotionData.FrameStart nameWithType: MotionData.FrameStart -- uid: TrinketTinker.Models.MotionData.GetIdleAnim(System.Int32) - name: GetIdleAnim(int) - href: api/TrinketTinker.Models.MotionData.html#TrinketTinker_Models_MotionData_GetIdleAnim_System_Int32_ - commentId: M:TrinketTinker.Models.MotionData.GetIdleAnim(System.Int32) - name.vb: GetIdleAnim(Integer) - fullName: TrinketTinker.Models.MotionData.GetIdleAnim(int) - fullName.vb: TrinketTinker.Models.MotionData.GetIdleAnim(Integer) - nameWithType: MotionData.GetIdleAnim(int) - nameWithType.vb: MotionData.GetIdleAnim(Integer) -- uid: TrinketTinker.Models.MotionData.GetIdleAnim* - name: GetIdleAnim - href: api/TrinketTinker.Models.MotionData.html#TrinketTinker_Models_MotionData_GetIdleAnim_ - commentId: Overload:TrinketTinker.Models.MotionData.GetIdleAnim - isSpec: "True" - fullName: TrinketTinker.Models.MotionData.GetIdleAnim - nameWithType: MotionData.GetIdleAnim - uid: TrinketTinker.Models.MotionData.HideDuringEvents name: HideDuringEvents href: api/TrinketTinker.Models.MotionData.html#TrinketTinker_Models_MotionData_HideDuringEvents @@ -5255,6 +5403,12 @@ references: isSpec: "True" fullName: TrinketTinker.Models.TinkerData.Abilities nameWithType: TinkerData.Abilities +- uid: TrinketTinker.Models.TinkerData.AbilityUnlockConditions + name: AbilityUnlockConditions + href: api/TrinketTinker.Models.TinkerData.html#TrinketTinker_Models_TinkerData_AbilityUnlockConditions + commentId: F:TrinketTinker.Models.TinkerData.AbilityUnlockConditions + fullName: TrinketTinker.Models.TinkerData.AbilityUnlockConditions + nameWithType: TinkerData.AbilityUnlockConditions - uid: TrinketTinker.Models.TinkerData.MinLevel name: MinLevel href: api/TrinketTinker.Models.TinkerData.html#TrinketTinker_Models_TinkerData_MinLevel @@ -5294,6 +5448,12 @@ references: isSpec: "True" fullName: TrinketTinker.Models.TinkerData.Motions nameWithType: TinkerData.Motions +- uid: TrinketTinker.Models.TinkerData.VariantUnlockConditions + name: VariantUnlockConditions + href: api/TrinketTinker.Models.TinkerData.html#TrinketTinker_Models_TinkerData_VariantUnlockConditions + commentId: F:TrinketTinker.Models.TinkerData.VariantUnlockConditions + fullName: TrinketTinker.Models.TinkerData.VariantUnlockConditions + nameWithType: TinkerData.VariantUnlockConditions - uid: TrinketTinker.Models.TinkerData.Variants name: Variants href: api/TrinketTinker.Models.TinkerData.html#TrinketTinker_Models_TinkerData_Variants diff --git a/guide/toc.yml b/guide/toc.yml index 0afa673..9d955d7 100644 --- a/guide/toc.yml +++ b/guide/toc.yml @@ -60,7 +60,5 @@ name: Ability - href: 5-Temporary Animated Sprite.md name: Temporary Animated Sprite -- href: 6-Item Queries.md - name: Item Queries -- href: 7-Trinket Colorizer.md - name: Trinket Colorizer +- href: 6-Utility.md + name: Utility