|
发表于 2014-9-7 10:30:58
|
显示全部楼层
本帖最后由 RoyalFlare 于 2014-9-7 10:32 编辑
- Railgun
- 事件
- 单位 - 任意单位 发动技能效果
- 条件
- (施放技能) 等于 电磁炮
- 动作
- 设置 MultiUnit1 = (触发单位)
- 设置 Location[1] = ((触发单位) 的位置)
- 设置 Location[2] = (从 Location[1] 开始,距离 150.00 ,方向为 ((触发单位) 的面向角度) 度的位移处)
- 设置 DummyUnit = (最后创建的单位)
- 选择 - 取消选择 (触发单位) 对 (MultiUnit1 的所有者)
- 循环动作[循环整数A]从 1 到 50, 运行 (Loop - 动作)
- Loop - 动作
- 设置 Location[3] = (从 Location[1] 开始,距离 (随机实数,最小值: 600.00 最大值: 1400.00) ,方向为 (随机实数,最小值: 0.00 最大值: 360.00) 度的位移处)
- 闪电效果 - 创建一道 闪电链 - 主 闪电效果,从 Location[3] 到 Location[2]
- 闪电效果 - 移动 (最后创建的闪电效果) 到新位置,(禁止 检查可见性) 新起始点: ((Location[3] 的X轴坐标),(Location[3] 的Y轴坐标),(随机实数,最小值: 300.00 最大值: 900.00)) 新终结点: ((Location[2] 的X轴坐标),(Location[2] 的Y轴坐标),100.00)
- 设置 Railguntx[(循环整数A)] = (最后创建的闪电效果)
- 自定义代码: call RemoveLocation (udg_Location[3])
- 自定义代码: call RemoveLocation (udg_Location[1])
- 触发器 - 开启 Railgun2 <预设>
- 等待 2.00 秒
- 触发器 - 关闭 Railgun2 <预设>
- 循环动作[循环整数A]从 1 到 50, 运行 (Loop - 动作)
- Loop - 动作
- 闪电效果 - 删除 Railguntx[(循环整数A)]
- 自定义代码: call RemoveLocation (udg_Location[2])
- 设置 Railgun = 0.00
- 选择 - 选择 (触发单位) 对 (MultiUnit1 的所有者)
- 设置 MultiUnit1 = 没有单位
- 设置 DummyUnit = 没有单位
复制代码
- function Trig_Railgun2_Func007001003001 takes nothing returns boolean
- return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_MultiUnit1)) == true )
- endfunction
- function Trig_Railgun2_Func007001003002 takes nothing returns boolean
- return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false )
- endfunction
- function Trig_Railgun2_Func007001003 takes nothing returns boolean
- return GetBooleanAnd( Trig_Railgun2_Func007001003001(), Trig_Railgun2_Func007001003002() )
- endfunction
- function Trig_Railgun2_Func007A takes nothing returns nothing
- call UnitDamageTargetBJ( udg_MultiUnit1, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, udg_MultiUnit1, true)) * I2R(GetUnitAbilityLevelSwapped('A01O', udg_MultiUnit1)) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )
- endfunction
- function Trig_Railgun2_Actions takes nothing returns nothing
- set udg_Railgun = ( udg_Railgun + 1 )
- set udg_Location[1] = PolarProjectionBJ(udg_Location[2], ( 30.00 * udg_Railgun ), GetUnitFacing(udg_MultiUnit1))
- call CreateNUnitsAtLoc( 1, 'e006', GetOwningPlayer(udg_MultiUnit1), udg_Location[1], bj_UNIT_FACING)
- call UnitApplyTimedLifeBJ( 1.00, 'BHwe', udg_DummyUnit )
- call AddSpecialEffectLocBJ( udg_Location[1], "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" )
- call DestroyEffect( GetLastCreatedEffectBJ() )
- call ForGroupBJ( GetUnitsInRangeOfLocMatching(600.00, udg_Location[1], Condition(function Trig_Railgun2_Func007001003)), function Trig_Railgun2_Func007A )
- call RemoveLocation (udg_Location[1])
- endfunction
- //===========================================================================
- function InitTrig_Railgun2 takes nothing returns nothing
- set gg_trg_Railgun2 = CreateTrigger( )
- call DisableTrigger( gg_trg_Railgun2 )
- call TriggerRegisterTimerEventPeriodic( gg_trg_Railgun2, 0.02 )
- call TriggerAddAction( gg_trg_Railgun2, function Trig_Railgun2_Actions )
- endfunction
复制代码
献丑了 这是我自己做的电磁炮技能 用的是愚蠢的直线创建马甲特效的做法 求围观求点评=3=
这样的技能可以多人使用麽? 还是要修改为局部变量才行? |
|