public void OnCardPlayed(CardState cardState, int roomIndex, List <CharacterState> targets) { // Perform the Rebate first if (cardState.HasTrait(typeof(CardTraitExhaustState))) { int refund = refundAmount; int originalCost = cardState.GetCostWithoutAnyModifications(); // Check if the exhausted card was X-cost if (cardState.IsConsumeRemainingEnergyCostType()) { CardStatistics.StatValueData statValueData = default(CardStatistics.StatValueData); statValueData.cardState = cardState; statValueData.trackedValue = CardStatistics.TrackedValueType.PlayedCost; statValueData.entryDuration = CardStatistics.EntryDuration.ThisBattle; originalCost = ProviderManager.CombatManager.GetCardManager().GetCardStatistics().GetStatValue(statValueData); } if (originalCost < refund) { refund = originalCost; } playerManager.AddEnergy(refund); } // Check all cards in-hand and add any new entries to the tracked list foreach (var card in cardManager.GetHand()) { cardManager.StartCoroutine(ApplyConsumeToCard(card)); } }
private int GetMultiplier(CardStatistics cardStatistics) { CardStatistics.StatValueData statValueData = default(CardStatistics.StatValueData); statValueData.cardState = GetCard(); statValueData.trackedValue = GetParamTrackedValue(); statValueData.entryDuration = GetParamEntryDuration(); statValueData.cardTypeTarget = GetParamCardType(); statValueData.paramSubtype = GetParamSubtype(); CardStatistics.StatValueData statValueData2 = statValueData; int statValue = cardStatistics.GetStatValue(statValueData2); return(statValue); }
public void OnCardPlayed(CardState cardState, int roomIndex, List <CharacterState> targets) { if (cardState.HasTrait(typeof(CardTraitExhaustState))) { int refund = refundAmount; int originalCost = cardState.GetCostWithoutAnyModifications(); if (cardState.IsConsumeRemainingEnergyCostType()) { CardStatistics.StatValueData statValueData = default(CardStatistics.StatValueData); statValueData.cardState = cardState; statValueData.trackedValue = CardStatistics.TrackedValueType.PlayedCost; statValueData.entryDuration = CardStatistics.EntryDuration.ThisBattle; originalCost = ProviderManager.CombatManager.GetCardManager().GetCardStatistics().GetStatValue(statValueData); } if (originalCost < refund) { refund = originalCost; } playerManager.AddEnergy(refund); } }