private void Awake() { positionList = new List <Vector2>(); transform = GetComponentNotNull <C_Transform2DProxy>().transform; face = GetComponentNotNull <Face>(); dashCount = GetComponentNotNull <DashCount>(); hairSprite = GetComponentNotNull <HairSprite>(); for (int i = 0; i < positionCount; i++) { positionList.Add(transform.localPosition); } }
// ================ Module loading ================ public ExtendedVariantsModule() { Instance = this; Randomizer = new VariantRandomizer(); TriggerManager = new ExtendedVariantTriggerManager(); DashCount dashCount; ZoomLevel zoomLevel; VariantHandlers[Variant.Gravity] = new Gravity(); VariantHandlers[Variant.FallSpeed] = new FallSpeed(); VariantHandlers[Variant.JumpHeight] = new JumpHeight(); VariantHandlers[Variant.SpeedX] = new SpeedX(); VariantHandlers[Variant.Stamina] = new Stamina(); VariantHandlers[Variant.DashSpeed] = new DashSpeed(); VariantHandlers[Variant.DashCount] = (dashCount = new DashCount()); VariantHandlers[Variant.HeldDash] = new HeldDash(); VariantHandlers[Variant.Friction] = new Friction(); VariantHandlers[Variant.AirFriction] = new AirFriction(); VariantHandlers[Variant.DisableWallJumping] = new DisableWallJumping(); VariantHandlers[Variant.DisableClimbJumping] = new DisableClimbJumping(); VariantHandlers[Variant.JumpCount] = new JumpCount(dashCount); VariantHandlers[Variant.ZoomLevel] = (zoomLevel = new ZoomLevel()); VariantHandlers[Variant.UpsideDown] = new UpsideDown(zoomLevel); VariantHandlers[Variant.HyperdashSpeed] = new HyperdashSpeed(); VariantHandlers[Variant.ExplodeLaunchSpeed] = new ExplodeLaunchSpeed(); // DisableSuperBoosts is not a variant VariantHandlers[Variant.WallBouncingSpeed] = new WallbouncingSpeed(); VariantHandlers[Variant.DashLength] = new DashLength(); VariantHandlers[Variant.ForceDuckOnGround] = new ForceDuckOnGround(); VariantHandlers[Variant.InvertDashes] = new InvertDashes(); VariantHandlers[Variant.InvertGrab] = new InvertGrab(); VariantHandlers[Variant.DisableNeutralJumping] = new DisableNeutralJumping(); VariantHandlers[Variant.BadelineChasersEverywhere] = new BadelineChasersEverywhere(); // ChaserCount is not a variant // AffectExistingChasers is not a variant VariantHandlers[Variant.BadelineBossesEverywhere] = new BadelineBossesEverywhere(); // BadelineAttackPattern is not a variant // ChangePatternsOfExistingBosses is not a variant // FirstBadelineSpawnRandom is not a variant // BadelineBossCount is not a variant // BadelineBossNodeCount is not a variant VariantHandlers[Variant.RegularHiccups] = new RegularHiccups(); // HiccupStrength is not a variant // RefillJumpsOnDashRefill is not a variant VariantHandlers[Variant.RoomLighting] = new RoomLighting(); VariantHandlers[Variant.RoomBloom] = new RoomBloom(); VariantHandlers[Variant.GlitchEffect] = new GlitchEffect(); VariantHandlers[Variant.AnxietyEffect] = new AnxietyEffect(); VariantHandlers[Variant.BlurLevel] = new BlurLevel(); VariantHandlers[Variant.BackgroundBlurLevel] = new BackgroundBlurLevel(); VariantHandlers[Variant.EverythingIsUnderwater] = new EverythingIsUnderwater(); VariantHandlers[Variant.OshiroEverywhere] = new OshiroEverywhere(); // OshiroCount is not a variant // ReverseOshiroCount is not a variant // DisableOshiroSlowdown is not a variant VariantHandlers[Variant.WindEverywhere] = new WindEverywhere(); VariantHandlers[Variant.SnowballsEverywhere] = new SnowballsEverywhere(); // SnowballDelay is not a variant VariantHandlers[Variant.AddSeekers] = new AddSeekers(); // DisableSeekerSlowdown is not a variant VariantHandlers[Variant.TheoCrystalsEverywhere] = new TheoCrystalsEverywhere(); // AllowThrowingTheoOffscreen is not a variant // AllowLeavingTheoBehind is not a variant VariantHandlers[Variant.RisingLavaEverywhere] = new RisingLavaEverywhere(); // RisingLavaSpeed is not a variant // BadelineLag is not a variant // DelayBetweenBadelines is not a variant VariantHandlers[Variant.AllStrawberriesAreGoldens] = new AllStrawberriesAreGoldens(); VariantHandlers[Variant.DontRefillDashOnGround] = new DontRefillDashOnGround(); // DontRefillStaminaOnGround is not a variant VariantHandlers[Variant.GameSpeed] = new GameSpeed(); VariantHandlers[Variant.ColorGrading] = new ColorGrading(); VariantHandlers[Variant.JellyfishEverywhere] = new JellyfishEverywhere(); VariantHandlers[Variant.InvertHorizontalControls] = new InvertHorizontalControls(); VariantHandlers[Variant.InvertVerticalControls] = new InvertVerticalControls(); VariantHandlers[Variant.BounceEverywhere] = new BounceEverywhere(); VariantHandlers[Variant.SuperdashSteeringSpeed] = new SuperdashSteeringSpeed(); VariantHandlers[Variant.ScreenShakeIntensity] = new ScreenShakeIntensity(); VariantHandlers[Variant.DashDirection] = new DashDirection(); VariantHandlers[Variant.BackgroundBrightness] = new BackgroundBrightness(); VariantHandlers[Variant.DisableMadelineSpotlight] = new DisableMadelineSpotlight(); VariantHandlers[Variant.ForegroundEffectOpacity] = new ForegroundEffectOpacity(); // MadelineIsSilhouette is instanciated in Initialize // MadelineHasPonytail is instanciated in Initialize VariantHandlers[Variant.DashTrailAllTheTime] = new DashTrailAllTheTime(); VariantHandlers[Variant.DisableClimbingUpOrDown] = new DisableClimbingUpOrDown(); VariantHandlers[Variant.SwimmingSpeed] = new SwimmingSpeed(); VariantHandlers[Variant.BoostMultiplier] = new BoostMultiplier(); VariantHandlers[Variant.FriendlyBadelineFollower] = new FriendlyBadelineFollower(); VariantHandlers[Variant.DisableRefillsOnScreenTransition] = new DisableRefillsOnScreenTransition(); VariantHandlers[Variant.RestoreDashesOnRespawn] = new RestoreDashesOnRespawn(); VariantHandlers[Variant.DisplayDashCount] = new DisplayDashCount(); VariantHandlers[Variant.MadelineBackpackMode] = new MadelineBackpackMode(); VariantHandlers[Variant.EveryJumpIsUltra] = new EveryJumpIsUltra(); VariantHandlers[Variant.CoyoteTime] = new CoyoteTime(); }