# HST
**Repository Path**: brianxcli/hunter-shooting-toolkit
## Basic Information
- **Project Name**: HST
- **Description**: Hunter shooting toolkit 魔兽世界乌龟服猎人工具包。包含输出宏,射击加速判断,简易施法条等。
- **Primary Language**: Lua
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2024-04-13
- **Last Updated**: 2026-04-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# HST - Hunter shooting toolkit
## 简介
* 支持乌龟服中文客户端,自带射击计时条和施法条,提供经过检验的输出循环命令,适配当前游戏任何速度的远程武器。
* 默认配合乌龟服 ClassicMacros 插件使用(自动射击放入23号动作条栏位)。如果玩家能够自行放置技能键位,则插件也提供方法可以独立于 ClassicMacros 运行。
* 当前提供的射击循环只考虑自动射击、稳固射击和多重射击。在绝大部分场景中都不适合加入循环的技能,如瞄准射击、奥术射击和毒蛇钉刺等均不在循环中。玩家可选择在合适的时机手动释放。
* 适配了 Superwow,更加准确的技能施法时间判定; 角色登录后自动开启自动拾取和穿透尸体拾取。
* 目前只有猎人会加载
## 特性
### 1. 急速
引入更简单、准确的急速效果算法
### 2. 简易循环宏命令
#### 设计思路
* 根据远程实时攻击速度,动态切换最优技能循环
* 只包含自动射击、稳固射击和多重射击,不考虑插入瞄准射击、奥术射击和毒蛇钉刺等技能
* 检查 GCD,避免频繁出现 "这个技能没准备好" 等客户端报错
* 支持把技能放入任意动作条的栏位 (action slot),判断目标是否处于技能施法范围内等
#### 宏命令说明
```lua
function HST:StartCastLoop(AutoShotFirst, TrueShotSlotId, CastMultiShot, MultiShotSlotId)
```
* **AutoShotFirst:** 自动射击是否优先释放。如果设置为 true,则角色必须处于开启自动射击状态中,否则循环中止; 一般来说默认设置为 false,在某些场景下可以考虑设置(比如某些武器自动射击伤害高于稳固)。另外如果担心打多重OT,也可以考虑先释放自动射击。
* **TrueShotSlotId:** 稳固射击的技能栏的位置,也叫 Action Slot Id
* **CastMultiShot:** 循环是否释放多重射击,可设置为 true 或者 1;如果不打多重,可以缺省不写
* **MultiShotSlotId:** 多重射击的 Slot Id,如果不打多重可以默认缺省不写。
#### 常用的宏命令调用
插件默认的动作条技能 ID 为
|技能|Slot ID|
|:--:|:--:|
|自动射击|23|
|稳固射击|22|
|多重射击|21|
##### 平射优先不打多重
```Lua
/shootattack
/script HST:StartCastLoop(true,22)
```
其中 `/shootattack` 是由 ClassicMacros 提供的射击命令,当然可以使用其它插件支持的射击命令或者手动释放自动射击。一旦参数设置平射优先,则必须先释放自动射击,不然宏命令不继续执行。
##### 技能优先打多重
```Lua
/script HST:StartCastLoop(false,22,true,21)
```
此宏命令不要求自动射击优先释放,优先释放多重射击后进入稳固循环。
##### 稳固优先不打多重
```Lua
/script HST:StartCastLoop(false,22)
```
#### 内置宏命令
如果采用默认技能设置,插件提供了一个更为方便的宏命令
```Lua
-- 平射不优先,不打多重
/hstcast1
-- 平射不优先,打多重
/hstcast2
```
### 3. 远程武器适配
`说明:使用 1:1 或者 2:1 来表达射击循环中稳固和平射的比例。`
目前测试过如下几种常见的猎人远程武器以及对应的循环情况 (默认史诗箭袋)。
|武器|速度|循环|
|-|-|-|
|史诗弓|2.9|1:1, 替换多重|
|自然的呼唤|3.0|1:1, 替换多重|
|狗弩|3.4|**非加速** 2:1,少量 1:1 (跟随多重)
**加速** 1:1, 替换多重|
|蛛魔弩|3.2|**非加速** 2:1 少量 1:1 (跟随多重)
**加速** 1:1, 替换多重|
* 表格内的加速效果只包含雄鹰和急速射击
* 若角色自带加速效果 (装备,魂晶或烹饪等),循环可能有差异
* 跟随多重可能导致下一个循环的稳固射击延迟,因此下一循环可能会切换成 1:1
### 4. 射击技能计时条
* 支持稳固、瞄准和多重等技能
* 支持除了猎人射击技能之外的所有技能施法
### 5. 新版本 Superwow 支持
* 支持角色登录开启自动拾取
* 支持角色登录开启穿透尸体拾取(当尸体无拾取时不可被选中, 方便尸体堆叠的拾取)
## 生存输出
近期增加了生存输出的一键能力,目前属于外部测试阶段,欢迎大家提意见
### 1. 支持技能
目前只适合猎人的生存系技能:猛禽一击,猫鼬撕咬,摔绊,切碎,割伤,爆炸陷阱和献祭陷阱。
由于割伤技能的特殊性,必须把它放入动作条判断是否可用(默认放入索引20的位置,即动作条第二页第8个)。当前版本已经更新了设置 action slot 的功能,使用命令行或者右击小地图图标进行修改。
### 2. 宏命令
举例:
/hstsequence 猛禽一击 割伤 猫鼬撕咬 献祭陷阱 切碎 摔绊
特点:
* 技能用空格分隔;
* 和魔兽自带的 /castsequence 很像,区别是如果技能当前不可用则跳过(比如没学技能,在CD等)
* 猛禽一击会依据自动攻击的时间进行施放
## Bug 修复
### 1. 稳固射击
稳固射击的原始读条时间为1.5秒,受箭袋、装备加速和各种加速 buff/debuff 的影响。引入更准确的新算法计算稳固射击读条时间。
### 2. 平射前摇加速
由于缺乏官方说明,且客户端数据 tick 机制有浮动,故前摇时间有比较大的误差。目前采用0.5秒的方案,不受任何加速效果影响。
### 3. 计时条战斗中无故消失
客户端问题,导致技能释放成功,但无故报错。遇到这些错误时,插件会重置计时条。