public BattleVoidBehaviour(BattleDiceBehavior OriginalDice)
 {
     this.OriginalDice    = OriginalDice;
     this.owner           = OriginalDice.owner;
     this.behaviourInCard = OriginalDice.behaviourInCard;
     this.abilityList     = OriginalDice.abilityList;
     this.card            = OriginalDice.card;
     if (OriginalDice.TargetDice != null && OriginalDice.TargetDice.Detail == BehaviourDetail.Guard)
     {
         _damageReductionByGuard = OriginalDice.TargetDice.DiceResultValue;
     }
     else
     {
         _damageReductionByGuard = 0;
     }
     _statBonus        = typeof(BattleDiceBehavior).GetField("_statBonus", AccessTools.all).GetValue(this.OriginalDice) as DiceStatBonus;
     OriginalStatBonus = _statBonus.Copy();
 }
 public void RefreshStatBonus()
 {
     _statBonus = typeof(BattleDiceBehavior).GetField("_statBonus", AccessTools.all).GetValue(this.OriginalDice) as DiceStatBonus;
     typeof(BattleDiceBehavior).GetField("_statBonus", AccessTools.all).SetValue(this.OriginalDice, OriginalStatBonus);
 }