示例#1
0
        protected void UpdateFullStat()
        {
            var r = new ComboStat(SupportingStats.Cast <astat>(), this);

            ApplyConversions(r);
            _fullStat = r;
            UpToDate  = true;
        }
示例#2
0
 public void ApplyConversions(ComboStat target, StatType excluder)
 {
     foreach (var c in ConvertersAndSupportingConverters)
     {
         if (!c.TargetType.Supports(excluder) && !c.SourceType.Supports(excluder))
         {
             var st = this.StatType & ~c.TargetType | c.SourceType;                      //inherit conversion in sourcetype as well, IE physical weapon damage is to be converted if physical damage is converted
             c.Apply(Owner.GetStat(st).ExcludingStat(excluder | this.StatType), target);
         }
     }
 }
示例#3
0
        public ComboStat ExcludingStat(StatType excluder)
        {
            if (this.StatType.Supports(excluder))
            {
                return(new ComboStat(this.StatType));
            }

            var r = new ComboStat(SupportingStats.Where(ss => !ss.StatType.Supports(excluder)).Cast <astat>(), this);

            ApplyConversions(r, excluder);
            return(r);
        }
示例#4
0
 public void ApplyConversions(ComboStat target)
 {
     ApplyConversions(target, StatType.None);
 }
示例#5
0
文件: Mods.cs 项目: ActionAlgot/srpg
 public void Apply(astat source, ComboStat target)
 {
     _converter(source)(target);
 }