コード例 #1
0
ファイル: LastingEffect.cs プロジェクト: tomaszkot/Roguelike
        public LastingEffectCalcInfo(EffectType type, int turns, EffectiveFactor effective, PercentageFactor perc)
        {
            Type   = type;
            Origin = EffectOrigin.SelfCasted;
            if (type == EffectType.Bleeding)
            {
                Origin = EffectOrigin.Unset;
            }
            else if (type == EffectType.Weaken || type == EffectType.Inaccuracy)
            {
                Origin = EffectOrigin.OtherCasted;
            }

            Turns            = turns;
            EffectiveFactor  = effective;
            PercentageFactor = perc;
        }
コード例 #2
0
ファイル: LastingEffect.cs プロジェクト: tomaszkot/Roguelike
        public LastingEffect(EffectType type, ILastingEffectOwner owner, int turns, EffectOrigin origin, EffectiveFactor effectiveFactor,
                             PercentageFactor percentageFactor)
        {
            this.Id               = Guid.NewGuid();
            this.Origin           = origin;
            this.Type             = type;
            this.Owner            = owner;
            this.PendingTurns     = turns;
            this.EffectiveFactor  = effectiveFactor;
            this.PercentageFactor = percentageFactor;
            Application           = EffectApplication.Single;

            if (type == EffectType.Bleeding ||
                type == EffectType.Poisoned ||
                type == EffectType.Frozen ||
                type == EffectType.Firing ||
                type == EffectType.ConsumedRawFood ||
                type == EffectType.ConsumedRoastedFood ||
                type == EffectType.BushTrap //||
                )
            {
                Application = EffectApplication.EachTurn;
            }
        }