private void DoHoleSpawn(Projectile projectile) { DeadlyDeadlyGoopManager goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.PitGoop); goop.TimedAddGoopCircle(projectile.specRigidbody.UnitCenter, 7f, 0.75f, true); SpecialGoopBehaviours specialBehav = goop.gameObject.AddComponent <SpecialGoopBehaviours>(); specialBehav.ForcesEnemiesToFall = true; }
public static void DoCustomGoopEffects(Action <DeadlyDeadlyGoopManager, GameActor, IntVector2> orig, DeadlyDeadlyGoopManager self, GameActor actor, IntVector2 goopPosition) { orig(self, actor, goopPosition); try { SpecialGoopBehaviours specialBehaviours = self.gameObject.GetComponent <SpecialGoopBehaviours>(); if (specialBehaviours != null) { if (specialBehaviours.ForcesEnemiesToFall == true) { if (!actor.healthHaver.IsBoss) { actor.ForceFall(); } } } } catch (Exception e) { ETGModConsole.Log(e.Message); ETGModConsole.Log(e.StackTrace); } }