Exemplo n.º 1
0
        public void OnHoldable(Holdable h)
        {
            Player entity = base.Scene.Tracker.GetEntity <Player>();

            if (!collected && entity != null && h.Dangerous(holdableCollider))
            {
                Collect(entity);
            }
        }
        public void onHoldable(Holdable holdable)
        {
            Player player = Scene.Tracker.GetEntity <Player>();

            if (player != null && holdable.Dangerous(holdableCollider))
            {
                heartBroken(player, holdable, SceneAs <Level>());
            }
        }
Exemplo n.º 3
0
        public void OnHoldable(Holdable holdable)
        {
            Player player = Scene.Tracker.GetEntity <Player>();

            if (!Collected && player != null && holdable.Dangerous(holdableCollider))
            {
                Collect(player, Scene as Level);
            }
        }
 private static void HeartGem_OnHoldable(On.Celeste.HeartGem.orig_OnHoldable orig, HeartGem self, Holdable h)
 {
     if (self is MultiDashHeartGem gem)
     {
         if (h.Dangerous(gem.baseData.Get <HoldableCollider>("holdableCollider")))
         {
             Player player = gem.Scene.Tracker.GetEntity <Player>();
             if (!gem.baseData.Get <bool>("collected") && player != null && gem.health > 1)
             {
                 // Basically just HeartGem.OnPlayer
                 if (gem.baseData.Get <float>("bounceSfxDelay") <= 0f)
                 {
                     Audio.Play(SFX.game_gen_crystalheart_bounce, gem.Position);
                     gem.baseData["bounceSfxDelay"] = 0.1f;
                 }
                 h.PointBounce(self.Center);
                 gem.baseData.Get <Wiggler>("moveWiggler").Start();
                 gem.ScaleWiggler.Start();
                 gem.baseData["moveWiggleDir"] = (gem.Center - player.Center).SafeNormalize(Vector2.UnitY);
                 Input.Rumble(RumbleStrength.Medium, RumbleLength.Medium);
             }
             else
             {
                 // Collect normally
                 orig(self, h);
             }
             Console.WriteLine(gem.health);
             TryStartCutscene(gem.cutscenes[3 - gem.health], player);
             gem.Crack(player);
         }
     }
     else
     {
         orig(self, h);
     }
 }