public override void Pickup(PlayerController player)
 {
     if (!this.m_pickedUpThisRun)
     {
         MemorisedTier = PocketChestTier.BROWN;
         base.sprite.SetSprite(PocketChest.spriteIDs[0]);
         storedDamage = 0f;
     }
     base.Pickup(player);
     player.OnAnyEnemyReceivedDamage += this.HurtEnemy;
 }
        public override void Update()
        {
            if (storedDamage >= 6500 && (MemorisedTier == PocketChestTier.RED)) //Red --> Black/Rainbow
            {
                if (UnityEngine.Random.value <= 0.01f)
                {
                    MemorisedTier = PocketChestTier.RAINBOW;
                    base.sprite.SetSprite(PocketChest.spriteIDs[6]);
                }
                else
                {
                    MemorisedTier = PocketChestTier.BLACK;
                    base.sprite.SetSprite(PocketChest.spriteIDs[5]);
                }
            }
            else if (storedDamage >= 3500 && (MemorisedTier == PocketChestTier.GREEN || MemorisedTier == PocketChestTier.SYNERGY)) //Green/Synergy --> Red
            {
                MemorisedTier = PocketChestTier.RED;
                base.sprite.SetSprite(PocketChest.spriteIDs[3]);
            }
            else if (storedDamage >= 1500 && MemorisedTier == PocketChestTier.BLUE) //Blue --> Green / Synergy
            {
                if (UnityEngine.Random.value <= 0.25f)
                {
                    MemorisedTier = PocketChestTier.SYNERGY;
                    base.sprite.SetSprite(PocketChest.spriteIDs[4]);
                }
                else
                {
                    MemorisedTier = PocketChestTier.GREEN;
                    base.sprite.SetSprite(PocketChest.spriteIDs[2]);
                }
            }
            else if (storedDamage >= 500 && MemorisedTier == PocketChestTier.BROWN) //Brown --> Blue
            {
                MemorisedTier = PocketChestTier.BLUE;
                base.sprite.SetSprite(PocketChest.spriteIDs[1]);
            }

            base.Update();
        }