#ifndef LCWEGetGroupEnemy1Included
#define LCWEGetGroupEnemy1Included
#include "YDWEBase.j"
library LCWEGetGroupEnemy1 requires YDWEBase
globals
integer udg_int1=0
unit udg_unitPassLC
real udg_realPassLC
real udg_real2PassLC
hashtable HT = InitHashtable()
group g1=CreateGroup()
endglobals
function LCWEGetGroupEnemy1Func001005 takes nothing returns boolean //非马甲判定
return ((((IsUnitAliveBJ(GetFilterUnit()) == true) and (GetUnitAbilityLevel(GetFilterUnit(), 'Aloc') != 1)) and (IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_unitPassLC)) == true)))
endfunction
function LCWEGetGroupEnemy1 takes real x,real y,real ss,unit a returns group //仅选取非马甲单位,不考虑体积设定
call GroupClear(g1)
set udg_unitPassLC=null
set udg_unitPassLC=a
call GroupEnumUnitsInRange( g1, x, y, ss, Condition(function LCWEGetGroupEnemy1Func001005) )
return g1
endfunction
触发
事件
[事件] - 任意单位 接受伤害
条件
((伤害来源) 是 英雄) 等于 TRUE
(单位所受伤害是攻击伤害) 等于 TRUE
动作
[逆天] - 设置 [单位] loc_dw = (触发单位)
[逆天] - 设置 [单位] loc_unit = (伤害来源)
[逆天] - 设置 [实数] loc_sh = ((50.00 x (转换 ((loc_unit) 的 TY被动-属性伤害 技能等级) 为实数)) x (转换 ((((loc_unit) 的力量值(包括 加成)) + ((loc_unit) 的智力值(包括 加成))) + ((loc_unit) 的敏捷值(包括 加成))) 为实数))
[逆天] - 设置 [实数] loc_x = ((loc_dw) 所在X轴坐标)
[逆天] - 设置 [实数] loc_y = ((loc_dw) 所在Y轴坐标)
[逆天] - 设置 [单位组] loc_z = (新建的空单位组)
[逆天] - 设置 [单位组] loc_z = (获取((loc_x),(loc_y)) 半径 512.00 内存活着的(loc_unit)的敌人(马甲除外))
单位组 - 选取 (loc_z) 内所有单位做动作
Loop - 动作
单位 - 命令 (loc_unit) 对 (选取单位) 造成 (loc_sh) 点伤害(不是 攻击伤害, 不是远程攻击) 攻击类型: 混乱 伤害类型: 通用 武器类型: 无
单位组 - 清空 (loc_z) 内所有单位
单位组 - 删除 (loc_z)
有一定概率(目测20%左右),函数会跳过call GroupEnumUnitsInRange( g1, x, y, ss, Condition(function LCWEGetGroupEnemy1Func001005) )这个环节,进而不选取单位
还有极小概率会出现今后函数都不执行的情况。
#define LCWEGetGroupEnemy1Included
#include "YDWEBase.j"
library LCWEGetGroupEnemy1 requires YDWEBase
globals
integer udg_int1=0
unit udg_unitPassLC
real udg_realPassLC
real udg_real2PassLC
hashtable HT = InitHashtable()
group g1=CreateGroup()
endglobals
function LCWEGetGroupEnemy1Func001005 takes nothing returns boolean //非马甲判定
return ((((IsUnitAliveBJ(GetFilterUnit()) == true) and (GetUnitAbilityLevel(GetFilterUnit(), 'Aloc') != 1)) and (IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_unitPassLC)) == true)))
endfunction
function LCWEGetGroupEnemy1 takes real x,real y,real ss,unit a returns group //仅选取非马甲单位,不考虑体积设定
call GroupClear(g1)
set udg_unitPassLC=null
set udg_unitPassLC=a
call GroupEnumUnitsInRange( g1, x, y, ss, Condition(function LCWEGetGroupEnemy1Func001005) )
return g1
endfunction
触发
事件
[事件] - 任意单位 接受伤害
条件
((伤害来源) 是 英雄) 等于 TRUE
(单位所受伤害是攻击伤害) 等于 TRUE
动作
[逆天] - 设置 [单位] loc_dw = (触发单位)
[逆天] - 设置 [单位] loc_unit = (伤害来源)
[逆天] - 设置 [实数] loc_sh = ((50.00 x (转换 ((loc_unit) 的 TY被动-属性伤害 技能等级) 为实数)) x (转换 ((((loc_unit) 的力量值(包括 加成)) + ((loc_unit) 的智力值(包括 加成))) + ((loc_unit) 的敏捷值(包括 加成))) 为实数))
[逆天] - 设置 [实数] loc_x = ((loc_dw) 所在X轴坐标)
[逆天] - 设置 [实数] loc_y = ((loc_dw) 所在Y轴坐标)
[逆天] - 设置 [单位组] loc_z = (新建的空单位组)
[逆天] - 设置 [单位组] loc_z = (获取((loc_x),(loc_y)) 半径 512.00 内存活着的(loc_unit)的敌人(马甲除外))
单位组 - 选取 (loc_z) 内所有单位做动作
Loop - 动作
单位 - 命令 (loc_unit) 对 (选取单位) 造成 (loc_sh) 点伤害(不是 攻击伤害, 不是远程攻击) 攻击类型: 混乱 伤害类型: 通用 武器类型: 无
单位组 - 清空 (loc_z) 内所有单位
单位组 - 删除 (loc_z)
有一定概率(目测20%左右),函数会跳过call GroupEnumUnitsInRange( g1, x, y, ss, Condition(function LCWEGetGroupEnemy1Func001005) )这个环节,进而不选取单位
还有极小概率会出现今后函数都不执行的情况。