Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
MPL-2.0 license
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.5.7
Hitscan and Projectile can now have FacingDirectionOnly which makes them only attack monsters in the direction the companion is facing.
Fixed issue with alt variants swapping between 2 most valid alt variants rather than keeping 1.
Version 1.5.6
Fixed Hidden trinkets disappearing for 1 day when returning to menu and loading save again.
Android sorta compatible-ish now, except for backpack related stuff which I can't fix at all.
HarvestForage now also harvest spawned items like quartz in the mines.
Projectile can now have Height which are different than offset in that they do not actually become different position.
Harvest* abilities will now show the item harvested in a short TAS over the companion, for HarvestTo Player and TinkerInventory, disable this with ShowHarvestedItem.
Anchors now have StopRange, which defines how far away to stop moving towards target.
Make projectile hitbox based directly on the size of texture, which should hopefully make it more reliable
Version 1.5.5
MoveSync now only sync movement with owner when anchor mode is owner, use MoveSyncAll for old behavior.
Serpent alt segment layer depth changes to make them consistent.
Fixed HarvestTo TrinketInventory not harvesting custom bush drops properly
Temporary Animated Sprite now checks Condition, if given
Version 1.5.4
Add several more Harvest* abilities, and matching AnchorTarget: HarvestTwig & AnchorTarget Twig, HarvestWeed & AnchorTarget Weed, HarvestDigSpot * AnchorTarget DigSpot
Separated position from offset to make companions better at harvesting things at Range=0
Fixed HarvestCrop only harvesting to player inventory
Fixed jittery movement on Lerp with no overlap and velocity = -2, is now wobbly movement
Made Content patcher tokens consistently apply on equipped trinkets
Version 1.5.3
Ability ProcSyncId is like ProcSyncIndex, but uses the Id to find what to Sync.
Fix null handling on add item to tinker inventory.
Fix regression on global inventory cleanup
Fix Nop ignoring timer
Version 1.5.2
Add HitTAS for Hitscan/Projectile, apply a TAS at the target on hit.
Add HitsDelay for Hitscan/Projectile, adds a delay between hits.
Fix Crash saving with more than 10 trinkets equipped
Fix Duplicating vanilla trinket companions
Change Hitscan ProcTAS now fires at the companion's position, instead of the target position, this is because HitTAS was added
Version 1.5.1
Fix crash on day ending
Version 1.5.0
Too long for nexus please see https://github.com/Mushymato/TrinketTinker/blob/1.5.0/CHANGELOG.md
Version 1.4.5
Error with filtering for certain types of crops (ginger?).
Version 1.4.4
Draw debug mode that shows the sprite index of the companion on screen. Toggle with command tt_draw_debug.
Companions not appearing in volcano and farm buildings.
Version 1.4.3
New HarvestShakeable ability to shake trees bushes and fruit trees.
New Shakeable anchor target.
New Nop ability that does nothing, but can be used for purpose of proc effects.
Anchors can now specify a list of RequiredAbilities. If set, the anchor only activates if the trinket has ability of matching AbilityClass at the current level. Some mode dependent default values are provided.
Abilities can define ProcSyncDelay for how much time should pass between its proc and any follow up abilities.
Crop and Forage Anchors can now specify context tag items to ignore.
HarvestCrop and HarvestForage can now specify context tag items to ignore.
fr.json by by Caranud
Version 1.4.2
Hopefully fix a crash after some events.
Version 1.4.1
Add support for randomized speech bubbles.
Add "Swim" anim clip key for when the player is swimming.
Fix companions duplicating when farmhand is exiting an event.
Version 1.4.0
Add support for randomized anim clips.
Add speech bubble feature.
Allow one shot clips to pause movement.
Changed perching clip to behave by static motion rules (check against player facing direction), rather than lerp motion rules (check against companion facing).
Fixed AbilityProc clips not playing in multiplayer.
Version 1.3.0
Additional HarvestTo field for Harvest type abilities to determine where the harvested item go (inventory, debris, none).
New field Filter on Anchors and on Hitscan/Projectile ability. If set, the enemy types listed will not be targeted.
Lerp MoveSync companions moving when a weapon is swung. They are now prevented from moving while a tool is being used. Also applies to check for perching.
Version 1.2.1
Fix bug with anvil not accepting vanilla trinkets
Version 1.2.0
New "Homing" argument on projectile to make projectile recheck target midflight.
Projectile used wrong target point, change to bounding box center.
Version 1.1.0
Update for SDV 1.6.14
Version 1.0.2
fix incorrect order of asset invalidation
Version 1.0.1
Added workaround for issue where the effect class qualified name could not be derived
Version 1.0.0
Initial Release
TrinketTinker - Stardew Valley Trinket Framework This is a framework for creating trinkets that can have advanced abilities using just 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.
Support for custom effects from other C# mods, through the use of actions.
Have the player obtain trinket effects without actually having the trinket slot unlocked, through the use of special trigger actions.
If you are looking to make mods using this framework, refer to the Modder Guide.
This mod is licensed under MIT, contributions are welcome.
Compatible with Stardew Valley 1.6.9+ on Windows/Mac/Linux, see manifest.json for the exact game and SMAPI version this mod is built against.
Somewhat works on Android, with the exception of Inventory related features. This is unlikely to be fixed anytime soon.
User Configuration
These keybinds are shared across mods using this framework, for the user to set to their liking.
Hide During Events: Hide all trinket companions during events. Only affects trinkets added via trinket tinker.
Do Interact Key: Press this key to interact with your companion, while you are close enough.
Open Tinker Inventory Key: Press this key to open the inventory of your equipped trinket(s).
Tinker Inventory Next Key: While a Tinker Inventory is open and multiple trinkets with inventory are equipped, press this to go to the next inventory.
Tinker Inventory Prev Key: While a Tinker Inventory is open and multiple trinkets with inventory are equipped, press this to go to the previous inventory.
Troubleshooting
If you ever end up with a trinket or a companion "stuck" on your player character, use tt_unequip_trinket console command to remove all trinkets.