Exemple #1
0
        private void TentacleOutline(On.Celeste.Spikes.orig_Render orig, Spikes self)
        {
            if (this.InRandomizer && (string)typeof(Spikes).GetField("spikeType", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(self) == "tentacles")
            {
                self.SetSpikeColor(Color.Black);
                var onShake = typeof(Spikes).GetMethod("OnShake", BindingFlags.Instance | BindingFlags.NonPublic);
                onShake.Invoke(self, new object[] { new Vector2(1, 0) });
                orig(self);
                onShake.Invoke(self, new object[] { new Vector2(-1, 1) });
                orig(self);
                onShake.Invoke(self, new object[] { new Vector2(-1, -1) });
                orig(self);
                onShake.Invoke(self, new object[] { new Vector2(1, -1) });
                orig(self);
                onShake.Invoke(self, new object[] { new Vector2(0, 1) });
                self.SetSpikeColor(Color.White);
            }

            orig(self);
        }