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); }