예제 #1
0
        public override bool Use <T>(T state)
        {
            Stat = (Sk.Stat)((object)state);

            if (!Sk.CanRaise(Player, Stat))
            {
                return(false);
            }

            int toConsume = 0;

            switch (Stat)
            {
            case Sk.Stat.Dex:
                toConsume = Player.RawDex;
                break;

            case Sk.Stat.Int:
                toConsume = Player.RawInt;
                break;

            case Sk.Stat.Str:
                toConsume = Player.RawStr;
                break;
            }

            toConsume *= 1000;

            if (ConsumeEoC(toConsume))
            {
                Sk.IncreaseStat(Player, Stat, false);

                return(true);
            }

            return(false);
        }
예제 #2
0
        public override void Undo()
        {
            base.Undo();

            if (!Sk.CanLower(Player, Stat))
            {
                return;
            }

            switch (Stat)
            {
            case Sk.Stat.Dex:
                --Player.RawDex;
                break;

            case Sk.Stat.Int:
                --Player.RawInt;
                break;

            case Sk.Stat.Str:
                --Player.RawStr;
                break;
            }
        }