找回密码
 点一下
查看: 1827|回复: 6

求两个技能

  [复制链接]
发表于 2008-3-17 16:54:17 | 显示全部楼层 |阅读模式
毁灭救赎:
它可以使受术者的一切伤势在瞬间好转甚至于痊愈,而代价则是时效过后,立刻会受到更重的伤,并且在法术持续时间里,灵魂所受的种种煎熬非人所能忍受。
灵魂所受的种种煎熬非人所能忍受这个用灵魂燃烧就行
技能2:
就是普通的女妖的反魔法外壳,只是没几秒能移除负面BUFF
由于我的图里允许有同样的英雄,所以希望用局部变量
感激不尽~~
发表于 2008-3-17 18:39:13 | 显示全部楼层
第一个技能

function UnknowAbility takes nothing returns nothing
local unit tu=GetTriggerUnit()
local unit u=GetSpellTargetUnit()
local real oldlife = GetUnitState(u,UNIT_STATE_LIFE)
local real newlife = GetUnitState(u,UNIT_STATE_MAX_LIFE)*GetRandomReal(0.70,1.00)//恢复70%~100%
local real nowlife = newlife
if(oldlife>newlife)then
set nowlife=oldlife+newlife
endif
call SetUnitState(u,UNIT_STATE_LIFE,nowlife)
call TriggerSleepAction(0.00)
loop
exitwhen GetUnitAbilityLevel(u,'BNso')<=0
call TriggerSleepAction(0.50)//精度自己拿捏
endloop
call UnitDamageTarget(tu,u,nowlife, true, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)//能获取伤害来源和凶手单位
//call SetUnitState(u,UNIT_STATE_LIFE,GetUnitState(u,UNIT_STATE_LIFE)-nowlife)//不能获取伤害来源和凶手单位,自己选择
endfunction

感觉这技能太BT了
第2个技能不感兴趣,留待楼下做了
回复

使用道具 举报

发表于 2008-3-17 18:40:52 | 显示全部楼层
exitwhen GetUnitAbilityLevel(u,'BNso')<=0  //BNso为灵魂燃烧的BUFF,如果是别的BUFF,记得修改这里
回复

使用道具 举报

 楼主| 发表于 2008-3-17 18:51:59 | 显示全部楼层
引用第1楼leon于2008-03-17 18:39发表的  :
第一个技能

function UnknowAbility takes nothing returns nothing
local unit tu=GetTriggerUnit()
local unit u=GetSpellTargetUnit()
.......
谢谢!
不过我要的是英雄技能,可否判断下等级决定时间和之后伤害值
另外这两个技能是一个英雄的
所以我希望毁灭救赎最后的附加伤害是魔法伤害

就是个YD的技能组合
回复

使用道具 举报

发表于 2008-3-17 20:15:20 | 显示全部楼层
什么东西啊
111.gif
回复

使用道具 举报

发表于 2008-3-17 23:49:57 | 显示全部楼层
function UnknowAbility takes nothing returns nothing
local unit tu=GetTriggerUnit()
local unit u=GetSpellTargetUnit()
local real ablv = I2R(GetUnitAbilityLevel(tu,GetSpellAbilityId()) )*0.1//每级提高10%伤害(生命恢复量)想提高更大的数值就把0.1改为更大的数
local real oldlife = GetUnitState(u,UNIT_STATE_LIFE)
local real newlife = GetUnitState(u,UNIT_STATE_MAX_LIFE)*GetRandomReal(0.20+ablv,0.5+ablv)//最小恢复20%基础+技能等级X10%~最大50%基础+技能等级X10%
local real nowlife = newlife
if(oldlife>newlife)then
set nowlife=GetUnitState(u,UNIT_STATE_MAX_LIFE)-oldlife
endif
call SetUnitState(u,UNIT_STATE_LIFE,oldlife+nowlife)
call TriggerSleepAction(0.00)
loop
exitwhen GetUnitAbilityLevel(u,'BNso')<=0
call TriggerSleepAction(0.20)//精度自己拿捏
endloop
call UnitDamageTarget(tu,u,nowlife, true, false, ATTACK_TYPE_MELEE, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS)//能获取伤害来源和凶手单位
//call SetUnitState(u,UNIT_STATE_LIFE,GetUnitState(u,UNIT_STATE_LIFE)-nowlife)//不能获取伤害来源和凶手单位,自己选择
set tu =null
set u =null
endfunction


修改了下,现在对满血的单位不再是秒杀了,而是恢复了目标多少生命,就让他损失多少生命,生命量随着技能等级提升而提升,具体改哪儿看注释
持续时间由你技能的持续时间决定,说具体一点是目标的BUFF消失后,才会对之进行伤害.
如果目标BUFF被驱散掉(如分身和驱散魔法),那就会随后扣除生命,如果技能CD短于BUFF持续时间,目标就一直不会扣除生命(因为一直有BUFF),直到BUFF消失,一但BUFF消失,你给他上了多少次该魔法,就会扣除多少次的伤害......太恐怖了,而且还是百分比扣
回复

使用道具 举报

 楼主| 发表于 2008-3-19 17:17:11 | 显示全部楼层
恩谢谢LS
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-6-24 21:02 , Processed in 0.106943 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表