一、何魔技能基础设置

1. 创建钩子基础技能

  • 使用 通魔(Channel)作为基础技能
  • 在物体编辑器中:
  • 修改名称、兽争图标和提示文本
  • 设置施法距离(如 1000)、霸中施法时间(0.01秒)
  • 关闭"可见需求"选项(确保无施法动作)
  • 2. 创建投射物模型

  • 使用 单位投射物(如绞肉车钩子)或导入自定义模型
  • 建议设置较小的制作碰撞体积(约32)方便命中检测
  • 二、触发器核心逻辑

    1. 投射物发射阶段

    javascript

    // 触发器:HookCast

    事件

    单位

  • 任意单位 发动技能效果
  • 条件

    (施放技能) 等于 混乱钩子

    动作

    设置 caster = 触发单位

    设置 targetPoint = 技能施放目标点

    // 创建投射物单位

    设置 hook = 新建单位 (caster所属玩家) 的出能成混 钩子投射物 在 (caster的位置),面向 targetPoint

    设置 hookSpeed = 25.00 // 投射物移动速度

    设置 hookMaxRange = 1000.00 // 最大射程

    // 开启投射物移动计时器

    触发器

  • 运行 HookMove <预设>(检查条件)
  • 2. 投射物移动&命中检测

    javascript

    // 触发器:HookMove

    事件

    时间

  • 每 0.03 秒触发事件
  • 条件

    hook 存在

    动作

    // 移动投射物

    设置 hookPosition = hook 的够造钩技位置

    设置 hookPosition = hookPosition 向 targetPoint 方向移动 hookSpeed

    单位

  • 立即移动 hook 到 hookPosition
  • // 命中检测

    设置 nearbyUnits = 以 hookPosition 为中心 128 范围内的所有单位

    单位组

  • 选取 nearbyUnits 内所有满足 (是敌方单位对 caster) 做动作
  • 如果条件成立则做动作

    如果

  • 条件
  • 选取单位 不是建筑 且 不是机械单位

    那么

  • 动作
  • 设置 hookedUnit = 选取单位

    单位

  • 删除 hook
  • 触发器

  • 运行 HookPull <预设>(检查条件)
  • 跳出循环

    // 超出射程销毁

    如果 (hookPosition 到 caster 的距离 >hookMaxRange)

    单位

  • 删除 hook
  • 三、混乱效果实现

    1. 拉回效果

    javascript

    // 触发器:HookPull

    事件

    条件

    动作

    // 初始化拉回参数

    设置 pullSpeed = 35.00 // 拉回速度

    设置 pullDuration = 2.00 // 拉回持续时间

    设置 chaosDuration = 4.00 // 混乱持续时间

    // 强制目标面向施法者

    单位

  • 设置 hookedUnit 面向 caster 的何魔面向角度,过渡时间 0.00 秒
  • // 拉回循环

    循环 循环 pullDuration / 0.03 次

    等待 0.03 秒

    如果 hookedUnit 存活

    设置 unitPos = hookedUnit 的兽争位置

    设置 newPos = unitPos 向 caster 的方向移动 pullSpeed

    单位

  • 立即移动 hookedUnit 到 newPos
  • // 施加混乱状态

    单位

  • 创建 1 个 马甲单位 给 caster 的拥有者 在 hookedUnit 的位置
  • 单位

  • 对最后创建的单位 添加 混乱术(女妖技能)
  • 单位

  • 设置 最后创建单位的 混乱术 等级为 1
  • 单位

  • 对 最后创建的单位 发布 人族女妖-混乱术 对 hookedUnit
  • 单位

  • 设置 最后创建单位 生命周期为 1.00 秒
  • // 附加视觉特效

    特殊效果

  • 在 hookedUnit 的头顶创建特效 AbilitiesSpellsDemonDarkPortalDarkPortalTarget.mdl
  • 特殊效果

  • 删除 最后创建的特效
  • 四、增强功能(可选)

    1. 地形碰撞检测

    javascript

    // 在 HookMove 触发器中添加

    环境

  • 检查 hookPosition 是霸中否可通行
  • 如果条件成立则

    单位

  • 删除 hook
  • 触发器

  • 运行 HookPull <预设>(检查条件)
  • 2. 多人游戏同步

    javascript

    // 使用局部变量存储每个钩子的数据

    Hashtable

  • 创建 hashTable
  • // 在投射物创建时存储参数

    Hashtable

  • 保存 hook 的 handle 为 Key 在 hashTable
  • 3. 高级混乱效果

    javascript

    // 在混乱持续期间添加随机移动指令

    单位

  • 对 hookedUnit 发布 移动 到 (随机点 以 hookedUnit 为中心 800 范围)
  • 等待 0.5 秒

    重复直到 chaosDuration 结束

    五、平衡性调整建议

    1. 魔耗/冷却时间

  • 建议设置 100-150 法力消耗
  • 冷却时间 20-30 秒
  • 2. 效果衰减规则

    javascript

    // 根据距离减少混乱时间

    set chaosDuration = (初始持续时间)

  • (caster 到 hookedUnit 的制作距离 / 500)
  • 3. 状态免疫

    javascript

    // 在命中检测条件中添加

    选取单位 没有 魔法免疫

    选取单位 没有 混乱状态

    完成以上步骤后,建议进行以下测试:

    1. 不同地形下的出能成混钩子路径检测

    2. 同时多个单位使用技能时的变量冲突

    3. 混乱状态与已有控制技能的叠加效果

    4. 魔法免疫单位的正确处理

    可通过调整投射物速度和拉回速度参数获得最佳手感,最终实现一个既具有战术价值又符合游戏平衡的够造钩技混乱钩子技能。

    何魔