コード例 #1
0
        public bool AddBuff(Actor user, Actor target, Buff buff)
        {
            buff.User   = user;
            buff.Target = target;
            buff.World  = target.World;

            // try to load in power sno from class attribute first, then try parent class (if there is one)
            Type buffType = buff.GetType();
            int  powerSNO = ImplementsPowerSNO.GetPowerSNOForClass(buffType);

            if (powerSNO != -1)
            {
                buff.PowerSNO = powerSNO;
            }
            else if (buffType.IsNested)
            {
                powerSNO = ImplementsPowerSNO.GetPowerSNOForClass(buffType.DeclaringType);
                if (powerSNO != -1)
                {
                    buff.PowerSNO = powerSNO;
                }
            }

            buff.Init();

            return(_AddBuff(buff));
        }