MapServer.BaseObject.GetLevel C# (CSharp) 메소드

GetLevel() 공개 메소드

public GetLevel ( ) : byte
리턴 byte
        public virtual byte GetLevel()
        {
            return 0;
        }

Usage Example

예제 #1
0
        //计算爆率.. 0.不爆 1.小爆 2 ~ 5
        //2.中爆 6 ~ 9
        //3.大爆 10 ~ 15
        public static byte AdjustDrop(BaseObject attack, BaseObject Def)
        {
            byte attklv = attack.GetLevel();
            byte deflv  = Def.GetLevel();

            int dislv = attklv - deflv;

            if (dislv >= 0)                  //攻击者高于被攻击者
            {
                if (dislv <= 5 && dislv > 3) //差距小于5级
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE3 : EXPLODE_ITEM_CHANCE1);
                }
                else if (dislv <= 9 && dislv > 6)//差距小于10级
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE2 : EXPLODE_ITEM_CHANCE1);
                }
                else //大爆 就算大爆不了,也小爆
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE4 : EXPLODE_ITEM_CHANCE2);
                }
            }
            else //攻击者低于被攻击者
            {
                if (dislv <= -5 && dislv > -3)//差距小于5级
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE3 : EXPLODE_ITEM_CHANCE2);
                }
                else if (dislv <= -9 && dislv > -6)//差距小于10级
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE2 : EXPLODE_ITEM_CHANCE1);
                }
                else //大爆 就算大爆不了,也小爆
                {
                    return(IRandom.Random(0, 100) < 50 ? EXPLODE_ITEM_CHANCE4 : EXPLODE_ITEM_CHANCE2);
                }
            }
        }
All Usage Examples Of MapServer.BaseObject::GetLevel