找回密码
 点一下
查看: 2952|回复: 1

凋零光环。。哦吼吼吼吼

[复制链接]
发表于 2010-3-10 12:19:17 | 显示全部楼层 |阅读模式
这个光环有点类似DOTA中的辉耀。
该光环 600码范围内的敌人每秒 损失 5X技能等级 点 HP和MP。。光环内每有一个敌人,自己每秒长3X技能等级 点 HP和MP
  1. function Trig_Wizard_Judge takes nothing returns boolean
  2.     return ( IsUnitEnemy(GetFilterUnit(), Player(0)) == true )
  3. endfunction
  4. function Trig_Wizard_Group takes nothing returns nothing
  5.     //A02D技能等级
  6.     local integer damage = GetUnitAbilityLevelSwapped('A02D', udg_Hero_sign[udg_tmp])
  7.     call UnitDamageTargetBJ( udg_Hero_sign[udg_tmp], GetEnumUnit(), I2R(damage * 5), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
  8.     call SetUnitManaBJ( GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_MANA, GetEnumUnit()) - I2R(damage * 5) ) )
  9.     call SetUnitLifeBJ( udg_Hero_sign[udg_tmp], ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hero_sign[udg_tmp]) + I2R(damage * 3) ) )
  10.     call SetUnitManaBJ( udg_Hero_sign[udg_tmp], ( GetUnitStateSwap(UNIT_STATE_MANA, udg_Hero_sign[udg_tmp]) + I2R(damage * 3) ) )
  11. endfunction
  12. function Trig_Wizard_Actions takes nothing returns nothing
  13.     local group tmp_group
  14.     set udg_tmp = 0
  15.     loop
  16.         //英雄是H001
  17.         if ( GetUnitTypeId(udg_Hero_sign[udg_tmp]) == 'H001' ) then
  18.             if ( IsUnitAliveBJ(udg_Hero_sign[udg_tmp]) == true ) then
  19.             set tmp_group = GetUnitsInRangeOfLocMatching(600.00, GetUnitLoc(udg_Hero_sign[udg_tmp]), Condition(function Trig_Wizard_Judge))
  20.             call ForGroupBJ( tmp_group, function Trig_Wizard_Group )
  21.             endif
  22.         endif
  23.         set udg_tmp=udg_tmp+1
  24.         exitwhen(udg_tmp==5)
  25.     endloop
  26. endfunction
  27. //===========================================================================
  28. function InitTrig_Wizard takes nothing returns nothing
  29.     set gg_trg_Wizard = CreateTrigger(  )
  30.     call TriggerRegisterTimerEventPeriodic( gg_trg_Wizard, 1.00 )
  31.     call TriggerAddAction( gg_trg_Wizard, function Trig_Wizard_Actions )
  32. endfunction
复制代码

udg_Hero_sign[udg_tmp] 记录英雄的。。我用了个数组记录多个英雄
udg_tmp是一个整型的全局变量。
  1. function Trig_Wizard_Judge takes nothing returns boolean
  2.     return ( IsUnitEnemy(GetFilterUnit(), Player(0)) == true )
  3. endfunction
复制代码
Player(0)因为红的玩家是同盟的。所以用了这个。。。还请根据情况来做改动
That`s all.

头一次发个东西。。也不知道有没有人搞过。。做的不好,大家就凑合凑合看吧。。。

还请多指教
 楼主| 发表于 2010-3-10 12:35:51 | 显示全部楼层
该光环 600码范围内的敌人每秒 损失 5X技能等级 点 HP和MP。。光环内每有一个敌人,自己每秒长3X技能等级 点 HP和MP

我写了这句啊
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 22:00 , Processed in 0.030914 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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