private static bool Pickup(On.Celeste.Player.orig_Pickup orig, Celeste.Player self, Celeste.Holdable pickup) { if (self.Holding == null || !(self.Holding.Entity is ThrowBox)) { return(orig(self, pickup)); } return(false); }
private static bool PlayerOnPickup(On.Celeste.Player.orig_Pickup orig, Player self, Holdable pickup) { var theoCrystalBarrier = self.Scene.Tracker.GetEntities <TheoCrystalBarrier>().ToList(); theoCrystalBarrier.ForEach(entity => entity.Collidable = true); var collide = self.CollideCheck <TheoCrystalBarrier>(); theoCrystalBarrier.ForEach(entity => entity.Collidable = false); if (collide && pickup.Entity.GetType() == typeof(TheoCrystal)) { return(false); } return(orig(self, pickup)); }