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("Shield")) { card.SetAttribute("DisplayShield", card.GetAttribute("Shield")); } } 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("Shield")) { card.SetAttribute("DisplayShield", card.GetAttribute("Shield")); } } /// /// 设置格挡值,默认由体质加成 /// 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("Shield", 0, additive, originalShield); } } }