凯恩酒馆吧 关注:138贴子:1,849
  • 5回复贴,共1

Item的staffmod选择原理

取消只看楼主收藏回复

本文的作者是Go_Limyh,重新整理者为Louis-J。


回复
1楼2018-08-01 12:22


    回复
    2楼2018-08-01 12:26




      回复
      3楼2018-08-01 12:32




        回复
        4楼2018-08-01 12:46


          回复
          5楼2018-08-01 12:51
            补遗:10里改变了对某些特定skills以staffmod出现的限制。
            09里只有1种判断:D2C还是LOD,前者PosionDagger无法出现在Wand上,后者可以。
            10里引入了新的判断原则:
            受到Itmetype的限制:检测skills.txt里的itypea1,如果系统检测到skill的itypea1与itemtype不同,就重新选择。。
            Holy Shield 的 itypea1=shld (shield), 与scepter不同,所以hs不可能出现在scepter上。
            类似的有Poison Dagger (knife), Smite (shield), Double Swing (melee), Stun (melee), Double Throw (throwing), Leap Attack (melee), Concentrate (melee), Frenzy (melee), Whirlwind (melee), Berserk (melee).

            补充说明:事实上,那些所谓的不能出现的技能仍然是可以出现的。
            系统在决定了技能个数和final skill_id后,将对每个随机选中的技能做6次的循环选择判定。
            如果是有效技能(技能的itypea1和装备的types匹配,且不是已经被选中的技能),则停止循环,确定该技能为staffmod出现;
            如果不是有效技能,则继续循环选择直到出现有效技能,若前5次的循环选择都不是有效技能,则选定第6次循环选择的技能为staffmod出现——即使它也不是有效技能。



            例:
            系统选定在Jawbone cap出现两个staffmod的skill,final skill_id为151~155(即为Bar的第6组)skill_id组
            Whirlwind (itypea1 = mele)
            Berserk (itypea1 = mele)
            Natural Resistance
            War Cry
            Battle Command

            1st skill = War Cry (有效技能 , 选定)
            2nd skill = Berserk (itype1a = mele ,不是有效技能, 继续循环选择) (1)
            --------- = War Cry (已经选定过的技能, 不是有效技能, 继续循环选择) (2)
            --------- = War Cry (已经选定过的技能, 不是有效技能, 继续循环选择) (3)
            第(4)、(5)次的循环选择也不是有效技能
            ------ = Whirlwind (不是有效技能, itype1a = mele) (6)
            那么,对第2个技能的(6)次循环选择都不是有效技能,现在,将把第(6)次的Whirlwind选定为staffmod出现。即最后的技能为:War Cry、Whirlwind。


            回复
            6楼2018-08-01 12:54