|
如题 两种技能都和物品有关
第一个是单位持有物品 攻击敌人的话 攻击力会越来越高 最多累积12次 每次增加10%
我是这样做的
[trigger]
DragonFury 1
事件
单位 - 任意单位 获得物品
条件
((被操作物品) 的类型) 等于 |cFFFF9900五色巨龙之怒|r
动作
触发器 - 开启 DragonFury 2 <预设>
设置 Integer[50] = 0
[/trigger]
[trigger]
DragonFury 2
事件
单位 - 任意单位 被攻击
条件
((攻击单位) 拥有 |cFFFF9900五色巨龙之怒|r) 等于 TRUE
动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
Integer[50] 等于 13
Then - 动作
设置 Integer[50] = 12
设置 Point[69] = ((攻击单位) 的位置)
单位 - 创建 1 个 隐藏单位 给 ((攻击单位) 的所有者) 在 Point[69] ,面向角度为 默认建筑朝向 度
单位 - 为 最后创建的单位 [R] 添加 五色巨龙之怒
单位 - 设置 最后创建的单位 [R] 的 五色巨龙之怒 等级为 Integer[50]
单位 - 为 最后创建的单位 [R] 设置 水元素 类型的生命周期,持续时间为 0.50 秒
单位 - 对 最后创建的单位 [R] 发布 不死族巫师 - 残废 命令到目标: (攻击单位)
计时器 - 开启 Time[59] ,计时方式: 一次性 时间设置: 20.00 秒
触发器 - 开启 DragonFury 4 <预设>
Else - 动作
设置 Integer[50] = (Integer[50] + 1)
设置 Point[69] = ((攻击单位) 的位置)
单位 - 创建 1 个 隐藏单位 给 ((攻击单位) 的所有者) 在 Point[69] ,面向角度为 默认建筑朝向 度
单位 - 为 最后创建的单位 [R] 添加 五色巨龙之怒
单位 - 设置 最后创建的单位 [R] 的 五色巨龙之怒 等级为 Integer[50]
单位 - 为 最后创建的单位 [R] 设置 水元素 类型的生命周期,持续时间为 0.50 秒
单位 - 对 最后创建的单位 [R] 发布 不死族巫师 - 残废 命令到目标: (攻击单位)
计时器 - 开启 Time[59] ,计时方式: 一次性 时间设置: 20.00 秒
触发器 - 开启 DragonFury 4 <预设>
[/trigger]
[trigger]
DragonFury 3
事件
单位 - 任意单位 丢弃物品
条件
((被操作物品) 的类型) 等于 |cFFFF9900五色巨龙之怒|r
动作
触发器 - 关闭 DragonFury 2 <预设>
设置 Integer[50] = 0
[/trigger]
[trigger]
DragonFury 4
事件
时间 - Time[59] 到期
条件
动作
设置 Integer[50] = 0
[/trigger]
[trigger]
DragonFury 5
事件
单位 - 任意单位 死亡
条件
((触发单位) 拥有 |cFFFF9900五色巨龙之怒|r) 等于 TRUE
动作
设置 Integer[50] = 0
[/trigger]
这个增加攻击力的效果 最好是有一个BUFF来显示 而且BUFF不能被驱散
我有试过用残废技能修改负数来做 可还是会被净化驱散
还有就是如果持有物品的单位超过1个 不同的单位对同类这个物品进行操作 就会变得奇怪
比如第一个单位先达到了12次累积 第二个单位再获得物品 次数会归零 这个和那整数变量有关 我又不知道怎么更好的解决
第二个技能是众所周知的DOTA里面的血精石
描述一下
简单来说就是如果单位持有物品 他周围1000范围内如果有敌方英雄死亡 就会为血精石增加1点能量
而每点能量可以增加英雄2点的生命恢复速度和20%的魔法恢复速度
持有物品的英雄死亡后 能量值会减半
这个物品不能丢弃
我是这样做的
[trigger]
Blood 1
事件
单位 - 任意单位 获得物品
条件
((被操作物品) 的类型) 等于 血精石
动作
单位 - 为 (操作物品的单位) 添加 技能
单位 - 为 (操作物品的单位) 添加 技能
[/trigger]
[trigger]
Blood 2
事件
单位 - 任意单位 死亡
条件
((触发单位) 是 英雄) 等于 TRUE
动作
设置 UnitG[49] = (半径为 1000.00 圆心为 ((触发单位) 的位置) 且满足 ((((匹配单位) 是 ((触发单位) 的所有者) 的敌对单位) 等于 TRUE) and (((匹配单位) 拥有 血精石) 等于 TRUE)) 的所有单位)
单位组 - 选取 UnitG[49] 内所有单位做动作
Loop - 动作
物品 - 设置 ((选取单位) 所持有的 血精石) 的使用次数为 ((((选取单位) 所持有的 血精石) 的使用次数) + 1)
单位 - 设置 (选取单位) 的 技能 等级为 ((((选取单位) 所持有的 血精石) 的使用次数) + 1)
单位 - 设置 (选取单位) 的 技能 等级为 ((((选取单位) 所持有的 血精石) 的使用次数) + 1)
设置 Integer[49] = (Integer[49] + 1)
单位组 - 删除 UnitG[49]
[/trigger]
[trigger]
Blood 3
事件
单位 - 任意单位 死亡
条件
((触发单位) 拥有 血精石) 等于 TRUE
动作
设置 Integer[49] = (Integer[49] / 2)
物品 - 设置 ((触发单位) 所持有的 血精石) 的使用次数为 Integer[49]
单位 - 设置 (选取单位) 的 技能 等级为 Integer[49]
单位 - 设置 (选取单位) 的 技能 等级为 Integer[49]
[/trigger]
如上 问题很多 如果是用直接添加技能+提升技能等级来控制累积恢复速度的话 我不知道哪里有问题 恢复速度好像不会正常的累积
我是用物品的增加生命恢复速度和增加魔法恢复速度的两个技能改成单位技能来添加的 每个技能21级
控制最大能量数为20 第一级无恢复效果
问题就是如果这么做 第一次获得物品的时候会很卡很卡。。大概2 3秒左右 我就开始觉得这个办法不可行了
而且(后来我没太仔细的测试) 大概目测的 恢复效果没办法正常累积
所以来此求助了 希望各位大人看见了能帮忙想想~~以上
还有我不是很懂jass 如果懂jass的大人发什么什么代码的话 希望可以说明一下它对应trigger的哪个函数
有点长 希望不要嫌我啰嗦呀.. |
|