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); }