@@ -28,7 +28,7 @@ private bool RainWorldGame_AllowRainCounterToTick(On.RainWorldGame.orig_AllowRai
2828
2929 internal static float RainWorldGame_TimeSpeedFac_get ( orig_TimeSpeedFac orig , RainWorldGame self )
3030 {
31- if ( self . GetCustomData ( ) . isTimeStopActive )
31+ if ( self . GetCustomData ( ) . isTimeStopActive && ! self . GetCustomData ( ) . allowEffectsGraohicUpdate )
3232 {
3333 return 0f ;
3434 }
@@ -110,6 +110,7 @@ public static class RainWorlGameCWT
110110 public class Data
111111 {
112112 internal bool isTimeStopActive ;
113+ internal bool allowEffectsGraohicUpdate ;
113114 }
114115 }
115116
@@ -144,6 +145,34 @@ public static bool IsTimeStopActive(this RainWorldGame rwg)
144145 return rwg . GetCustomData ( ) . isTimeStopActive ;
145146 }
146147
148+ /// <summary>
149+ /// Allows some decorative graphics and sound controllers to update in Time Stop state.
150+ /// Sets TimeSpeedFac to original value.
151+ /// </summary>
152+ public static void AllowEffectsUpdateDuringTimeStop ( this RainWorldGame rwg )
153+ {
154+ if ( rwg . GetCustomData ( ) . allowEffectsGraohicUpdate ) return ;
155+ rwg . GetCustomData ( ) . allowEffectsGraohicUpdate = true ;
156+ }
157+
158+ /// <summary>
159+ /// Prevents some decorative graphics and sound controllers from updating in Time Stop state.
160+ /// Sets TimeSpeedFac to 0f.
161+ /// </summary>
162+ public static void DisallowEffectsUpdateDuringTimeStop ( this RainWorldGame rwg )
163+ {
164+ if ( ! rwg . GetCustomData ( ) . allowEffectsGraohicUpdate ) return ;
165+ rwg . GetCustomData ( ) . allowEffectsGraohicUpdate = false ;
166+ }
167+
168+ /// <summary>
169+ /// Returns whenever or not some decorative graphics and sound controllers can update.
170+ /// </summary>
171+ public static bool IsEffectsUpdateAllowed ( this RainWorldGame rwg )
172+ {
173+ return rwg . GetCustomData ( ) . allowEffectsGraohicUpdate ;
174+ }
175+
147176 /// <summary>
148177 /// Adds class type to the TimeStopImmuneTypes list
149178 /// </summary>
0 commit comments