private IEnumerator OnEnemyDeath(CharacterDeathParams deathParams) { if (deathParams == null) { yield break; } CharacterState attackingCharacter = deathParams.attackingCharacter; RelicManager relicManager = deathParams.relicManager; SaveManager saveManager = deathParams.saveManager; if (attackingCharacter != null && attackingCharacter.IsPyreHeart()) { if (!saveManager.PreviewMode) { //attackingCharacter.GetCharacterUI().ShowEffectVFX(attackingCharacter, _srcRelicEffectData.GetAppliedVfx()); if (!ProviderManager.TryGetProvider <PlayerManager>(out PlayerManager playerManager)) { yield break; } playerManager.AdjustGold(goldAmount, isReward: false); deathParams.deadCharacter.ShowNotification("HudNotification_TreasureHeroTriggered".Localize(new LocalizedInteger(deathParams.saveManager.GetAdjustedGoldAmount(goldAmount, isReward: false))), PopupNotificationUI.Source.General); NotifyRelicTriggered(relicManager, attackingCharacter); } } }
// If the Pyre kills something, I want to know about it! private IEnumerator OnEnemyDeath(CharacterDeathParams deathParams) { if (deathParams == null) { yield break; } CharacterState attackingCharacter = deathParams.attackingCharacter; SaveManager saveManager = deathParams.saveManager; if (attackingCharacter != null && attackingCharacter.IsPyreHeart()) { var champion = this.GetAssociatedCharacter(); var buffAmount = champion.GetStatusEffectStacks(GetStatusId()); // We killed something, Let's buff if (!saveManager.PreviewMode) { // attackingCharacter.GetCharacterUI().ShowEffectVFX(attackingCharacter, _srcRelicEffectData.GetAppliedVfx()); yield return(champion.BuffMaxHP(buffAmount)); } // We killed something imaginarily, we should preview here? Wait, how does the PYRE preview a kill? else { //yield return champion.BuffMaxHP(buffAmount); // attackingCharacter.PreviewHpOnPyreHeart(Mathf.Min(attackingCharacter.GetHP() + healAmount, saveManager.GetMaxTowerHP())); } } }
private IEnumerator OnDeath(CharacterDeathParams deathParams) { PlayerManager playerManager; ProviderManager.TryGetProvider <PlayerManager>(out playerManager); CharacterState characterState = GetAssociatedCharacter(); int GoldStacks = characterState.GetStatusEffectStacks(GetStatusId()); if (GoldStacks == 0) { yield break; } if (characterState.PreviewMode) { yield break; } if (characterState != null) { characterState.ShowNotification("HudNotification_TreasureHeroTriggered".Localize(new LocalizedInteger(GoldStacks)), PopupNotificationUI.Source.General); //characterState.GetCharacterUI().ShowEffectVFX(characterState, cardEffectState.GetAppliedVFX()); } playerManager.AdjustGold(GoldStacks, isReward: false); yield break; }