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