using Continentis.MainGame.Card; using Continentis.MainGame.Character; using UnityEngine; namespace Continentis.MainGame.Card { public class CardLogicComponent_Defense : CardLogicComponentBase { protected override void TargetingEffect(CharacterBase target) { if (card.HasAttribute("Block")) { card.SetAttribute("DisplayBlock", card.GetAttribute("Block")); } else if(card.HasAttribute("Dodge")) { card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge")); } else if(card.HasAttribute("TemporaryHealth")) { card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth")); } } protected override void UntargetingEffect() { if (card.HasAttribute("Block")) { card.SetAttribute("DisplayBlock", card.GetAttribute("Block")); } else if(card.HasAttribute("Dodge")) { card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge")); } else if(card.HasAttribute("TemporaryHealth")) { card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth")); } } /// /// 设置格挡值,默认由体质加成 /// public void SetBlock_Fortitude(bool additive = false, int originalBlock = 0) { int blockOffsetFromPhysique = user.GetAttribute("OffsetFromPhysique"); card.SetVariableAttribute("Block", blockOffsetFromPhysique, additive, originalBlock); } /// /// 设置格挡值,由智力加成 /// public void SetBlock_Arcane(bool additive = false, int originalBlock = 0) { int blockOffsetFromIntelligence = user.GetAttribute("OffsetFromIntelligence"); card.SetVariableAttribute("Block", blockOffsetFromIntelligence, additive, originalBlock); } /// /// 设置格挡值,由魅力加成 /// public void SetBlock_Sorcery(bool additive = false, int originalBlock = 0) { int blockOffsetFromCharisma = user.GetAttribute("OffsetFromCharisma"); card.SetVariableAttribute("Block", blockOffsetFromCharisma, additive, originalBlock); } /// /// 设置闪避值,由敏捷加成 /// public void SetDodge_Swiftness(bool additive = false, int originalDodge = 0) { int dodgeOffsetFromAgility = user.GetAttribute("OffsetFromAgility"); card.SetVariableAttribute("Dodge", dodgeOffsetFromAgility, additive, originalDodge); } /// /// 设置闪避值,由智力加成 /// public void SetDodge_Arcane(bool additive = false, int originalDodge = 0) { int dodgeOffsetFromIntelligence = user.GetAttribute("OffsetFromIntelligence"); card.SetVariableAttribute("Dodge", dodgeOffsetFromIntelligence, additive, originalDodge); } /// /// 设置闪避值,由魅力加成 /// public void SetDodge_Sorcery(bool additive = false, int originalDodge = 0) { int dodgeOffsetFromCharisma = user.GetAttribute("OffsetFromCharisma"); card.SetVariableAttribute("Dodge", dodgeOffsetFromCharisma, additive, originalDodge); } /// /// 设置闪避值,由感知加成 /// public void SetDodge_Prediction(bool additive = false, int originalDodge = 0) { int dodgeOffsetFromPrediction = user.GetAttribute("OffsetFromPerception"); card.SetVariableAttribute("Dodge", dodgeOffsetFromPrediction, additive, originalDodge); } /// /// 设置临时生命值,默认无加成 /// public void SetShield(bool additive = false, int originalShield = 0) { card.SetVariableAttribute("TemporaryHealth", 0, additive, originalShield); } } }