1919using LabApi . Events . Arguments . PlayerEvents ;
2020
2121using UnityEngine ;
22+ using InventorySystem . Items . MarshmallowMan ;
2223// ReSharper disable UnusedAutoPropertyAccessor.Local
2324
2425#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable.
@@ -275,7 +276,12 @@ static EffectContainer()
275276 /// Gets the player's SCP-1576 effect.
276277 /// </summary>
277278 public Scp1576 Scp1576 { get ; private set ; }
278-
279+
280+ /// <summary>
281+ /// Gets the player's <see cref="CustomPlayerEffects.Scp1509Resurrected"/> effect.
282+ /// </summary>
283+ public Scp1509Resurrected Scp1509Resurrected { get ; private set ; }
284+
279285 /// <summary>
280286 /// Gets the player's AmnesiaVision effect.
281287 /// </summary>
@@ -342,6 +348,73 @@ static EffectContainer()
342348 public Vitality Vitality { get ; private set ; }
343349 #endregion
344350
351+ #region Halloween Effects
352+ /// <summary>
353+ /// Gets the player's <see cref="MarshmallowEffect"/> effect.
354+ /// </summary>
355+ public MarshmallowEffect Marshmallow { get ; private set ; }
356+
357+ /// <summary>
358+ /// Gets the player's <see cref="CustomPlayerEffects.Metal"/> effect.
359+ /// </summary>
360+ public Metal Metal { get ; private set ; }
361+
362+ /// <summary>
363+ /// Gets the player's <see cref="CustomPlayerEffects.Prismatic"/> effect.
364+ /// </summary>
365+ public Prismatic Prismatic { get ; private set ; }
366+
367+ /// <summary>
368+ /// Gets the player's <see cref="CustomPlayerEffects.Spicy"/> effect.
369+ /// </summary>
370+ public Spicy Spicy { get ; private set ; }
371+
372+ /// <summary>
373+ /// Gets the player's <see cref="CustomPlayerEffects.SugarRush"/> effect.
374+ /// </summary>
375+ public SugarRush SugarRush { get ; private set ; }
376+
377+ /// <summary>
378+ /// Gets the player's <see cref="CustomPlayerEffects.SugarHigh"/> effect.
379+ /// </summary>
380+ public SugarHigh SugarHigh { get ; private set ; }
381+
382+ /// <summary>
383+ /// Gets the player's <see cref="CustomPlayerEffects.SugarCrave"/> effect.
384+ /// </summary>
385+ public SugarCrave SugarCrave { get ; private set ; }
386+
387+ /// <summary>
388+ /// Gets the player's <see cref="CustomPlayerEffects.OrangeCandy"/> effect.
389+ /// </summary>
390+ public OrangeCandy OrangeCandy { get ; private set ; }
391+
392+ /// <summary>
393+ /// Gets the player's <see cref="CustomPlayerEffects.OrangeWitness"/> effect.
394+ /// </summary>
395+ public OrangeWitness OrangeWitness { get ; private set ; }
396+
397+ /// <summary>
398+ /// Gets the player's <see cref="CustomPlayerEffects.WhiteCandy"/> effect.
399+ /// </summary>
400+ public WhiteCandy WhiteCandy { get ; private set ; }
401+
402+ /// <summary>
403+ /// Gets the player's <see cref="CustomPlayerEffects.SlowMetabolism"/> effect.
404+ /// </summary>
405+ public SlowMetabolism SlowMetabolism { get ; private set ; }
406+
407+ /// <summary>
408+ /// Gets the player's <see cref="CustomPlayerEffects.TemporaryBypass"/> effect.
409+ /// </summary>
410+ public TemporaryBypass TemporaryBypass { get ; private set ; }
411+
412+ /// <summary>
413+ /// Gets the player's <see cref="CustomPlayerEffects.TraumatizedByEvil"/> effect.
414+ /// </summary>
415+ public TraumatizedByEvil TraumatizedByEvil { get ; private set ; }
416+ #endregion
417+
345418 /// <summary>
346419 /// Whether or not the player has a forced fog type.
347420 /// </summary>
@@ -464,7 +537,7 @@ internal EffectContainer(PlayerEffectsController controller, ExPlayer player)
464537 }
465538 else
466539 {
467- ApiLog . Warn ( "Effect API ", $ "No properties are defined for effect: { type . FullName } ") ;
540+ ApiLog . Error ( "LabExtended ", $ "Effect &3 { type . Name } &r does not have any properties! ") ;
468541 }
469542 }
470543
@@ -478,24 +551,22 @@ internal EffectContainer(PlayerEffectsController controller, ExPlayer player)
478551
479552 if ( props . Count != _properties . Count ( ) )
480553 {
481- ApiLog . Warn ( "Effect API" ,
482- $ "Failed to set some effect properties (total={ _properties . Count ( ) } / set={ props . Count } )") ;
554+ ApiLog . Error ( "LabExtended" , $ "Some effects are missing! (set &6{ props . Count } &r / &3{ _properties . Count ( ) } &r)") ;
483555
484556 foreach ( var prop in _properties )
485557 {
486558 if ( props . Contains ( prop ) )
487559 continue ;
488560
489- ApiLog . Warn ( "Effect API ", $ "Missing effect for property: { prop . GetMemberName ( ) } ") ;
561+ ApiLog . Error ( "LabExtended ", $ "- &3 { prop . Name } &r (&1 { prop . PropertyType . Name } &r) ") ;
490562 }
491563 }
492564
493565 ListPool < PropertyInfo > . Shared . Return ( props ) ;
494566 }
495567 catch ( Exception ex )
496568 {
497- ApiLog . Error ( "Effect API" ,
498- $ "An error occurred while setting up the effect container!\n { ex . ToColoredString ( ) } ") ;
569+ ApiLog . Error ( "LabExtended" , $ "An error occurred while setting up the effect container!\n { ex . ToColoredString ( ) } ") ;
499570 }
500571 }
501572
0 commit comments