本贴主要分析的是 工程技能之间互相作用性质
首先附上 东门吹牛 对 工程技能普遍性质的分析
关于工程升级的替换测试
今天特地测试了一下工程升级的所有替换效果,之前已经知道工程升级替换技能时无法做到完全替换(删除重学除外,过会说明),原始技能的命令ID、目标类型(指无目标、点目标、单位目标等)、技能类型(被动或主动)和整个技能的效果(如风暴之锤是晕眩,暗影突袭是持续伤害等)不会替换,CD、魔法消耗、目标分类(指目标是不是敌人等)可以替换。
关于其他的数据,今天基本都做了测试
除以上4项无法替换的其余都能替换,而且可以不同类型的数据替换
其中包括:施法距离、持续时间、施法动作、投射物相关(特效应该也行)、buff、图标(和其位置)、文字说明等
关于特定的数据也支持传递,如风暴之锤的DataA即其产生的伤害,暗影突袭具有多个Data,如果风暴之锤替换成暗影突袭,则有效传递其中的DataA(即持续伤害) 由于我的研究结果应用了。。大量自定义符号。。
所以要看明白首先看符号的定义:
- 定义环境
- {
- 1.ABCDE等各代表1个技能,如果没定义2 那代表非工程升级
- 2.A=(B→C) 达标 工程技能A 的数据 =技能B升级到技能C
- 3.A<A> 代表A的实际数据 是A本身的 工程升级时完美替换
- 4.A<B> 代表A的实际数据 是B的 工程升级时部分数据没替换,会继承部分
- 5.U(A,B) 代表了 单位U 拥有技能A,B
- 6.U(A,!B) 代表了 单位U 拥有技能A,B 但B在上次升级时无效果[参见优先特性1],之后仍具有效力
- 7.U(A,{B}) 代表了 多个工程升级时 会导致的 设置技能未全部升级 [参见优先特性3]
- 8.U(A,B^2) 代表了 单位U 拥有技能A 1个, B 2个 [参见叠加特性]
- 9.U+C →U(A,D) 代表 单位U 添加技能C 后 单位拥有技能A,D
- A.U-C →U(A,D) 代表 单位U 删除技能C 后 单位拥有技能A,D
- B.{ U-C →U(A,D) →[D]→ U(E,D) } 代表 单位U 删除技能C 后 单位拥有技能A,D 然后D又把A升级成E [参见优先特性2]
- C.[A,B(C→D),C,D,U(A,B)] 定义4个技能A,B,C,D B是工程升级 单位U初始状态拥有技能A,B
- }
复制代码 基本特性
[jass]{
1.升级特性[本特性其实就是东门技能结论的细化]
{
1. [A=(B→C),B=(D→E),C=(D→F),U(A)] U+B→U(A,C<C>) 如果B,C都是工程升级 那数据可以完全替换
2. [A=(B→C),B,C,U(A)] U+B→U(A,C<B>) 如果B,C都不是工程升级 那C会继承B的部分数据
3. [A=(B→C),B=(D→E),C,U(A)] U+B→U(A,C<B>) 如果B,C不都是工程升级 那C会继承B的部分数据
4. [A=(B→C),B,C=(D→E),U(A)] U+B→U(A,C<B>) 如果B,C不都是工程升级 那C会继承B的部分数据
5. [A=(B→C,D→E,F→G,H→I),U(A)] U+B+D+F+H→U(A,C,E,G,I) 即使A拥有多个升级项目 仍全部有效
}
2.反向特性
{
1.[A=(B→C),B=(D→E),C=(D→F),U(A,C)] U-A→U(A,B<B>) 如果B,C都是工程升级 那数据可以完全替换
2.[A=(B→C),B=(D→E),C=(D→F),U(A,B,C)] U-A→U(A,B^2) 如果单位还拥有B[优先特性2] 那么B会叠加[参见叠加1]
3.[A=(B→C),B=(D→E),C=(D→F),U(A)] U-A→U(A,B<B>) 如果B,C都是工程升级 那数据可以完全替换
4.[A=(B→C),B=(D→E),C=(D→F),U(A,B)] U-A→U(A,B) 如果单位还拥有B[优先特性2] 那么B也不会叠加[参见叠加2]
5.[A=(B→C),B,C,U(A,C)] U-A→U(A,B<B>) 如果B,C都不是工程升级 那数据可以完全替换[主要应用于游戏里动态修改英雄技能]
6.[A=(B→C,D→E,F→G,H→I),U(A)] U-A→U() 拥有多个升级项目时 如果要反向添加 需要具有升级后技能
7.[A=(B→C,D→E,F→G,H→I),U(A,C)] U-A→U(B) 拥有多个升级项目时 如果要反向添加 需要具有升级后技能
8.[A=(B→C,D→E,F→G,H→I),U(A,E,G)] U-A→U(D,F) 拥有多个升级项目时 如果要反向添加 需要具有升级后技能
9.[A=(B→C,D→E,F→G,H→I),U(A,C,E,G,I)] U-A→U(B,D,F,H) 拥有多个升级项目时 如果要反向添加 需要具有升级后技能
}
3.自身无法升级,无法反向
{
1.[A=(A→B),U()] U+A→U(A) -A→U()
2.[A=(A→B,C→D),C,U()] U+A→U(A) +C→U(A,D)
3.[A=(A→B,C→D),C,U()] U+C→U(C) +A→U(A,D)
4.[A=(B→A),B,C,D=(C→A),U(B,D)] U+A→U(B,A,D) -A→U(B,D)
5.[A=(B→A),B,U(B,A)] U-A→U(B)
}
}
[/jass]
优先特性
[jass]{
0.越晚添加的技能 越早发生效力
例0.[A=(B→C),B=(A→C),U()] U+A→U(A) U+B→(B,C)
例1.[A=(B→C),B=(A→C),U()] U+B→U(B) U+A→U(A,C)
例2: [A,B=(A→D),C=(A→B,,D→E,),D,E,U(C,B)] { U+A→U(C,B,D) →[C]→ U(C,B,E) }
例3: [A,B=(A→D),C=(A→B,,D→E,),D,E,U(B,C)] U+A→U(B^2,C)
例4: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(B,C,D)] U+A→U(B,C,D,G)
例5: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(C,D,B)] U+A→U(B,C,D,E)
例6: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(B,D,C)] U+A→U(B,C,D,F)
1.先存在的技能,升级后添加的技能,得到的技能再此轮升级里无效力(无法升级别人也无法被别人升级);之后仍有效力
例1: [A=(B→C),B=(C→A),C=(A→B,D→E),D,E,U(A)] U+B→U(A,!C) +D→U(A,C,E)
例1: [A=(B→C),B=(C→A),C=(A→B,D→E),F=(C→G),D,E,U(A,F)] U+B→U(A,F,!C) -F→U(A,C) +F→U(A,F,G)
例2: [A=(B→C),B=(C→A),C=(A→B,D→E),D,E,U(A,D)] U+B→U(A,D,!C) -D→U(A,C) +D→U(A,C,E)
例3: [A=(B→C),B=(C→A),C=(A→B,D→E),D,E,U(A,E)] U+B→U(A,E,!C) -C→U(A,D)
2.后添加技能,升级先存在的技能,得到的技能仍还具有效力
例1: [A=(B→C),B=(C→A),C=(A→B,D→E),D,E,U(B)] { U+A→U(C,A) →[C]→ U(!B,C) } +A→U(B,C^2) -B→U(C^2)
例2: [A=(B→D),B,C=(A→B,,D→E,),D,E,U(B,C)] { U+A→U(D,C,A) →[C]→ U({D},C,B) }
例2: [A=(B→C),B=(C→A),C=(A→B,,D→E,),D,E,U(B,D)] { U+A→U(C,D,A) →[C]→ U(C,{D},!B) }
例2: [A=(B→C),B=(C→A),C=(,A→B,,D→E),D,E,U(B,D)] { U+A→U(C,D,A) →[C]→ U(C,{D},!B) }
例2: [A=(B→C),B=(C→A),C=(,A→B,,D→E),D,E,U(A,D)] U+B→U(A,D,!C)
3.如果一轮升级里得到 的工程带有多个升级时 那些未设置升级的工程 不被升级
例3: [A,B=(C→A),C=(D→E,A→B),D=(B→C),E,U(B,A)] { U+D→U(A,C,D) →[C]→ U({A},C,E) }
例3: [A,B=(C→A),C=(D→E,A→B),D=(B→C),E,U(A,B)] { U+D→U(A,C,D) →[C]→ U({A},C,E) }
例3: [A,B=(C→A),C=(D→E,A→B,F→G),D=(B→C),E,F,U(B,A,F)] { U+D→U(A,C,F,D) →[C]→ U({A},C,{F},E) }
例3: [A,B=(C→A),C=(D→E,A→B,F→G),D=(B→C),E,F,U(A,B,F)] { U+D→U(A,C,F,D) →[C]→ U({A},C,{F},E) }
4.一轮升级里同1个技能只能被升级1次(反向得到的也算升级次)
例4: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(B,C,D)] U+A→U(B,C,D,G) -D→U(B,C,A)
例5: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(C,D,B)] U+A→U(C,D,B,E) -B→U(C,D,A)
例6: [A,B=(A→E),C=(A→F),D=(A→G),E,F,G,U(B,D,C)] U+A→U(B,D,C,F) -C→U(B,D,A)
}
[/jass]
叠加特性
[jass]
{
1.正向叠加
例1: [A=(B→C),B,C,U(A,C)] U+B→U(A,C^2)
2.反向叠加(一般是由于优先特性1造成的) 必须存在 升级后技能 才能叠加
例1: [A=(B→C),B,C,U(A,B,C)] U-A→U(B^2)
例2: [A=(B→C),B,C,U(A,B)] U-A→U(B)
}
[/jass]
ps:其实本来是为了弄个无限循环的 工程链。。结果怎么都循环不了~~ |