关于魔兽地图编辑器的,高手进。

来源:百度知道 编辑:UC知道 时间:2024/05/24 08:21:52
我正在做一张RPG地图,现在在制作各种道具,我不知道怎么让一件道具能以百分比的方式提高英雄数据。

比如:装备<勇气勋章>,能提高英雄12%的力量(1),20%的生命(2),10%的法力(3),12%的攻击速度(4),15%的魔法抵抗能力(5),30%的攻击力(6)。

其中4,5部分,我的做法是:先自定义两个物品技能,我用<提高攻击速度的物品>和<魔法伤害减少>这两个技能,把他们的技能等级全部设置为60,等级1提高%1攻击速度/魔法抗性,逐级提高。然后把这两个自定义的物品技能添加到<勇气勋章>上,然后编写触发器:

事件:单位-任意单位 获得物品
条件:((被操作物品)的类型) 等于 勇气勋章
动作:单位-设置 提高攻击速度的物品 等级对 (触发单位)为 12
单位-设置 魔法伤害减少 等级对 (触发单位) 为 15

因为提高攻击速度和减少魔法伤害这两个物品技能的数据本来就是百分比,所以比较好处理。(6)提高30%攻击力,我找不到能单独以百分比形式增加英雄攻击力的物品技能,所以我只能用强击光环,把“状态-目标允许”里面的“友军单位”取消掉,然后用同样的方式添加到<勇气勋章>的物品技能和触发器里。但这样做我发现破绽很大,很容易就看出用光环改的。

最后(1)(2)(3)我实在没法处理了。触发器里的英雄属性更改里只有力量敏捷智力,没有生命法力。我在上面那个触发的动作里加了“英雄-修改 力量 对 (触发单位):添加 ((力量 对(触发单位)(包括加成))*(12/100))点”这个动作,预想的形式就是装备上<勇气勋章>后,英雄的力量修改为原来力量的112%,用的是算术运算......但最终测试表明,这个动作是无效的,英雄的属性没有改变。而且就算改变了,我估计把<勇气勋章>丢弃后英雄的力量还是112%,这显然有悖于常理。

总之我的难点就是:不知道怎么把一个英雄的各种属性(力量,智力,敏捷,生命,法力,攻击速度,移动速度,护甲,生命恢复速度,法力恢复速度,技能造成的伤害,技能造成的治疗效果等等等等)以百分比而非整数的形式,通过物

我能想到的解决方法就是 写算法的问题
1,比如增加10%力量
事件 任意单位获得物品
条件 被操作的物品=A
动作 设置变量X=触发单位的 力量 不包含加成
等待0.1秒
英雄-设置触发单位的力量值为 添加 (转化 X 为实数)*(1/10)
2,增加20%生命
设置触发单位的 最大生命值为 最大生命值对于(触发单位)+最大生命值对于(触发单位) *(1/5) (估计会有BUG,建议用上述等待+变量的形式)
3,法力同生命
4,请添加丢弃物品的属性减少触发
5,攻击速度/魔法伤害减少 的增加 直接添加物品技能就可以了 当然你可以使用该方法实现闪避,魔法伤害减少的叠加
6,个人建议物品技能写点触发伤害特效就可以了,如此写下去耗时耗力起不到非常大的收效
7,也许JASS写出来会简单很多,但是本人不会,希望上述几条能帮上你点小忙
8,楼上的,你自负个锤子