Mods / Temporal Symphony - Temporal Warden

Tags:
Symphony Visual
Authors:
RainbowFresh, SaltyWater
Side:
Both
Created:
Jun 2nd at 3:32 PM
Last modified:
Jun 3rd at 3:43 PM
Downloads:
1641
Follow Unfollow 82
Recommended download (for Vintage Story 1.22.2 - 1.22.3):
Temporal Warden 0.1.1.zip  1-click install

Salty and proto's work on the Thunderlord update of Temporal Symphony is amazing. But seeing all the new effects and what is clearly possible to do with Dave gave me an idea...

This addon does two small audio-visual changes to Dave's behavior:

  • After the imminent warning for an impending temporal storm has played out, Dave spawns a fair visual distance away. He then proceeds to walk directly towards the player, until reaching his normal walking distance at which he does his roar and commences the temporal storm. He then turns to circle as usual. During this approach phase, his footsteps cause increasingly strong shaking. As Dave is view-distance based, depending on how far above the minimum 380 view-distance your game is set you might see him appear sooner and approach you, or just peek-a-boo style appear right before the storm.
  • During low temporal stability, Dave randomly appears somewhere around the player. Just standing there. Looking at you. Menacingly. Before fading back into the mist after a few seconds. Theoretically he is actually fixed in the world and can be approached, during which he keeps his gazed locked onto your actual position - but achieving that at normal survival walkspeed before he fades is hard.

 


 

This mod has been commissioned from and created by the amazing SaltyWater.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
0.1.1 temporalwarden
1.22.2 - 1.22.3
696 Jun 3rd at 3:43 PM Temporal Warden 0.1.1.zip 1-click install

Compiled against Temporal Symphony 2.3.2

- Fixes crash on temporal storm start after roar

0.1.0 temporalwarden
1.22.2 - 1.22.3
945 Jun 2nd at 3:34 PM Temporal Warden.zip 1-click install

Initial Release


9 Comments (oldest first | newest first) (threaded | flat)

Michaloid , 6 days ago

That's actually horrifying. The creature that is known to spend it's time to go around in circles, just looks at you and walks in your direction.

Randompug, 6 days ago

Is there like a video we could watch showcasing this?

RainbowFresh , Jun 3rd at 6:04 AM

Kew Vinni_Pukh Omega_Wolf
Looking into it. Current unconfirmed ideas are

  • Something about OptiTime/Tungsten/Synergy optimizations
  • The newest version of Temporal Symphony (updated after this was made but still slightly before this was released) having made some of the hooks incompatible

If you could potentially test if disabling the former or using a slightly older version of Temporal Symphony fixes this it might help pinpoint the issue - I'll only be home in several hours to do tests myself.

Omega_Wolf, Jun 3rd at 5:43 AM

crashed as soon as the storm hit xc

Vinni_Pukh, Jun 2nd at 7:44 PM

I also had a crash just as a storm hit, the roar was awesome though lol
Maybe related to optitime? Not 100% sure, just thought I'd pass the log on in case it helps :)

Crash Report
2026-06-02 1:39:38 p.m.: Critical error occurred in the following mod: temporalwarden@0.1.0
Loaded Mods: allcavesareconnected@1.0.3, armordebuffremover@1.0.0, awearablelight@1.2.1, betterarrows@1.0.1, bovinae@0.3.5, capreolinae@2.0.12, catchledge@0.7.1, catchlivestock@0.2.4, chiseltools@1.17.2, crawlanddive@0.2.5, dilkonis@1.3.0, dodgemaster@1.2.4, elephantidae@1.0.17, elkaccessories@1.2.3, fallingtree@0.5.2, fastpackeddirtpaths@1.22.3, fixscythe@0.2.1, hardcorewaterforked@1.4.6-rc.1, horperfopt@1.0.5, hydrateordiedrate@2.4.12, immersivefoliage@0.1.1, interestingoregen@2.3.8, jsonpatcheslib@1.5.3, jumpheight@1.4.0, kilnshelves@1.1.1, millwright@1.3.3, miningsuppliesinminingbag6@1.0.6, nightskydelightsonlysky@1.22.2, overhaullib@2.0.8, overhaulliblegacycompat@1.1.13, p1nksshelvingtweaks@1.0.8, prospecttogether@2.2.1, racialequality@0.1.28, racialequalityexpanded@0.1.6, scrollrackable@1.5.2, shelfobsessed@2.1.5, spinningwheel@1.2.9, stickisolation@1.0.0, temporalsymphony@2.3.2, temporalwarden@0.1.0, thetruearchimedesscrew@0.1.40, game@1.22.3, vsimgui@1.2.5, walkingstick@3.0.9, xvshaders@1.0.2, achievements@1.0.7, aculinaryartillery@2.0.0-dev.19, algernonsterrainsampler@1.3.0, animalcages@5.0.0, anvilperformanceoptimization@1.0.0, attributerenderinglibrary@3.1.4, bedspawnv2@1.7.0, betterentitytooltip@1.1.0, bettererprospecting@3.3.3, betternails@2.0.3, bloodtrail@1.2.2, blushlibrary@1.0.14, bovinaddon@1.0.0, bowtornbyproducts@1.1.2, butchering@1.13.4, carryonlib@1.0.0-pre.2, claywheel@2.0.1, commonlibforked@2.8.1, configlib@1.12.0, dampenedanvil@1.2.0, danatweaks@4.0.1, egocaribautomapmarkers@5.0.3, elkphysics@3.0.3, extrafurniture@1.0.1, extrainfo@2.2.1, farseer@1.4.0, fastmap@122.5.0-rc.5, fennelfeed@1.0.1, foodshelves@3.0.4, forestarmor@1.4.0, genelib@3.1.0, geologymap@1.1.0, handbookdeclutterer@2.0.1, hudclockpatch@4.3.1, hudshelf@0.3.2, iceiscellar@2.0.0, immersivecorpsedrop@1.0.4, improvedhandbookrecipesfork@1222.0.2, ithaniacannedgoods@2.0.5, jaunt@3.0.0-rc.3, knitting@2.0.3, materialneeds@1.1.16, mnflowers@1.0.0, mngeology@2.0.7, morepiles@3.0.1, ndlflowergrowth@2.2.0, opineuponpine@1.0.9, optitime@1.5.12, orekiwoofsbeehives@2.0.0, packratfork@1.1.3, panningmachine@1.0.11, placeonslabs@1.1.3, playermodellib@1.19.3, playerstatusstrip@1.0.1, purposefulstorage@2.0.1, realisticwater@0.2.2, realsmoke@1.2.0, rivers@5.0.1, roamingbees@2.0.0, scaffolding@1.3.1, shadehouse@1.2.1, shipwright@1.3.3, slowtox@5.0.0, smithingplus@1.9.0-rc.1, stonebakeoven@1.3.4, synergy@1.1.12, tackandequipment@1.0.0, toolsanimationsfork@1.2.6, toolsmith@1.2.17, valksfuzzyclouds@2.1.3, vintagetweaks@3.4.2, creative@1.22.3, vsecomachina@0.6.1, vsroofing@1.5.7, survival@1.22.3, waterfall@1.2.2, watersheds@6.3.6, windchimes@1.5.2, woodenshuttersandmore@1.3.3, autoconfiglib@2.0.10, bixo@0.3.0, blushandbins@1.2.1, blushandblacksmith@1.0.13, carryon@2.0.0-pre.2, draconis@1.4.2, elkjaunt@1.4.0, em@3.6.1, equus@1.3.0-rc.1, expandedfoods@2.0.0-dev.9, fallingecomachina@0.1.1, frogemod@1.0.9, heatretentioncontinued@1.0.3, hodvisualizer@1.0.0, lupines@0.2.7, quiversfork@0.9.4, realsmokeqppatch@1.0.0, seraphleveling@1.17.2, shearlib@1.3.0, slowtoxvisualized@1.1.10, tailorsdelight@2.2.2, terrainslabs@1.0.16, waterwheelriver@1.2.1, windowstoragelib@1.2.5, zombpspatch@2.1.0, aldiclasses@2.1.1, bricklayers@3.2.2, butcheringseraphlevelingcompatibility@1.1.1, drakeextension@1.0.6, dressmakers@1.8.0, efmealsmodule@1.0.0-dev.3, vanillapanestorage@1.8.3, wool@1.9.2, aldiclassescraftsonly@1.0.0
Involved Harmony IDs: com.zaldaryon.optitime
System.MissingMethodException: Method not found: 'Void TemporalCall.ThunderlordPatch.ForceThunderlordAppear(Single)'.
at TemporalWarden.WardenStormWalkInSystem.StopControl(Boolean handOffToTemporalSymphony)
at TemporalWarden.WardenStormWalkInSystem.UpdateState()
at TemporalWarden.WardenStormWalkInSystem.OnGameTick(Single dt)
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 36
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 134
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 867
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 742
at Vintagestory.Client.ScreenManager.OnNewFrame_Patch1(ScreenManager this, Single dt)
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Wandour, Jun 2nd at 5:23 PM

we need a video to showcase whats happening

RainbowFresh , Jun 3rd at 5:58 AM (modified Jun 3rd at 6:00 AM)
@Wandour: we need a video to showcase whats happening

I'll consider if it's worth trying to record a video considering with all the visual effects of temporal stuff the bitrate would certainly be ass - though it shouldn't be too hard to build an accurate expectation from the description. If you have ever played with a temporal storm in the base game and view distance set to atleast 380, you know "Dave", aka. the "Thunderlord", aka. Stickbug man running circles around you in the background. If you have ever played with Temporal Symphony installed since the 2.3.0 Thunderlord update, you will know he is now already visible after the "imminent" warning (the one about 1 minute before the actual storm starts) running circles around you, before roaring and the storm starting. This addon goes one step further to change it so he doesn't just spawn in running circles around you, but instead spawn far away and literally walk straight towards you. Eventually coming into render distance "emerging from the fog". A spooky sight to behold.

Also during low temporal stability, Dave apparently normally appears aswell, just like during a storm (I wouldn't know, I'm usually deep underground when that happens). This addon changes that behavior aswell - during low temporal stability (<20%) he randomly appears somewhere around you, standing still, looking at you and tracking your movement before fading away after a couple of seconds. Repeatedly.

Kew, Jun 2nd at 5:17 PM

Super awesome mod!
I thought I had one more warning before the storm, that's when I noticed Dave approaching me.
Unfortunately my game crashed after his roar. I'm guessing when he went to circle me.

My game is horribly modded though, so I'm sure it's no fault of this mod:

 

Crash Report
Running on 64 bit Windows 10.0.26200.0 with 95831 MB RAM
Game Version: v1.22.3 (Stable)
02-06-2026 19:10:46: Critical error occurred in the following mod: temporalwarden@0.1.0
Loaded Mods: walkingstick@3.0.9, antiqueharmony@1.14.1, arcticsurvival@2.0.0, awr@1.0.5, astriaporta@0.1.5, awearablelight@1.2.1, barkbeetle@1.0.6, blackguardadditions@1.1.9, bradyrockyextraction@1.1.0, cavesymphony@1.2.2, chargedjump@1.2.3, chonkyvessels@1.5.4, clicktopick@2.1.4, cpxem@1.0.1, crawlanddive@0.2.5, hqzlights@1.1.3, elkaccessories@1.2.3, elivory@1.0.4, extraruins@1.0.4, fallingtree@0.5.2, fastpackeddirtpaths@1.22.3, foodcrate@2.2.1, faviking@1.1.6, forlornadditions@1.0.4, caninae@1.1.5, capreolinae@2.0.12, machairodontinae@1.1.9, pantherinae@1.2.13, geoaddons@1.4.7, hangingvessels@1.1.1, hardcorewaterforked@1.4.5, hydrateordiedrate@2.4.12, immersivefoliage@0.1.1, immersivelanternsfork@0.0.6, immersivemining@0.2.22, immersivequicklime@0.1.5, indappledgroves@3.0.1-rc.5, dolabra@2.0.0, instantpickup@1.1.4, interestingoregen@2.3.8, jsonpatcheslib@1.5.3, moreiconscs@1.1.1, overhaulliblegacycompat@1.1.12, overhaullib@2.0.8, paniniprojection@1.1.1, primitivesurvival@5.0.5, prospecttogether@2.2.1, p2lumbersling@1.0.3, qualityores@1.0.0, spinningwheel@1.2.8, sprintmomentum@0.2.1, temporalwarden@0.1.0, temporalsymphony@2.3.2, thetruearchimedesscrew@0.1.40, toolbelt@0.3.5, tradie@2.0.1, tseasonedfirewood@1.2.9, vintageengineering@0.5.5, game@1.22.3, vsimgui@1.2.5, weaponpackalphareb@1.8.4, xvshaders@1.0.2, zoombuttonreborn@2.0.2, abyssaldepths@1.0.17, alchemy@2.0.34, animationslib@0.0.2, attributerenderinglibrary@3.1.4, barkcanoe@1.22.0, betterclothes@1.0.5, betterentitytooltip@1.1.0, bettererprospecting@3.3.3, betterhandbook@1.0.6, betternails@2.0.3, betterruins@0.6.2, scrapblocksfix@2.0.5, bettertraders@0.2.0, bloodtrail@1.2.2, bosses@1.1.0, butchering@1.13.4, carryon@1.14.2, chestorganizerm4@1.2.6, chop@1.1.2, chunklod@1.1.0, chuteablequernv2@2.0.0, chuteblockplacer@1.0.5, clothingvisuallydegrades@2.3.0, bell@1.0.4, crateful@2.1.0, critchersgrapplehook@1.1.0, danatweaks@4.0.1, decayingcreatures@0.1.8, deepveinasbestos@1.2.3, donningtime@2.4.0, doorvariants@1.1.4, dressedtokillredux@1.0.1, unchained@1.7.0, eldritchmonsters@2.8.0, elkgoatskullmask@1.6.0, fantasycreaturesupdate@0.8.3, feverstonewilds@2.1.2, fieldsofcranberries@0.0.5, fixperishrate@1.0.1, florishingfungus@1.1.1, foodshelves@3.0.4, footprints@1.2.2, foragersgamble@1.3.0, forestarmor@1.4.0, fromgoldencombs@2.0.7, fsr1r@2.0.3, geologymap@1.1.0, spawngiantwaterlilies@1.0.1, handbookdeclutterer@2.0.1, hazmatsuit@1222.0.2, herbarium@1.4.2-rc.1, iceiscellar@2.0.0, immersivecorpsedrop@1.0.4, immersiveminingandahalf@1.0.0, improvedhandbookrecipesfork@1222.0.2, improvedplanttooltip@1.0.0, infinitumpickupmod@1.2.10, itemsyncfixes@1.0.4, jaunt@3.0.0-rc.3, krpgenchantment@1.4.4, localrespawn@2.0.1, maketeaforked@0.9.42, critchersmapnotes@1.0.6, medievalexpansionpatch@1.4.1, metalpots@1.7.6, metalunittooltip@1.1.1, meteoricexpansionfork@1.3.3, meteoricsteel@1.0.15, miffork@1.0.1, morepiles@3.0.1, ndlcoralgrowth@2.1.0, ndlflowergrowth@2.1.0, ndlmushroomgrowth@2.2.0, ndltreegrowth@2.2.0, ndltreehollows@2.1.2, ndlvillagers@3.3.1, nobackwardssprinting@1.0.1, noholdfruitpress@0.1.3, outlawmodreborn@1.0.2, panningmachine@1.0.11, passthruchutes@1.0.2, pelaguswinds1222fork@1.2.3, petai@5.1.1, pigroast@1.1.1, pipeleaf@2.6.1, placeonslabs@1.1.3, playermodellib@1.19.2, playerstatusstrip@1.0.1, portcullisfix@1222.0.6, postsandbeams@1.5.1, claywheel@2.0.1, primitivebackpacks@1.1.3, progressionframework@1.0.0, purposefulstorage@2.0.1, quarry@1.0.9, realistictemperatures@0.1.6, realsmoke@1.2.0, ritualapotheosis@0.1.1, rivers@5.0.1, rustboundmagic@3.2.2, saltandsands@1.3.0, scarecrow@1.8.2, slowtox@5.0.0, soldierspyboneworks@1.2.0, soldierspycraftworks@1.2.1, sonitodynamictraits@1.0.10, soundsofnature@0.2.2, specializedbackpacks@1.0.2, spyglass@0.6.1, steamworks@1.0.6, tpnetpatched@1.15.1, tfcm@0.3.0, tinkertailorclockworks@1.4.1, tinkertailorpatchworks@1.6.2, toolsmith@1.2.17, torchholdersmithingplus@1.0.4, traitacquirermoddedclasses@0.9.13, translocatorpaths@1.2.2, treetapredux@1.2.7, bitzartuitweaks@0.6.4, universalhusbandry@1.2.1, valksfuzzyclouds@2.1.3, vigor@122.7.3, visibleoresandminerals@1.1.1, visiblebags@1.0.2, vsairshipmod@1.1.4, creative@1.22.3, vsecomachina@0.6.1, vsroofing@1.5.7, survival@1.22.3, vsvillage@5.1.7, watersheds@6.3.6, weaponpackalphaunoff@1.8.2, wildgrasscontinued@1.3.11, windchimes@1.5.2, wonderfulcreatures@1.0.3, xlibfork@1.0.11, xskillgildedxadlisclasses@2.3.2, antlershorns@1.5.1, clicktoggle@1.1.2, tradercamps@1.1.8, crossbowsfork@1.9.13, draconis@1.4.2, moredragons@1.0.67, em@3.6.1, fallingecomachina@0.1.1, fseraph@0.4.8, foxtaming@1.7.6, goblinears@2.3.4, hodvisualizer@1.0.0, immersiveinventoryspoilage@1.3.2, koboldrdx@1.4.8, koboldtr@1.0.1, mapper@0.5.2, mechanicalwoodsplitter@1.2.3, medievalarchitecture@1.1.1, monoceros@1.4.0-pre.1, nf3ttranslocatorrepair@1.0.0, quiversfork@0.9.4, raiders@0.3.0, seafarer@0.5.12, seikret@1.0.1, seraphleveling@1.17.2, shearlib@1.3.0, slowtoxvisualized@1.1.10, tailorsdelight@2.2.2, terrainslabs@1.0.16, tinkertailorscrapworks@1.4.3, toolsmithdolabracompat@0.1.4, underwaterhorrors@0.5.1, vsvillageaged@0.0.8, vsvillageindustrial@0.0.8, vsvillagetowers@0.0.8, waterwheelriver@1.2.1, wildcraftfruit@1.4.61, wildcrafttree@1.3.4, wethology@1.0.3, xskillsfork@1.0.48, xskilsxaldisclassesnoexclusiveskillspatch@1.0.0, aldiclasses@2.1.1, draconisrhinocroma@1.0.0-rc.3, fafseraphcompat@1.0.0, xskillstailoring@0.1.2, wool@1.9.2, aldiclassesadvancedfeatures@2.1.1, traitacquirermoddedaldibooks@1.1.1, crazyspotterywheelxskillspatchaldisclasses@1.0.0
Involved Harmony IDs: com.tungsten.optimizations
System.MissingMethodException: Method not found: 'Void TemporalCall.ThunderlordPatch.ForceThunderlordAppear(Single)'.
at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at TemporalWarden.WardenStormWalkInSystem.StopControl(Boolean handOffToTemporalSymphony)
at TemporalWarden.WardenStormWalkInSystem.StopControl(Boolean handOffToTemporalSymphony)
at TemporalWarden.WardenStormWalkInSystem.UpdateState()
at TemporalWarden.WardenStormWalkInSystem.OnGameTick(Single dt)
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 36
at Vintagestory.Common.EventManager.TriggerGameTick_Patch1(EventManager this, Int64 ellapsedMilliseconds, IWorldAccessor world)
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 867
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 742
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95