public void CheckUnleash(int targetAttack, int targetHealth) { if (HasKeyword(Keywords.Unleash)) { var unleashEnchantment = new UnitEnchantment() { Source = "Unleash", Status = UnitEnchantment.EnchantmentStatus.Permanent, }; var modifier = Owner.HasSpecialPassive(SpecialPassiveEffects.FeralNature) ? 2 : 1; unleashEnchantment.AddStatModifier(StatTypes.Attack, StatModifierTypes.Modify, targetAttack * modifier); unleashEnchantment.AddStatModifier(StatTypes.MaxHealth, StatModifierTypes.Modify, targetHealth * modifier); AddEnchantment(unleashEnchantment); } }
public override void InitCard(CardData _cardData, Player owner) { base.InitCard(_cardData, owner); ResetStats(true); AbilityInit(); Status = UnitStatuses.None; CurrentHealth = GetStat(StatTypes.MaxHealth); RemainingSpeed = 0; TemporaryMindControlled = false; LoseNextAction = false; ConfiscatedCards = new List <Card>(); ImprisonedUnits = new List <Unit>(); SpymasterLurenCards = new List <Card>(); if (GameManager.instance.CurrentGamePhase != GameManager.GamePhases.Menu) { Enchantments = new List <AppliedEnchantment>(); CurrentStatusEffects = new List <StatusEffects>(); CurrentKeywords = new List <Keywords>(); if (BaseKeywords.Count > 0 || UnitData.Empowered > 0) { var keywordEnchantment = new UnitEnchantment() { Source = "Base Keywords", Status = UnitEnchantment.EnchantmentStatus.Base, }; keywordEnchantment.Keywords = BaseKeywords.ToList(); if (UnitData.Empowered > 0) { keywordEnchantment.AddStatModifier(StatTypes.Empowered, StatModifierTypes.Modify, UnitData.Empowered); } AddEnchantment(keywordEnchantment); } if (Owner != null) { foreach (var passive in Owner.Passives) { if (passive.Enchantment != null) { if (passive.PassiveApplies(this)) { AddEnchantment(passive.Enchantment); } } } } } }
/// <summary> /// /// Adds the stat modifier to the enchantment for a particular stat type dropdown and an input /// /// </summary> private void GetStatModifier(UnitEnchantment enchantment, Unit.StatTypes statType, TMP_Dropdown statModTypeDropdown, TMP_InputField statValueInput) { var statModType = (StatModifierTypes)Enum.Parse(typeof(StatModifierTypes), statModTypeDropdown.captionText.text); if (statModType != StatModifierTypes.None) { if (string.IsNullOrWhiteSpace(statValueInput.text)) { statValueInput.text = "0"; } var statValue = int.Parse(statValueInput.text); enchantment.AddStatModifier(statType, statModType, statValue); } }